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
-
Checking that we are building the right system
-
Checking that we are building the system right
-
Performed by an independent test team
-
Making sure that it is what the user really wants
B
Correct answer
Explanation
Verification is the process of evaluating work products to ensure that the software is being built correctly according to specifications ('building the system right'). Validation ensures we built the correct system ('building the right system').
-
Will always be automated
-
Will help ensure unchanged areas of the software have not been affected
-
Will help ensure changed areas of the software have not been affected
-
Can only be run during user acceptance testing
B
Correct answer
Explanation
Regression testing verifies that recent changes have not adversely affected existing functionality. It focuses on ensuring that unchanged areas of the software continue to work correctly after modifications, helping prevent the introduction of new defects while fixing existing ones.
-
We cannot run the test
-
It may be difficult to repeat the test
-
It may be difficult to determine if the test has passed or failed
-
We cannot automate the user inputs
C
Correct answer
Explanation
An expected result defines what should happen during a test, providing a baseline to determine success or failure. Without specifying expected results, it becomes impossible to evaluate whether the actual outcome matches the intended behavior, making pass/fail determination difficult or impossible.
-
found in the software; the result of an error.
-
departure from specified behaviour
-
an incorrect step, process or data definition in a computer program.
-
a human action that produces an incorrect result.
B
Correct answer
Explanation
A failure is a departure from specified behavior, meaning the software does not perform as defined in requirements or specifications. This distinguishes a failure (observable incorrect behavior) from an error (mistake in code) or defect (flaw in the code), and from human mistakes that cause these issues.
-
Confidence to stakeholders.
-
Confidence to client that it is bug-free.
-
zero defects.
-
Prevent problems of failure in
A
Correct answer
Explanation
Software testing builds confidence to stakeholders that the software meets requirements and is fit for purpose. Option B is unrealistic because no software is truly bug-free. Option D is grammatically incomplete and unclear. Option C describes an ideal state rather than the purpose of testing.
-
testing that the system functions with other systems
-
testing that the components that comprise the system function together
-
testing the end to end functionality of the system as a whole
-
testing the system performs functions within specified response times
C
Correct answer
Explanation
Functional system testing evaluates the end-to-end functionality of the entire system as a whole against specified requirements. Testing interactions with other systems is integration testing, and testing response times is performance testing.
-
User Acceptance Testing
-
User Acceptable Testing
-
User Acceptance Technology
-
Useful Acceptance Testing
A
Correct answer
Explanation
UAT stands for User Acceptance Testing, which is the phase of software development where actual users test the software to ensure it can handle real-world tasks. The other options are incorrect variations of the acronym.
-
We cannot run the test
-
It may be difficult to repeat the test
-
It may be difficult to determine if the test has passed or failed
-
We cannot automate the user inputs
C
Correct answer
Explanation
Without an expected result, there's no basis to determine whether the actual outcome is correct or incorrect. The test becomes meaningless because pass/fail cannot be evaluated, making it difficult to assess software quality.
-
A small team to establish the best way to use the tool
-
Everyone who may eventually have some use for the tool
-
The independent testing team
-
The vendor contractor to write the initial scripts
A
Correct answer
Explanation
A new testing tool should first be used by a small pilot team to establish the most effective way to integrate and use the tool before a wider rollout.
B
Correct answer
Explanation
JUnit or TestNG test methods are not required to throw exceptions; they can return void and handle assertions internally. Thus, the statement is false.
B
Correct answer
Explanation
Industry studies consistently show that testing typically consumes 40-50% of software development costs. This includes all testing phases - unit, integration, system, and user acceptance testing across the development lifecycle.
-
We cannot run the test
-
It may be difficult to repeat the test
-
It may be difficult to determine if the test has passed or failed
-
We cannot automate the user inputs
C
Correct answer
Explanation
Without an expected result, there is no criteria to judge whether the test passed or failed. The actual output cannot be evaluated against anything, making it impossible to determine the test outcome.
-
Failure
-
Success
-
Complete
-
Partial
A
Correct answer
Explanation
When a program does not work correctly, the testing process has revealed a failure. Testing succeeds when it finds bugs, so a malfunctioning program represents a test failure that needs to be addressed.
-
Alpha and Beta Testing
-
White Box Testing
-
Black Box Testing
-
Trial and Error Testing
A
Correct answer
Explanation
Alpha testing is conducted by internal staff (sometimes at developer site), while Beta testing involves actual end-users in their environment. Both are acceptance testing methods where real users validate the software before general release.
-
Developement phase
-
Design Phase
-
Requirement gathering phase
-
Intergration phase
C
Correct answer
Explanation
Testing should ideally begin during the requirement gathering phase using the 'shift-left' approach. This allows test planning, identification of testable requirements, and test case design before development starts, reducing cost and rework effort.