Software Life cycle Flashcards
verification
Confirmation by examination and through provision of objective evidence that specified requirements have been fulfilled.
validation
Confirmation by examination and through provision of objective evidence that the requirements for a specific intended use or application have been fulfilled.
V-model
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.
test level
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.
Commercial Off-The-Shelf software
COTS
off-the-shelf software
A software product that is developed for the general market, i.e. for a large number of customers, and that is delivered to many customers in identical format.
incremental development model
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.
iterative development model
A development lifecycle where a project is broken into a usually large number of iterations. An iteration is a complete development loop resulting in a release (internal or external) of an executable product, a subset of the final product under development, which grows from iteration to iteration to become the final product.
component testing
module testing
program testing
unit testing
The testing of individual software components.
stub
A skeletal or special-purpose implementation of a software component, used to develop
or test a component that calls or is otherwise dependent on it. It replaces a called component.
driver
test driver
A software component or test tool that replaces a component that takes care of the control and/or the calling of a component or system.
robustness testing
Testing to determine the robustness of the software product.
robustness
The degree to which a component or system can function correctly in the presence of invalid inputs or stressful environmental conditions.
test driven development
test first approach
A way of developing software where the test cases are developed, and often automated, before the software is developed to run those test cases.
integration testing
Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.
integration
The process of combining components or systems into larger assemblies.
component integration testing
integration testing in the small
link testing
Testing performed to expose defects in the interfaces and interaction between integrated components.
system integration testing
integration testing in the large
Testing the integration of systems and packages; testing interfaces to external organizations
system testing
The process of testing an integrated system to verify that it meets specified requirements.
non-functional requirement
A requirement that does not relate to functionality, but to attributes such as reliability, efficiency, usability, maintainability and portability.
functional requirement
A requirement that specifies a function that a component or system must perform.
test environment
test bed
An environment containing hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test.
user acceptance testing
acceptance testing
acceptance
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.
factory acceptance testing
Acceptance testing conducted at the site at which the product is developed and performed by employees of the supplier organization, to determine whether or not a component or system satisfies the requirements, normally including hardware as well as software.
operational acceptance testing
production acceptance testing
Operational testing in the acceptance test phase, typically performed in a (simulated) operational environment by operations and/or systems administration staff focusing on operational aspects, e.g. recoverability, resource-behavior, installability and technical compliance. See also operational testing.
site acceptance testing
Acceptance testing by users/customers at their site, to determine whether or not a component or system satisfies the user/customer needs and fits within the business processes, normally including hardware as well as software.
compliance testing
The process of testing to determine the compliance of the component or system.
compliance
The capability of the software product to adhere to standards, conventions or regulations in laws and similar prescriptions.
alpha testing
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 off-the-shelf software as a form of internal acceptance testing.
beta testing
field testing
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 off-the-shelf software
in order to acquire feedback from the market.
test type
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.
functional testing
Testing based on an analysis of the specification of the functionality of a component or system.
black box testing
specification-based testing
Testing, either functional or non-functional, without reference to the internal structure of the component or system.
functionality testing
The process of testing to determine the functionality of a software product.
interoperability
The capability of the software product to interact with one or more specified components or systems
interoperability testing
The process of testing to determine the interoperability of a software product.
security testing
Testing to determine the security of the software product.
security
Attributes of software products that bear on its ability to prevent unauthorized access, whether accidental or deliberate, to programs and data.
performance testing
The process of testing to determine the performance of a software product.
performance
The degree to which a system or component accomplishes its designated functions within given constraints regarding processing time and throughput rate.
load testing
A type of performance testing conducted to evaluate the behavior of a component or system with increasing load, e.g. numbers of parallel users and/or numbers of transactions, to determine what load can be handled by the component or system.
stress testing
A type of performance testing conducted to evaluate a system or component at or beyond the limits of its anticipated or specified workloads, or with reduced availability of resources such as access to memory or servers.
reliability
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.
usability
The capability of the software to be understood, learned, used and attractive to the user when used under specified conditions.
efficiency
(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
maintainability
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.
portability
The ease with which the software product can be transferred from one hardware or software environment to another.
white-box testing clear-box testing structural testing structure-based testing glass-box testing logic-coverage testing logic-driven testing code-based testing
Testing based on an analysis of the internal structure of the component or system.
code coverage
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.
white-box test design technique white-box technique structure-based test design technique structure-based technique structural test design technique
Procedure to derive and/or select test cases based on an analysis of the internal structure of a component or system.
test automation
The use of software to perform or support test activities, e.g. test management, test design, test execution and results checking.
maintenance testing
Testing the changes to an operational system or the impact of a changed environment to an operational system.
oracle
test oracle
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.
impact analysis
The assessment of change to the layers of development documentation, test documentation and components, in order to implement a given change to specified requirements.
operational testing
Testing conducted to evaluate a component or system in its operational environment.
big bang testing
An integration testing approach in which software elements, hardware elements, or both are combined all at once into a component or an overall system, rather than in stages.
incremental testing
Testing where components or systems are integrated and tested one or some at a time, until all the components or systems are integrated and tested.
site acceptance testing
Acceptance testing by users/customers at their site, to determine whether or not a component or system satisfies the user/customer needs and fits within the business processes, normally including hardware as well as software.
maintainability testing
The process of testing to determine the maintainability of a software product.
metric
A measurement scale and the method used for measurement.
portability testing
The process of testing to determine the portability of a software product.
reliability testing
The process of testing to determine the reliability of a software product.
stress testing tool
A tool that supports stress testing.
test execution schedule
A scheme for the execution of test procedures. Note: The test procedures are included in the test execution schedule in their context and in the order in which they are to be executed.
test procedure specification
A document specifying a sequence of actions for the execution of a test. Also known as test script or manual test script. [After IEEE 829] See also test specification.