Saturday 1 November 2014

Testing in Agile environment




With increasing trend towards Agile development, it is important to see how the testing activities get impacted in the agile environment.
First let’s quickly understand what is agiledevelopment. The Agile manifesto (http://agilemanifesto.org/) mentions that customer collaboration and response to changes is crucial in agile methodology with focus on individuals, their interactions and delivering working software. In one of the Agile frameworks, SCRUM, the entire development lifecycle for one incremental delivery can be of just 2 to 3 weeks, called as sprint. User stories (What user expects out of the software) for a sprint are understood, detailed out, developed, tested and delivered in each sprint.  Developers and testers work in a cohesive environment with continuous engagement with client teams.
So it is quite clear that the testing in agile is different than testing in conventional waterfall model mainly with reference to the following.
  • Early engagement of testing teams and collaborative approach– Testing teams get involved right from stage of requirements discussions with client. This brings in testing perspective early in the lifecycle and can prevent late detection of defects. However testers also need to have a strong understanding of domain and quick ability to grasp the requirements from discussions as the detailed documentation may or may not be available. Testers also need to work closely with clients to understand the acceptance criteria for the sprint delivery , provide timely inputs to developers for unit testing and be more technologically aware to understand the development cycle effectively.
  •  Quicker testing cycles – Within 2 to 3 weeks of sprint cycle, the testing team may get only 2 to 3 days to test the user stories from sprint backlog. In each sprint, testing teams need to conduct unit testing, smoke testing, testing for user stories, usability testing and regression testing for earlier sprint functionality. For late sprints, other non-functional testing like performance, security becomes crucial in addition to adhoc testing and user acceptance testing.  Even though detailed forma documentation may not be a  focus, completeness of testing needs to be ensured by using enough amount of test data and maintaining proper traceability with user stories. Even testers need to contribute into unit testing by using unit testing platforms specific to the technologies like JUnit etc.
  • Increased focus on regression – With each completing sprint, the regression suite increases but the testing time does not increase considerably. This is quite a challenging situation. Hence automation becomes extremely crucial to ensure quick regression cycles.  Automation needs to address build verification, continuous integrations and frequent regressions on new builds. In most of the cases, it is recommended to use the automation technology which is aligned to the development IDE like Selenium with Java or VSTS coded UI testing framework or HP /IBM tools etc.

For more details visit SEED Infotech Wagholi Pune Blog at : http://seedinfotechpune.blogspot.in/

Locate us on Google Map : https://www.google.co.in/maps/place/SEED+Infotech+Pune/@18.580642,73.976231,15z/data=!4m2!3m1!1s0x0:0xc4d19be6006792c9?sa=X&ei=-dFUVMiFFcGLuwT6qIL4BA&ved=0CHwQ_BIwCg

For any enquiry leave your details here for call back : http://seedinfotechwagholi-pune.co.in/enquiry.php

Google+ : https://plus.google.com/+SeedinfotechwagholipuneCoIn412207/posts

No comments:

Post a Comment