Computer Knowledge
Software Testing and Quality Control
2,598 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
-
No, because they apply to development documentation
-
No, because they are normally applied before testing
-
No, because they do not apply to the test documentation
-
Yes, because both help detect faults and improve quality
D
Correct answer
Explanation
Reviews and inspections are static testing techniques that examine documents and code without executing them. Like dynamic testing, they aim to detect defects and improve quality. Option D correctly recognizes that both activities serve the same fundamental purpose - finding faults early.
-
Component Integration testing
-
Component System Testing
-
Component Sub System Testing
-
Maintenance testing
A
Correct answer
Explanation
Link testing, which involves testing the integration of individual software modules or components, is also referred to as component integration testing. System testing, sub-system testing, and maintenance testing represent different testing levels or types focused on broader scopes or modification verification.
-
Test Implementation and execution
-
Test Analysis and Design
-
Evaluating the Exit Criteria and reporting
-
Test Closure Activities
B
Correct answer
Explanation
Test Analysis and Design phase includes creating test cases, designing test environment setup, and identifying required infrastructure and tools. Test Implementation comes later when tests are executed. Option B correctly places environment design in the analysis and design phase.
-
i,ii,iii are true and iv is false
-
i,,iv are true and ii is false
-
i,ii are true and iii,iv are false
-
ii,iii,iv are true and i is false
A
Correct answer
Explanation
According to standard testing methodologies (such as ISTQB), test implementation and execution include designing test cases/procedures, creating test suites, and verifying the environment (tasks i, ii, and iii). Determining exit criteria (task iv) is part of test planning and control, not implementation/execution.
A
Correct answer
Explanation
The range of valid inputs is 18 to 25. An invalid equivalence class consists of values outside this range, specifically less than 18 or greater than 25. Thus, 17 represents an invalid equivalence class value, whereas 19, 21, and 24 represent valid equivalence class values.
-
static testing requires the running of tests through the code
-
static testing includes desk checking
-
static testing includes techniques such as reviews and inspections
-
static testing can give measurements such as cyclomatic complexity
A
Correct answer
Explanation
Static testing is performed without executing the code. It includes techniques like reviews, inspections, walkthroughs, and desk checking. Static analysis tools can compute metrics like cyclomatic complexity. Option A is false because static testing does NOT require running tests through code - that would be dynamic testing.
-
Checking that we are building the right system
-
Checking that we are building the system right.
-
Performed by an independant testing team
-
Making sure that it is what the user really wants
B
Correct answer
Explanation
Verification is the process of checking that the software is being built according to the specifications and requirements. This is often summarized as 'building the system right' - ensuring the implementation matches the design. Option A describes validation, which is about 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
A regression test ensures that recent code changes have not adversely affected existing functionality. It focuses on verifying that unchanged areas of the software continue to work as expected after modifications. Option C is incorrect because regression testing specifically checks stable areas, not changed 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
Without an expected result defined, it becomes impossible to determine whether the actual outcome represents a pass or fail condition. The test cannot be objectively evaluated. Expected results provide the baseline for comparison in software testing.
-
2 is a valid reason; 1,3,4 & 5 are not
-
1,2,3,4 are valid reasons; 5 is not
-
1,2,3 are valid reasons; 4 & 5 are not
-
All of them are valid reasons for failure
D
Correct answer
Explanation
Failures can originate from multiple sources including test design errors, implementation defects, design flaws, environmental issues, and documentation problems. All five categories represent valid potential causes of test failures. Testing faults include incorrect test data or invalid test procedures.
-
You shorten the time required for testing
-
You do the best testing in the time available
-
You do more effective testing
-
You find more faults
B
Correct answer
Explanation
Test prioritization aims to maximize testing effectiveness within limited time constraints. By focusing on high-risk and high-value areas first, teams ensure the most critical testing is completed even if time runs out. The goal is optimal quality assurance, not merely speed or finding more faults.
-
Error guessing
-
Walkthrough
-
Data flow analysis
-
Inspections
A
Correct answer
Explanation
Static testing techniques examine software artifacts without running the code. Walkthroughs, data flow analysis, and inspections are all static methods. Error guessing is a dynamic testing technique that involves designing tests based on intuition about where defects might exist, making it the correct answer as the non-static option.
-
Component testing should be performed by development
-
Component testing is also know as isolation or module testing
-
Component testing should have completion criteria planned
-
Component testing does not involve regression testing
D
Correct answer
Explanation
Component testing, also called unit or module testing, is performed by developers and requires planned completion criteria. It absolutely involves regression testing to ensure changes to one component don't break others. Statement D is false because regression testing is a standard part of component testing.
-
Execution
-
Design
-
Planning
-
Check Exit criteria completion
C
Correct answer
Explanation
Finding faults during the planning phase is most cost-effective because preventing defects early avoids expensive rework later. While design review also catches issues early, planning establishes the entire testing strategy and can prevent entire categories of faults. Planning is considered most cost-effective because it enables prevention at the earliest stage.
-
Being diplomatic
-
Able to write software
-
Having good attention to detail
-
Able to be relied on
B
Correct answer
Explanation
While useful technical skills, testers don't necessarily need to write production software. More critical are soft skills like diplomacy for reporting issues, attention to detail for thorough testing, and reliability for consistent execution. Technical writing skills for test documentation are more important than programming ability for most testers.