SlideShare a Scribd company logo
1 of 44
Download to read offline
Testing in Agile 
Development 
Hariprakash Agrawal 
hariprakash@opcord.com 
8th BSPIN Conference on 18-19, September 2014 
http://testoptimizer.com
About Me 
An Entrepreneur and Agile Coach 
ExperienceServices 
Serving as CEO at OpCord 
– Software Development, Test 
Automation, Agile Consulting, Products 
(RideAlly, TestOptimizer) 
Agile / Kanban Coach & Trainer (CSM) 
– Agile Transformations 
Email: hariprakash@opcord.com 
2 
Enterprise Agile Coaching & Transformation 
Building Agile Culture and values 
Training Scrum, Kanban, XP 
Implementing SAFe Framework 
Tools expert: Rally 
http://testoptimizer.com
The Problem 
http://testoptimizer.com 3
Agile Manifesto 
Individuals and 
interactions over Processes and Tools 
Working Product over Comprehensive 
Documentation 
Customer Collaboration over Contract Negotiation 
Responding to change over Following a plan 
That is, while there is value in the items on 
the right, we value the items on the left more. 
Courtesy: www.agilemanifesto.org 4
Agile Principles 
5 
Our highest priority is 
to satisfy the 
customer through 
early and continuous 
delivery 
Welcome changing 
requirements, Agile 
processes harness 
change for the 
customer's 
competitive 
advantage. 
Deliver working 
product frequently, 
from a couple of 
weeks to a couple of 
months, with a 
preference to the 
shorter timescale. 
Business people and 
developers must work 
together daily 
throughout the 
project. 
Build projects around 
motivated 
individuals. Give 
them the 
environment and 
support they need, 
and trust them to 
get the job done. 
The most efficient and 
effective method of 
conveying information 
to and within a 
development team is 
face-to-face 
conversation. 
Working product is 
the primary measure 
of progress. 
Agile processes 
promote sustainable 
development. The 
sponsors, developers, 
and users should be 
able to maintain a 
constant pace 
indefinitely. 
Continuous attention 
to technical 
excellence and good 
design enhances 
agility. 
Simplicity--the art of 
maximizing the 
amount of work not 
done--is essential. 
The best architectures, 
requirements, and 
designs emerge from 
self-organizing 
teams. 
At regular intervals, 
the team reflects on 
how to become more 
effective, then tunes 
and adjusts its 
behavior accordingly. 
Courtesy: www.agilemanifesto.org
Courtesy: http://smartbear.com/products/qa-tools/what-is-agile-testing/ 6
Scrum Life Cycle! 
http://testoptimizer.com 7
Agile Testing with Scrum 
Courtesy: https://www.imbus.de/veranstaltungen/trends-in-testing-2012/ 8
Definition of Done 
is usually a clear and concise list of requirements that a software 
increment must adhere to, for the team to call it complete 
checklist of valuable activities required to produce software 
primary reporting mechanism for team members 
not static 
an auditable checklist 
9 
DoD can be at various levels 
• for a feature (story or product backlog item) 
• for a sprint (collection of features developed within a sprint) 
• for a release (potentially shippable state 
Courtesy: http://www.scrumalliance.org/community/articles/2008/september/what-is-definition-of-done-%28dod%29
Sample Definition of Done 
User Story Level 
Code checked-in the integration branch 
and merged 
Code review done and comments 
incorporated (Coding guidelines 
checked) 
Automated Unit tests run 
code coverage tools run 
Static analysis is at 100% pass rate 
No open defects unless deferred 
Product owner demo completed 
Acceptance criteria met 
10 
Sprint or Release Level 
Required user documentation updated 
No open defects unless deferred 
Test cases documented, automated and 
run over night 
Functional testing is at 100% pass rate 
(Positive and Negative) 
Usability guidelines incorporated 
User-facing story is reviewed by UE 
designers (where applicable) 
Product owner demo completed 
Acceptance criteria met 
http://testoptimizer.com
Extreme Programming! 
User Stories 
Release Planning 
Sprint Planning 
On Site Customer 
Pair Programming 
Test-first Design 
Refactoring 
Continuous Integration 
Collective Ownership 
Coding Standard 
40 hour week 
Courtesy: http://xprogramming.com/what-is-extreme-programming/ 11
Agile testing 
is a software testing practice that follows the principles of 
agile software development# 
– involves all members of a cross-functional agile team# 
– with special expertise contributed by testers# 
– to ensure delivering the business value desired at frequent intervals# 
– working at a sustainable pace # 
– specification by example is used to capture examples of desired and 
undesired behavior and guide coding.# 
– not a separate phase, but an integral part of software development, along 
with coding# 
– "whole-team" approach to "baking quality in" to the software product# 
– testing and coding are done incrementally and iteratively# 
– covers all types of testing# 
Courtesy: http://en.wikipedia.org/wiki/Agile_testing 
12
Traditional Vs. Agile Testing 
Courtesy: http://www.agilecoachjournal.com/index.php/2014-01-28/testing-2/the-agile-testing-pyramid/ 13
Principles of Agile Testing 
Testing moves the project forward 
Testing is NOT a Phase 
Everybody Tests 
Reduce feedback latency – Agile teams test early and often 
Test represent expectations 
Bugs don’t hang around – Keep code clean & Fix bugs fast 
Reduce test documentation overhead 
Tested is part of “Done” 
From test last to test driven 
Courtesy: http://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf 14
Practices of Agile Testing 
Automated Unit/Integration Tests 
Continuous Integration 
Test Driven Development 
Automated System Level Regression Tests 
Acceptance Test Driven Development 
Behavior Driven Development 
Exploratory Testing 
Courtesy: http://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf 15
7 deadly sins of Agile Testing 
Separate QA 
Team 
Water 
scrumming 
Lack of TDD 
and CI 
Testing is one 
Sprint behind 
Courtesy: http://properosolutions.com/2011/03/the-seven-deadly-sins-of-agile-testing/ 
Coding 
Unbalanced 
Testing 
Quadrants 
Ignoring Test 
Failures 
Requirements 
and Tests are 
Separate 
16
Exercise 
Predict the quadrants 
http://testoptimizer.com 
Business Facing# 
Q2# Q3# 
Q1# 
Q4# 
# 
Supporting the Team# 
Critique Product# 
Technology Facing# 
17
Agile Testing Quadrants 
Courtesy: http://swansegarconsulting.com/learn-agile/agile-roles-titles/quality-assurance-control/ 18
Have we decided to automate tests? 
http://testoptimizer.com 19
Why Automate Tests? 
http://testoptimizer.com 20
Test Automation 
is the use of special software to control the execution of tests and the 
comparison of actual outcomes with predicted outcomes. 
Code-driven testing 
The public (usually) interfaces to classes, modules or libraries are tested with a variety 
of input arguments to validate that the results that are returned are correct. 
Graphical user interface testing 
Generates user interface events such as keystrokes and mouse clicks, and observes the 
changes that result in the user interface, to validate that the observable behavior of the 
program is correct. 
API driven testing 
Uses programming interface of the application to validate, the behaviour under test. 
Typically API driven testing bypasses application user interface altogether. 
Courtesy: http://en.wikipedia.org/wiki/Test_automation 
21
Test Automation Life Cycle - 1 
Courtesy: http://www.nordixsoft.com/AutomatedTesting/AutomationMethodlogy/ 22
Test Automation Life Cycle - 2 
Courtesy: http://geek4eva.com/2009/08/28/test-automation-and-roi/ 23
Types of Automation Frameworks 
Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-17-test-automation-frameworks/ 24
Linear Framework 
Verify the creation of a 
new account in gmail! 
# 
Steps are:# 
# 
a) Open gmail.com 
b) Click on ‘Create 
Account’ 
c) Enter the details 
d) Verify the details 
e) Create the account# 
# 
# 
1 'Open GMail# 
2 SystemUtil.Run "iexplore.exe", "http://www.gmail.com”# 
3 'Page Sync# 
4 Browser("Gmail").Page("Gmail").Sync# 
5 ‘Click on create account# 
6 Browser("Gmail").Page("Gmail").WebLink(“Create 
Account”).Click# 
7 ‘Enter the details# 
8 Browser("Gmail").Page("Google 
Accounts").WebEdit(“First Name”).Set “Swati”# 
9 Browser("Gmail").Page("Google 
Accounts").WebEdit(“Last Name”).Set “test”# 
10 ‘Fill in several other details# 
11 ‘Submit# 
12 Browser("Gmail").Page("Google 
Accounts").WebButton(“Next Step”).click# 
Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-17-test-automation-frameworks/ 25
Keywords Driven - 1 
Function gotoGoogleAccount()# 
'Open Gmail# 
SystemUtil.Run "iexplore.exe", "http:// 
www.gmail.com"# 
'Page Sync# 
Browser("Gmail").Page("Gmail").Sync# 
‘Click on create account# 
Browser("Gmail").Page("Gmail").WebLink 
(“Create Account”).Click# 
‘Enter the details# 
End Function# 
! 
Function SubmitToCreate()# 
‘Submit# 
Browser("Gmail").Page("Google 
Accounts").WebButton(“Next 
Step”).click# 
End Function!! 
# 
# 
Function EnterDetails()# 
Browser("Gmail").Page("Google 
Accounts").WebEdit(“First Name”).Set 
“Swati”# 
Browser("Gmail").Page("Google 
Accounts").WebEdit(“Last Name”).Set 
“test”# 
‘Fill in several other details# 
End Function# 
Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-17-test-automation-frameworks/ 26
Keywords Driven - 2 
'Open GMail 
gotoGoogleAccount() 
‘Enter the details 
EnterDetails() 
‘Submit 
SubmitToCreate() 
It helps in achieving readability, modularity and if in case 
another program wants to use the login function, we can surely 
reuse it. 
Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-17-test-automation-frameworks/ 27
Data Driven 
Browser("Gmail: Email from Google").Page("GoogleAccounts").WebEdit("FirstName").Set "swati"# 
Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set "s"# 
Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set 
"test”# 
# 
# 
# 
# 
# 
# 
# 
Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("FirstName").Set 
DataTable("G_First_Name", dtGlobalSheet)# 
Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set 
DataTable("G_Last_Name", dtGlobalSheet)# 
Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set 
DataTable("gmail_address", dtGlobalSheet) ## 
# 
Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-18-data-driven-and-hybrid-frameworks/ 
28
Exercise 
Take any scenario and write an approach (or code) keeping 
Hybrid framework in mind 
http://testoptimizer.com 29
Distributed Test Automation 
Courtesy: http://www.testandtry.com/2009/02/19/distributed-test-automation-infrastructure-plan-1/ 30
Continuous Integration 
31 
Maintain a code repository 
Automate the build 
Make the build self-testing 
Every commit (to baseline) should be built 
Keep the build fast 
Test in a clone of the production environment 
Make it easy to get the latest deliverables 
Everyone can see the results of the latest build 
Run regression test in automated way over night 
Automate deployment 
http://testoptimizer.com
Test Driven Development (TDD) 
Courtesy: http://en.wikipedia.org/wiki/Test-driven_development 32
http://testoptimizer.com 33
What ATDD takes? 
34 
Executable requirements 
Product Owner perspective 
Continuous refactoring 
Tests drive product design 
Automated acceptance tests 
Example: Selenium 
http://testoptimizer.com
Behaviour Driven Development (BDD) 
Courtesy: http://blog.bughuntress.com/automated-testing/automated-testing-with-behavior-driven-testing 35
Behaviour Driven Development 
Courtesy: http://behaviordrivendevelopment.wikispaces.com/Overview 36
BDD in Nutshell 
Courtesy: http://www.hascode.com/2011/05/oh-jbehave-baby-behaviour-driven-development-using-jbehave/ 37
Factors to consider for test automation tool 
Supports 
Distributed 
Execution 
Environment 
http://testoptimizer.com 
Extensible & 
Customizable 
(Open APIs) 
Customizable 
Reporting 
Runs with 
automated 
build over night 
(batches) 
Easy 
Debugging 
& Logging 
Email 
Notifications 
Keywords & 
Data Driven 
Framework 
Take 
Screenshots 
for failed 
testcases 
Multi 
Browser & OS 
Support 
Platform 
Independence 
38
Test Automation Tools – Open Source 
Courtesy: http://www.opensourcetesting.org 
Opensourcetesting.org 
lists many open source 
testing tools 
Functional 129 
Performance 53 
Test management 29 
Unit testing 
Java 72, 
C/C++ 39, 
.Net 20, 
PHP 10 
39
Tools as per Quadrants 
Story tests, Checklists, Mind 
Maps, Flow Diagrams# 
# 
Automation Tools: BDD 
(Fitnesse etc) and UI Tools 
(Selenium etc)# 
Q2 Tools, Monitoring Tools# 
Data Generation tools# 
Exploratory testing tools (Rapid 
Reported, Session Tester)# 
Code Management: SVN, GIT# 
IDE: Eclipse, NetBeans# 
Build/CI: Jenkins, Ant, Maven# 
UT: xUnit, Mocks# 
Loadrunner, Silk Performer,# 
Courtesy: http://www.slideshare.net/AndrewDzynia/effective-testing-in-agile? 
qid=ec8c463b-4b6a-41ea-80c9-064b7b4d5bd1&v=qf1&b=&from_search=6 
Jmeter# 
Profilers# 
# 
Business Facing# 
Supporting the Team# 
Critique Product# 
Technology Facing# 
40
More information about tools 
Tool Type # #WHO # # #URL ## 
BDD # # #Cucumber #http://cukes.info/# 
# 
GUI UT# # #Abbot # #http://abbot.sourceforge.net/doc/overview.shtml# 
GUI UT# # #SWTBot #http://www.eclipse.org/swtbot/# 
GUI UT# # #TestNG# #http://testng.org/doc/index.html# 
# 
UT# # #EasyMock #http://www.easymock.org/# 
UT# # #Junit for Java #http://www.junit.org/## 
UT# # #Nunit for .NET #http://www.nunit.org/# 
UT# # #PyUnit for Python #http://pyunit.sourceforge.net/# 
UT# # #Ruby/Mock#https://www.ruby-toolbox.com/categories/mocking# 
UT# # #Perl and Ruby #http://test-unit.rubyforge.org/# 
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks ## 
http://testoptimizer.com 41
Recent Trends 
Test Automation is possible directly from testcases in Excel 
Test Driven Development is possible without coding or any 
knowledge of programming 
Simplified 
BDD 
Anybody can write/modify Testcases (in plain English) based 
on user stories in Excel 
Anybody can run/execute them by clicking a button 
Ease of 
Use 
No dependency on specific skills or automation engineers. Even 
Management, Business analysts can change/run testcases 
Run testcases on any OS/Browser and its versions 
No 
Dependency 
Smaller Test Cycles 
Low License cost 
Only basic training needed, No learning curve 
Cost 
http://testoptimizer.com 42
TestOptimizer helps you automate Functional and UI Test 
Cases without writing a single line of code 
Business Analyst or 
Testers write testcases 
as usual in Excel or 
spreadsheets 
Testers also write test 
steps to enable 
automation in Excel 
itself 
Install TestOptimizer 
and store test cases 
sheet in defined 
location 
Get screenshots for 
failed testcases and get 
results with pass/fail in 
same Excel 
Choose browsers on 
which you wish to run 
testcases 
Just click on 
TestOptimizer icon to 
execute testcases in 
automated way 
Get test reports in xls 
or html format 
Get email with 
consolidated test 
execution reports 
That’s All !!! 
Automation done !!! 
http://testoptimizer.com 43
Let’s Opcord 
Let’s optimize with coordination 
OpCord Consultancy Services Private Limited, 
2nd Floor, #417, Above People Showroom, 27th Main, Sector -1, HSR Layout, Bangalore – 560102 
Voice: 91 – 9620887298, Email: info@opcord.com, Web: http://opcord.com

More Related Content

What's hot

Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Groupsuwalki24.pl
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 
What is Agile Testing? Edureka
What is Agile Testing? EdurekaWhat is Agile Testing? Edureka
What is Agile Testing? EdurekaEdureka!
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation StrategyMartin Ruddy
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologiesMesut Günes
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLINTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLRahul R Pandya
 

What's hot (20)

Agile testing
Agile testingAgile testing
Agile testing
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Automation testing
Automation testingAutomation testing
Automation testing
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
What is Agile Testing? Edureka
What is Agile Testing? EdurekaWhat is Agile Testing? Edureka
What is Agile Testing? Edureka
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation Strategy
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologies
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLINTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
 

Viewers also liked

Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, InfragisticsScrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, InfragisticsbeITconference
 
Benefits of Industrial automation
Benefits of Industrial automationBenefits of Industrial automation
Benefits of Industrial automationravi2009plc
 
Matt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetMatt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetQA or the Highway
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Fabricio Epaminondas
 
Definition Of Done
Definition Of DoneDefinition Of Done
Definition Of DoneWei Zhu
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsVipul Gupta
 
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)Anand Bagmar
 
Introduction to Agile software testing
Introduction to Agile software testingIntroduction to Agile software testing
Introduction to Agile software testingKMS Technology
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testingpingkapil
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'tsPekka Klärck
 

Viewers also liked (16)

Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, InfragisticsScrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
 
Benefits of Industrial automation
Benefits of Industrial automationBenefits of Industrial automation
Benefits of Industrial automation
 
OpCord's Corporate Presentation
OpCord's  Corporate PresentationOpCord's  Corporate Presentation
OpCord's Corporate Presentation
 
Behavioral Aspects of Coaching
Behavioral Aspects of Coaching Behavioral Aspects of Coaching
Behavioral Aspects of Coaching
 
Brief About TestOptimizer
Brief About TestOptimizerBrief About TestOptimizer
Brief About TestOptimizer
 
Matt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetMatt Eakin - The New Tester Skillset
Matt Eakin - The New Tester Skillset
 
Scrum at Scale
Scrum at ScaleScrum at Scale
Scrum at Scale
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Definition Of Done
Definition Of DoneDefinition Of Done
Definition Of Done
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
 
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
 
Introduction to Agile software testing
Introduction to Agile software testingIntroduction to Agile software testing
Introduction to Agile software testing
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testing
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
 

Similar to Testing in Agile Development

A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...Calidad Infotech
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationMindfire LLC
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software QualityAnand Prabhala
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
 
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...Agile Testing Alliance
 
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Emtec Inc.
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020arzu TR
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams Synerzip
 
Process and methodolgy followed @ Top Guru Assistants
Process and methodolgy followed @ Top Guru AssistantsProcess and methodolgy followed @ Top Guru Assistants
Process and methodolgy followed @ Top Guru AssistantsYatin Kalra (Paul)
 
Adaptive Development Methodology
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development MethodologySteve Greene
 
The quality assurance checklist for progressive testing
The quality assurance checklist for progressive testingThe quality assurance checklist for progressive testing
The quality assurance checklist for progressive testingMaitrikpaida
 
The Quality Assurance Checklist for Progressive Testing
The Quality Assurance Checklist for Progressive TestingThe Quality Assurance Checklist for Progressive Testing
The Quality Assurance Checklist for Progressive TestingCygnet Infotech
 
A Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondA Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondPratik Patel
 
Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2shankar chinn
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryOptimizely
 
Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Guang Ying Yuan
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 

Similar to Testing in Agile Development (20)

A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test Automation
 
Ashish Baraiya
Ashish BaraiyaAshish Baraiya
Ashish Baraiya
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software Quality
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
 
Resume 2 year
Resume  2 yearResume  2 year
Resume 2 year
 
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
Process and methodolgy followed @ Top Guru Assistants
Process and methodolgy followed @ Top Guru AssistantsProcess and methodolgy followed @ Top Guru Assistants
Process and methodolgy followed @ Top Guru Assistants
 
Adaptive Development Methodology
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development Methodology
 
The quality assurance checklist for progressive testing
The quality assurance checklist for progressive testingThe quality assurance checklist for progressive testing
The quality assurance checklist for progressive testing
 
The Quality Assurance Checklist for Progressive Testing
The Quality Assurance Checklist for Progressive TestingThe Quality Assurance Checklist for Progressive Testing
The Quality Assurance Checklist for Progressive Testing
 
A Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondA Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and Beyond
 
Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery
 
Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 

Recently uploaded

Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 

Recently uploaded (20)

Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

Testing in Agile Development

  • 1. Testing in Agile Development Hariprakash Agrawal hariprakash@opcord.com 8th BSPIN Conference on 18-19, September 2014 http://testoptimizer.com
  • 2. About Me An Entrepreneur and Agile Coach ExperienceServices Serving as CEO at OpCord – Software Development, Test Automation, Agile Consulting, Products (RideAlly, TestOptimizer) Agile / Kanban Coach & Trainer (CSM) – Agile Transformations Email: hariprakash@opcord.com 2 Enterprise Agile Coaching & Transformation Building Agile Culture and values Training Scrum, Kanban, XP Implementing SAFe Framework Tools expert: Rally http://testoptimizer.com
  • 4. Agile Manifesto Individuals and interactions over Processes and Tools Working Product over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to change over Following a plan That is, while there is value in the items on the right, we value the items on the left more. Courtesy: www.agilemanifesto.org 4
  • 5. Agile Principles 5 Our highest priority is to satisfy the customer through early and continuous delivery Welcome changing requirements, Agile processes harness change for the customer's competitive advantage. Deliver working product frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working product is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Courtesy: www.agilemanifesto.org
  • 7. Scrum Life Cycle! http://testoptimizer.com 7
  • 8. Agile Testing with Scrum Courtesy: https://www.imbus.de/veranstaltungen/trends-in-testing-2012/ 8
  • 9. Definition of Done is usually a clear and concise list of requirements that a software increment must adhere to, for the team to call it complete checklist of valuable activities required to produce software primary reporting mechanism for team members not static an auditable checklist 9 DoD can be at various levels • for a feature (story or product backlog item) • for a sprint (collection of features developed within a sprint) • for a release (potentially shippable state Courtesy: http://www.scrumalliance.org/community/articles/2008/september/what-is-definition-of-done-%28dod%29
  • 10. Sample Definition of Done User Story Level Code checked-in the integration branch and merged Code review done and comments incorporated (Coding guidelines checked) Automated Unit tests run code coverage tools run Static analysis is at 100% pass rate No open defects unless deferred Product owner demo completed Acceptance criteria met 10 Sprint or Release Level Required user documentation updated No open defects unless deferred Test cases documented, automated and run over night Functional testing is at 100% pass rate (Positive and Negative) Usability guidelines incorporated User-facing story is reviewed by UE designers (where applicable) Product owner demo completed Acceptance criteria met http://testoptimizer.com
  • 11. Extreme Programming! User Stories Release Planning Sprint Planning On Site Customer Pair Programming Test-first Design Refactoring Continuous Integration Collective Ownership Coding Standard 40 hour week Courtesy: http://xprogramming.com/what-is-extreme-programming/ 11
  • 12. Agile testing is a software testing practice that follows the principles of agile software development# – involves all members of a cross-functional agile team# – with special expertise contributed by testers# – to ensure delivering the business value desired at frequent intervals# – working at a sustainable pace # – specification by example is used to capture examples of desired and undesired behavior and guide coding.# – not a separate phase, but an integral part of software development, along with coding# – "whole-team" approach to "baking quality in" to the software product# – testing and coding are done incrementally and iteratively# – covers all types of testing# Courtesy: http://en.wikipedia.org/wiki/Agile_testing 12
  • 13. Traditional Vs. Agile Testing Courtesy: http://www.agilecoachjournal.com/index.php/2014-01-28/testing-2/the-agile-testing-pyramid/ 13
  • 14. Principles of Agile Testing Testing moves the project forward Testing is NOT a Phase Everybody Tests Reduce feedback latency – Agile teams test early and often Test represent expectations Bugs don’t hang around – Keep code clean & Fix bugs fast Reduce test documentation overhead Tested is part of “Done” From test last to test driven Courtesy: http://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf 14
  • 15. Practices of Agile Testing Automated Unit/Integration Tests Continuous Integration Test Driven Development Automated System Level Regression Tests Acceptance Test Driven Development Behavior Driven Development Exploratory Testing Courtesy: http://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf 15
  • 16. 7 deadly sins of Agile Testing Separate QA Team Water scrumming Lack of TDD and CI Testing is one Sprint behind Courtesy: http://properosolutions.com/2011/03/the-seven-deadly-sins-of-agile-testing/ Coding Unbalanced Testing Quadrants Ignoring Test Failures Requirements and Tests are Separate 16
  • 17. Exercise Predict the quadrants http://testoptimizer.com Business Facing# Q2# Q3# Q1# Q4# # Supporting the Team# Critique Product# Technology Facing# 17
  • 18. Agile Testing Quadrants Courtesy: http://swansegarconsulting.com/learn-agile/agile-roles-titles/quality-assurance-control/ 18
  • 19. Have we decided to automate tests? http://testoptimizer.com 19
  • 20. Why Automate Tests? http://testoptimizer.com 20
  • 21. Test Automation is the use of special software to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Code-driven testing The public (usually) interfaces to classes, modules or libraries are tested with a variety of input arguments to validate that the results that are returned are correct. Graphical user interface testing Generates user interface events such as keystrokes and mouse clicks, and observes the changes that result in the user interface, to validate that the observable behavior of the program is correct. API driven testing Uses programming interface of the application to validate, the behaviour under test. Typically API driven testing bypasses application user interface altogether. Courtesy: http://en.wikipedia.org/wiki/Test_automation 21
  • 22. Test Automation Life Cycle - 1 Courtesy: http://www.nordixsoft.com/AutomatedTesting/AutomationMethodlogy/ 22
  • 23. Test Automation Life Cycle - 2 Courtesy: http://geek4eva.com/2009/08/28/test-automation-and-roi/ 23
  • 24. Types of Automation Frameworks Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-17-test-automation-frameworks/ 24
  • 25. Linear Framework Verify the creation of a new account in gmail! # Steps are:# # a) Open gmail.com b) Click on ‘Create Account’ c) Enter the details d) Verify the details e) Create the account# # # 1 'Open GMail# 2 SystemUtil.Run "iexplore.exe", "http://www.gmail.com”# 3 'Page Sync# 4 Browser("Gmail").Page("Gmail").Sync# 5 ‘Click on create account# 6 Browser("Gmail").Page("Gmail").WebLink(“Create Account”).Click# 7 ‘Enter the details# 8 Browser("Gmail").Page("Google Accounts").WebEdit(“First Name”).Set “Swati”# 9 Browser("Gmail").Page("Google Accounts").WebEdit(“Last Name”).Set “test”# 10 ‘Fill in several other details# 11 ‘Submit# 12 Browser("Gmail").Page("Google Accounts").WebButton(“Next Step”).click# Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-17-test-automation-frameworks/ 25
  • 26. Keywords Driven - 1 Function gotoGoogleAccount()# 'Open Gmail# SystemUtil.Run "iexplore.exe", "http:// www.gmail.com"# 'Page Sync# Browser("Gmail").Page("Gmail").Sync# ‘Click on create account# Browser("Gmail").Page("Gmail").WebLink (“Create Account”).Click# ‘Enter the details# End Function# ! Function SubmitToCreate()# ‘Submit# Browser("Gmail").Page("Google Accounts").WebButton(“Next Step”).click# End Function!! # # Function EnterDetails()# Browser("Gmail").Page("Google Accounts").WebEdit(“First Name”).Set “Swati”# Browser("Gmail").Page("Google Accounts").WebEdit(“Last Name”).Set “test”# ‘Fill in several other details# End Function# Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-17-test-automation-frameworks/ 26
  • 27. Keywords Driven - 2 'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate() It helps in achieving readability, modularity and if in case another program wants to use the login function, we can surely reuse it. Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-17-test-automation-frameworks/ 27
  • 28. Data Driven Browser("Gmail: Email from Google").Page("GoogleAccounts").WebEdit("FirstName").Set "swati"# Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set "s"# Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set "test”# # # # # # # # Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("FirstName").Set DataTable("G_First_Name", dtGlobalSheet)# Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set DataTable("G_Last_Name", dtGlobalSheet)# Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set DataTable("gmail_address", dtGlobalSheet) ## # Courtesy: http://www.softwaretestinghelp.com/qtp-tutorial-18-data-driven-and-hybrid-frameworks/ 28
  • 29. Exercise Take any scenario and write an approach (or code) keeping Hybrid framework in mind http://testoptimizer.com 29
  • 30. Distributed Test Automation Courtesy: http://www.testandtry.com/2009/02/19/distributed-test-automation-infrastructure-plan-1/ 30
  • 31. Continuous Integration 31 Maintain a code repository Automate the build Make the build self-testing Every commit (to baseline) should be built Keep the build fast Test in a clone of the production environment Make it easy to get the latest deliverables Everyone can see the results of the latest build Run regression test in automated way over night Automate deployment http://testoptimizer.com
  • 32. Test Driven Development (TDD) Courtesy: http://en.wikipedia.org/wiki/Test-driven_development 32
  • 34. What ATDD takes? 34 Executable requirements Product Owner perspective Continuous refactoring Tests drive product design Automated acceptance tests Example: Selenium http://testoptimizer.com
  • 35. Behaviour Driven Development (BDD) Courtesy: http://blog.bughuntress.com/automated-testing/automated-testing-with-behavior-driven-testing 35
  • 36. Behaviour Driven Development Courtesy: http://behaviordrivendevelopment.wikispaces.com/Overview 36
  • 37. BDD in Nutshell Courtesy: http://www.hascode.com/2011/05/oh-jbehave-baby-behaviour-driven-development-using-jbehave/ 37
  • 38. Factors to consider for test automation tool Supports Distributed Execution Environment http://testoptimizer.com Extensible & Customizable (Open APIs) Customizable Reporting Runs with automated build over night (batches) Easy Debugging & Logging Email Notifications Keywords & Data Driven Framework Take Screenshots for failed testcases Multi Browser & OS Support Platform Independence 38
  • 39. Test Automation Tools – Open Source Courtesy: http://www.opensourcetesting.org Opensourcetesting.org lists many open source testing tools Functional 129 Performance 53 Test management 29 Unit testing Java 72, C/C++ 39, .Net 20, PHP 10 39
  • 40. Tools as per Quadrants Story tests, Checklists, Mind Maps, Flow Diagrams# # Automation Tools: BDD (Fitnesse etc) and UI Tools (Selenium etc)# Q2 Tools, Monitoring Tools# Data Generation tools# Exploratory testing tools (Rapid Reported, Session Tester)# Code Management: SVN, GIT# IDE: Eclipse, NetBeans# Build/CI: Jenkins, Ant, Maven# UT: xUnit, Mocks# Loadrunner, Silk Performer,# Courtesy: http://www.slideshare.net/AndrewDzynia/effective-testing-in-agile? qid=ec8c463b-4b6a-41ea-80c9-064b7b4d5bd1&v=qf1&b=&from_search=6 Jmeter# Profilers# # Business Facing# Supporting the Team# Critique Product# Technology Facing# 40
  • 41. More information about tools Tool Type # #WHO # # #URL ## BDD # # #Cucumber #http://cukes.info/# # GUI UT# # #Abbot # #http://abbot.sourceforge.net/doc/overview.shtml# GUI UT# # #SWTBot #http://www.eclipse.org/swtbot/# GUI UT# # #TestNG# #http://testng.org/doc/index.html# # UT# # #EasyMock #http://www.easymock.org/# UT# # #Junit for Java #http://www.junit.org/## UT# # #Nunit for .NET #http://www.nunit.org/# UT# # #PyUnit for Python #http://pyunit.sourceforge.net/# UT# # #Ruby/Mock#https://www.ruby-toolbox.com/categories/mocking# UT# # #Perl and Ruby #http://test-unit.rubyforge.org/# http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks ## http://testoptimizer.com 41
  • 42. Recent Trends Test Automation is possible directly from testcases in Excel Test Driven Development is possible without coding or any knowledge of programming Simplified BDD Anybody can write/modify Testcases (in plain English) based on user stories in Excel Anybody can run/execute them by clicking a button Ease of Use No dependency on specific skills or automation engineers. Even Management, Business analysts can change/run testcases Run testcases on any OS/Browser and its versions No Dependency Smaller Test Cycles Low License cost Only basic training needed, No learning curve Cost http://testoptimizer.com 42
  • 43. TestOptimizer helps you automate Functional and UI Test Cases without writing a single line of code Business Analyst or Testers write testcases as usual in Excel or spreadsheets Testers also write test steps to enable automation in Excel itself Install TestOptimizer and store test cases sheet in defined location Get screenshots for failed testcases and get results with pass/fail in same Excel Choose browsers on which you wish to run testcases Just click on TestOptimizer icon to execute testcases in automated way Get test reports in xls or html format Get email with consolidated test execution reports That’s All !!! Automation done !!! http://testoptimizer.com 43
  • 44. Let’s Opcord Let’s optimize with coordination OpCord Consultancy Services Private Limited, 2nd Floor, #417, Above People Showroom, 27th Main, Sector -1, HSR Layout, Bangalore – 560102 Voice: 91 – 9620887298, Email: info@opcord.com, Web: http://opcord.com