SlideShare a Scribd company logo
Best Practices For Test Case
Creation & Maintenance
March, 2017
Introduction
Test cases are sets of conditions or variables used by software testers to determine if a system
works correctly as expected. Test cases help in validating the testing coverage of a software
application. A test case contains essential fields that provides the information about the test
case, the activity involved in execution and the results expected. These fields include a unique
name, any preconditions, detailed steps, input conditions and expected results for a particular
app function.
Essentials Of A Good Test Case:
·​ ​It is easy to understand and execute.
·​ ​It is accurate with specific objective.
·​ ​It is easy to trace as per requirements.
·​ ​It is repeatable, and can be used to test again and again.
·​ ​It saves time and money by avoiding unnecessary steps.
·​ ​It is reusable.
Essentials To Be Included In Test Cases
The simpler & concise the test case is, the easier it is to execute the tests. They contain a unique name,
preconditions, steps, input conditions & expected results for a particular app function. The following are
the key information to be included while creating test cases:
1) Test Case Number
It is a unique number to identify the Test Case from among the number of Test cases. For example:
TC_2001
2) Component
Component is the Area of the App/Website to be tested. For example, ‘Login”. Components to be tested
should be shared before the test case writing starts.
3) Attributes
These are those aspects that describes the product’s purpose and goals. Just like adjectives that
describe nouns by giving some information, an attribute describes qualities of an app like speed.
Attributes are also shared before the test case writing process.
4) Test Case Type
This depicts the type of Test Case like Functional, GUI, Technical etc.
5) Priority
It confirms the Priority/Importance of the test case in terms of Show Stopper, High, Medium, Low.
6) Test Name
This is a logical and unique name to indicate what the test case stands for. As far as possible name test
cases as per the module name or functional area you are testing. At 99tests, we choose to write the test
case name in Camel Casing format. The format would be <Component>_<Subcomponent>_<Details>
Here are some examples of test names:
● Login_Email_Valid
● AccountSettings_EditProfile_Devices
● MyMessages_NoNewMessage
Note that the Test Name should be unique, and in no condition it should be duplicate of any other test
case.
7) Test Description
This is contains details of the test. It is normally a one-liner that specifies the verification to be done in the
test case. For instance, in the above example of test case name, “ “MyMessages_NoNewMessage”, the
description would be “To Verify the functionality of the Messages when there is no new message
available”.
8) Input Data
Test Data is mentioned in Input Data field. Here are a few pointers for handling input data:
● If the test data can be reused over time, mention test data to be used. For the test. e.g. - If the client
has already proved the credentials to login, the same can be used again.
● If the test only involves some values to be verified, specify the value range or describe what values
are to be tested for which field.
● A few values from each equivalence class which should give good coverage for your test.
● Mention the type of data, which is required to run the test and not the real test data value where the
test data keeps changing
9) Pre-conditions
This explains any Assumptions/Pre-conditions to be used for testing. It should be mentioned point wise.
For Example for the Test Name Messages_NoNewMessage , the preconditions can be as follows:
● 99tests Website is available
● User should be logged in and registered as Tester
10) Step Number
This indicates the Number for the step description like 1,2,3 etc. Should always be in order.
11) Step Description
This specifies the actions to be performed. Please make sure the description is brief and can be executed
after one reading. Also, note that it should not be too small like – “Click Submit”, “Enter data in field 1”
For example:
● Click on Message Button and check the results.
● Enter the data in the Textbox and Save
12) Expected Result
This specifies what is the actual expected out of the step that is executed. Let’s take the example of the
99tests testers page:
● Message Button should be clickable by Tester
● Data Entered Should be Saved by System
● Following Contents should be displayed by My Bugs Page:
✓ Header part
✓ 'Search Testers' field
✓ 'My Bugs' Title
✓ 'Enterprise Bug', 'Open Bug', 'Contest Bugs' link
✓ Paginations Links (optional)
✓ Bugs Details column
13) Actual Result
This specifies what actually happens after performing the step. For Example with reference to the 99tests
testers page:
● Message Button is clickable by tester
● Data Entered is not saved and an Error Message is populated by System
● Following Contents are being displayed by My Bugs Page :
✓ Header part
✓ 'Search Testers' field
✓ 'My Bugs' Title
✓ 'Enterprise Bug', 'Open Bug', 'Contest Bugs' link
✓ Paginations Links (optional)
✓ Bugs Details column
However, actual result is not to be written while writing the test cases. Actual results will be written by the
testers who are executing the test cases.
Test Coverage
This is done while keeping the End User in mind and using the experience of various testers in variety of
domains. It is also ensured to cover the following points while writing test cases:
1. Functional Testing
2. Boundary Value Analysis and Equivalence partitioning
3. Error/Warning Message
4. Input/ Output Data
5. Negative Scenarios
6. Risk Coverage
Best Practices For Effective Test Case Writing
Good test cases are easy to execute and maintain. They make the testing process more
effective by saving time and effort. Here are the top 10 best practices to follow while creating
test cases:
1) Keep It Simple And Easy To Understand
A good test case that is well written and simple, is easy for the testers to understand and
execute. Organize test cases according to specific categories or related areas of the
application. Test cases can be grouped based on their user story or modules like browser
specific behaviours etc. This makes it easier to review & maintain the test document.
Information given in the test cases should be clear to other testers, developers, and other
stakeholders involved in the project.
2) Include End User Perspective
Take into account the end user perspective before drafting a test case. Think like an end user
who is the key stakeholder for whom the app is intended. Understand the requirement, the
functionality aspects to be covered, and the end user perspective. This will help in identifying
test scenarios that arise in real life conditions, and also in coming up with test cases that are
most critical to the business.
3) Use Correct Naming Conventions
Name test cases in a way that makes it easy for stakeholders to identify it and understand its
objective. You can name the test cases according to the module or the functional area that is
included for testing.
4) Provide Test Case Description
A proper test case description will allow users to understand what is being tested and how.
Provide relevant details like the test environment and any other specific information. Mention
the testing data to be used and the testing tools, if any to be employed for executing the tests.
5) Include Assumptions And Preconditions
Include all the assumptions and conditions that are applicable for the test case. Provide details
of the test environment, any special setup for execution of test case etc.
6) Give The Steps Involved
Include the actual steps involved in the execution of the test cases. Do not miss out on any
step. Ensure that all the test case verification steps are covered. Include relevant documents or
screenshots that can help in execution of the steps included in the test design.
7) Give Details Of The Test Data
Provide the details of the test data for execution of the test case especially in cases where the
same data can be reused. This helps in saving time for creation of the test data for each cycle
to be run. Specify the value range, if applicable for respective fields. Don’t try to test each and
every value. Aim for maximum coverage by choosing a few select values from each
equivalence class.
8) Make It Reusable And Modular
As far as possible ensure that there is no dependency or conflict among test cases. In case
there are test cases that are inter-dependent or batched, mention them clearly in the test
document.
9) Assign Testing Priority
Assign testing priority to each test case based on the feature or component involved. This will
ensure that during execution, high priority test case are executed first.
10) Provide The Expected Result & Post Conditions
Include the expected result for every step of the test case. You can also include screenshots
and relevant documents for reference. Mention the post conditions or things to be verified after
the execution of the test case.
Tips For Maintenance Of Tests Cases
Change is constant for any software development project. As apps evolve, new upgrades and
changes are introduced into the system. Test cases must be maintained and updated to reflect
these new changes that are made. Here are a few tips for effective maintenance of test cases:
1) Review Test Cases After Documentations
Get the test cases reviewed by relevant stakeholders to ensure that it is easy to understand and
does not include any unnecessary steps. A periodic review and revision of test cases will help in
updating changes if any that are applicable.
2) Update Existing Test Cases Before Creating New Ones
Update the existing test cases as and when new changes are introduced in the app. Include
updates to accommodate changes to any existing user story or functionality.
3) Remove Test Cases That Are Obsolete And Unnecessary
Remove test cases that are no longer valid for existing app features. Exclude duplicate test
cases as well from the test suite.
4) Add Relevant Test Cases As Per Requirement
Create and add test cases that are required as per new upgrades or features that are introduced
in the software. Add any additional test case that is relevant, including test cases for defects
that were found by end users, post production.
Conclusion
Creation of test cases is easier with good knowledge of the technology used, the end user
perspective and the objective of the software application. Investing time and effort in creation
and maintenance of good test cases makes the entire testing process more effective and
ensures the success of the testing plan for the software project.
About 99tests
99tests is a product of Preenos Crowd Technologies Pvt Ltd. The company is funded by Infosys Co-founder, Kris Goplakrishnan,
Allianz CIO, Steve Coles and Founder of Beenos, Teruhido Sato. 99tests is a crowd test automation platform for testing mobile and
web apps by top notch testers. With over 20,000 crowd testers from 160+ countries, 99tests has helped over 200 clients including
companies like P&G, Intuit and Security scorecard to test their software.We provide companies with economical, and effective
crowd testing & automation services.​Learn how automation through 99tests can give you the insights you need to build stunning
software products. Mail us at contact@99tests.com.
www.99tests.com

