140 likes | 472 Views
Agile Practices Benchmarking Case Study. by Mazataz – Tesco. About Organization -Tesco. Agile Penetration @ Organization. Agile Execution @ Project A. Behavior Driven Development. It is an evolution of Test Driven Development (TDD) Acceptance Test Driven Development (ATDD).
E N D
Agile Practices Benchmarking Case Study by Mazataz – Tesco
Behavior Driven Development • It is an evolution of • Test Driven Development (TDD) • Acceptance Test Driven Development (ATDD). • It makes TDD and ATDD easy for new comers and experts
How we did it • Created small vertical stories of business value. • Agreed & documented business rules. • Agreed & documented the behavior. • Agreed how story would be accepted. • Created executable scenarios for each behavior. • Given, When and Then. • Verified it by the stake holders and rest of the teams. • Developed the behavior and verified the scenarios. • Show & Tell of completed scenarios to Truth. • Reacted to feedback. • Accepted story’s scenario added to regression suite.
The JUnit Framework • BDD simplified functional testing. • BDD also simplifies JUnit testing. • JUnit is testing java components at the unit level. • JUnit verifies components behavior without deployments. • It does not need any dependencies to be available. Tools used : Mockito
Why Mockito • Enables creation of Mock objects, verification of behavior and stubbing. • Provides BDD style structure. • Enables testing of unit level components. • Like Server side components, Database components etc.. • Mock all objects that a component uses and verifies its use according to specified behavior.
Significant Benefits • Focused on development and delivery of prioritised, verifiable business stories. • Focused on providing a common vocabulary that bridges the gap between business and technology. • Focuses on exposing business rules to review by stake holders and Testing Teams. • Encourages collaboration between developers, testers, architects, BA’s and Business. • Made it easy to Automate End to End functional testing. • Simplified Test Driven Development. • All integrated well on Continuous Integration • The Business where satisfied to see the status of project.
Limitations • Due to time constraints we could not automate all scenarios. • Due to Infrastructure limitations could not run automated regression suite on every check-in. • Due to time constraints not all teams followed TDD. • Some legacy application testing could not be fully automated. • Not all teams where empowered to take decision of TDD. • Given tight deadlines the some teams abandoned TDD.
Recommendations • More stake holder involvements in defining test scenarios. • More encouragement from management to engineering to adopt TDD/BDD. • To user business friendly tools like Fitnesse or Cucumber. • Invest in CI infrastructure to run automated regression suite on every check in.