Computer Knowledge

Software Testing and Quality Control

2,292 Questions

Software testing and quality control questions cover testing methodologies, unit testing, and defect management. These concepts are crucial for the computer knowledge sections of competitive exams. Practice these questions to understand verification and validation processes thoroughly.

Quality control typesUnit testing purposeSoftware vulnerability testingTest planning tasksLoop testing criteriaTest harness functions

Software Testing and Quality Control Questions

Multiple choice technology testing
  1. ReTesting

  2. Confirmation Testing

  3. Regression Testing

  4. Negative Testing

Reveal answer Fill a bubble to check yourself
C Correct answer
Explanation

Regression testing is defined as re-testing an already tested program after modification to discover defects introduced by changes. Confirmation testing (or re-testing) verifies that a specific defect was fixed. Negative testing uses invalid inputs to test error handling. The definition in the question exactly matches regression testing.

Multiple choice technology architecture
  1. Extreme programming

  2. Test driven development

  3. Time boxed development

  4. None of the above

Reveal answer Fill a bubble to check yourself
B Correct answer
Explanation

Test-driven development (TDD) is the practice where developers write automated tests before writing the production code. The cycle repeats: write a failing test, write just enough code to pass it, refactor. This differs from Extreme Programming (which uses TDD as a practice) and simple time-boxing.

Multiple choice technology testing
  1. a) Incident resolution is the responsibility of the author of the software under test.

  2. b) Incidents may be raised against user requirements.

  3. c) Incidents require investigation and/or correction.

  4. d) Incidents are raised when expected and actual results differ.

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

To correctly answer this question, the user should understand the definition of an incident in software testing and the typical characteristics of an incident.

An incident refers to any event that occurs during the testing of software that requires further investigation, such as when the actual results differ from the expected results.

Option A: This statement is incorrect. Resolution of incidents is not the sole responsibility of the author of the software under test. Various team members, such as developers, testers, and project managers, may be involved in resolving incidents.

Option B: This statement is correct. Incidents may be raised against user requirements when there is a deviation from the expected behavior or when the system fails to meet the specified requirements.

Option C: This statement is correct. Incidents require investigation and/or correction. When an incident is raised, it must be investigated to determine its cause and corrected to ensure that the software functions as expected.

Option D: This statement is correct. Incidents are raised when expected and actual results differ. When a test case is executed, the expected results are compared to the actual results. If they differ from each other, an incident is raised.

Therefore, the correct answer is:

The Answer is: A

Multiple choice technology testing
  1. a) In a system two different failures may have different severities.

  2. b) A system is necessarily more reliable after debugging for the removal of a fault.

  3. c) A fault need not affect the reliability of a system.

  4. d) Undetected errors may lead to faults and eventually to incorrect behaviour.

Reveal answer Fill a bubble to check yourself
B Correct answer
Explanation

The statement 'A system is necessarily more reliable after debugging for the removal of a fault' is false because debugging can introduce new faults, and removing one fault does not guarantee improved overall reliability. The word 'necessarily' makes this an absolute claim that is not always true in practice. Other options are valid: different failures can have different severities (A), faults in rarely-used code may not affect reliability (C), and undetected errors can cascade into faults (D).

Multiple choice technology testing
  1. a) It states that modules are tested against user requirements.

  2. b) It only models the testing phase.

  3. c) It specifies the test techniques to be used.

  4. d) It includes the verification of designs.

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

To answer this question, the user needs to know what the V-model is and its characteristics.

The V-model is a software development model that illustrates the relationship between each phase of the development life cycle and its corresponding testing phase. The model is called the V-model because it takes the shape of the letter "V".

Now, let's go through each option and explain why it is right or wrong:

A. It states that modules are tested against user requirements. This statement is incorrect. The V-model specifies that each phase of the development life cycle has a corresponding testing phase. The testing phase in the V-model is not limited to testing modules against user requirements.

B. It only models the testing phase. This statement is incorrect. The V-model models the entire software development life cycle, including requirements gathering, design, coding, and testing.

C. It specifies the test techniques to be used. This statement is incorrect. While the V-model provides guidance on the testing phase, it does not specify the exact test techniques to be used.

D. It includes the verification of designs. This statement is correct. The V-model includes the verification of designs as part of the development life cycle. The model specifies that testing should start at the beginning of the development life cycle, with the verification of requirements, and continue through the design, coding, and testing phases.

Therefore, the answer is: D.

Multiple choice technology testing
  1. a) Each test stage has a different purpose.

  2. b) It is easier to manage testing in stages.

  3. c) We can run different tests in different environments

  4. d) The more stages we have, the better the testing.

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

Testing stages (unit, integration, system, acceptance) each serve distinct purposes - unit tests verify individual components, integration tests check interfaces, system tests validate requirements, and acceptance testing confirms user needs. While staging does aid management (B) and enable different environments (C), these are secondary benefits. Option D is incorrect - more stages don't automatically mean better testing.

Multiple choice technology testing
  1. a) Regression testing

  2. b) Integration testing

  3. c) System testing

  4. d) User acceptance testing

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

Regression testing involves re-running previously executed tests to verify that recent code changes haven't adversely affected existing functionality. Test capture/replay tools excel here by recording test inputs and outputs, then automatically replaying them after modifications. Integration, system, and UAT testing focus more on new functionality or system-wide validation rather than repetitive re-execution of existing tests.

Multiple choice technology
  1. Test Matrix

  2. Checklist

  3. Test bed

  4. Traceablity Matrix

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

A Traceability Matrix maps requirements to test cases to ensure all requirements are covered by testing. Test Matrix and Checklist are different (broader) concepts. Test bed refers to the test environment. Only Traceability Matrix specifically validates requirement coverage.

Multiple choice technology
  1. Test Bed

  2. Checkpoint

  3. Code Walk through

  4. Checklist

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

A Test Bed (option A) is the configured environment including hardware, software, network, and data setup required to execute tests. It provides the infrastructure for running the application under test. A checkpoint is a verification point. Code walkthrough is a review technique. A checklist is a testing aid.

Multiple choice technology
  1. Severity

  2. Priority

  3. Fix ability

  4. Traceability

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

Severity (option A) measures the technical impact of a bug on the application's functionality. Priority indicates how urgently the bug needs to be fixed based on business needs. Fix ability refers to how easily it can be resolved. Traceability tracks the bug's lifecycle.

Multiple choice technology
  1. Unit Testing

  2. Integration Testing

  3. System Testing and Acceptance Testing.

  4. All the above

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

Testing levels include Unit Testing (individual components), Integration Testing (combined components), System Testing (complete system), and Acceptance Testing (user validation). Option D 'All the above' correctly captures that these are all testing levels in the hierarchy.

Multiple choice technology
  1. adHoc Testing

  2. Unit Testing

  3. Regression testing

  4. Functional testing.

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

Ad hoc Testing (option A) is informal testing done without planning, documentation, or formal test cases. It's exploratory and relies on the tester's intuition and experience. Unit testing is formal. Regression testing is planned. Functional testing follows requirements.