More Related Content

PPS
Test Cases Maintaining & Documenting
Seyed Ali Marjaie
 
PPT
Performance testing : An Overview
sharadkjain
 
PPTX
Effective Software Test Case Design Approach
Charles D. Carson, MSSWE, CSM, ASQ-CSQE
 
PPTX
Software Testing or Quality Assurance
Trimantra Software Solutions
 
PPT
User Acceptance Testing (Uat)
Thomas Martin
 
PPT
Performance and load testing
sonukalpana
 
PPT
Test automation process
Bharathi Krishnamurthi
 
PPTX
Writing Test Cases in Agile
Saroj Singh
 
Test Cases Maintaining & Documenting
Seyed Ali Marjaie
 
Performance testing : An Overview
sharadkjain
 
Effective Software Test Case Design Approach
Charles D. Carson, MSSWE, CSM, ASQ-CSQE
 
Software Testing or Quality Assurance
Trimantra Software Solutions
 
User Acceptance Testing (Uat)
Thomas Martin
 
Performance and load testing
sonukalpana
 
Test automation process
Bharathi Krishnamurthi
 
Writing Test Cases in Agile
Saroj Singh
 

What's hot (20)

PPT
Agile Testing Process
Intetics
 
PDF
Test Automation - Keytorc Approach
Keytorc Software Testing Services
 
