Test Specification Guideline#
Test Specification Guideline
|
status: valid
|
||||
Test specification#
A test specification contains the following attributes.
Property |
Type / Values |
Description |
Helpful links |
|---|---|---|---|
Partially and/or Fully Verifies |
Docs-as-code Id(s) for traceable elements |
Links to one or more requirement Ids. Can be partial or full coverage of a requirement, as per test property. |
|
Description |
Text |
The description should include
|
|
TestType |
Examples are:
|
These are example values and an incomplete list. A full list of test types is available in Verification Concept at Verification Methods. |
|
DerivationTechnique |
Examples are:
|
These are example values and an incomplete list. A full list of test methods is available in Verification Concept at Verification Methods. |
The implementation of Verification Plan defines the full list of allowed types and methods.
Test description#
Following Given-When-Then is a preferred way to write test specifications.
- Given (alternatively // Setup )This section contains the setup of the input.
- ExpectedThis Section contains the expectation for calls to mocks or stubs
- When (alternatively // Call )This section contains the call to the software under test.
- Then (alternatively // Expect )This section contains the verification criteria of the test (e.g. all EXPECT statements).
TEST(CreateObjectHistory, GivenVehicleInFront_ExpectHistoryBehindFrontVehicle)
{
// Given
const auto whatever_input_values = CreateVehicleInFront();
// Expected
EXPECT_CALL(..., ...);
// When
const auto history = CreateObjectHistory(whatever_input_values, ...);
// Then
for (const auto point : history)
{
EXPECT_EQ(..., ...);
}
}
Another example for a good test description could be:
Verify successful login with valid credentials.Input:- Username: testuser- Password: password123Expected Outcome:- User is redirected to the home page and the welcome message “Hello, testuser!” is displayed.
A example for a bad test description could be:
Test user login
Additional information can also be found in Verification Guideline.
The specification is part of the test implementation and has to comply to the requirements specified in Linking Requirements to Tests.