SlideShare a Scribd company logo
1 of 36
Download to read offline
Injecting Acceptance TDD
or
why Test Automator Role
is DEAD
@adzynia
Saturday, October 12, 13
Test Engineer / Consultant /
Trainer
@adzynia
adzynia.com
ANDRII DZYNIA
Saturday, October 12, 13
Scrum Team
4 Developers
Tester
Test Automator
Business Analyst
Scrum Master
Saturday, October 12, 13
The Flow
Saturday, October 12, 13
The Flow
Saturday, October 12, 13
The Flow
Saturday, October 12, 13
To Do In Development Code Review Testing Demo
	
  User	
  
Story
	
  User	
  
Story
	
  User	
  
Story
	
  User	
  
Story
	
  User	
  
Story
	
  User	
  
Story
	
  User	
  
Story
2 Days Before Demo
Saturday, October 12, 13
Daily problems
There is no ID how I can catch the element
How I can test that?
How do you want me to show this on demo?
This is not what business initially wanted
Saturday, October 12, 13
Hidden problems
Acceptance Tests desynchronize with
development
Test automator is yesterday tester,
CODING skills are not identical to
programmer’s
Developers do not own acceptance
tests, "it's not our job"
Saturday, October 12, 13
Let’s try Acceptance TDD
Test-first, not test-after
Saturday, October 12, 13
BA Dev Tester
User
Story
Saturday, October 12, 13
BA Dev Tester
User
Story
Saturday, October 12, 13
BA Dev Tester
User
Story
Saturday, October 12, 13
BA Dev Tester
User
Story
Saturday, October 12, 13
BA Dev Tester
User
Story
Saturday, October 12, 13
BA Dev Tester
User
Story
Saturday, October 12, 13
BA Dev Tester
User
Story
Saturday, October 12, 13
BA Dev Tester
User
Story
Saturday, October 12, 13
Acceptance Scenarios
Testing Checklist
Testability Tasks
Outcome
Saturday, October 12, 13
Saturday, October 12, 13
Saturday, October 12, 13
Step 1
test automators to automate tests
in parallel with development
HAVE more discussion
on user story
Saturday, October 12, 13
New Problems
Requirements are not clear enough
Developers do not own acceptance tests
Test Automator fixing tests all the time
Saturday, October 12, 13
STEP 2
Make internal Acceptance TDD training
Prepare detailed description of the process
Explain how it should be to everyone
Saturday, October 12, 13
CORE Problem
Work as Acceptance TDD is hard
if you never tried TDD (test-first)
Saturday, October 12, 13
Step 3
Deep into and make hands dirty 
Implement feature in pair with
developers
Minimize test scenarios on UI layer
Saturday, October 12, 13
We remove test automator role
... And yes
Saturday, October 12, 13
Developer’s Excuses
Acceptance tests are slow 
(write small tests, cover as much as possible on layers below UI, cover on
UI at least positive cases that you are going to show on demo)
Writing tests required switching context
(Import acceptance test project into the same workspace, start application
implementation from Acceptance Test)
Tests are failing because of timeouts
(learn web driver deeper, hire web driver expert to the team to coach
people and adapting your framework, use JS calls) 
I do not have IE on my Laptop
(run tests under IE just on server, to debug configure remote web driver)
I do not want to wait until it finished
(make tests smaller, use web services as preconditions and post
conditions. Use HTTP request call if you do not have web service, minimize
tests on UI)
Requirements are not clear enough
(how could you start writing code if you do not understand the goal????)
Saturday, October 12, 13
Test Automaton Facts
Software developers are know
better to test something on layer
below and can do it during
implementation
Test Automator role rise from people who
was trying to automate manual testing
Saturday, October 12, 13
What Test Automators
do now?
Support injection of Acceptance TDD
Maintaining Acceptance Testing Framework
Helping to define testability spikes
Moving UI checks on lower layers
Saturday, October 12, 13
Test Automator
==
Software Developer
Saturday, October 12, 13
Test Automator
==
Software Developer
(in Test)
Saturday, October 12, 13
Lessons Learned
Define a test strategy
Make you hands duty 
Listen to the people
Pitch - not sell
Better to show rather than pitch
Saturday, October 12, 13
Test Automator role is
an excuse for developers
not to do
test Automation 
Saturday, October 12, 13
@adzynia
adzynia.com
Email:
me@adzynia.com
Saturday, October 12, 13
To Read
Saturday, October 12, 13

More Related Content

More from Andrii Dzynia

Quality Built In @ Spotify
Quality Built In @ SpotifyQuality Built In @ Spotify
Quality Built In @ SpotifyAndrii Dzynia
 
How to Manage Testing in Dynamic World
How to Manage Testing in Dynamic WorldHow to Manage Testing in Dynamic World
How to Manage Testing in Dynamic WorldAndrii Dzynia
 
10 правил agile тестировщика IT-Brunch
10 правил agile тестировщика IT-Brunch10 правил agile тестировщика IT-Brunch
10 правил agile тестировщика IT-BrunchAndrii Dzynia
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationAndrii Dzynia
 