PDF
Test Automation Framework Design | www.idexcel.com
Idexcel Technologies
 
PPTX
Test automation
Xavier Yin
 
PPTX
ISTQB foundation level - day 2
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
PPT
Basic Guide to Manual Testing
Hiral Gosani
 
PPTX
Istqb foundation level day 1
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
PPTX
ISTQB Test level, Test type
HoangThiHien1
 
PDF
Performance testing presentation
Belatrix Software
 
PPTX
Best Practices for Test Case Writing
Sarah Goldberg
 
PPTX
Performance testing
Jyoti Babbar
 
PPT
Test Automation Strategies For Agile
Naresh Jain
 
PPTX
TestNG Framework
Levon Apreyan
 
PDF
Automation testing introduction for FujiNet
Hai Tran Son
 
PPT
Software Testing Process
guest1f2740
 
PDF
Test automation methodologies
Mesut Günes
 
PPT
Manual testing ppt
Santosh Maranabasari
 
PPTX
Software testing
Ashu Bansal
 
PPT
Test Automation Best Practices (with SOA test approach)
Leonard Fingerman
 
PPTX
Load Testing and JMeter Presentation
Neill Lima
 
Agile Testing Process
Intetics
 
Test Automation - Keytorc Approach
Keytorc Software Testing Services
 
Test Automation Framework Design | www.idexcel.com
Idexcel Technologies
 
Test automation
Xavier Yin
 
ISTQB foundation level - day 2
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
Basic Guide to Manual Testing
Hiral Gosani
 
Istqb foundation level day 1
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
ISTQB Test level, Test type
HoangThiHien1
 
Performance testing presentation
Belatrix Software
 
Best Practices for Test Case Writing
Sarah Goldberg
 
Performance testing
Jyoti Babbar
 
Test Automation Strategies For Agile
Naresh Jain
 
TestNG Framework
Levon Apreyan
 
Automation testing introduction for FujiNet
Hai Tran Son
 
Software Testing Process
guest1f2740
 
