Agile testing - Principles and best practices

35
Agile Testing Principles and Best Practices Dr Ganesh Iyer, PhD, Principal QA Engineer Sailaja Pindiproli, Senior QA Engineer Kiran Kumar Angara, QA Engineer, Progress Software, Hyderabad, India

Transcript of Agile testing - Principles and best practices

Page 1: Agile testing  - Principles and best practices

Agile Testing Principles and Best Practices

Dr Ganesh Iyer, PhD, Principal QA Engineer Sailaja Pindiproli, Senior QA Engineer Kiran Kumar Angara, QA Engineer,

Progress Software, Hyderabad, India

Page 2: Agile testing  - Principles and best practices

Masters & Ph.D. from National University of Singapore

Interests: Kathakali, Traveling, Photography, Cooking

http://ganeshniyer.com

GANESHNIYER

Rich QA experience; worked on most of the Progress Products

Developed several automation frameworks and test approaches

Interests: Painting, Cooking, Sand Art (Rangoli)

SailuPindiproli

Masters in Artificial Intelligence from University of Hyderabad

Working on Rollbase – OpenEdge Integration for last two years

Interests: Dance, Traveling, Surfing

KiranAngara

Page 3: Agile testing  - Principles and best practices

3

Agenda

Page 4: Agile testing  - Principles and best practices

4

Our Evolution in Application Development

Page 5: Agile testing  - Principles and best practices

5

Command-line / GUI Cloud and Mobile

Cloud

Page 6: Agile testing  - Principles and best practices

6 Source: https://enaarel.files.wordpress.com/2012/10/content_feedback3.jpg

Agile world!

Page 7: Agile testing  - Principles and best practices

7

Page 8: Agile testing  - Principles and best practices

8

7 Key factors for Agile Testing success

Source:

Agile Testing: A Practical Guide for Testers and Agile Teams,

Lisa Crispin , Janet Gregory, 2009

Page 9: Agile testing  - Principles and best practices

9 Source: goo.gl/mF9Vhz

Whole Team

Page 10: Agile testing  - Principles and best practices

10 Source: goo.gl/BYiVSR

Automation

Page 11: Agile testing  - Principles and best practices

11 Source http://goo.gl/9IM6sB

Agile Practices

Page 13: Agile testing  - Principles and best practices

13 Source: http://goo.gl/E84E9G

Provide Feedback

Page 14: Agile testing  - Principles and best practices

14 Source: http://goo.gl/S30HVL

Collaborate with Customers

Page 15: Agile testing  - Principles and best practices

15 Source: http://goo.gl/E84E9G

Big Picture View

VS.

Page 16: Agile testing  - Principles and best practices

16

Test Challenges with Agile Methodology

Frequently changing requirements •Thanks to Agile Changes can happen at any point of time during release cycle • Requirements and Test Cases developed in parallel or test first strategy

Frequent releases •Progress DataDirect Cloud released new features every 9 days in 2015*

• Testing needs to happen Early and Often, Everyone needs to Test

Understanding and testing real world behavior • How customers see the product behavior after a release? • No SRS-level waterfall documents to drive testing plan

Multiple environments & differences for test and production systems • 3rd party systems integrated to the product • Raises a requirement for GoLive Testing But in minimal time

Page 17: Agile testing  - Principles and best practices

17

Continuous Integration & Automation are Key in Agile

Automation

• Nightly / Weekly

Build Integration

• Combination of unit tests and regression tests

Dev-environment

• Unit-tested

Page 18: Agile testing  - Principles and best practices

18

Best Practices That help us to solve many of these issues

Page 19: Agile testing  - Principles and best practices

19

24 x 7 Testing

Understanding and testing real world behavior

What is 24x7? • Running a set of test

cases continuously 24 x 7

• Simulates real time customer behavior

How 24x7? • A few parallel threads

accessing the product • Tests consisting of

regression (or it’s subset) tests

Why 24 x 7? • Many things can’t be

caught by regular functional testing

• Error handling and retries • Product can be made

more resilient and robust

Performance issues with web sessions over a time

Memory leaks that grow over a time

Page 20: Agile testing  - Principles and best practices

20

24 x 7 Testing

VMs / Build Integration Machines

ANT Script Tests Reports using

Kendo UI controls

Decides parallelism

HTTP POST req Batch Script

