Disciplines > Test > Concepts > Types of Test

There is much more to testing computer software than simply evaluating the functions, interface, and response time characteristics of a target-of-test. Additional tests must focus on characteristics / attributes such as the target-of-test's:

  • integrity (resistance to failure)
  • ability to be installed / executed on different platforms
  • ability to handle many requests simultaneously
  • ...

In order to achieve this, many different types of tests are implemented and executed, each test type having a specific objective and support technique. Each technique focuses on testing one or more characteristics or attributes of the target-of-test.

The following test types are listed based on the most obvious quality dimension (see Concepts: Quality Dimension) they address:

Quality Dimension Type of Test
FunctionalityTo top of page
  • Function test: Tests focused on validating the target-of-test functions as intended, providing the required service(s), method(s), or use case(s). This test is implemented and executed against different target-of-tests, including units, integrated units, application(s), and systems.

  • Security test: Tests focused on ensuring the target-of-test, data, (or systems) is accessible to only those actors intended. This test is implemented and executed various targets-of-test.

  • Volume test: Testing focused on verifying the target-of-test ability to handle large amounts of data, either as input and output or resident within the database. Volume testing includes test strategies such as creating queries that [would] return the entire contents of the database, or have so many restrictions that no data is returned, or data entry of the maximum amount of data in each field.
UsabilityTo top of page

See Concepts: Usability Testing for additional information

  • Usability test: Tests which focus on: 
    • human factors,
    • aesthetics,
    • consistency in the user interface, 
    • online and context-sensitive help,
    • wizards and agents,
    • user documentation, and 
    • training materials.
ReliabilityTo top of page
  • Integrity test: Tests which focus on assessing the target-of-test's robustness (resistance to failure) and technical compliance to language, syntax, and resource usage. This test is implemented and executed against different target-of-tests, including units and integrated units.

  • Structure test: Tests that focus on assessing the target-of-test's adherence to its design and formation. Typically, this test is done for web-enabled applications ensuring that all links are connected, appropriate content is displayed, and there is no orphaned content. See Concepts: Structure Testing for additional information.

  • Stress test: A type of reliability test that focuses on evaluating how the system responds under abnormal conditions. Stresses on the system may include extreme workloads, insufficient memory, unavailable services and hardware, or limited shared resources. These tests are often performed to gain a better understanding of how and in what areas the system will break, so that contingency plans and upgrade maintenance can be planned and budgeted for well in advance.
PerformanceTo top of page

See Concepts: Performance Testing for additional information

  • Benchmark test: A type of performance test that compares the performance of a [new or unknown] target-of-test to a known, reference-workload and system.

  • Contention test: Tests focused on validating the target-of-test's can acceptably handle multiple actor demands on the same resource (data records, memory, etc.).

  • Load test: A type of performance test used to validate and assess acceptability of the operational limits of a system under varying workloads while the system-under-test remains constant. In some variants, the workload remains constant and the configuration of the the system-under-test is varied. Measurements are usually taken based on the workload throughput and in-line transaction response time. The variations in workload will usually include emulation of average and peak workloads that will occur within normal operational tolerances.

  • Performance profile: A test in which the target-of-test's timing profile is monitored, including execution flow, data access, function and system calls to identify and address performance bottlenecks and inefficient processes.
SupportabilityTo top of page
  • Configuration test: Tests focused on ensuring the target-of-test functions as intended on different hardware and / or software configurations. This test may also be implemented as a system performance test.

  • Installation test: Tests focused on ensuring the target-of-test installs as intended on different hardware and / or software configurations and under different conditions (such as insufficient disk space or power interrupt). This test is implemented and executed against application(s) and systems.

 

Copyright  © 1987 - 2001 Rational Software Corporation


Display Rational Unified Process using frames

Rational Unified Process