Test automation methodologies
Mesut Günes
 
Manual testing ppt
Santosh Maranabasari
 
Software testing
Ashu Bansal
 
Test Automation Best Practices (with SOA test approach)
Leonard Fingerman
 
Load Testing and JMeter Presentation
Neill Lima
 
Ad

Viewers also liked (16)

PPTX
Diving into the World of Test Automation The Approach and the Technologies
QASymphony
 
PDF
Best Practices In Exploratory Testing
99tests
 
PPTX
Knowing Where to Tap
QASymphony
 
PDF
BHIM App Case Study
99tests
 
PPTX
Whitebox Testing for Blackbox Testers: Simplifying API Testing
QASymphony
 
PPTX
Manual Testing is Dead. Long Live Manual Testing
QASymphony
 
PPTX
Debugging Your Testing Team
QASymphony
 
PPTX
Modernizing Your Testing Tools
QASymphony
 
PPTX
Succeeding as an Introvert
QASymphony
 
PDF
Operate 24x7
Astegic
 
PDF
Future Of Software Testing
99tests
 
PPTX
TUI & qTest: Why, How and Where Next
QASymphony
 
PPTX
Moving QA from Reactive to Proactive with qTest
QASymphony
 
PDF
Product Teardown for SaaS companies at #SaaSx4
ProductNation/iSPIRT
 
PPTX
Building Better Collaboration Between Development and Testing in a DevOps World
QASymphony
 
PPTX
RESTful API Testing using Postman, Newman, and Jenkins
QASymphony
 
Diving into the World of Test Automation The Approach and the Technologies
QASymphony
 
Best Practices In Exploratory Testing
99tests
 
Knowing Where to Tap
QASymphony
 
BHIM App Case Study
99tests
 
Whitebox Testing for Blackbox Testers: Simplifying API Testing
QASymphony
 
Manual Testing is Dead. Long Live Manual Testing
QASymphony
 
Debugging Your Testing Team
QASymphony
 
Modernizing Your Testing Tools
QASymphony
 
Succeeding as an Introvert
QASymphony
 
Operate 24x7
Astegic
 
Future Of Software Testing
99tests
 
TUI & qTest: Why, How and Where Next
QASymphony
 
Moving QA from Reactive to Proactive with qTest
QASymphony
 
Product Teardown for SaaS companies at #SaaSx4
ProductNation/iSPIRT
 
Building Better Collaboration Between Development and Testing in a DevOps World
QASymphony
 
RESTful API Testing using Postman, Newman, and Jenkins
QASymphony
 
Ad

Similar to Best practices for test case creation & maintenance (20)

PDF
Essential information to be included in test cases
99tests
 
PPT
Testcase training
medsherb
 
PPTX
Generating Test Cases
VivekRajawat9
 
PPT
Less01 1 introduction_module
Suresh Mishra
 
PPTX
Salient tips for writing effective test cases
BugRaptors
 
PPT
AJRA Test Strategy Discussion
ajrhem
 
PPTX
Test Cases Vs Test Scenarios
Sneha Singh
 
PPT
Test case development
Hrushikesh Wakhle
 
PPS
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Ian McDonald
 
PDF
What Is Unit Testing A Complete Guide With Examples.pdf
Jace Reed
 
PDF
Test Case Design Techniques in Software Testing_ Elements, Types, and Best Pr...
Jace Reed
 
PDF
What Is Unit Testing_ A Complete Guide With Examples.pdf
Steve Wortham
 
PPTX
How to write effective test cases present.pptx
yasaswinimanju
 
PPT
software testing
Mayank Gupta
 
PPTX
Object Oriented Testing
AMITJain879
 
PPTX
Qa documentation pp
Bohdana Shaleva
 
PDF
Test cases
Chandra Maddigapu
 
PPT
ISTQB, ISEB Lecture Notes
onsoftwaretest
 
PDF
Software Test Automation - Best Practices
Arul Selvan
 
PPT
ISTQB / ISEB Foundation Exam Practice -1
Yogindernath Gupta
 
Essential information to be included in test cases
99tests
 
Testcase training
medsherb
 
Generating Test Cases
VivekRajawat9
 