Decides frequency

Logs

SUT

• Progress products such as Rollbase

• Uses any test environments

• Existing test cases can be leveraged

Batch Script

• Decides the frequency

• E.g. run on an hourly basis

• Run in an infinite loop 24x7

ANT Script

• We configure #Threads, #Tests to run in parallel

• Tests can run on VMs / Build integration machines

Reports

• Shown using Keno UI controls / widgets

• Driver scripts sends results to the portal

• Machine stores the logs

Page 21: Agile testing  - Principles and best practices

21

24 x 7 Testing – Sample report

Page 22: Agile testing  - Principles and best practices

22

Same Sprint Automation

A story is marked as done only when it is automated

Helps to take into account automation efforts as part of sprint planning itself

Results in updated automation scripts at any point of time

Prepared for frequent releases;

Requirement changes are up-to-date in automation

Source: http://goo.gl/hu57Jd

Page 23: Agile testing  - Principles and best practices

23

GoLive in less than 30 mins

Pre-GoLive, GoLive and Post-GoLive

Testing

GoLive Automation

GoLive Testing

Challenges & Our Practices

Environmental differences

Frequent releases

Minimizing downtime during upgrades

Environmental differences are tested; Frequent releases can be handled

Pre-golive: Account setup

Go Live: Integration testing

Post GoLive: To be tested after live

Automation Time: 10 mins

Triage unexpected failures: 20 mins

Page 24: Agile testing  - Principles and best practices

24

Other practices

• Normally done more at the last sprints

• Examples include Auto fill issues

Exploratory Testing

• Catch before they find

• Let them see what they get

Customer Scenarios Testing

• Different from typical A/B Testing

• We interpret as “Choose what to test and what not to test”

A/B Testing

Page 25: Agile testing  - Principles and best practices

25

Agile Testing Mantra = Automate, Automate and Automate

Agile Testing

Automate

Automate within the

same sprint

Automate GoLive Tests

Automate cases

uncovered using

Exploration

Automate possible customer scenarios

Automation 24x7

Page 26: Agile testing  - Principles and best practices

26

Automation challenges and approaches – Case Study

Integrated Systems

3rd party systems

Back office systems

Automation involves

UI elements (product UI

verifications)

API calls (for 3rd party system

calls)

Need for Hybrid

framework

Can we have a single framework which can solve this challenge?

?

Page 27: Agile testing  - Principles and best practices

27

Telerik Test Studio – A Brief Overview

Page 28: Agile testing  - Principles and best practices

28

Successful Agile Testing with Telerik Test Studio

Support to work in Agile environment • Out of the box screenshots, failure reports etc

• Helps Documentation team • Logging bug in a single mouse click

• TFS – Continuous Integration in place

Code maintenance

• Agile Frequent releases and frequently changing requirements • Write and maintain functional test cases • Run your Load & Performance tests with same functional scripts

Hybrid support

• Automating UI/APIs • Works well even for complex test scenarios – Key for Agile

Page 29: Agile testing  - Principles and best practices

29

Various test types and the Mechanics

Page 30: Agile testing  - Principles and best practices

Functional Tests Examples Story Tests Prototypes Simulations

Exploratory Tests Scenarios

Usability Testing Doc. Testing UAT / E2E

Alpha / Beta

Unit Tests Component Tests

Performance & Load Testing Security Testing

“ility” Testing 24 x 7 Testing

Programmer

Test Engineer

Product Manager

Product Architect

Engg. Lead

Tech. Writer

Business-Facing

Technology-Facing

Su

pp

ort

ing

Th

e Te

am C

ritiqu

e Pro

du

ct

Automated & Manual

Automated & Manual

Automated Tools

Source: Agile Testing: A Practical Guide for Testers and Agile Teams, Lisa Crispin , Janet Gregory, 2009

Page 31: Agile testing  - Principles and best practices

31

Conclusion

Agile Testing

Continuous Builds

Page 32: Agile testing  - Principles and best practices

32

KEY FOR SUCCESS =

CUSTOMER FEEDBACK

Page 33: Agile testing  - Principles and best practices
Page 34: Agile testing  - Principles and best practices

34

Feedback Time

Page 35: Agile testing  - Principles and best practices

Want to know about “Software Quality Analysis with Cloud?”

16:45 @ Concord today