Writing Test Cases in Agile 
Presented By: Saroj Singh
What is a 
test Case 
IEEE Standard 610 (1990) defines test case as follows: 
A set of test inputs, execution conditions, and expected results developed for a 
particular objective, such as to exercise a particular program path or to verify 
compliance with a specific requirement.
Sample 
Template
A Good 
Test Case 
1. Maintainable 
2. Repeatable 
3. Traceable 
4. Efficient 
5. Executable by other Testers 
6. Independently executable
Fields in 
test cases: 
1. Test case id 
2. Test Title/Summary 
3. Prerequisite 
4. Test Description 
5. Test Data 
6. Steps to be Executed 
7. Expected Result 
8. Actual Result
Levels 
Level 1: Basic test cases from the available specification and user 
stories.Based on Business and Functional/Technical requirements, use cases 
and Technical design documents 
Level 2: Practical stage in which writing test cases depend on actual functional 
and system flow of the application. 
Level 3: This is the stage in which you will group some test cases and write a 
test procedure. Test procedure is nothing but a group of small test cases. 
Level 4: Automation of the project. Saves time in regression testing
Practical 
Approach to 
Creating Agile 
Test Cases 
● Test case discovery happens throughout the sprint process. 
● Exploratory testing will uncover the hidden cases and expand to better 
coverage. 
● Overall, creating test cases in agile is a challenging process. 
● Start with happy path and take following step by step approach to expand 
coverage.
Why we write 
Test Cases 
● To assure Quality 
● To have better test coverage 
● To have consistency in test execution 
● To avoid training every new test engineer on the product 
● To depend on process rather than a person 
● To be used as proof to client for Test areas covered
Pros 
● Reused again and again(Regression/Retest) 
● Form basis for automated test cases down the line 
● You find black holes of your design which aren’t covered with user stories, 
or requirements 
● To provide documentary evidence of exactly what you tested 
● Helps in adhering to legal requirements 
● Can be used to provide estimate for regression time by QA
Cons 
● Maintaining test cases a problem due to changing requirements. 
● Capturing all scenarios in test cases is a challenge;exploratory testing helps 
in agile. 
● Test cases are sometimes not worth writing for very small projects(duration)
Thank You 
Comments,Questions?
References 
● http://josephvargheese.wordpress.com/2012/11/04/practical-approach-in-creating- 
agile-test-cases/ 
● http://www.agileconnection.com/article/do-you-need-write-test-cases 
● http://en.wikipedia.org/wiki/Test_case 
● http://www.softwaretestinghelp.com/how-to-write-effective-test-cases-test-cases- 
procedures-and-definitions/ 
● http://www.allinterview.com/showanswers/57788.html 
● http://www.testandtry.com/2010/02/24/8-tips-to-create-complete-test-cases/ 
● http://blogs.msdn.com/b/chappell/archive/2004/04/05/108159.aspx

Writing Test Cases in Agile

  • 1.
    Writing Test Casesin Agile Presented By: Saroj Singh
  • 2.
    What is a test Case IEEE Standard 610 (1990) defines test case as follows: A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
  • 3.
  • 4.
    A Good TestCase 1. Maintainable 2. Repeatable 3. Traceable 4. Efficient 5. Executable by other Testers 6. Independently executable
  • 5.
    Fields in testcases: 1. Test case id 2. Test Title/Summary 3. Prerequisite 4. Test Description 5. Test Data 6. Steps to be Executed 7. Expected Result 8. Actual Result
  • 6.
    Levels Level 1:Basic test cases from the available specification and user stories.Based on Business and Functional/Technical requirements, use cases and Technical design documents Level 2: Practical stage in which writing test cases depend on actual functional and system flow of the application. Level 3: This is the stage in which you will group some test cases and write a test procedure. Test procedure is nothing but a group of small test cases. Level 4: Automation of the project. Saves time in regression testing
  • 7.
    Practical Approach to Creating Agile Test Cases ● Test case discovery happens throughout the sprint process. ● Exploratory testing will uncover the hidden cases and expand to better coverage. ● Overall, creating test cases in agile is a challenging process. ● Start with happy path and take following step by step approach to expand coverage.
  • 8.
    Why we write Test Cases ● To assure Quality ● To have better test coverage ● To have consistency in test execution ● To avoid training every new test engineer on the product ● To depend on process rather than a person ● To be used as proof to client for Test areas covered
  • 9.
    Pros ● Reusedagain and again(Regression/Retest) ● Form basis for automated test cases down the line ● You find black holes of your design which aren’t covered with user stories, or requirements ● To provide documentary evidence of exactly what you tested ● Helps in adhering to legal requirements ● Can be used to provide estimate for regression time by QA
  • 10.
    Cons ● Maintainingtest cases a problem due to changing requirements. ● Capturing all scenarios in test cases is a challenge;exploratory testing helps in agile. ● Test cases are sometimes not worth writing for very small projects(duration)
  • 11.
  • 12.
    References ● http://josephvargheese.wordpress.com/2012/11/04/practical-approach-in-creating- agile-test-cases/ ● http://www.agileconnection.com/article/do-you-need-write-test-cases ● http://en.wikipedia.org/wiki/Test_case ● http://www.softwaretestinghelp.com/how-to-write-effective-test-cases-test-cases- procedures-and-definitions/ ● http://www.allinterview.com/showanswers/57788.html ● http://www.testandtry.com/2010/02/24/8-tips-to-create-complete-test-cases/ ● http://blogs.msdn.com/b/chappell/archive/2004/04/05/108159.aspx