The exit criteria that a component or system must satisfy in order to be accepted by a user, customer, or other authorized entity.
A collaborative approach to development in which the team and customers are using the customers own domain language to understand their requirements, which forms the basis for testing a component or system.
Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.
The capability of the software product to provide the right or agreed results or effects with the needed degree of precision.
User or any other person or system that interacts with the test object in a specific way.
A statement on the values that underpin Agile software development. The values are: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan.
A group of software development methodologies based on iterative incremental development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.
Testing practice for a project using Agile software development methodologies, incorporating techniques and methods, such as extreme programming (XP), treating development as the customer of testing and emphasizing the test-first design paradigm.
Simulated or actual operational testing by potential users/customers or an independent test team at the developers' site, but outside the development organization. Alpha testing is often employed for commercial off-the-shelf software as a form of internal acceptance testing.
An independent evaluation of software products or processes to ascertain compliance to standards, guidelines, specifications, and/or procedures based on objective criteria, including documents that specify: the form or content of the products to be produced, the process by which the products shall be produced, and how compliance to standards or guidelines shall be measured.
The degree to which a component or system is operational and accessible when required for use. Often expressed as a percentage.
A collaborative approach to development in which the team is focusing on delivering expected behavior of a component or system for the customer, which forms the basis for testing.
A superior method or innovative practice that contributes to the improved performance of an organization under given context, usually recognized as "best" by other peer organizations.
Operational testing by potential and/or existing users/customers at an external site not otherwise involved with the developers, to determine whether or not a component or system satisfies the user/customer needs and fits within the business processes. Beta testing is often employed as a form of external acceptance testing for commercial off-the-shelf software in order to acquire feedback from the market.
Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure.
Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure.
A black-box test design technique in which test cases are designed based on boundary values.
A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g., an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.
A document reporting on any flaw in a component or system that can cause the component or system to fail to perform its required function.
A system of (hierarchical) categories designed to be a useful aid for reproducibly classifying defects.
A set of automated tests which validates the integrity of each new build and verifies its key/core functionality, stability and testability.
A publicly displayed chart that depicts the outstanding effort versus time in an iteration. It shows the status and trend of completing the tasks of the iteration. The X-axis typically represents days in the sprint, while the Y-axis is the remaining effort (usually either in ideal engineering hours or story points).
An analysis technique aimed at identifying the root causes of defects. By directing corrective measures at root causes, it is hoped that the likelihood of defect recurrence will be minimized.
A table showing combinations of inputs and/or stimuli (causes) with their associated outputs and/or actions (effects), which can be used to design test cases.
A statement of test objectives, and possibly test ideas about how to test. Test charters are used in exploratory testing.
Testing based on an analysis of the internal structure of the component or system.
An analysis method that determines which parts of the software have been executed (covered) by the test suite and which parts have not been executed, e.g., statement coverage, decision coverage or condition coverage.
Testing based on an analysis of the internal structure of the component or system.
The degree to which a component or system can exchange information with other components or systems, and/or perform its required functions while sharing the same hardware or software environment.
The set of generic and specific conditions, agreed upon with the stakeholders for permitting a process to be officially completed. The purpose of exit criteria is to prevent a task from being considered completed when there are still outstanding parts of the task which have not been finished. Exit criteria are used to report against and to plan when to stop testing.
The degree to which a component or system has a design and/or internal structure that is difficult to understand, maintain and verify.
A minimal software item that can be tested in isolation.
The composition of a component or system as defined by the number, nature, and interconnections of its constituent parts.
An aggregation of hardware, software or both, that is designated for configuration management and treated as a single entity in the configuration management process.
A discipline applying technical and administrative direction and surveillance to identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specified requirements.
Testing that runs test cases that failed the last time they were run, in order to verify the success of corrective actions.
A sequence of consecutive edges in a directed graph.
The degree, expressed as a percentage, to which a specified coverage item has been exercised by a test suite.
A software development activity in which a system is compiled and linked daily so that it is consistently available at any time including all the latest changes.
A representation of dynamic measurements of operational performance for some organization or activity, using metrics represented via metaphors such as visual dials, counters, and other devices resembling those on the dashboard of an automobile, so that the effects of events or activities can be easily understood and related to operational goals.
An executable statement where a variable is assigned a value.
The process of finding, analyzing and removing the causes of failures in software.
A program point at which the control flow has two or more alternative routes. A node with two or more links to separate branches.
The percentage of decision outcomes that have been exercised by a test suite. 100% decision coverage implies both 100% branch coverage and 100% statement coverage.
A table showing combinations of inputs and/or stimuli (causes) with their associated outputs and/or actions (effects), which can be used to design test cases.
A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g., an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.
The number of defects identified in a component or system divided by the size of the component or system (expressed in standard measurement terms, e.g., lines-of-code, number of classes or function points).
The process of recognizing, investigating, taking action and disposing of defects. It involves recording defects, classifying them and identifying the impact.
A document reporting on any flaw in a component or system that can cause the component or system to fail to perform its required function.
A system of (hierarchical) categories designed to be a useful aid for reproducibly classifying defects.
A procedure to derive and/or select test cases targeted at one or more defect types, with tests being developed from what is known about the specific defect type.
A procedure to derive and/or select test cases targeted at one or more defect types, with tests being developed from what is known about the specific defect type.
The set of generic and specific conditions, agreed upon with the stakeholders for permitting a process to be officially completed. The purpose of exit criteria is to prevent a task from being considered completed when there are still outstanding parts of the task which have not been finished. Exit criteria are used to report against and to plan when to stop testing.
The set of generic and specific conditions for permitting a process to go forward with a defined task, e.g., test phase. The purpose of entry criteria is to prevent a task from starting which would entail more (wasted) effort compared to the effort needed to remove the failed entry criteria.
Testing that involves the execution of the software of a component or system.
The capability of producing an intended result.
(1) The capability of the software product to provide appropriate performance, relative to the amount of resources used, under stated conditions. (2) The capability of a process to produce the intended outcome, relative to the amount of resources used.
The set of generic and specific conditions for permitting a process to go forward with a defined task, e.g., test phase. The purpose of entry criteria is to prevent a task from starting which would entail more (wasted) effort compared to the effort needed to remove the failed entry criteria.
A black-box test design technique in which test cases are designed to execute representatives from equivalence partitions. In principle, test cases are designed to cover each partition at least once.
A human action that produces an incorrect result.
A test design technique where the experience of the tester is used to anticipate what defects might be present in the component or system under test as a result of errors made, and to design tests specifically to expose them.
The set of generic and specific conditions, agreed upon with the stakeholders for permitting a process to be officially completed. The purpose of exit criteria is to prevent a task from being considered completed when there are still outstanding parts of the task which have not been finished. Exit criteria are used to report against and to plan when to stop testing.
The behavior predicted by the specification, or another source, of the component or system under specified conditions.
The behavior predicted by the specification, or another source, of the component or system under specified conditions.
Testing based on the tester's experience, knowledge and intuition.
An informal test design technique where the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests.
A software engineering methodology used within Agile software development whereby core practices are programming in pairs, doing extensive code review, unit testing of all code, and simplicity and clarity in code.
A test is deemed to fail if its actual result does not match its expected result.
The status of a test result in which the actual result does not match the expected result.
Deviation of the component or system from its expected delivery, service or result.
A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g., an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.
The number of defects identified in a component or system divided by the size of the component or system (expressed in standard measurement terms, e.g., lines-of-code, number of classes or function points).
A distinguishing characteristic of a component or system.
A result of an evaluation that identifies some important issue, problem, or opportunity.
A black-box test design technique in which test cases are designed to execute valid and invalid state transitions.
A review characterized by documented procedures and requirements, e.g., inspection.
A requirement that specifies a function that a component or system must perform.
Testing based on an analysis of the specification of the functionality of a component or system.
The capability of the software product to provide functions which meet stated and implied needs when the software is used under specified conditions.
Testing based on an analysis of the internal structure of the component or system.
A generally recognized rule of thumb that helps to achieve a goal.
The tracing of requirements for a test level through the layers of test documentation (e.g., test plan, test design specification, test case specification and test procedure specification or test script).
A tool that facilitates the recording and status tracking of incidents. They often have workflow-oriented facilities to track and control the allocation, correction and re-testing of incidents and provide reporting facilities.
A development lifecycle where a project is broken into a series of increments, each of which delivers a portion of the functionality in the overall project requirements. The requirements are prioritized and delivered in priority order in the appropriate increment. In some (but not all) versions of this lifecycle model, each subproject follows a mini V-model with its own design, coding and testing phases.
A path that cannot be executed by any set of input values and preconditions.
A review not based on a formal (documented) procedure.
Attributes of software products that bear on its ability to prevent unauthorized access, whether accidental or deliberate, to programs and data.
A variable (whether stored within a component or outside) that is read by a component.
The process of combining components or systems into larger assemblies.
Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.
The capability of the software product to interact with one or more specified components or systems.
A type of software development lifecycle model in which the component or system is developed through a series of repeated cycles.
A partitioning of the life of a product or project into phases.
Testing based on an analysis of the internal structure of the component or system.
Testing based on an analysis of the internal structure of the component or system.
The ease with which a software product can be modified to correct defects, modified to meet new requirements, modified to make future maintenance easier, or adapted to a changed environment.
Modification of a software product after delivery to correct defects, to improve performance or other attributes, or to adapt the product to a modified environment.
(1) The capability of an organization with respect to the effectiveness and efficiency of its processes and work practices. (2) The capability of the software product to avoid failure as a result of defects in the software.
The number or category assigned to an attribute of an entity by making a measurement.
A measurement scale and the method used for measurement.
A diagram arranged around a general theme that represents ideas, tasks, words or other items.
A human action that produces an incorrect result.
Testing based on or involving models.
A minimal software item that can be tested in isolation.
Testing the attributes of a component or system that do not relate to functionality, e.g., reliability, efficiency, usability, maintainability and portability.
A source to determine expected results to compare with the actual result of the software under test. An oracle may be the existing system (for a benchmark), other software, a user manual, or an individual's specialized knowledge, but should not be the code.
A high-level description of the test levels to be performed and the testing within those levels for an organization or programme (one or more projects).
The consequence/outcome of the execution of a test.
A variable (whether stored within a component or outside) that is written by a component.
A software development approach whereby lines of code (production and/or test) of a component are written by two programmers sitting at a single computer. This implicitly means ongoing real-time code reviews are performed.
An approach in which two team members simultaneously collaborate on testing a work product.
A black-box test design technique in which test cases are designed to execute representatives from equivalence partitions. In principle, test cases are designed to cover each partition at least once.
A test is deemed to pass if its actual result matches its expected result.
The status of a test result in which the actual result matches the expected result.
A sequence of consecutive edges in a directed graph.
The degree to which a system or component accomplishes its designated functions within given constraints regarding processing time and throughput rate.
Testing to determine the performance of a software product.
A consensus-based estimation technique, mostly used to estimate effort or relative size of user stories in Agile software development. It is a variation of the Wideband Delphi method using a deck of cards with values representing the units in which the team estimates.
A meeting at the end of a project during which the project team members evaluate the project and learn lessons that can be applied to the next project.
Environmental and state conditions that must be fulfilled before the component or system can be executed with a particular test or test procedure.
The behavior predicted by the specification, or another source, of the component or system under specified conditions.
The level of (business) importance assigned to an item, e.g., defect.
A set of interrelated activities, which transform inputs into outputs.
A program of activities designed to improve the performance and maturity of the organization's processes, and the result of such a program.
A risk directly related to the test object.
A project is a unique set of coordinated and controlled activities with start and finish dates undertaken to achieve an objective conforming to specific requirements, including the constraints of time, cost and resources.
A risk related to management and control of the (test) project, e.g., lack of staffing, strict deadlines, changing requirements, etc.
The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations.
Part of quality management focused on providing confidence that quality requirements will be fulfilled.
A feature or characteristic that affects an item's quality.
A set of activities designed to evaluate the quality of a component or system.
A product risk related to a quality attribute.
A proprietary adaptable iterative software development process framework consisting of four project lifecycle phases: inception, elaboration, construction and transition.
Testing that runs test cases that failed the last time they were run, in order to verify the success of corrective actions.
Testing that dynamically responds to the behavior of the test object and to test results being obtained.
Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed.
Testing using various techniques to manage the risk of regression, e.g., by designing re-usable testware and by extensive automation of testing at one or more test levels.
The ability of the software product to perform its required functions under stated conditions for a specified period of time, or for a specified number of operations.
A condition or capability needed by a user to solve a problem or achieve an objective that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.
A tool that supports the recording of requirements, requirements attributes (e.g., priority, knowledge responsible) and annotation, and facilitates traceability through layers of requirements and requirements change management. Some requirements management tools also provide facilities for static analysis, such as consistency checking and violations to pre-defined requirements rules.
An approach to testing in which test cases are designed based on test objectives and test conditions derived from requirements, e.g., tests that exercise specific functions or probe non-functional attributes such as reliability or usability.
The consequence/outcome of the execution of a test.
A meeting at the end of a project during which the project team members evaluate the project and learn lessons that can be applied to the next project.
An evaluation of a product or project status to ascertain discrepancies from planned results and to recommend improvements. Examples include management review, informal review, technical review, inspection, and walkthrough.
A factor that could result in future negative consequences.
The process of assessing identified project or product risks to determine their level of risk, typically by estimating their impact and probability of occurrence (likelihood).
The importance of a risk as defined by its characteristics impact and likelihood. The level of risk can be used to determine the intensity of testing to be performed. A risk level can be expressed either qualitatively (e.g., high, medium, low) or quantitatively.
The process of identifying risks using techniques such as brainstorming, checklists and failure history.
The importance of a risk as defined by its characteristics impact and likelihood. The level of risk can be used to determine the intensity of testing to be performed. A risk level can be expressed either qualitatively (e.g., high, medium, low) or quantitatively.
The process through which decisions are reached and protective measures are implemented for reducing risks to, or maintaining risks within, specified levels.
An approach to testing to reduce the level of product risks and inform stakeholders of their status, starting in the initial stages of a project. It involves the identification of product risks and the use of risk levels to guide the test process.
The degree to which a component or system can function correctly in the presence of invalid inputs or stressful environmental conditions.
An analysis technique aimed at identifying the root causes of defects. By directing corrective measures at root causes, it is hoped that the likelihood of defect recurrence will be minimized.
An iterative incremental framework for managing projects commonly used with Agile software development.
Attributes of software products that bear on its ability to prevent unauthorized access, whether accidental or deliberate, to programs and data.
A method for measuring and managing session-based testing.
The degree of impact that a defect has on the development or operation of a component or system.
The representation of selected behavioral characteristics of one physical or abstract system by another system.
Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system.
A distinguishing characteristic of a component or system.
The period of time that begins when a software product is conceived and ends when the software is no longer available for use. The software lifecycle typically includes a concept phase, requirements phase, design phase, implementation phase, test phase, installation and checkout phase, operation and maintenance phase, and sometimes, retirement phase. Note these phases may overlap or be performed iteratively.
A feature or characteristic that affects an item's quality.
A feature or characteristic that affects an item's quality.
An entity in a programming language, which is typically the smallest indivisible unit of execution.
Documentation that provides a detailed description of a component or system for the purpose of developing and testing it.
Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure.
Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure.
Formal, possibly mandatory, set of requirements developed and used to prescribe consistent approaches to the way of working or to provide guidelines (e.g., ISO/IEC standards, IEEE standards, and organizational standards).
A black-box test design technique in which test cases are designed to execute valid and invalid state transitions.
An entity in a programming language, which is typically the smallest indivisible unit of execution.
Analysis of software development artifacts, e.g., requirements or code, carried out without execution of these software development artifacts. Static analysis is usually carried out by means of a supporting tool.
The analysis of source code carried out without execution of that software.
Testing of a software development artifact, e.g., requirements, design or code, without execution of these artifacts, e.g., reviews or static analysis.
Testing based on an analysis of the internal structure of the component or system.
Testing based on an analysis of the internal structure of the component or system.
The capability of the software product to provide an appropriate set of functions for specified tasks and user objectives.
A collection of components organized to accomplish a specific function or set of functions.
Testing the integration of systems and packages; testing interfaces to external organizations (e.g., Electronic Data Interchange, Internet).
Testing an integrated system to verify that it meets specified requirements.
A set of one or more test cases.
The process of analyzing the test basis and defining test objectives.
The implementation of the test strategy for a specific project. It typically includes the decisions made that follow based on the (test) project's goal and the risk assessment carried out, starting points regarding the test process, the test design techniques to be applied, exit criteria and test types to be performed.
The use of software to perform or support test activities, e.g., test management, test design, test execution and results checking.
All documents from which the requirements of a component or system can be inferred. The documentation on which the test cases are based. If a document can be amended only by way of formal amendment procedure, then the test basis is called a frozen test basis.
An environment containing hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test.
A set of input values, execution preconditions, expected results and execution postconditions, developed for a particular objective or test condition, such as to exercise a particular program path or to verify compliance with a specific requirement.
Procedure used to derive and/or select test cases.
A statement of test objectives, and possibly test ideas about how to test. Test charters are used in exploratory testing.
The set of generic and specific conditions, agreed upon with the stakeholders for permitting a process to be officially completed. The purpose of exit criteria is to prevent a task from being considered completed when there are still outstanding parts of the task which have not been finished. Exit criteria are used to report against and to plan when to stop testing.
An item or event of a component or system that could be verified by one or more test cases, e.g., a function, transaction, feature, quality attribute, or structural element.
The degree, expressed as a percentage, to which a specified coverage item has been exercised by a test suite.
Data that exists (for example, in a database) before a test is executed, and that affects or is affected by the component or system under test.
A type of test tool that enables data to be selected from existing databases or created, generated, manipulated and edited for use in testing.
The process of transforming general test objectives into tangible test conditions and test cases.
Procedure used to derive and/or select test cases.
A tool that supports the test design activity by generating test inputs from a specification that may be held in a CASE tool repository, e.g., requirements management tool, from specified test conditions held in the tool itself, or from code.
An environment containing hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test.
The calculated approximation of a result related to various aspects of testing (e.g., effort spent, completion date, costs involved, number of test cases, etc.) which is usable even if input data may be incomplete, uncertain, or noisy.
The process of running a test on the component or system under test, producing actual result(s).
The use of software, e.g., capture/playback tools, to control the execution of tests, the comparison of actual results to expected results, the setting up of test preconditions, and other test control and reporting functions.
A test tool that executes tests against a designated test item and evaluates the outcomes against expected results and postconditions.
A type of test tool that enables data to be selected from existing databases or created, generated, manipulated and edited for use in testing.
A group of test activities that are organized and managed together. A test level is linked to the responsibilities in a project. Examples of test levels are component test, integration test, system test and acceptance test.
The planning, estimating, monitoring and control of test activities, typically carried out by a test manager.
A tool that provides support to the test management and control part of a test process. It often has several capabilities, such as testware management, scheduling of tests, the logging of results, progress tracking, incident management and test reporting.
A source to determine expected results to compare with the actual result of the software under test. An oracle may be the existing system (for a benchmark), other software, a user manual, or an individual's specialized knowledge, but should not be the code.
The consequence/outcome of the execution of a test.
A document describing the scope, approach, resources and schedule of intended test activities. It identifies amongst others test items, the features to be tested, the testing tasks, who will do each task, degree of tester independence, the test environment, the test design techniques and entry and exit criteria to be used, and the rationale for their choice, and any risks requiring contingency planning. It is a record of the test planning process.
The activity of establishing or updating a test plan.
The fundamental test process comprises test planning and control, test analysis and design, test implementation and execution, evaluating exit criteria and reporting, and test closure activities.
Collecting and analyzing data from testing activities and subsequently consolidating the data in a report to inform stakeholders.
An item or event of a component or system that could be verified by one or more test cases, e.g., a function, transaction, feature, quality attribute, or structural element.
The consequence/outcome of the execution of a test.
An environment containing hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test.
Commonly used to refer to a test procedure specification, especially an automated one.
An uninterrupted period of time spent in executing tests.
An item or event of a component or system that could be verified by one or more test cases, e.g., a function, transaction, feature, quality attribute, or structural element.
A document that consists of a test design specification, test case specification and/or test procedure specification.
Procedure used to derive and/or select test cases.
A group of test activities that are organized and managed together. A test level is linked to the responsibilities in a project. Examples of test levels are component test, integration test, system test and acceptance test.
A high-level description of the test levels to be performed and the testing within those levels for an organization or programme (one or more projects).
A software product that supports one or more test activities, such as planning and control, specification, building initial files and data, test execution and test analysis.
A group of test activities aimed at testing a component or system focused on a specific test objective, i.e. functional test, usability test, regression test etc. A test type may take place on one or more test levels or test phases.
A way of developing software where the test cases are developed, and often automated, before the software is developed to run those test cases.
An approach to software development in which the test cases are designed and implemented before the associated component or system is developed.
The capability of the software product to enable modified software to be tested.
A skilled professional who is involved in the testing of a component or system.
The process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.
A classification model of test types/levels in four quadrants, relating them to two dimensions of test goals: supporting the team vs. critiquing the product, and technology-facing vs. business-facing.
The ability to identify related items in documentation and software, such as requirements with associated tests.
The capability of the software product to enable the user to understand whether the software is suitable, and how it can be used for particular tasks and conditions of use.
A minimal software item that can be tested in isolation.
A tool that provides an environment for unit or component testing in which a component can be tested in isolation or with suitable stubs and drivers. It also provides other support for the developer, such as debugging capabilities.
The capability of the software to be understood, learned, used and attractive to the user when used under specified conditions.
Testing to determine the extent to which the software product is understood, easy to learn, easy to operate and attractive to the users under specified conditions.
A sequence of transactions in a dialogue between an actor and a component or system with a tangible result, where an actor can be a user or anything that can exchange information with the system.
Acceptance testing carried out by future users in a (simulated) operational environment focusing on user requirements and needs.
A person's perceptions and responses resulting from the use or anticipated use of a software product.
All components of a system that provide information and controls for the user to accomplish specific tasks with the system.
A high-level user or business requirement commonly used in Agile software development, typically consisting of one sentence in the everyday or business language capturing what functionality a user needs and the reason behind this, any non-functional criteria, and also includes acceptance criteria.
A framework to describe the software development lifecycle activities from requirements specification to maintenance. The V-model illustrates how testing activities can be integrated into each phase of the software development lifecycle.
Confirmation by examination and through provision of objective evidence that the requirements for a specific intended use or application have been fulfilled.
An element of storage in a computer that is accessible by a software program by referring to it by a name.
Confirmation by examination and through provision of objective evidence that specified requirements have been fulfilled.
Testing based on an analysis of the internal structure of the component or system.