Less01 1 introduction_module
Suresh Mishra
 
Salient tips for writing effective test cases
BugRaptors
 
AJRA Test Strategy Discussion
ajrhem
 
Test Cases Vs Test Scenarios
Sneha Singh
 
Test case development
Hrushikesh Wakhle
 
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Ian McDonald
 
What Is Unit Testing A Complete Guide With Examples.pdf
Jace Reed
 
Test Case Design Techniques in Software Testing_ Elements, Types, and Best Pr...
Jace Reed
 
What Is Unit Testing_ A Complete Guide With Examples.pdf
Steve Wortham
 
How to write effective test cases present.pptx
yasaswinimanju
 
software testing
Mayank Gupta
 
Object Oriented Testing
AMITJain879
 
Qa documentation pp
Bohdana Shaleva
 
Test cases
Chandra Maddigapu
 
ISTQB, ISEB Lecture Notes
onsoftwaretest
 
Software Test Automation - Best Practices
Arul Selvan
 
ISTQB / ISEB Foundation Exam Practice -1
Yogindernath Gupta
 

More from 99tests (20)

PDF
Restoration Hardware Case Study
99tests
 
PDF
Proctor & Gamble Case Study
99tests
 
PDF
Reverie Case Study
99tests
 
PDF
Allianz Case Study
99tests
 
PDF
99tests Corporate Brochure 2017
99tests
 
PDF
How Crowd Testing Works
99tests
 
PDF
Best Practises In Test Automation
99tests
 
PDF
Bhim app case study.ppt
99tests
 
PDF
Difference between crowd testing & in house QA
99tests
 
PDF
Need for automation testing
99tests
 
PPTX
99tests Market Guide For Mobile Wallets In India
99tests
 
PDF
Assure End User Experience By Testing In Real World Scenarios
99tests
 
PDF
Why Google Uses Crowd Testing
99tests
 
PDF
Top 5 Software Testing Skills For Testers
99tests
 
PDF
7 Factors to Consider While Developing Mobile Apps
99tests
 
PDF
21 infamous &amp; expensive software bugs
99tests
 
PDF
99tests Corporate Brochure
99tests
 
PPT
Usability testing
99tests
 
PPT
Security testing
99tests
 
PPT
Localization testing
99tests
 
Restoration Hardware Case Study
99tests
 
Proctor & Gamble Case Study
99tests
 
Reverie Case Study
99tests
 
Allianz Case Study
99tests
 
99tests Corporate Brochure 2017
99tests
 
How Crowd Testing Works
99tests
 
Best Practises In Test Automation
99tests
 
Bhim app case study.ppt
99tests
 
Difference between crowd testing & in house QA
99tests
 
Need for automation testing
99tests
 
99tests Market Guide For Mobile Wallets In India
99tests
 
Assure End User Experience By Testing In Real World Scenarios
99tests
 
Why Google Uses Crowd Testing
99tests
 
Top 5 Software Testing Skills For Testers
99tests
 
7 Factors to Consider While Developing Mobile Apps
99tests
 
21 infamous &amp; expensive software bugs
99tests
 
99tests Corporate Brochure
99tests
 
Usability testing
99tests
 
Security testing
99tests
 
Localization testing
99tests
 

Recently uploaded (20)

PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
Presentation about variables and constant.pptx
kr2589474
 
Presentation about variables and constant.pptx
safalsingh810
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
Exploring AI Agents in Process Industries
amoreira6
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Activate_Methodology_Summary presentatio
annapureddyn
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 