«Самоорганизуй» себя, пока не «самоорганизовали» тебя
«Самоорганизуй» себя, пока не «самоорганизовали» тебя«Самоорганизуй» себя, пока не «самоорганизовали» тебя
«Самоорганизуй» себя, пока не «самоорганизовали» тебяAndrii Dzynia
 
Как не нужно писать Gherkin сценарии
Как не нужно писать Gherkin сценарииКак не нужно писать Gherkin сценарии
Как не нужно писать Gherkin сценарииAndrii Dzynia
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationAndrii Dzynia
 
10 правил Agile тестировщика
10 правил Agile тестировщика10 правил Agile тестировщика
10 правил Agile тестировщикаAndrii Dzynia
 
Что такое Exploratory Testing?
Что такое Exploratory Testing?Что такое Exploratory Testing?
Что такое Exploratory Testing?Andrii Dzynia
 
Software testing 2.0
Software testing 2.0Software testing 2.0
Software testing 2.0Andrii Dzynia
 
Тестировщики Vs Программисты
Тестировщики Vs ПрограммистыТестировщики Vs Программисты
Тестировщики Vs ПрограммистыAndrii Dzynia
 
Testing Dojo Kyiv - Testing Heuristics
Testing Dojo Kyiv - Testing HeuristicsTesting Dojo Kyiv - Testing Heuristics
Testing Dojo Kyiv - Testing HeuristicsAndrii Dzynia
 
Основы Self Management v. 2
Основы Self Management v. 2Основы Self Management v. 2
Основы Self Management v. 2Andrii Dzynia
 
Мастер Пустого Инбокса
Мастер Пустого ИнбоксаМастер Пустого Инбокса
Мастер Пустого ИнбоксаAndrii Dzynia
 
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийИнфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийAndrii Dzynia
 
Виртуализация и Автоматизация Тестирования Мобильных Приложений
Виртуализация и Автоматизация Тестирования Мобильных ПриложенийВиртуализация и Автоматизация Тестирования Мобильных Приложений
Виртуализация и Автоматизация Тестирования Мобильных ПриложенийAndrii Dzynia
 
Инструменты Личной Эффективности
Инструменты Личной ЭффективностиИнструменты Личной Эффективности
Инструменты Личной ЭффективностиAndrii Dzynia
 
The Basics of Self Management
The Basics of Self ManagementThe Basics of Self Management
The Basics of Self ManagementAndrii Dzynia
 

More from Andrii Dzynia (20)

Quality Built In @ Spotify
Quality Built In @ SpotifyQuality Built In @ Spotify
Quality Built In @ Spotify
 
How to Manage Testing in Dynamic World
How to Manage Testing in Dynamic WorldHow to Manage Testing in Dynamic World
How to Manage Testing in Dynamic World
 
ExtJS WebDriver
ExtJS WebDriverExtJS WebDriver
ExtJS WebDriver
 
10 правил agile тестировщика IT-Brunch
10 правил agile тестировщика IT-Brunch10 правил agile тестировщика IT-Brunch
10 правил agile тестировщика IT-Brunch
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive Documentation
 
«Самоорганизуй» себя, пока не «самоорганизовали» тебя
«Самоорганизуй» себя, пока не «самоорганизовали» тебя«Самоорганизуй» себя, пока не «самоорганизовали» тебя
«Самоорганизуй» себя, пока не «самоорганизовали» тебя
 
Как не нужно писать Gherkin сценарии
Как не нужно писать Gherkin сценарииКак не нужно писать Gherkin сценарии
Как не нужно писать Gherkin сценарии
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
 
10 правил Agile тестировщика
10 правил Agile тестировщика10 правил Agile тестировщика
10 правил Agile тестировщика
 
Что такое Exploratory Testing?
Что такое Exploratory Testing?Что такое Exploratory Testing?
Что такое Exploratory Testing?
 
Software testing 2.0
Software testing 2.0Software testing 2.0
Software testing 2.0
 
Тестировщики Vs Программисты
Тестировщики Vs ПрограммистыТестировщики Vs Программисты
Тестировщики Vs Программисты
 
Testing Dojo Kyiv - Testing Heuristics
Testing Dojo Kyiv - Testing HeuristicsTesting Dojo Kyiv - Testing Heuristics
Testing Dojo Kyiv - Testing Heuristics
 
Основы Self Management v. 2
Основы Self Management v. 2Основы Self Management v. 2
Основы Self Management v. 2
 
Mobile Automation
Mobile AutomationMobile Automation
Mobile Automation
 
Мастер Пустого Инбокса
Мастер Пустого ИнбоксаМастер Пустого Инбокса
Мастер Пустого Инбокса
 
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийИнфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
 
Виртуализация и Автоматизация Тестирования Мобильных Приложений
Виртуализация и Автоматизация Тестирования Мобильных ПриложенийВиртуализация и Автоматизация Тестирования Мобильных Приложений
Виртуализация и Автоматизация Тестирования Мобильных Приложений
 
Инструменты Личной Эффективности
Инструменты Личной ЭффективностиИнструменты Личной Эффективности
Инструменты Личной Эффективности
 
The Basics of Self Management
The Basics of Self ManagementThe Basics of Self Management
The Basics of Self Management
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Injecting Acceptance TDD