2

I'm new to test case management. I am having trouble trying to figure out the best way to organize test cases, either by 'feature' or by 'page'.

For instance if I had a feature called 'email notifications' which can be when a user signs up, when a user requests a password reset, when a user makes a purchase. so basically the email feature is used in multiple parts of the application. I can find this useful if at some point I want to regress the 'email notifications' feature because of some change to our email API.

On the other hand, I feel like tests are better organized by page. So for instance, on the sign up page I can have test for form validation, email sent when signup up, user creation, etc, anything that happens when you sign up. However, now a feature like 'email notifications' can live in multiple places.

From your experience, what is the best way to organize tests cases?

3

You can do both, using keywords.

I would organize by feature first, then add keywords to indicate the page or major area of the product (setup, first time use, profile settings, etc...) Then you can do searches based on multiple dimensions.

Changing the backend email provider: search by email feature. Improving the customer on boarding experience, search by setup.

  • +1 This would require shared tag dictionary, so other people can use the same tags to add the same meaning. – Peter M. - stands for Monica Jul 25 '17 at 13:53
2

When it comes to organizing or categorizing tests, always remember the purpose of the test is to validate & verify an Acceptance Criteria/User Requirement.

Therefore organize and structure your tests in such a way that a feature as a whole can be tested.

The pages the test execution workflow covers (login, homepage, signup, etc), the type of test (smoke, sanity, regression, etc), the release/iteration (RT04S01, RT199S03 etc), the Acceptance Criteria it covers (AC001, etc) are properties of the test and should be linked to the test as tags/keywords.

For example, in Behavior Driven Development (BDD), we use Gherkin language to write Test Cases and specify their meta information as follows:

Structure:

|--Stories
|----Epic001_ShortName
|--------Feature101_ShortName
|------------US12345_ShortName.story
|------------US56789_ShortName.story
|--------Feature102_ShortName
|------------US11111_ShortName.story
|----Epic002_ShortName
|--------Feature201_ShortName
|------------US99999_ShortName.story

Scenario:

Scenario: TC1001 - User name and password are both correct
Meta:
@id TC1001
@author zeeshan
@severity critical
@type smoke
@release RT01
@pages login homepage 
Given that a commercial user enters correct a user name
And then enters correct password associated with this given user name
When this user clicks log in button
Then this user is logged in.

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.