SUSTAINABLE TEST
AUTOMATION
COLLABORATE
WITHIN TEAM
Berk DUlger
SQA Days 2017, St. Petersburg
BusinessKnow-How Asymmetry
Changing Requirements
ImproperRisk Management
Tool Dependence
Insufficient Time
UntestableCode
Test AutomationAnti-Patterns
Problematic Data Management
Monolithic Applications
Technical Debt
Over Expectations
Unclear Duties
Challenges
in
Test Automation
Any Test Automation ACTIVITY should address
Manual Testing Efforts
Long feedback times
Operatıonal Blındness
Error-Prone Actıvıtıes
We need to make test automation
SUSTAINABLE
Sustainable success
requires both
bottom-up practices
and top-down
management support
Handle Test automatıon As an Actıvıty
Make part of Definition of Done
It’s not Reasonable to automate everything
Manualtesting is strongly advised andALSO
required for SOMETest Level/types
Learn RISK MANAGEment
IDENTIFY, ASSESS and MITIGATE RISKS
Be Friend of P-I Tables
%80 of Customer Usage arises from
%20 Functionality, Pareto Prınciple
No need to automateAll of Your Test CaseS
More cases you develop, More Maıntenance
effort you face
Soon or Later, Logistics curve will be here
Get rid of old test cases
Continuous Testing E-commerce Case Study
InflectionPoint
2-3TestCasesperMan/Day
NearlyNoMaintanceEffort
3-5TestCasesperMan/Day
LessMaintance Effort (%20)
2-3TestCasesperMan/Day
ModerateMaintanceEffort (%70)
3 TestCasesperMan/Day
ModerateMaintanceEffort (%50)
~1TestCasesper Man/Day
HeavyMaintanceEffort (%90)
Basedon metricsfrom 14 consultancyprojects
Test Automation BEST Practices
Software Testıng Ice-Cone Antı-Pattern
vs
Ideal Software testıng pyramıd
IMAGE, www.thoughtworks.com/insights/blog/architecting-continuous-delivery
Four Design Techniques for Successful
Test Automation Data Management
A typical maturity level of data management for test
automationprocess is outlinedhere;
FullyIntegrated Test Data
PartiallyIndependentTest Data
StoringTest Datainan External Source
DynamicTest Data Management (MicroServices, GUI ?)
EMBRACE MICROServıces
At Least Services
ımage https://martinfowler.com/articles/microservices
Learn more about Data Virtualization
It makes test data management easier
An added advantage here is thatif the data in any environmentis
corrupted – let’s say after a round of testing- it is very easy to
revert the data back to original state.
Make Test Automation, Backbone of the CI/CD Pipeline
Test Automation,
like other CI/CD
activities,is
extremely
CROSS-DISCIPLINARY
And require
different
skill and mind-set
MAKEEveryoneintheTeam
InvolvedintheProcess,
3-Amigos
Analyst
Developer
Tester
BDDfocuses on obtaining
a clear understandingof
desiredsoftware
behaviorthrough
discussion with
stakeholders.
Martin Fowler’s Business Readable, Domain Specific
Language Blog Post
Another crucial point is to provide an
abstraction layer between automation
tool and test sUite.
Selenium, Sahi, UFT, Coded UI
whatever tool underlying
should not be concern
for automator
Three LayerArchitecture andBDD
A Test Architect is responsiblefor
FRAMEWORK LAYER, whichprovides
utility functionsto upper layers
It is heavily one-timeeffort, and not
addressedin the project iterations
DEVELOPERS within
projects/sprints is
responsible for PAGE
LAYER, provide
keywords for
upper/bdd layer.
Testers are responsiblefor TEST LAYER, which is
Better To BE BDD, to create business value to each
stakeholder
Analystsare responsible for detailedand
correct acceptance-criteria thatBDD Scripts
base on
ALSO %50 of THE MAINTENANCEEFFORTCOMES
FROM CHANgING OBJECT IDENTIFIERS
LET’S MAKEIT EVERYONE’SJOB IN THE TEAM
NOT ONLY SOMEONe
Спасибо
berk.dulger@keytorc.com
berkdulger.github.io
www.linkedin.com/in/berkdulger

Sustainable Test Automation: Collaborate within Team