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
-
Require a driver to test
-
No need of instances of other classes
-
No need to test the transitions
-
All of the above.
A
Correct answer
Explanation
Class testing (unit testing for classes) requires a driver - test code that instantiates the class, calls its methods, and verifies results. Classes typically DO need instances of other classes (dependencies) to test interactions, and transitions between states should be tested. Option A correctly identifies that drivers are essential; B and C are incorrect.
-
Same as smoke test
-
Done after each build to make sure that the build doesn’t contain major errors
-
Both A and B
-
None of the above.
C
Correct answer
Explanation
Build Verification Test (BVT) and smoke test are often used interchangeably - both are quick tests run after each build to verify basic functionality and catch major errors that would make further testing pointless. BVT ensures the build is stable enough for detailed testing. Both A and B correctly describe aspects of BVT.
-
To find whether the hardware burns out
-
Same as build verification test
-
To find that software is stable
-
None of the above
-
A type of dynamic testing
-
Type of static testing
-
Neither dynamic nor static
-
Performed by the testing team
-
Same as static testing
-
Done by the developers
-
Both A and B
-
None of the above
-
Focused Testing, Testing coverage, control flow
-
Data integrity, Internal boundaries, algorithm specific testing
-
Both A and B
-
Either A or B
A
Correct answer
Explanation
Glass box testing (white box testing) provides three key benefits: focused testing on specific code paths or modules, measurable test coverage through code analysis, and visibility into control flow structures including decision points and branches. By seeing inside the code, testers can target areas that black box testing might miss, ensure all logic paths are exercised, and verify internal correctness rather than just input-output behavior.
-
Delaying tester’s access to areas of the code
-
Replacement with updated product
-
Training programmers to make or miss fewer bugs
-
Testing by Tech. Support
C
Correct answer
Explanation
Internal failure in testing context refers to addressing defects at their origin within the development process itself. Training programmers to write better code and introduce fewer bugs represents a preventive approach that targets the root cause of defects - the human element and development practices. This is fundamentally different from external failures that manifest during testing or in production, as it focuses on prevention at the source rather than detection downstream.
-
Same as black box testing B
-
Same as white box testing
-
Same as functional testing
-
None of the above.
B
Correct answer
Explanation
Structural testing examines the internal implementation details of software, including code structure, logic flow, algorithms, and data handling. It requires knowledge of and access to the internal code architecture, making it synonymous with white box testing. This contrasts with black box testing (also called functional testing) which only considers inputs and outputs without knowledge of internal workings.
-
A program that directs the execution of another program against a collection of test data sets. Usually the test driver also records and organizes the output generated as the tests are run.
-
A document that identifies test items and includes current status and location information
-
A document describing any event during the testing process that requires investigation
-
A software item that is an object of testing.
A
Correct answer
Explanation
A test driver is a control program that invokes and coordinates the execution of the software component being tested with various test data sets. It serves as the test harness that drives the testing process, captures output from each test case, and organizes results for evaluation. Test drivers are essential for automated testing and enable systematic execution of multiple test scenarios without manual intervention.
-
Another name for decision coverage
-
Another name for all-edges coverage
-
Another name for basic path coverage
-
All the above
-
Same as code walkthrough
-
Same as code inspection
-
Verification of code by the developers
-
None of the above.
-
Is impractical but possible
-
Is practically possible
-
Is impractical and impossible
-
Is always possible
A
Correct answer
Explanation
Exhaustive testing means testing all possible combinations of inputs and preconditions. While theoretically possible, it becomes impractical for real-world systems due to the combinatorial explosion of test cases. The answer correctly identifies this dichotomy - it's possible in principle but not feasible in practice.
-
Statement Testing and coverage
-
Decision Testing and coverage
-
Condition Coverage
-
Boundary value analysis
D
Correct answer
Explanation
White-box testing techniques require knowledge of internal code structure. Statement testing, decision testing, and condition coverage all examine internal code paths. Boundary value analysis is a black-box technique that only considers input/output boundaries without internal code knowledge.
-
Test Analysis and Design
-
Test Planning and control
-
Test Closure Activities
-
Evaluating exit criteria and reporting
C
Correct answer
Explanation
Test closure activities occur after testing is complete and include handing over testware, archiving testware, and evaluating the process. The hand-over of test-ware (test scripts, data, logs) to maintenance or other teams is explicitly part of test closure.
-
Sanity testing
-
System testing
-
Smoke testing
-
Regression testing
C
Correct answer
Explanation
Smoke testing (also called confidence testing) is the initial testing done to verify that the most crucial functions work. If the smoke test passes, you have confidence the build is stable enough for further testing. Sanity testing focuses on specific defect fixes, not initial confidence.