First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.
Continue in the practice tool above to load more questions, 50 at a time.
Question 1Software Testing Fundamentals and Terminology
In software testing terminology, what does a 'defect' most precisely refer to?
- A human action that produces an incorrect result
- Any deviation between actual behavior and the requirements
- The observable incorrect behavior of a running system
- A flaw in a work product that may cause a failure during execution Correct answer.
Explanation
A defect (also called a bug or fault) is an imperfection or flaw in a work product such as code, a design document, or a requirements specification. It is the root cause that, when executed under the right conditions, may lead to a failure. Distinguishing defect from error and failure is foundational to testing vocabulary.
Question 2Software Testing Fundamentals and Terminology
A tester executes a test and the software produces an incorrect result. In standard terminology, this event is called a:
- error
- fault
- failure Correct answer.
- incident report
Explanation
A failure is the event in which a component or system does not perform its required function within specified limits. It is the externally observable incorrect behavior, distinct from the defect that caused it. The error is the human mistake, and the fault or defect is the flaw in the artifact.
Question 3Software Testing Fundamentals and Terminology
Which term describes the degree to which a test measures what it is intended to measure?
- Validity Correct answer.
- Reliability
- Coverage
- Traceability
Explanation
Validity refers to whether a test or test process actually measures or verifies the intended characteristic. A valid test detects the specific condition it targets. Reliability, by contrast, concerns consistency of results across repeated runs.
Question 4Software Testing Fundamentals and Terminology
What is the primary purpose of a smoke test?
- To check the usability of the user interface with real users
- To measure the response time of the system under peak load
- To verify every branch condition in the source code
- To confirm that the most critical functions work before deeper testing begins Correct answer.
Explanation
A smoke test is a shallow, broad check that the build is stable enough for further testing, confirming critical functionality works. It is often run on each new build to reject badly broken versions early. It is not intended to be exhaustive or to measure performance.
Question 5Software Testing Fundamentals and Terminology
Which test level typically verifies the interfaces and interactions between integrated components?
- Integration testing Correct answer.
- Unit testing
- Acceptance testing
- System testing
Explanation
Integration testing focuses on defects in the interfaces and interactions between integrated components or systems. Unit testing targets individual components in isolation, while system testing evaluates the complete system against requirements. Acceptance testing confirms fitness for use by the customer.
Question 6Software Testing Fundamentals and Terminology
A test case that is designed to confirm the system behaves correctly under normal, expected input is best described as:
- a regression test case
- a robustness test case
- a positive test case Correct answer.
- a negative test case
Explanation
A positive test case uses valid, expected inputs to verify that the system produces the correct expected result. Negative test cases deliberately use invalid or unexpected inputs to check error handling. The distinction concerns the nature of the input data and expected outcome.
Question 7Software Testing Fundamentals and Terminology
In the V-model, which activity corresponds directly to component (unit) testing?
- User acceptance criteria definition
- Component design specification Correct answer.
- Requirements analysis
- System architecture design
Explanation
The V-model pairs each development phase on the left with a corresponding test level on the right. Component design specification maps to component or unit testing, just as requirements analysis maps to acceptance testing. This symmetry emphasizes early test planning.
Question 8Software Testing Fundamentals and Terminology
What does the term 'test oracle' refer to in software testing?
- A tool that automatically generates test input data
- A repository storing historical test results
- A person responsible for approving the test plan
- A mechanism used to determine whether a test has passed or failed Correct answer.
Explanation
A test oracle is any source of expected results that lets a tester judge whether observed behavior is correct. It can be a specification, a reference implementation, or a human expert. Without an oracle, automated tests cannot decide pass or fail reliably.
Question 9Software Testing Fundamentals and Terminology
A tester applies equivalence partitioning to an input field accepting integers from 1 to 100. How many equivalence classes should be identified, and what are they?
- One hundred: one class per integer value
- Three: below 1, from 1 to 100, and above 100 Correct answer.
- Two: odd numbers and even numbers
- Two: valid inputs and invalid inputs
Explanation
Equivalence partitioning divides input data into classes where all members are expected to be processed similarly. For a range of 1 to 100, there is one valid class (1 to 100) and two invalid classes (below 1 and above 100), giving three classes total. Testing one representative value per class is the goal.
Question 10Software Testing Fundamentals and Terminology
For an input range of 10 to 20 inclusive, which set of values best applies boundary value analysis?
- 10, 20
- 9, 11, 19, 21
- 9, 10, 20, 21 Correct answer.
- 10, 15, 20
Explanation
Boundary value analysis tests values at and just outside the boundaries of each equivalence class. For the inclusive range 10 to 20, the boundaries are 10 and 20, so testing 9, 10, 20, and 21 covers just below, on, and just above each boundary. This catches off-by-one defects that partitioning alone may miss.
Question 11Software Testing Fundamentals and Terminology
A decision table for a rule with three independent Boolean conditions has how many condition combinations before simplification?
- 6
- 9
- 3
- 8 Correct answer.
Explanation
Each independent Boolean condition doubles the number of combinations, so three conditions yield 2^3, which is 8 combinations. A decision table lists these combinations as rules to ensure all logical paths are covered. Simplification may then merge rules with identical outcomes.
Question 12Software Testing Fundamentals and Terminology
In state transition testing, what does a 'transition' represent?
- A rule defining which inputs are valid
- A record of all executed test cases
- A change from one state to another triggered by an event Correct answer.
- A stable condition in which the system waits for input
Explanation
A state transition model consists of states, events, and transitions. A transition is the movement from a source state to a target state caused by an event, possibly with a guard condition and action. States themselves are the stable conditions the system can occupy.
Question 13Software Testing Fundamentals and Terminology
Which statement correctly distinguishes verification from validation?
- Verification checks conformance to specified requirements; validation checks fitness for intended use Correct answer.
- Verification occurs after release; validation occurs before release
- Verification checks fitness for use; validation checks conformance to specification
- Verification is performed only by developers; validation only by testers
Explanation
Verification asks whether we built the product right, confirming conformance to specified requirements and design. Validation asks whether we built the right product, confirming it meets the user's actual needs and intended use. Both are quality activities and are not defined by who performs them.
Question 14Software Testing Fundamentals and Terminology
A team runs the same test suite repeatedly and gets different pass/fail results on unchanged code. This is a symptom of:
- insufficient test coverage
- a missing test oracle
- a non-deterministic or flaky test Correct answer.
- poor requirement traceability
Explanation
A flaky or non-deterministic test yields inconsistent results across runs even when the code and environment are unchanged. Common causes include timing dependencies, shared state, and unstable test data. Flaky tests undermine trust in results and should be diagnosed and stabilized.
Question 15Software Testing Fundamentals and Terminology
What is the key characteristic of a regression test suite?
- It tests only newly added features in isolation
- It measures code coverage of the latest commit
- It exercises the system at its maximum supported load
- It confirms that changes have not broken previously working functionality Correct answer.
Explanation
Regression testing re-executes existing tests to confirm that modifications did not introduce new defects or reintroduce old ones in unchanged areas. It guards against unintended side effects of change. It is distinct from load testing and from coverage measurement.
Question 16Software Testing Fundamentals and Terminology
In risk-based testing, the priority of a test is most directly determined by:
- the chronological order features were built
- the seniority of the tester assigned
- the likelihood and impact of a potential failure Correct answer.
- the number of lines of code covered
Explanation
Risk-based testing prioritizes effort according to risk, typically the product of the probability of a failure and its potential impact. Higher-risk areas receive more and earlier testing. Code coverage, build order, and tester seniority are not the primary drivers of risk priority.
Question 17Software Testing Fundamentals and Terminology
Which activity best exemplifies static testing?
- Profiling response time under load
- Executing a test script against a running build
- Comparing actual output with expected output
- Reviewing a requirements document for ambiguities Correct answer.
Explanation
Static testing examines work products such as requirements, design, and code without executing them, using reviews and static analysis. Reviewing a requirements document for ambiguities is a classic static activity. The other options all require executing the software.
Question 18Software Testing Fundamentals and Terminology
A tester writes a test that submits a negative quantity to an order form to check the error message displayed. This is best classified as:
- a structural coverage test
- a confirmation test
- a performance test
- a negative test Correct answer.
Explanation
Negative testing deliberately supplies invalid or unexpected input to verify that the system handles it gracefully, for example by showing an appropriate error message. It complements positive testing, which uses valid inputs. Performance and structural coverage tests address different objectives.
Question 19Software Testing Fundamentals and Terminology
What is the primary difference between a test plan and a test case?
- A test plan is written only by developers; a test case only by users
- A test plan is executed automatically; a test case is always manual
- A test plan describes scope, approach, and schedule; a test case specifies inputs and expected results for one condition Correct answer.
- A test plan lists individual inputs; a test case defines the overall schedule
Explanation
A test plan is a high-level document covering objectives, scope, approach, resources, and schedule. A test case is a lower-level artifact specifying preconditions, inputs, and expected results for a particular condition. They operate at different levels of detail.
Question 20Software Testing Fundamentals and Terminology
Which coverage measure is satisfied when every possible combination of condition outcomes within a decision has been exercised?
- Condition coverage
- Decision coverage
- Statement coverage
- Multiple condition coverage Correct answer.
Explanation
Multiple condition coverage requires testing all combinations of condition outcomes within each decision, which is the strongest of these structural measures. Decision coverage tests each decision outcome at least once, and condition coverage tests each condition outcome at least once. Statement coverage only requires each statement to be executed.
Question 21Software Testing Fundamentals and Terminology
A developer fixes a defect and the tester re-runs the failing test, which now passes. Which additional activity is most important before closing the defect?
- Rewriting the test case in a different language
- Running regression tests to confirm the fix did not break other functionality Correct answer.
- Increasing the test coverage threshold for the module
- Reassigning the defect to a different developer
Explanation
After a fix is confirmed by the originally failing test, regression testing is essential to ensure the change did not introduce new defects elsewhere. A fix can have unintended side effects in shared code. Coverage thresholds, reassignment, and rewriting tests do not address this risk.
Question 22Software Testing Fundamentals and Terminology
In a decision table, two rules have identical actions and differ only in a condition marked as 'don't care'. What does this allow the tester to do?
- Increase the number of required test cases
- Convert the decision table into a state diagram
- Merge the rules into a single rule, reducing the number of test cases Correct answer.
- Delete the condition entirely from the specification
Explanation
When two rules produce identical actions and differ only in a condition whose value does not affect the outcome, they can be merged using a don't-care entry. This simplification reduces the number of distinct rules and thus the minimum test cases. It does not remove the condition from the specification.
Question 23Software Testing Fundamentals and Terminology
A system must be tested for all pairwise interactions of four configuration parameters, each with three values. Compared with exhaustive testing, pairwise testing:
- guarantees detection of all defects involving three or more parameters
- requires testing every possible combination of all four parameters
- reduces the number of combinations substantially while still covering every pair of values Correct answer.
- is equivalent to testing each parameter independently in isolation
Explanation
Pairwise testing covers every combination of values for each pair of parameters, which greatly reduces the number of test cases compared with the full Cartesian product. It is effective because many defects are triggered by interactions of two parameters. It does not guarantee detection of defects requiring three or more simultaneous conditions.
Question 24Software Testing Fundamentals and Terminology
An anomaly is observed during test execution but investigation shows the software behaved according to the specification, which the tester had misread. How should this be classified?
- A true positive defect
- A regression failure
- A false positive, not a genuine defect Correct answer.
- A performance defect
Explanation
A false positive occurs when a test reports a problem that is not a genuine defect, here because the expected result was misunderstood. The software conformed to the specification, so no defect exists. Accurately classifying such events prevents wasted defect-fixing effort.
Question 25Software Testing Fundamentals and Terminology
Which statement best explains why exhaustive testing is generally infeasible?
- The input domain and execution paths are typically too large to cover completely within practical constraints Correct answer.
- Test tools cannot execute more than one thousand test cases per day
- Automated tests always produce false results beyond a fixed limit
- Regulations prohibit testing beyond the documented requirements
Explanation
Exhaustive testing would require every possible input combination and path, which for real systems is effectively infinite. Time, cost, and resource constraints make complete coverage impractical. Risk-based prioritization is therefore used to select the most valuable tests.
Question 26Software Testing Fundamentals and Terminology
A test engineer documents the expected result of a test case as 'the order confirmation screen is displayed and the order number is stored'. Which ISO/IEC/IEEE 29119-1 concept does this documented expected result primarily represent?
- The test basis from which coverage is measured
- The test condition that drives test design
- The test procedure that sequences the steps
- The test oracle used to judge the actual outcome Correct answer.
Explanation
The expected result is the observable outcome the tester compares against what the system actually produced; the source that supplies this judgement is the test oracle. A test condition is a testable aspect identified from the test basis, and a test procedure is the ordered set of steps, so neither names the judgement mechanism.
Question 27Software Testing Fundamentals and Terminology
A defect is found during system test and traced back to a mistake made when capturing a requirement. Which term correctly describes the mistake itself in standard testing terminology?
- A failure
- A fault
- An error Correct answer.
- An incident
Explanation
Standard terminology distinguishes three linked concepts: an error is the human action that produces an incorrect result, a defect (fault) is the flaw introduced into a work product, and a failure is the observable deviation at run time. Because the stem describes the act of capturing a requirement incorrectly, the mistake is the error.
Question 28Software Testing Fundamentals and Terminology
A tester must select a technique for a module whose behaviour is specified as a set of business rules combining several independent conditions with different resulting actions. Which technique is the most direct fit for designing tests from that specification?
- Retrospective analysis
- Statement coverage measurement
- Error guessing
- Decision table testing Correct answer.
Explanation
Decision table testing is designed exactly for combinations of conditions and the actions that follow, so it systematically derives test cases from business rules. Coverage measurement and error guessing do not model condition-action combinations, and a retrospective examines process rather than designing tests.
Question 29Software Testing Fundamentals and Terminology
A test manager needs a single metric that expresses how much of the specified functional requirements the executed tests have exercised. Which measure most directly answers that question?
- Requirement coverage Correct answer.
- Defect detection percentage
- Branch coverage
- Cyclomatic complexity
Explanation
Requirement coverage maps executed tests to the specified requirements, so it directly states how much of the specification has been exercised. Branch coverage measures code structure, defect detection percentage measures testing effectiveness over time, and cyclomatic complexity measures code complexity rather than test progress.
Question 30Software Testing Fundamentals and Terminology
A team must test a specification that describes a workflow with states, events, guards and actions, and management asks for evidence that every legal event sequence up to a defined length has been exercised. Which approach best satisfies that request?
- Running exploratory sessions against the workflow without a model
- Applying boundary value analysis to each event parameter independently
- Measuring statement coverage of the workflow handler code
- Deriving test cases from an N-switch coverage criterion on the state model Correct answer.
Explanation
N-switch coverage on a state transition model specifically requires that sequences of N+1 transitions be executed, which matches the request for evidence about legal event sequences of a defined length. Boundary value analysis treats parameters in isolation and cannot address sequence length, statement coverage ignores legal orderings, and unmodelled exploratory testing provides no such evidence.
Question 31Test Levels, Test Types, and the Software Development Lifecycle
In the V-model of software development, which test level is designed in parallel with the system requirements specification?
- Component testing
- Acceptance testing
- Unit testing
- System testing Correct answer.
Explanation
In the V-model each development phase on the left has a matching test level on the right. System requirements specification corresponds to system testing, which verifies that the integrated system meets those requirements. Acceptance testing pairs with the user requirements or business needs phase.
Question 32Test Levels, Test Types, and the Software Development Lifecycle
Which test level typically focuses on interfaces between modules and on interactions within a subsystem?
- Integration testing Correct answer.
- Smoke testing
- Alpha testing
- Unit testing
Explanation
Integration testing targets the interfaces and interactions between components or subsystems, exposing defects in the way they communicate. Unit testing focuses on individual components in isolation. Smoke and alpha testing are test types, not test levels.
Question 33Test Levels, Test Types, and the Software Development Lifecycle
During component testing, which type of test tool is most directly associated with measuring how much of the code has been exercised?
- A requirements traceability matrix
- A load generator
- A test management dashboard
- A code coverage analyzer Correct answer.
Explanation
Component testing often uses code coverage tools to measure statement, branch, or decision coverage of the component under test. Load generators belong to performance testing at system level. Traceability matrices and dashboards support management, not code coverage measurement.
Question 34Test Levels, Test Types, and the Software Development Lifecycle
Which test type is primarily concerned with whether the system continues to operate correctly after a change is made to it?
- Recovery testing
- Usability testing
- Localization testing
- Regression testing Correct answer.
Explanation
Regression testing re-executes selected tests after changes to confirm that previously working functionality has not been broken. Usability testing evaluates ease of use, recovery testing examines behavior after failures, and localization testing checks adaptation to a locale.
Question 35Test Levels, Test Types, and the Software Development Lifecycle
A test manager wants to confirm that a new build is stable enough to justify deeper testing. Which test type is most appropriate first?
- Penetration testing
- Stress testing
- Beta testing
- Smoke testing Correct answer.
Explanation
Smoke testing is a shallow, broad check that the critical functions of a build work, providing a quick decision on whether to accept the build for further testing. Stress testing pushes limits, penetration testing probes security, and beta testing involves real users.
Question 36Test Levels, Test Types, and the Software Development Lifecycle
In iterative and incremental development models, what is the typical relationship between test levels and iterations?
- Only acceptance testing is performed until the final iteration.
- Each test level is performed exactly once, at the end of the project.
- Component testing is skipped because increments are already integrated.
- Test levels are repeated as appropriate within and across iterations. Correct answer.
Explanation
Iterative models deliver increments, so component, integration, and system tests are repeated for each increment and for regression as the product grows. Testing is not deferred to a single end-of-project phase. Acceptance testing also recurs as increments are reviewed.
Question 37Test Levels, Test Types, and the Software Development Lifecycle
Which test type verifies that a system meets legal, safety, or contractual obligations imposed by external bodies?
- Volume testing
- Maintainability testing
- Portability testing
- Compliance testing Correct answer.
Explanation
Compliance testing, sometimes called regulatory acceptance testing, checks conformance to standards, laws, and regulations set by external authorities. Portability and maintainability testing address quality characteristics, and volume testing addresses large data volumes.
Question 38Test Levels, Test Types, and the Software Development Lifecycle
What distinguishes acceptance testing from system testing?
- Acceptance testing always uses white-box techniques, whereas system testing uses only black-box techniques.
- Acceptance testing is performed only by developers, whereas system testing is performed by users.
- Acceptance testing assesses fitness for user needs and business purpose, while system testing verifies the whole system against specified requirements. Correct answer.
- System testing occurs before component testing in the lifecycle.
Explanation
System testing validates the integrated product against specified requirements, often with a focus on functional and non-functional behavior. Acceptance testing shifts to the user or customer perspective to judge whether the product satisfies business needs and is fit for use.
Question 39Test Levels, Test Types, and the Software Development Lifecycle
A team builds a medical device where software failure could cause injury. Which test type is most relevant to demonstrate that identified risks are adequately mitigated?
- Accessibility testing
- Backup and recovery testing
- Safety testing Correct answer.
- Interoperability testing
Explanation
Safety testing evaluates whether the system meets safety requirements and whether identified hazards have been reduced to acceptable levels. Interoperability and accessibility address different quality attributes, and backup and recovery testing concerns data restoration.
Question 40Test Levels, Test Types, and the Software Development Lifecycle
Which activity belongs to test planning at the system test level rather than to test design?
- Selecting equivalence partitions for a data range
- Estimating effort and defining entry and exit criteria for system testing Correct answer.
- Identifying boundary values for an input field
- Deriving test cases from the system requirements specification
Explanation
Test planning covers scope, approach, estimation, resources, schedules, and entry and exit criteria. Deriving test cases and selecting techniques such as boundary value analysis or equivalence partitioning belong to test design and implementation.
Question 41Test Levels, Test Types, and the Software Development Lifecycle
A project follows a sequential waterfall lifecycle. What is the most likely consequence for testing?
- Testing begins before requirements are baselined.
- Defects found late are expensive, and testing is compressed near the end. Correct answer.
- Regression testing becomes unnecessary.
- Test levels overlap heavily and are executed continuously.
Explanation
In a sequential model, test levels follow the completed development phases, so defects introduced early may surface late when correction is costly. Testing is often squeezed into the final phase and regression is still needed after fixes.
Question 42Test Levels, Test Types, and the Software Development Lifecycle
Which test type is most appropriate for checking how a system behaves when a communication link fails and then recovers?
- Installability testing
- Configuration testing
- Recovery testing Correct answer.
- Reliability testing
Explanation
Recovery testing examines how the system responds to failures such as lost connections and whether it can restore normal operation and data integrity. Reliability testing measures failure rates over time, while configuration and installability testing address environment and installation concerns.
Question 43Test Levels, Test Types, and the Software Development Lifecycle
A tester must verify that the software works across several supported browsers and operating system versions. Which test type does this describe?
- Localization testing
- Load testing
- Maintainability testing
- Configuration testing Correct answer.
Explanation
Configuration testing checks the system across combinations of hardware, operating systems, browsers, and other environment elements it is intended to support. Load testing measures behavior under load, localization addresses language and culture, and maintainability addresses ease of change.
Question 44Test Levels, Test Types, and the Software Development Lifecycle
Which statement best describes the role of test levels in the software development lifecycle?
- Test levels are defined solely by the number of test cases executed.
- Each test level maps to a specific phase of development and has distinct objectives and typical work products. Correct answer.
- Test levels exist only in agile lifecycles and not in sequential ones.
- Test levels are interchangeable labels chosen by the tester's preference.
Explanation
Test levels group testing activities by phase and objective, each with its own typical test basis, responsible roles, and work products. They exist in both sequential and iterative lifecycles, though their timing and repetition differ.
Question 45Test Levels, Test Types, and the Software Development Lifecycle
Which test type is most closely associated with evaluating whether users can learn and operate the system efficiently in its intended context?
- Usability testing Correct answer.
- Portability testing
- Security testing
- Volume testing
Explanation
Usability testing assesses effectiveness, efficiency, and satisfaction from the user's perspective, including learnability and operability. Volume testing stresses data size, security testing probes vulnerabilities, and portability testing examines movement between environments.
Question 46Test Levels, Test Types, and the Software Development Lifecycle
In a continuous integration pipeline, which test level is usually executed first and most frequently after each code commit?
- Acceptance testing
- Operational acceptance testing
- Regulatory compliance testing
- Component and integration tests Correct answer.
Explanation
Continuous integration favors fast, automated feedback, so component tests and focused integration tests run on every commit. Acceptance, operational, and compliance testing are slower and occur at later stages or milestones.
Question 47Test Levels, Test Types, and the Software Development Lifecycle
Which test type focuses on whether the software can be installed, upgraded, and uninstalled cleanly in target environments?
- Installability testing Correct answer.
- Maintainability testing
- Performance efficiency testing
- Interoperability testing
Explanation
Installability testing verifies that the software installs, upgrades, and uninstalls as specified in its target environments. Maintainability addresses ease of change, interoperability addresses data exchange with other systems, and performance efficiency addresses resource behavior.
Question 48Test Levels, Test Types, and the Software Development Lifecycle
A regulated project requires evidence that testing was performed independently of the development team. Which test level arrangement best satisfies this?
- Developers perform all levels, including acceptance testing.
- Only automated unit tests are executed and reported.
- Testing is outsourced entirely without any defined test basis.
- Independent testers perform system and acceptance testing while developers focus on component testing. Correct answer.
Explanation
Independence improves objectivity, so regulated projects often assign system and acceptance testing to an independent test group while developers handle component testing. Complete lack of independence or an undefined test basis undermines the evidence required.
Question 49Test Levels, Test Types, and the Software Development Lifecycle
Which of the following best describes operational acceptance testing?
- Testing of individual components in isolation by developers
- Testing of backup, restore, disaster recovery, and maintainability tasks performed by operators Correct answer.
- Testing that confirms the software meets legal regulations
- Testing that end users find the software fit for business purpose
Explanation
Operational acceptance testing, also called production acceptance, verifies operational readiness such as backup and restore, disaster recovery, security procedures, and maintainability tasks. User acceptance addresses business fitness, and compliance testing addresses regulations.
Question 50Test Levels, Test Types, and the Software Development Lifecycle
A team adopts a shift-left approach. Which change most directly reflects that principle in the lifecycle?
- Deferring all static analysis until the acceptance phase
- Removing regression tests to shorten the pipeline
- Moving acceptance testing to the first sprint and eliminating later testing
- Performing reviews and component testing early, before system testing begins Correct answer.
Explanation
Shift-left means moving testing and quality activities earlier, such as reviews of requirements and design plus early component testing, so defects are found when they are cheap to fix. It does not mean deleting regression tests or abandoning later levels.