SUSTAINABLE TEST AUTOMATION: COLLABORATE WITHIN TEAM
Presented by Berk Dülger
© All rights reserved
Agenda
2
• Challenges in Test Automation
• Risk Management
• Test Script Maintenance
• Automation and Manual Testing
• Test Automation Pyramid
• Roles in Test Automation
• Three Layer Test Architecture + BDD
© All rights reserved
Challenges in Test Automation
3
Business Know-How Asymmetry
Changing Requirements
Improper Risk Management
Tool Dependence
Insufficient Time
Untestable Code
© All rights reserved
Test Automation Anti-Patterns
Problematic Data Management
Monolithic Applications
Technical Debt
Over Expectations
Unclear Duties
Motivation behind Test Automation
4
Ultimate Goal of Test Automation
is to prove quality of software
© All rights reserved
Risk Management
5
Learn RISK Management
IDENTIFY, ASSESS and MITIGATE RISKS
Be Friend of P-I Tables
© All rights reserved
Test Script Maintenance
6
More cases you develop, more maintenance effort you face
Soon or later, Logistics Curve will be here
Get rid of old test cases
© All rights reserved
Automation and Manual Testing
7
%80 of Customer Usage arises from
%20 Functionality, Pareto Principle
No need to automate all of your test cases
Manual testing is strongly advised -and alsorequired- for less frequently run cases
© All rights reserved
Test Automation Pyramid
8
Software Testing
Ice-Cone Anti-Pattern
vs
Ideal Software Testing Pyramid
© All rights reserved
www.thoughtworks.com/insights/blog/architecting-continuous-delivery
Roles in Test Automation
9
Test Automation, like other CI/CD activities, is extremely
CROSS-DISCIPLINARY and require different skill and mind-set.
Make everyone in the team involved in the process, 3-Amigos
• Analyst
• Developer
• Tester
© All rights reserved
Behavior Driven Development
10
BDD focuses on obtaining a clear understanding of desired software behavior through discussion with stakeholders.
© All rights reserved
Martin Fowler’s Business Readable, Domain Specific Language
Blog Post
Scenario: Refunded items should be returned to stock Given a customer bought a black sweaterand currently have three black sweaters left in stock When he returns the sweater Then I should have four black sweaters in stock
Three Layer Architecture and BDD
11 © All rights reserved
Acceptance Test / BDD Layer
Implementation / Page Layer
Utility / Framework Layer
Application under Test
Three Layer Architecture and BDD
12
TEST ARCHITECT is responsible for FRAMEWORK LAYER, which provides utility functions to upper layers. It is heavily one-time effort, and not addressed in the project iterations.
DEVELOPERS within projects/sprints is responsible for PAGE LAYER, provide keywords for upper/bdd layer. Model the page behavior.
© All rights reserved
Three Layer Architecture and BDD
13 © All rights reserved
Acceptance Test / BDD Layer
Implementation / Page Layer
Utility / Framework Layer
Application under Test
Three Layer Architecture and BDD
14
TESTERS are responsible for TEST LAYER, which is better to be BDD, to create business value to each stakeholder. Design and execute test cases.
ANALYSTS are responsible for detailed and correct acceptance-criteria preparation BDD Scripts base on.
© All rights reserved
Make it Everyone’s Job
15
Researches show that more than %90 of the test effort wasted in maintenance.
Also %50 of the maintenance effort caused by changed object identifiers. Other %50 is rooted in test data.
LET’S MAKE IT EVERYONE’S JOB IN THE TEAM. NOT ONLY DEVELOPER or TESTERS
© All rights reserved
Bonus – Data Virtualization
16
Learn more about Data Virtualization. It makes test data management much easier.
© All rights reserved
With a data virtualization tool, the non-production environments are virtual
database clones. An added advantage here is that if the data in any
environment is corrupted – let’s say after a round of testing- it is very easy
to revert the data back to original state.
THANK YOU
Presented by Berk Dülger
© All rights reserved
Top Related