Note: This is a continuation of a previous post here: http://www.muddlingthru.ca/types-of-software-testing
Using canonical test strategies and industry standard names helps because it:
- facilitates team communication,
- eases developer on-boarding, and
- encourages discovery and use of best practices.
Here are some canonical test names. We've drawn quotes from trusted industry sources to emphasize that these strategies and names are in wide use.
"... exercises the smallest piece of testable software in the application to determine whether it behaves as expected." Fowler_01
"... verifies the communication paths and interactions between components to detect interface defects." Fowler_02
"... limits the scope of the exercised software to a portion of the system under test, manipulating the system through internal code interfaces and using test doubles to isolate the code under test from other components." Fowler_03
"... an integration contract test is a test at the boundary of an external service verifying that it meets the contract expected by a consuming service." Fowler_04
"... verifies that a system meets external requirements and achieves its goals, testing the entire system, from end to end." Fowler_05
"A subset of all defined/planned test cases that cover the main functionality of a component or system, to ascertaining that the most crucial functions of a program work, but not bothering with finer details." ISTQB
"Testing conducted to evaluate the compliance of a component or system with functional requirements." ISTQB
"Testing of a previously tested component or system following modification to ensure that defects have not been introduced or have been uncovered in unchanged areas of the software, as a result of the changes made." ISTQB