Software test techniques

Software test techniques

TEST TECHNIQUES

Test techniques generally provide coverage criteria, which can be used for measuring test design and test execution activities. Completely fulfilling the coverage criteria does not mean that the entire set of tests is complete, but rather that the model no longer suggests any additional tests to increase coverage based on that technique.

Static testing

Static testing

Static testing relies on the manual examination of work products or tool-driven evaluation of the code or other work products.

Dynamic testing

Dynamic testing

Requires the execution of the software being tested.

Black-box testing

Black-box testing

Black-box testing is usually based on some form of specification documentation, such as a system requirement specification or user stories. Since the specification documentation should describe system behaviour, particularly in the area of functionality, deriving tests from the requirements is often part of testing the behaviour of the system.

White-box testing

White-box testing

Is based on the internal structure of the test object. White-box test techniques can be used at all test levels.

Black-box testing

Equivalence Partitioning

Equivalence Partitioning

Equivalence partitioning is a technique used to reduce the number of test cases that are required to effectively test the handling of inputs, outputs, internal values, and time-related values.

Boundary Value Analysis

Boundary Value Analysis

Boundary Value Analysis is an extension of equivalence partitioning but can only be used when the partition is ordered, consisting of numeric or sequential data. The minimum and maximum values of a partition are its boundary values.

Decision Table Testing

Decision Table Testing

Decision tables are a good way to record complex business rules that a system must implement. When creating decision tables, the tester identifies conditions (often inputs) and the resulting actions (often outputs) of the system.

State Transition Testing

State Transition Testing

Components or systems may respond differently to an event depending on current conditions or previous history. The previous history can be summarisedd using the concept of states. A state transition diagram shows the possible software states and how the software enters, exits, and transitions between states.

Use Case Testing

Use Case Testing

Tests can be derived from use cases, which are a specific way of designing interactions with software items. They incorporate requirements for the software functions. Use cases are associated with actors and subjects.

White-box testing

Statement Testing and Coverage

Statement Testing and Coverage

Statement testing exercises the potential executable statements in the code. Coverage is measured as the number of statements executed by the tests divided by the total number of executable statements in the test object, normally expressed as percentages.

Decision Testing and Coverage

Decision Testing and Coverage

Decision testing exercises the decisions in the code and tests the code that is executed based on the decision outcomes. To do this, the test cases follow the control flows that occur from a decision point.

Cookies

This site uses cookies. Find out more.