Ruankao Software Evaluator (Intermediate) key terms
Ruankao Software Evaluator (Intermediate) · Get comfortable with the vocabulary.
- Software Life Cycle Model
- Related: V-Model, Verification and Validation
A structured framework describing the stages a software product passes through, from requirements through retirement, and how work flows between them. Testing scope and timing depend on which model an organization adopts.
- V-Model
- Related: Software Life Cycle Model, Test Level
A life cycle model that pairs each development phase with a corresponding test level, so requirements link to acceptance testing and design links to integration and system testing. It emphasizes early test planning.
- Verification and Validation
- Related: Software Life Cycle Model, Acceptance Testing
Verification asks whether the product was built according to its specification; validation asks whether it meets the user's real needs. Both are needed because a product can conform to a flawed specification.
- Modularity and Cohesion
- Related: Coupling, Unit Testing
Modularity is the division of a system into separately understandable units. Cohesion measures how strongly the responsibilities inside one unit belong together; high cohesion makes units easier to test in isolation.
- Coupling
- Related: Modularity and Cohesion, Test Stub
The degree of dependency between software modules. Loose coupling reduces the ripple effect of change and simplifies stubbing, while tight coupling forces testers to assemble many components before anything can be exercised.
- Control Flow Graph
- Related: Cyclomatic Complexity, Statement Coverage, Basis Path Testing
A directed graph whose nodes are program statements or blocks and whose edges are possible transfers of control. Testers use it to compute cyclomatic complexity and to identify paths for structural coverage.
- Cyclomatic Complexity
- Related: Control Flow Graph, Basis Path Testing
A count of linearly independent paths through a program, computed as edges minus nodes plus two on a control flow graph. It indicates the minimum number of tests for branch coverage and flags risky modules.
- Black-Box Testing
- Related: Equivalence Partitioning, Boundary Value Analysis
Test design based only on externally visible behavior and specifications, without knowledge of internal code. It is suited to functional requirements and works at every test level, including acceptance.
- White-Box Testing
- Related: Statement Coverage, Decision Coverage, Control Flow Graph
Test design that uses knowledge of internal structure, such as code, control flow, or data flow. It measures structural coverage and reveals unreachable or untested logic that black-box tests may miss.
- Equivalence Partitioning
- Related: Boundary Value Analysis, Black-Box Testing
A technique that divides input and output domains into classes expected to be handled identically, then selects one representative value per class. It reduces the number of tests while keeping defect-finding power.
- Boundary Value Analysis
- Related: Equivalence Partitioning, Robustness Testing
A technique that selects values at and just outside the edges of each equivalence class, because off-by-one and limit errors cluster there. It complements partitioning and is often combined with it.
- Decision Table Testing
- Related: Equivalence Partitioning, Test Case
A technique that tabulates combinations of conditions and the actions required for each combination, exposing rules that might otherwise be missed. It suits business logic with interacting conditions and outcomes.
- State Transition Testing
- Related: Test Case, Boundary Value Analysis
A technique that models a system as states, events, and transitions, then derives tests to cover valid transitions, invalid transitions, and unreachable states. It is common for transaction and protocol behavior.
- Statement Coverage
- Related: Decision Coverage, White-Box Testing
The percentage of executable statements exercised by a test suite. It is the weakest structural criterion because a statement can run without its guarding condition ever being false.
- Decision Coverage
- Related: Statement Coverage, Cyclomatic Complexity
The percentage of decision outcomes, true and false, exercised by tests. Also called branch coverage, it is stronger than statement coverage and is a common minimum entry criterion for unit testing.
- Basis Path Testing
- Related: Cyclomatic Complexity, Control Flow Graph
A white-box method that derives a set of linearly independent paths from the control flow graph and designs one test per path. The number of paths equals the cyclomatic complexity.
- Test Case
- Related: Test Oracle, Test Procedure
A documented set of preconditions, inputs, execution steps, and expected results aimed at a specific objective. A good test case is traceable, repeatable, and states expected results precisely enough to judge pass or fail.
- Test Oracle
- Related: Test Case, Test Harness
The mechanism used to decide whether an observed result is correct, such as a specification, a reference implementation, or a human expert. Without a reliable oracle, a test cannot produce a verdict.
- Test Level
- Related: Unit Testing, Integration Testing, Acceptance Testing
A group of test activities organized around a stage of development, such as component, integration, system, and acceptance testing. Each level has distinct objectives, entry criteria, and typical defects.
- Unit Testing
- Related: Test Stub, Test Driver, White-Box Testing
Testing individual components or functions in isolation, usually by developers with stubs and drivers. It targets logic errors and is the cheapest level at which to find and fix defects.
- Integration Testing
- Related: Test Stub, Test Driver, System Testing
Testing that verifies interfaces and interactions between integrated components. Strategies include big-bang, top-down, bottom-up, and sandwich, each trading off stub and driver effort against defect localization.
- System Testing
- Related: Acceptance Testing, Non-Functional Testing
Testing a complete, integrated system against its requirements, including functional and non-functional behavior. It is usually performed by an independent test team in an environment close to production.
- Acceptance Testing
- Related: System Testing, Verification and Validation
Testing conducted to decide whether a system satisfies business needs and can be released or accepted. Forms include user acceptance, operational acceptance, contractual, and regulatory acceptance testing.
- Regression Testing
- Related: Test Automation, Confirmation Testing
Re-execution of selected tests after a change to confirm that existing behavior still works and no new defects were introduced. It is the main justification for automated test suites and continuous integration.
- Confirmation Testing
- Related: Regression Testing, Defect Life Cycle
Retesting the specific defect that was reportedly fixed, using the original failing case, to confirm the fix works. It differs from regression testing, which checks for side effects elsewhere.
- Test Stub
- Related: Test Driver, Integration Testing
A replacement for a called component that returns controlled values so the component under test can run. Stubs simulate the lower layers that a module depends on during integration testing.
- Test Driver
- Related: Test Stub, Test Harness
A program or script that invokes the component under test and supplies its inputs, standing in for the upper layers that would normally call it. Drivers are typical in bottom-up integration.
- Test Harness
- Related: Test Driver, Test Automation
The collection of tools, scripts, stubs, drivers, and data needed to execute tests and capture results. It provides the scaffolding that makes automated and repeatable execution possible.
- Test Plan
- Related: Entry and Exit Criteria, Test Strategy
A document describing scope, objectives, approach, resources, schedule, risks, and exit criteria for testing. It is the reference for controlling and communicating test work throughout the project.
- Entry and Exit Criteria
- Related: Test Plan, Defect Density
Conditions that must be met before a test level starts and before it can be declared complete, such as approved requirements or a target pass rate. They make go/no-go decisions objective rather than intuitive.
- Defect Life Cycle
- Related: Confirmation Testing, Defect Density
The sequence of states a defect passes through, typically new, assigned, open, fixed, retested, verified, and closed, with rejection or deferral as alternatives. It defines who acts at each stage.
- Defect Density
- Related: Entry and Exit Criteria, Defect Life Cycle
The number of confirmed defects per unit size, such as per thousand lines of code or per function point. It supports release decisions and comparison across modules, provided measures are consistent.
- Test Automation
- Related: Regression Testing, Test Harness
Using software to execute tests, compare actual with expected results, and report outcomes without manual intervention. It pays off for stable, repetitive suites such as regression rather than one-off exploratory work.
- Performance Testing
- Related: Load Testing, Stress Testing
Testing to determine responsiveness, throughput, and resource use under defined workloads. It includes load and stress variants and requires realistic data volumes and production-like environments to yield meaningful results.
- Load Testing
- Related: Stress Testing, Performance Testing
Testing that applies expected or peak workload levels to verify the system meets performance requirements without unacceptable degradation. It answers whether the system handles anticipated demand.
- Stress Testing
- Related: Load Testing, Robustness Testing
Testing beyond normal capacity to find the breaking point and observe how the system fails and recovers. It reveals bottlenecks, memory leaks, and poor degradation behavior rather than everyday throughput.
- Robustness Testing
- Related: Stress Testing, Boundary Value Analysis
Testing how a system behaves under invalid inputs, resource shortages, or hostile conditions, focusing on graceful failure rather than correctness on valid input. It is closely related to reliability and security testing.
- Reliability
- Related: Robustness Testing, Software Quality
The probability that software performs required functions without failure for a stated period under stated conditions. It is measured statistically, for example by mean time between failures.
- Software Quality
- Related: Reliability, Software Quality Standard
The degree to which a product satisfies stated and implied needs. Standards such as ISO/IEC 25010 organize it into characteristics including functionality, reliability, performance efficiency, usability, security, and maintainability.
- Software Quality Standard
- Related: Software Quality, Test Plan
A recognized specification of quality characteristics, processes, or documentation requirements, such as ISO/IEC 25010 for product quality or ISO/IEC 29119 for testing processes. It gives auditors and teams a common reference.