You are on page 1of 33

Agile Automation

AGILE Automation COE

Copyright 1
2014 Tata Consultancy Services Limited
Test Driven Development

Copyright 2014 Tata Consultancy Services Limited


2
Test Driven Development (TDD) A Unit testing Approach
Red: Create a test and make it fail.
Write a test to call the code that you would be writing
as if it already exists
Create the new production code stub. Write just
enough code so that it compiles.
Execute the test and it would fail. This is a calibration
measure to ensure that your test is calling the correct
code. This is a meaningful failure, and you expect it to
fail.

Refactor: Remove duplication and improve


the design ensuring that all tests still pass. Green: Make the test pass by any means
Remove duplication caused by the addition of the new
Write the production code to make the test pass
functionality
If you've written the code so that the test passes as
Make design changes to improve the overall solution
intended, you are finished. You do not have to write more
After each refactoring, rerun all the tests to ensure that they
code speculatively. The test is the objective definition of
all still pass
"done."
When the test passes, you might want to run all tests up to
this point to build confidence that everything else is still
working.
3
Behavior Driven Development

Copyright 2014 Tata Consultancy Services Limited


4
Team Collaboration Skills

5
6
7
BEHAVIOR DRIVEN DEVELOPMENT

8
9
10
11
12
13
Collaboration is the Key

Specifications are elaborated collaboratively


Specifications use a common language
Executable specifications provide faster feedback

14
15
16
17
18
BDD Benefits
Reduced Waste and misaligned requirements

Testing the Specification: Test cases are written in the language of the specifications,
so the specifications are directly tested.

Make changes safely and having faster and more reliable releases

By writing UA Test cases in features, the test cases become well documented and
understood by anybody easily.

Reduction in Business risks due to greater collaboration between agile team members

Same artefact used for manual and functional automation, also drives unit test
automation

19
Progressive Regression Approach

Copyright 2014 Tata Consultancy Services Limited


20
21
Continuous Integration Testing

Copyright 2014 Tata Consultancy Services Limited


22
Revolution reshaping the software lifecycle

Continuous delivery = Competitive advantage

Continuous Testing

Continuous delivery forges the broken link in the value


Continuous Integration chain, connecting business strategy with business results.

The revolution is just beginning, but its real and the


time to act is now.
- 2013, Forrester Research Continuous Delivery Is Reshaping The Future Of ALM

23
And organizations are fast adopting

Software developers, managers and executives


65% report that their organizations have started the
path towards Continuous delivery at some level

46% Think that their competitors have fully embraced


Continuous integration and Continuous Delivery

*Source: Evans Data research 2013

24
Continuous Integration - Overview
Continuous Integration is a software development practice where members of a team
integrate their work frequently, several times a day. Each integration is verified by an
automated build including test to detect integration errors quickly

Develop

Deploy Integrate

Test

25
Continuous Integration How it works?

Automated Unit
Testing
Pull the source and
create the build
Build

Source Control
Deploy
Application Server

Automated
Smoke Testing

Automatic Trigger
Code changes/
Defect fix

Jenkins (CIT Tool) Automated


Regression
Publishes build results Testing
Notifies Stakeholders if build breaks

Developer Developer Test


Feedback - Execution
automation
Developer
results

Manual Automated

26
CIT Benefits

Increase transparency Repeated manual low-value Eliminates human errors in


Repeatable & consistent tasks are eliminated the build process
build process Test Automation enabling Immediate notification and
Verification of code quality early identification of defects visibility to team on potential
and functionality at every issues
build

27
End to End Automation

Copyright 2014 Tata Consultancy Services Limited


28
End to End Automation

29
Agile Automation Recommended Tool Set

Copyright 2014 Tata Consultancy Services Limited


30
Recommended Tools

31
Recommended Tools Contd

32
Thank You

IT Services
Business Solutions
Consulting