Sunday, April 25, 2010

Scrum and our testing

I was thinking for a long time to start my writing again on my blog and for this bought my own domain for it. Here it goes for today's topic.


Agile and Testing


I have gone through some blogs on how we can improve testing in agile specially in scrum, also how we testers can be more involved in each stories in sprints. In scrum we use "Team" for everything and i think that help us all to focus and not to point anyone for any problem. So as a "Team" we always discuss for better ways to improve our productivity. And i was trying to improve our testing ways. 


For our perspective what we do?

  1. After our planing meeting, I start preparing test cases for our stories and we share those test cases in wiki so that it will be easily accessible for product owners and for team. And test team can engage with better understanding for all stories.
  2. We select one test scenario (That scenario should cover most of the paths for that story) for our cucumber feature file (automation) 
  3. We write that selected test case as a cucumber feature file format so that we can just copy paste that feature file from wiki. 
  4. If we found any scenario that is not clear, we discuss that with product owner. (This is the main reason why we want to do test case in the beginning of the sprint so that we can find out the scenarios as much as possible and it help us when doing the regression test)
  5. As we go on with our standup each day, we keep updating test cases if changes or if we discover any new scenarios.
  6. Before one day of the sprint we freeze our code (we don't develop features but we fix our bugs)
  7. Last day of our sprint is for regression of cucumber automation scripts, unit test and manual regression of all the stories done by this sprint. 
  8. We are ready for the sprint review next day. 
  9. We use teamcity (build and release management) application runs all our scripts each day and notify us by mail (passed or failed). 

I have read some blog about the documentation in scrum and i think if anything makes your product better and suites you then you can take those. 


In agile "Team" is responsible for anything that goes wrong. so when we are going regression in production after any new deployment, our whole team involves in regression testing and we have a to do list in front of us for manual testing some of the major part of our application. 


I think test cases for each story, focused on cucumber automation script & also unit test for each story can make you feel better or to ensure you that those parts passed before is not broken by new builds.

You can also look into my presentation slides for agile testing on the side bar >>>>