Best practices for test case creation & maintenance

  • 1. Best Practices For Test Case Creation & Maintenance March, 2017
  • 2. Introduction Test cases are sets of conditions or variables used by software testers to determine if a system works correctly as expected. Test cases help in validating the testing coverage of a software application. A test case contains essential fields that provides the information about the test case, the activity involved in execution and the results expected. These fields include a unique name, any preconditions, detailed steps, input conditions and expected results for a particular app function. Essentials Of A Good Test Case: ·​ ​It is easy to understand and execute. ·​ ​It is accurate with specific objective. ·​ ​It is easy to trace as per requirements. ·​ ​It is repeatable, and can be used to test again and again. ·​ ​It saves time and money by avoiding unnecessary steps. ·​ ​It is reusable. Essentials To Be Included In Test Cases The simpler & concise the test case is, the easier it is to execute the tests. They contain a unique name, preconditions, steps, input conditions & expected results for a particular app function. The following are the key information to be included while creating test cases: 1) Test Case Number It is a unique number to identify the Test Case from among the number of Test cases. For example: TC_2001 2) Component Component is the Area of the App/Website to be tested. For example, ‘Login”. Components to be tested should be shared before the test case writing starts.
  • 3. 3) Attributes These are those aspects that describes the product’s purpose and goals. Just like adjectives that describe nouns by giving some information, an attribute describes qualities of an app like speed. Attributes are also shared before the test case writing process. 4) Test Case Type This depicts the type of Test Case like Functional, GUI, Technical etc. 5) Priority It confirms the Priority/Importance of the test case in terms of Show Stopper, High, Medium, Low. 6) Test Name This is a logical and unique name to indicate what the test case stands for. As far as possible name test cases as per the module name or functional area you are testing. At 99tests, we choose to write the test case name in Camel Casing format. The format would be <Component>_<Subcomponent>_<Details> Here are some examples of test names: ● Login_Email_Valid ● AccountSettings_EditProfile_Devices ● MyMessages_NoNewMessage Note that the Test Name should be unique, and in no condition it should be duplicate of any other test case. 7) Test Description This is contains details of the test. It is normally a one-liner that specifies the verification to be done in the test case. For instance, in the above example of test case name, “ “MyMessages_NoNewMessage”, the description would be “To Verify the functionality of the Messages when there is no new message available”. 8) Input Data Test Data is mentioned in Input Data field. Here are a few pointers for handling input data:
  • 4. ● If the test data can be reused over time, mention test data to be used. For the test. e.g. - If the client has already proved the credentials to login, the same can be used again. ● If the test only involves some values to be verified, specify the value range or describe what values are to be tested for which field. ● A few values from each equivalence class which should give good coverage for your test. ● Mention the type of data, which is required to run the test and not the real test data value where the test data keeps changing 9) Pre-conditions This explains any Assumptions/Pre-conditions to be used for testing. It should be mentioned point wise. For Example for the Test Name Messages_NoNewMessage , the preconditions can be as follows: ● 99tests Website is available ● User should be logged in and registered as Tester 10) Step Number This indicates the Number for the step description like 1,2,3 etc. Should always be in order. 11) Step Description This specifies the actions to be performed. Please make sure the description is brief and can be executed after one reading. Also, note that it should not be too small like – “Click Submit”, “Enter data in field 1” For example: ● Click on Message Button and check the results. ● Enter the data in the Textbox and Save 12) Expected Result This specifies what is the actual expected out of the step that is executed. Let’s take the example of the 99tests testers page:
  • 5. ● Message Button should be clickable by Tester ● Data Entered Should be Saved by System ● Following Contents should be displayed by My Bugs Page: ✓ Header part ✓ 'Search Testers' field ✓ 'My Bugs' Title ✓ 'Enterprise Bug', 'Open Bug', 'Contest Bugs' link ✓ Paginations Links (optional) ✓ Bugs Details column 13) Actual Result This specifies what actually happens after performing the step. For Example with reference to the 99tests testers page: ● Message Button is clickable by tester ● Data Entered is not saved and an Error Message is populated by System ● Following Contents are being displayed by My Bugs Page : ✓ Header part ✓ 'Search Testers' field ✓ 'My Bugs' Title ✓ 'Enterprise Bug', 'Open Bug', 'Contest Bugs' link ✓ Paginations Links (optional) ✓ Bugs Details column
  • 6. However, actual result is not to be written while writing the test cases. Actual results will be written by the testers who are executing the test cases. Test Coverage This is done while keeping the End User in mind and using the experience of various testers in variety of domains. It is also ensured to cover the following points while writing test cases: 1. Functional Testing 2. Boundary Value Analysis and Equivalence partitioning 3. Error/Warning Message 4. Input/ Output Data 5. Negative Scenarios 6. Risk Coverage Best Practices For Effective Test Case Writing Good test cases are easy to execute and maintain. They make the testing process more effective by saving time and effort. Here are the top 10 best practices to follow while creating test cases: 1) Keep It Simple And Easy To Understand A good test case that is well written and simple, is easy for the testers to understand and execute. Organize test cases according to specific categories or related areas of the application. Test cases can be grouped based on their user story or modules like browser specific behaviours etc. This makes it easier to review & maintain the test document. Information given in the test cases should be clear to other testers, developers, and other stakeholders involved in the project.
  • 7. 2) Include End User Perspective Take into account the end user perspective before drafting a test case. Think like an end user who is the key stakeholder for whom the app is intended. Understand the requirement, the functionality aspects to be covered, and the end user perspective. This will help in identifying test scenarios that arise in real life conditions, and also in coming up with test cases that are most critical to the business. 3) Use Correct Naming Conventions Name test cases in a way that makes it easy for stakeholders to identify it and understand its objective. You can name the test cases according to the module or the functional area that is included for testing. 4) Provide Test Case Description A proper test case description will allow users to understand what is being tested and how. Provide relevant details like the test environment and any other specific information. Mention the testing data to be used and the testing tools, if any to be employed for executing the tests. 5) Include Assumptions And Preconditions Include all the assumptions and conditions that are applicable for the test case. Provide details of the test environment, any special setup for execution of test case etc. 6) Give The Steps Involved Include the actual steps involved in the execution of the test cases. Do not miss out on any step. Ensure that all the test case verification steps are covered. Include relevant documents or screenshots that can help in execution of the steps included in the test design. 7) Give Details Of The Test Data Provide the details of the test data for execution of the test case especially in cases where the same data can be reused. This helps in saving time for creation of the test data for each cycle to be run. Specify the value range, if applicable for respective fields. Don’t try to test each and
  • 8. every value. Aim for maximum coverage by choosing a few select values from each equivalence class. 8) Make It Reusable And Modular As far as possible ensure that there is no dependency or conflict among test cases. In case there are test cases that are inter-dependent or batched, mention them clearly in the test document. 9) Assign Testing Priority Assign testing priority to each test case based on the feature or component involved. This will ensure that during execution, high priority test case are executed first. 10) Provide The Expected Result & Post Conditions Include the expected result for every step of the test case. You can also include screenshots and relevant documents for reference. Mention the post conditions or things to be verified after the execution of the test case. Tips For Maintenance Of Tests Cases Change is constant for any software development project. As apps evolve, new upgrades and changes are introduced into the system. Test cases must be maintained and updated to reflect these new changes that are made. Here are a few tips for effective maintenance of test cases: 1) Review Test Cases After Documentations Get the test cases reviewed by relevant stakeholders to ensure that it is easy to understand and does not include any unnecessary steps. A periodic review and revision of test cases will help in updating changes if any that are applicable. 2) Update Existing Test Cases Before Creating New Ones Update the existing test cases as and when new changes are introduced in the app. Include updates to accommodate changes to any existing user story or functionality.
  • 9. 3) Remove Test Cases That Are Obsolete And Unnecessary Remove test cases that are no longer valid for existing app features. Exclude duplicate test cases as well from the test suite. 4) Add Relevant Test Cases As Per Requirement Create and add test cases that are required as per new upgrades or features that are introduced in the software. Add any additional test case that is relevant, including test cases for defects that were found by end users, post production. Conclusion Creation of test cases is easier with good knowledge of the technology used, the end user perspective and the objective of the software application. Investing time and effort in creation and maintenance of good test cases makes the entire testing process more effective and ensures the success of the testing plan for the software project. About 99tests 99tests is a product of Preenos Crowd Technologies Pvt Ltd. The company is funded by Infosys Co-founder, Kris Goplakrishnan, Allianz CIO, Steve Coles and Founder of Beenos, Teruhido Sato. 99tests is a crowd test automation platform for testing mobile and web apps by top notch testers. With over 20,000 crowd testers from 160+ countries, 99tests has helped over 200 clients including companies like P&G, Intuit and Security scorecard to test their software.We provide companies with economical, and effective crowd testing & automation services.​Learn how automation through 99tests can give you the insights you need to build stunning software products. Mail us at [email protected]. www.99tests.com