test automation - pathway for building and sustaining agile teams

40
www.unicomlearning.com India Agile Week-2013 25 th Oct 2013 - Bengaluru Building and Sustaining Agile Teams Through Test Automation Mahesh V G Technical Manager Mahindra Comviva www.agileinbusiness.com

Upload: mahesh-v-g

Post on 20-Aug-2015

820 views

Category:

Technology


3 download

TRANSCRIPT

www.unicomlearning.com

India Agile Week-2013 25th Oct 2013 - Bengaluru

Building and Sustaining Agile Teams Through Test Automation

Mahesh V G

Technical Manager

Mahindra Comviva

www.agileinbusiness.com

www.unicomlearning.com

“Building and Sustaining Agile Teams”

Pathway for BEING AGILE

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com Take Away - I

UNICOM Presents

India Agile Week-2013

Understand Context Of Operation

• Is there need for being Agile ?

• How agile (non-agile) are we today ?

• How do we measure progress ?

www.unicomlearning.com

Our World

Understanding Context of Operations

UNICOM Presents

India Agile Week-2013

Consumers Business Needs Environment

www.unicomlearning.com

Our Goals –

Engineering teams strived for…

UNICOM Presents

India Agile Week-2013

On Time Delivery Quality

www.unicomlearning.com

Our Concerns –

Hangover lessons and sleepless nights…

UNICOM Presents

India Agile Week-2013

Delayed Deliveries Quality

www.unicomlearning.com

Opportunity

UNICOM Presents

India Agile Week-2013

•Heterogeneous Software

•Heterogeneous Environments

•Legacy Products

•Conditioned Minds (Not my problem or it is

always done this way)

•Non productive labor

•Insecurity

•Unpredictable schedules

•Non-release mode

•Multiple Stakeholder

•Structural Complexities

www.unicomlearning.com

Our Teams Agile Journey…

UNICOM Presents

India Agile Week-2013

How do we be Agile ?

Why be Agile ?

What’s Agile ?

www.unicomlearning.com

Agile Manifesto – Value Driven

UNICOM Presents

India Agile Week-2013

Process and tools Individuals and

interactions over

Following a plan Responding to change over

Source: www.agilemanifesto.org

Comprehensive documentation

Working software over

Contract negotiation Customer collaboration over

www.unicomlearning.com Take Away - II

UNICOM Presents

India Agile Week-2013

Iterate Agile adoption incrementally

• Focus on key practices easy to adopt

• Review the outcome of adoption and adapt

www.unicomlearning.com

Adopting Agile Methods and Practices…

UNICOM Presents

India Agile Week-2013

Source: Version One 7th Annual Agile Survey

www.unicomlearning.com

Agile Methodologies – suitable for us

UNICOM Presents

India Agile Week-2013

Scrum

XP Kanban

MA

NA

GEM

ENT

TECHNICAL PRACTICES

www.unicomlearning.com

First Scrum Team and its Journey

UNICOM Presents

India Agile Week-2013

Sprint # Planned

Scenarios Accomplished

Scenarios

First 500 110

Second 350 391

Third 250 245

Fourth 300 310

Total 1400 1056

www.unicomlearning.com

Initial Perceptions….

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Being Agile – working with Legacy

Products

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Change is Hard – Automation as Escape Velocity

UNICOM Presents

India Agile Week-2013

Source: Robin Sharma’s EAF program

www.unicomlearning.com Take Away - III

UNICOM Presents

India Agile Week-2013

Measure Quality early– setup CI with metrics system

• How healthy is the code?

• How matured is the agile practice ?

• Adopt tools that help measure quality

• CI – jenkins

• Code Quality – Sonar/Findbugs/PMD

www.unicomlearning.com What to be measured ?

UNICOM Presents

India Agile Week-2013

Code Quality Complexity

Size of Product/Project

Cohesiveness

Coupling

Code Coverage

Code Smells

Automated tests

www.unicomlearning.com Automation - a step towards technical excellence

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com Involve motivated individuals

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Legacy Code - Initial metrics

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Continuous Integration with Code Metrics

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Measuring Agility.. How did we progress ?

UNICOM Presents

India Agile Week-2013

Source: ThoughtWorks Agility Assessment results of our team

www.unicomlearning.com Take Away - IV

UNICOM Presents

India Agile Week-2013

Automate tests

• Automate user acceptance tests (UAT)

