Software Testing Experience

Wednesday, April 9, 2008

Testing Glossary

Testing – Glossary

Testing - Testing is the execution of a system in a real or simulated environment with the intent of finding faults.

Test design - Documentation specifying the details of the test approach for a software feature or combination of software features and identifying the associated tests.

Test plan - A document describing the scope, approach, resources, and schedule of intended test activities. It identifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency planning

Test case - A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.


Testing Levels:

Unit - The smallest piece of software that can be independently tested (i.e., compiled or assembled, loaded, and tested).

Unit Testing - Unit testing is meant to expose faults on each software unit as soon as this is available regardless of its interaction with other units. The unit is exercised against its detailed design and by ensuring that defined logic coverage is performed. White-box oriented testing in combination with at least one black box method is used.

Unit test design - Documentation specifying the details of the test approach for a software feature or combination of software features and identifying the associated tests.

Unit test plan - A document describing the scope, approach, resources, and schedule of intended test activities. It identifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency planning.

Unit test case - A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.

Integration - The process of combining software elements, hardware elements or both into an overall subsystem/system.

Integration testing - Testing in which software components, hardware components, or both are combined and tested to evaluate the interaction between them.

System testing - Testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.

Pre-Acceptance testing - Formal tests conducted to determine whether or not a system or component satisfies its acceptance criteria and to enable the customer to determine whether or not to accept a system.

Acceptance testing - The process of comparing a program to its requirements.

Acceptance criteria - The criteria that a system or component must satisfy in order to be accepted by a user, customer, or other authorized entity.

Testing Method:

Black Box testing - Testing based on functional requirements without knowledge of the internal program structures and data. Also called functional testing.


Testing Techniques

Boundary Value - An input value or output value which is on the boundary between equivalence classes, or an incremental distance either side of the boundary.

Boundary Value Analysis - A test data selection technique in which values are chosen to lie along data extremes. Boundary values include maximum, minimum, just inside/outside boundaries, typical values, and error values. The hope is that, if a systems works correctly for these special values then it will work correctly for all values in between

Testing Method:

White-Box testing - A testing method to test the internal behavior and structure of the program. The goal of this test method is to achieve test coverage, that is examination of as much of the statements, branches, paths as possible.


Testing Techniques

Equivalence class - A set of valid and invalid values/states for input domain.

Equivalence partitioning - Partitioning the input domain of a program into a finite number of sets/classes of data from which test cases can be derived.


Testing Types

Load Testing - Testing an application under heavy loads, such as testing of a web site under a range of loads determine at what point the system's response time degrades or fails

Stress testing - A test which exercises code up to, including and beyond all stated limits in order to exercise all aspects of the system (e.g., to include hardware, software, and communications). Its purpose is to insure that response times and storage capacities meet requirements.

Performance testing - is to evaluate the compliance of a system or component with specified performance requirements

Functional testing - Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions.

Regression testing - Re-testing of a unit/subsystems/system after fixes or modifications of the software.



Driver - Driver is a program or unit that drives to execute the test cases if the program or unit itself cannot execute.

Stub - Stub is a program that substitutes a programs or component by sending pre-defined values to other programs or components.

Baseline - A specification or standard of a product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures.

Defect - A flaw in a system or component that causes the system or component to fail to perform its required function. (Or) Nonconformance to requirements.

Domain - The set from which values are selected.

Risk - Possibility of suffering loss.

Risk management - An approach to problem analysis, which weighs risk in a situation by using risk probabilities to give a more accurate understanding of the risks involved. Risk management includes risk identification, analysis, prioritization, and control.

Role - A unit of defined responsibilities that may be assumed by one or more individuals.

Labels:

posted by Balaji Visharaman at 10:02 PM

0 Comments:

Post a Comment

<< Home