Software Engineering: Question Set – 22

Software Engineering: Question Set – 22

What is the basis of Halstead’s complexity measure?

Halstead’s complexity metric is implementation-specific; it uses the program’s tokens as its yardstick.

What are various types of software maintenance?

Maintenance types are: corrective, adaptive, perfective and preventive.

  • Corrective: Removing errors spotted by users
  • Adaptive: tackling the changes in the hardware and software environment where the software works
  • Perfective maintenance: implementing changes in existing or new requirements of the user
  • Preventive maintenance: taking appropriate measures to avoid future problems

What is black-box and white-box testing?

When valid input data are provided, black-box testing verifies that the expected results are generated. The program’s actual execution is not checked.

When proper input is provided, white-box testing not only verifies the expected and accurate output but also verifies the correctness of the code itself.

CriteriaBlack Box TestingWhite Box Testing
Knowledge of software programs, design and structure essentialNoYes
Knowledge of Software Implementation essentialNoYes
Who conducts this test on softwareSoftware Testing EmployeeSoftware Developer
baseline reference for testerRequirements specificationsDesign and structure details

What has your experience been like as part of an Agile software development process, if any?

Agile software development is a set of practises for creating software in which requirements and solutions evolve over time through the efforts of self-organizing, cross-functional teams. Agile development’s true worth lies in the fact that it helps teams release features more quickly, improve quality and predictability, and become more flexible in the face of change.

What is your process to test and find bugs in an application?

Testing software is a standard practice in the industry. You will need to design and implement a battery of tests and evaluations that may be used at different points in the development process. In fact, testing is essential at every stage, even beyond the initial release. Errors in mobile apps that were invisible before an OS upgrade can cause havoc after a platform refresh.

Typically, this entails taking a holistic perspective of the application and each of its parts, and then placing a higher priority on those sections you deem to be more vulnerable. The functionality is verified by testing, and any flaws found are noted. The significance and severity of each issue will determine how these flaws are ranked.