3

There has been a lot of talk about tags lately at my workplace.

I have heard about:

  • Tags for test types (happy, sad, etc.)
  • Tags for ticket numbers
  • Tags for other Domain specific business needs
  • Tags for environments (JV1, Prod, etc.)
  • Tags for area of testing (Unit, Integrated, Regression, etc.)
  • Tags for hot fixes

Which of these tag schemas do folks find generally work well and which cause problems ?

2

Out of all of these I generally find that the first three work well, but the last three are approaches that might serve a short term need but add little or negative quality and immediately provide a technical debt burden that should have been avoided.

Tag schemas that often work well:

Test Types
The most classically known ones are happy and sad, also known as positive and negative. To these two I commonly add optional type for cases or workflows that are not the standard or minimal path. However that is really a different categorization level as there will actually be optional-happy and optional-sad paths. What happy and sad means at different levels of testing is also quite striking. For example, for unit tests a happy test case might be about numbers being in range. For UI browsers tests a happy case might be that the user got through all the screens in a workflow and get the results page - regardless of the actual result itself, e.g. approved or denied may be treated the same in a UI happy path test. This is hard to understand at first read and has come about through experience with automating web workflows.

Ticket Numbers
This can be a helpful mechanism. Every ticket# will appear in 1 PR and provide the linkage if not provided by the systems being used being linked (system linkage from tickets to code is the preferred mechanism)

Domain specific
The business may want to apply their nomenclature to tags based on business factors that help describe and categorize the tests. Examples might be ‘co-signer’, ‘fixed_income’, ‘new_loan’, ‘saved_loan’, etc. for loan tests.

Tag schemas that usually don’t work well:

Environment
Avoid environment names like JV1 because they are transitory in nature

Area
Avoid the area of testing such as unit/integrated/UI because tests are usually already segregated by their location, technology and existing categorization and usage. For example I don’t tag browser UI tests as ‘UI_tests’ as it is inherent in their nature and how they are called.

Hotfix
Avoid tags such as hot fix as that is about the current fix not the long term categorization and usage of the test.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.