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
-
performed by an Independent Test Team
-
performed by customers at the software developer’s site
-
performed by customers at their own site
-
performed as early as possible in the lifecycle
C
Correct answer
Explanation
Beta testing is performed by customers at their own site on their own hardware - this is its defining characteristic. It is NOT done by an independent test team (that would be internal testing). It is NOT at the developer's site (that's alpha testing). It happens late in lifecycle, not as early as possible. The key is customer testing in their environment.
-
Poor quality software
-
bad luck
-
Poor software and poor testing
-
insufficient time for testing
C
Correct answer
Explanation
User-reported faults typically indicate that both the software quality was suboptimal and testing failed to catch defects before release. If testing were comprehensive, most defects would be caught internally. User discovery of defects represents a failure in both development quality and the testing process.
-
Coverage analysis
-
Dynamic analysis
-
State analysis
-
Memory analysis
B
Correct answer
Explanation
Memory leaks are dynamic runtime phenomena that can only be detected by analyzing program behavior during execution. Dynamic analysis tools, including memory profilers, monitor memory allocation and deallocation patterns to identify leaks. Static techniques like coverage analysis cannot detect memory leaks.
-
found in the software; the result of an error
-
an incorrect step, process or data definition in a computer program
-
departure from specified behavior
-
a human action that produces an incorrect result
C
Correct answer
Explanation
A failure is an external event where the system departs from its specified behavior. An error is a human action (mistake) that produces a defect (fault or bug) in the code, which may subsequently cause a runtime failure.
-
state transition testing
-
LCSAJ
-
boundary value analysis
-
syntax testing
B
Correct answer
Explanation
Black-box techniques test without seeing internal code structure: boundary value analysis, state transition testing, and syntax testing all work from external specifications. LCSAJ (Linear Code Sequence And Jump) is a white-box technique that analyzes internal code paths and control flow.
-
) It facilitates timely set up of the test environment
-
It allows the identification of changes in user requirements.
-
It reduces defect multiplication
-
It allows testers to become involved early in the project
B
Correct answer
Explanation
Early verification catches defects before they propagate through later stages, preventing one defect from causing multiple related defects. When defects are found early, they are cheaper to fix and prevent a multiplier effect. The major benefit is reducing defect multiplication across the lifecycle.
-
Actual results
-
Program specification
-
User requirements
-
System specification
C
Correct answer
Explanation
User Acceptance Testing validates that the system meets actual user needs and expectations. User requirements document what users actually need from the system, making them the correct source for expected outcomes. Program and system specifications focus on technical implementation rather than user needs.
-
The system shall be user friendly.
-
The safety-critical parts of the system shall contain 0 faults.
-
The response time shall be less than one second for the specified design load.
-
The system shall be built to be portable.
C
Correct answer
Explanation
A testable requirement must be measurable and objective with clear pass/fail criteria. Response time under one second for a specified load is quantifiable and can be verified through performance testing. User friendliness is subjective, zero faults is impossible to prove, and portability is too vague to measure directly.
-
find as many faults as possible.
-
test high risk areas.
-
obtain good test coverage.
-
test whatever is easiest to test
B
Correct answer
Explanation
Risk-based testing prioritizes areas where failure would have the most severe impact on users or the business. High-risk areas include safety-critical functions, financial calculations, security features, and core business logic. Finding many faults in low-risk features is less valuable than finding critical faults in high-risk areas.
-
System tests are often performed by independent teams.
-
Functional testing is used more than structural testing.
-
End-users should be involved in system tests
-
Faults found during system tests can be very expensive to fix.
C
Correct answer
Explanation
System testing is conducted by testers or independent teams, not end-users, making option C the false statement. End-users participate in User Acceptance Testing (UAT), which comes after system testing and validates whether the software meets business needs. System testing verifies technical requirements, while UAT validates business requirements from the user's perspective.
-
Integration testing
-
Regression testing
-
System testing
-
User acceptance testing
B
Correct answer
Explanation
Capture and replay tools automate execution of existing test cases. This benefits regression testing the most because regression tests are executed repeatedly across software releases, making automation highly cost-effective compared to one-off tests.
-
the first testing that is performed.
-
pre-release testing by end user representatives at the developer’s site.
-
post-release testing by end user representatives at the developer’s site.
-
pre-release testing by end user representatives at their sites.
B
Correct answer
Explanation
Alpha testing is conducted before release at the developer's site by a limited group of potential users or market representatives. This differs from beta testing, which occurs after alpha at users' own locations with a broader audience. Alpha allows developers to observe and guide testing directly, while beta provides more realistic usage conditions.
-
an error
-
a fault
-
a failure
-
a defect
C
Correct answer
Explanation
A failure is the observable incorrect behavior that occurs when executing software with a fault. Faults (or bugs) are defects in the code that may remain dormant until triggered by specific inputs. Errors are human mistakes that introduce faults. Only failures are directly visible to end-users through incorrect behavior.
-
testing that the components that comprise the system function together
-
testing that the system functions with other systems
-
testing the system performs functions within specified response times
-
testing the end to end functionality of the system as a whole
D
Correct answer
Explanation
Functional system testing validates the entire system's end-to-end behavior against functional requirements, treating it as a black box. Integration testing verifies component interactions (option A), interoperability testing checks external system interfaces (option B), and performance testing measures response times (option C). System testing focuses on what the system does, not how it's built.
-
ensuring that the system is acceptable to all users
-
testing the system with other systems
-
finding faults in the system
-
testing from a business perspective
D
Correct answer
Explanation
Acceptance testing validates whether the system meets business requirements and is ready for deployment from a business perspective. Unlike earlier testing phases focused on finding faults, acceptance testing confirms the solution delivers expected business value. It's conducted by business representatives or users, not necessarily all users, and focuses on what the system should do for the business.