• Identify and adapt test tools

• Build re-usable frameworks

www.unicomlearning.com

Where to Begin ?

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Software Testing – Quality to stake holders

UNICOM Presents

India Agile Week-2013

26

For Engineers To Customers

GUI and System Tests (Validation Group)

Functional Tests (Product Units)

Unit Tests (Product Units)

GUI Tests

(High Access and Visibility)

Functional Tests (Medium

Visibility)

Unit Tests (Low

Visibility)

www.unicomlearning.com

Partner for Tools and Tailor

UNICOM Presents

India Agile Week-2013

• Getting out of DIY syndrome

• Go for lightweight tools and Adapt

• Cover Risks

• Win-Win Partner relationship

www.unicomlearning.com

Tools Evaluation

UNICOM Presents

India Agile Week-2013

Feature Selenium Sahi OS (Open

Source) Sahi Pro QTP Jameleon

TestingAnywhere

Watir

Developed into Java Java Java .Net Java Java Ruby

Record and Play Only on Firefox All browsers All browsers Only on IE No Yes No

Playback Yes Yes Yes Yes Yes Yes Yes

Brower support All All All IE IE All All OS/Platform support All All All Windows Windows All All

Language Multiple Javascript, Java, Ruby

Javascript, Java, Ruby VB XML Java,.Net,C++ Ruby

Usability Easy Easy Easy Easy Easy Easy Easy Automation/Maintenance difficulty level Easy Easy Easy Easy Easy Easy Easy

Exception handling Yes

Yes. Has recovery feature & Call back function.

Yes. Has recovery feature & Call back function. Yes Yes Yes Yes

Parallel Testing Yes Yes Yes No No Yes Yes

www.unicomlearning.com

Partnerships – make vs buy

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Web Test Automation - using sahi

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Subscriber Creation Call Flow

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Automation benefits

UNICOM Presents

India Agile Week-2013

Automation execution takes 76 minutes to create subscriber as compared to 2 Person days effort to create it manually

www.unicomlearning.com

Success Stories.. Published

UNICOM Presents

India Agile Week-2013

Unit Solution Test Scenarios Manual

Execution

Automation

Execution

Savings

Unit-1 P1 1500 40.5 Person

Days

15 Hours 95%

Unit-2 P2 230 7 Person

Days

1 Hour 15

Minutes

97%

Unit-3 P3 142 4 Person

Days

40 Minutes 96%

Unit-4 P4 119 3 Person

Days

7 Minutes 99%

Unit-5 P5 25 1 Person Day 2 Minutes 99%

www.unicomlearning.com

Functional Testing – ROBOT / RIDE / STAF-

STAX

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com

Functional Test Automation - using RIDE

UNICOM Presents

India Agile Week-2013

www.unicomlearning.com Take Away - V

UNICOM Presents

India Agile Week-2013

Care for clean code

• Practice TDD (Red Green Clean culture)

• Unit test for reusable modules

• Encourage constant refactoring during change requests/bug fixes

www.unicomlearning.com

Adoption of TDD and Unit Testing - WIP

UNICOM Presents

India Agile Week-2013

Frameworks Used Junit Framework for Java check framework for C CppUnit/XppUnit for applications done in C++/PHP etc Practice Measuring code coverage Test Driven Development for new code written. Refactoring of legacy code – “Extract method” most widely used

www.unicomlearning.com

Our Journey.. Cheetah way (Agile Hunter)

UNICOM Presents

India Agile Week-2013

Agility and rapid acceleration vs. Speed.

Course Corrections and adapting to context during journey

Source: New York Times

www.unicomlearning.com

Recap - Key Take Away

UNICOM Presents

India Agile Week-2013

1. Understand Context Of Operation

• Is there need for being Agile ?

• How agile (non-agile) are we today ?

• How do we measure progress ?

2. Iterate Agile adoption incrementally

• Focus on key practices easy to adopt

• Review the outcome of adoption and adapt

3. Measure Quality early– setup CI with

metrics system

• How healthy is the code?

• How matured is the agile practice ?

• Adopt tools that help measure quality

4. Automate tests

• Automate user acceptance tests (UAT)

• Identify and adapt test tools

• Build re-usable frameworks

5. Care for clean code

• Practice TDD (Red Green Clean culture)

• Unit test for reusable modules

• Encourage constant refactoring during change requests/bug fixes