SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
9.3.2018© Qentinel Group 1PUBLIC
Writing Readable Test Automation
Qentinel Automation Clinic 1.3.2018
Pekka Kiviniemi
9.3.2018© Qentinel Group 2PUBLIC
Agenda
• Why keyword driven test automation
• Problems with keywords
• Pace way
• Pace benefits
9.3.2018© Qentinel Group 3PUBLIC
Test automation in developer style, -28%
driver = webdriver.Chrome()
driver.get(loc.postcode_url)
assert "Posti" in driver.title
elem = driver.find_element_by_name("streetname")
elem.clear()
elem.send_keys("Bertel Jungin aukio")
elem = driver.find_element_by_name("postcodeorcommune")
elem.clear()
elem.send_keys("Espoo")
elem.send_keys(Keys.RETURN)
assert "02600" in driver.page_source
driver.close()
9.3.2018© Qentinel Group 4PUBLIC
Same test with RF keywords style, +31%
Open browser to postnumber page
Input street Bertel Jungin aukio
Input city Espoo
Submit address
Verify postnumber 01500
9.3.2018© Qentinel Group 5PUBLIC
Claim: “Keyword driven TA benefits”
1. Easy to read by stakeholders
2. Test cases are easy to modify
3. Keyword re-use across multiple test cases
4. If SUT changes, fixing one keyword fixes it everywhere
5. Domain experts can write test cases without coding skills
6. Programmers can write keywords without domain expertise
9.3.2018© Qentinel Group 6PUBLIC
Refute #1: Practical issues in real life
• RF keywords hide complexity inside
• What does a RF keyword exactly do?
• Keywords are code and may contain bugs
• Keyword developers want to avoid repetition
• RF keywords may contain other keywords inside
• Debugging RF keywords may take a long time
9.3.2018© Qentinel Group 7PUBLIC
Refute #2: Test cases are easy to modify
• Testing new functionality requires new keywords
• Complex keywords are not easy to modify
• Developers cannot work with many keywords (> 100)
• Resulting duplicate keywords
9.3.2018© Qentinel Group 8PUBLIC
Refute #3: keyword re-use
Postnumber
• Open browser to postcode page
• Input street Bertel Jungin aukio
• Input city Espoo
• Submit address
• Verify postnumber 02600
Tracking number
• Open browser to Posti page
• Input ShipmentId 1234567
• Submit ShipmentId
• Verify shipments found 1
• Verify destination Helsinki
9.3.2018© Qentinel Group 9PUBLIC
Pace keywords: replicate one user action
• ClickText
• TypeText
• Verify
• Dropdown
• Checkbox
• Appstate
9.3.2018© Qentinel Group 10PUBLIC
9.3.2018© Qentinel Group 11PUBLIC
Pace keyword based test automation
Test Post Code
Appstate posti main page
ClickText Post Code Search
TypeText Street Bertel Jungin aukio
TypeText Munincipality Espoo
ClickText Search
VerifyText 02600
Test Shipment ID
Appstate posti main page
ClickText Item tracking
TypeText shipmentid 1234567
ClickText Search
VerifyText 1 shipments found
VerifyText Destination: Helsinki
9.3.2018© Qentinel Group 12PUBLIC
Pace TA benefits: maintenance
Test
maintenance
New test
creation
Test
maintenance
New test
creation
Traditional method Pace method
9.3.2018© Qentinel Group 13PUBLIC
Summary
• Everybody can read what a test does
• Anybody can edit a test or create a new one
• Less maintenance
• Easier testlogs
9.3.2018© Qentinel Group 14PUBLIC
“Simplicity is a great virtue but it
requires hard work to achieve it and
education to appreciate it. And to make
matters worse: complexity sells better.”
―Edsger Dijkstra
9.3.2018© Qentinel Group 15PUBLIC
Pekka.Kiviniemi@Qentinel.com

Mais conteúdo relacionado

Semelhante a Writing Readable Test Automation - Qentinel Automation Clinic 1.3.2018

Codeless Web testing: a keyword-driven example with Excel
Codeless Web testing: a keyword-driven example with ExcelCodeless Web testing: a keyword-driven example with Excel
Codeless Web testing: a keyword-driven example with ExcelMaveryx
 
MATRIX - Maximizing Automated Testing for Retail Industry eXcellence
MATRIX - Maximizing Automated Testing for Retail Industry eXcellenceMATRIX - Maximizing Automated Testing for Retail Industry eXcellence
MATRIX - Maximizing Automated Testing for Retail Industry eXcellenceDivya Madaan
 
MATRIX - Maximizing Automated Testing for Retail Industry eXcellence
MATRIX - Maximizing Automated Testing for Retail Industry eXcellenceMATRIX - Maximizing Automated Testing for Retail Industry eXcellence
MATRIX - Maximizing Automated Testing for Retail Industry eXcellenceDivya Madaan
 
qTest 7.4: New Features
qTest 7.4: New FeaturesqTest 7.4: New Features
qTest 7.4: New FeaturesQASymphony
 
How to easily design and automate test cases.pdf
How to easily design and automate test cases.pdfHow to easily design and automate test cases.pdf
How to easily design and automate test cases.pdfMaveryx
 
Cloud Testing with Browser & Web Service using test injection technique
Cloud Testing with Browser & Web Service using test injection techniqueCloud Testing with Browser & Web Service using test injection technique
Cloud Testing with Browser & Web Service using test injection techniqueCloudtest Software
 
Evolution of Test Automation
Evolution of Test AutomationEvolution of Test Automation
Evolution of Test AutomationDharmik Rajput
 
Anshika Sinha_CV 16Dec2015
Anshika Sinha_CV 16Dec2015Anshika Sinha_CV 16Dec2015
Anshika Sinha_CV 16Dec2015Anshika Sinha
 
Stay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveStay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveJosiah Renaudin
 
Delivering react app with confidence: Testing Pyramid
Delivering react app with confidence: Testing PyramidDelivering react app with confidence: Testing Pyramid
Delivering react app with confidence: Testing PyramidSeven Peaks Speaks
 
Ground Technology Services - KeyLAB case study
Ground Technology Services - KeyLAB case studyGround Technology Services - KeyLAB case study
Ground Technology Services - KeyLAB case studyKeynetix
 
The Pothole of Automating Too Much
The Pothole of Automating Too MuchThe Pothole of Automating Too Much
The Pothole of Automating Too MuchTechWell
 
Dhivakar_nagarajan_Automation_testing
Dhivakar_nagarajan_Automation_testingDhivakar_nagarajan_Automation_testing
Dhivakar_nagarajan_Automation_testingdhivakar nagarajan
 
Getting Started with Server-Side Testing
Getting Started with Server-Side TestingGetting Started with Server-Side Testing
Getting Started with Server-Side TestingOptimizely
 
CV_HoangThanhDanThuy_Tester
CV_HoangThanhDanThuy_TesterCV_HoangThanhDanThuy_Tester
CV_HoangThanhDanThuy_TesterThuy Hoang
 
Neha' Resume_Testing Engineer_2 5 years of experience
Neha' Resume_Testing Engineer_2 5 years of experienceNeha' Resume_Testing Engineer_2 5 years of experience
Neha' Resume_Testing Engineer_2 5 years of experienceNeha Singla
 

Semelhante a Writing Readable Test Automation - Qentinel Automation Clinic 1.3.2018 (20)

Codeless Web testing: a keyword-driven example with Excel
Codeless Web testing: a keyword-driven example with ExcelCodeless Web testing: a keyword-driven example with Excel
Codeless Web testing: a keyword-driven example with Excel
 
MATRIX - Maximizing Automated Testing for Retail Industry eXcellence
MATRIX - Maximizing Automated Testing for Retail Industry eXcellenceMATRIX - Maximizing Automated Testing for Retail Industry eXcellence
MATRIX - Maximizing Automated Testing for Retail Industry eXcellence
 
MATRIX - Maximizing Automated Testing for Retail Industry eXcellence
MATRIX - Maximizing Automated Testing for Retail Industry eXcellenceMATRIX - Maximizing Automated Testing for Retail Industry eXcellence
MATRIX - Maximizing Automated Testing for Retail Industry eXcellence
 
qTest 7.4: New Features
qTest 7.4: New FeaturesqTest 7.4: New Features
qTest 7.4: New Features
 
How to easily design and automate test cases.pdf
How to easily design and automate test cases.pdfHow to easily design and automate test cases.pdf
How to easily design and automate test cases.pdf
 
Cloud Testing with Browser & Web Service using test injection technique
Cloud Testing with Browser & Web Service using test injection techniqueCloud Testing with Browser & Web Service using test injection technique
Cloud Testing with Browser & Web Service using test injection technique
 
Evolution of Test Automation
Evolution of Test AutomationEvolution of Test Automation
Evolution of Test Automation
 
STF 2015: Emerasoft presenta tre casi d'uso internazionali
STF 2015: Emerasoft presenta tre casi d'uso internazionaliSTF 2015: Emerasoft presenta tre casi d'uso internazionali
STF 2015: Emerasoft presenta tre casi d'uso internazionali
 
Eka testodyssey
Eka testodysseyEka testodyssey
Eka testodyssey
 
Anshika Sinha_CV 16Dec2015
Anshika Sinha_CV 16Dec2015Anshika Sinha_CV 16Dec2015
Anshika Sinha_CV 16Dec2015
 
Stay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveStay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity Curve
 
Delivering react app with confidence: Testing Pyramid
Delivering react app with confidence: Testing PyramidDelivering react app with confidence: Testing Pyramid
Delivering react app with confidence: Testing Pyramid
 
Ground Technology Services - KeyLAB case study
Ground Technology Services - KeyLAB case studyGround Technology Services - KeyLAB case study
Ground Technology Services - KeyLAB case study
 
The Pothole of Automating Too Much
The Pothole of Automating Too MuchThe Pothole of Automating Too Much
The Pothole of Automating Too Much
 
Dhivakar_nagarajan_Automation_testing
Dhivakar_nagarajan_Automation_testingDhivakar_nagarajan_Automation_testing
Dhivakar_nagarajan_Automation_testing
 
Getting Started with Server-Side Testing
Getting Started with Server-Side TestingGetting Started with Server-Side Testing
Getting Started with Server-Side Testing
 
CV_HoangThanhDanThuy_Tester
CV_HoangThanhDanThuy_TesterCV_HoangThanhDanThuy_Tester
CV_HoangThanhDanThuy_Tester
 
Indhu G_M&AT
Indhu G_M&ATIndhu G_M&AT
Indhu G_M&AT
 
Dattatreya biswas
Dattatreya biswasDattatreya biswas
Dattatreya biswas
 
Neha' Resume_Testing Engineer_2 5 years of experience
Neha' Resume_Testing Engineer_2 5 years of experienceNeha' Resume_Testing Engineer_2 5 years of experience
Neha' Resume_Testing Engineer_2 5 years of experience
 

Mais de Qentinel

Sap Finug hosted by Qentinel 12.3.2019, esitykset
Sap Finug hosted by Qentinel 12.3.2019, esityksetSap Finug hosted by Qentinel 12.3.2019, esitykset
Sap Finug hosted by Qentinel 12.3.2019, esityksetQentinel
 
Qentinel's garage story in Slush 2018
Qentinel's garage story in Slush 2018Qentinel's garage story in Slush 2018
Qentinel's garage story in Slush 2018Qentinel
 
What is computer vision?
What is computer vision?What is computer vision?
What is computer vision?Qentinel
 
SAP End-to-end liiketoimintaprosessin testaus
SAP End-to-end liiketoimintaprosessin testausSAP End-to-end liiketoimintaprosessin testaus
SAP End-to-end liiketoimintaprosessin testausQentinel
 
End-to-end huoltoprosessin testaus, IFS Asiakaspäivä
End-to-end huoltoprosessin testaus, IFS AsiakaspäiväEnd-to-end huoltoprosessin testaus, IFS Asiakaspäivä
End-to-end huoltoprosessin testaus, IFS AsiakaspäiväQentinel
 
Women in Tech - tukiäly asiakaskokemuksen kumppanina
Women in Tech - tukiäly asiakaskokemuksen kumppaninaWomen in Tech - tukiäly asiakaskokemuksen kumppanina
Women in Tech - tukiäly asiakaskokemuksen kumppaninaQentinel
 
Ecosystem Automation as a Service - Qentinel Automation Clinic 1.3.2018
Ecosystem Automation as a Service - Qentinel Automation Clinic 1.3.2018Ecosystem Automation as a Service - Qentinel Automation Clinic 1.3.2018
Ecosystem Automation as a Service - Qentinel Automation Clinic 1.3.2018Qentinel
 
Menesty ekosysteemissä -webinaari 14.11.2017
Menesty ekosysteemissä -webinaari 14.11.2017Menesty ekosysteemissä -webinaari 14.11.2017
Menesty ekosysteemissä -webinaari 14.11.2017Qentinel
 
Infrastructure As a Code (IAC) Jani Haapala 2017
Infrastructure As a Code (IAC) Jani Haapala 2017Infrastructure As a Code (IAC) Jani Haapala 2017
Infrastructure As a Code (IAC) Jani Haapala 2017Qentinel
 
GDPR and test data challenge Antti Heimola 20170504
GDPR and test data challenge Antti Heimola 20170504GDPR and test data challenge Antti Heimola 20170504
GDPR and test data challenge Antti Heimola 20170504Qentinel
 
Asiakaskokemus ekosysteemissä-qentinel-2017-04-27
Asiakaskokemus ekosysteemissä-qentinel-2017-04-27Asiakaskokemus ekosysteemissä-qentinel-2017-04-27
Asiakaskokemus ekosysteemissä-qentinel-2017-04-27Qentinel
 
Kilpailuetua muutoksessa –webinaari. Miten johdan epävarmuuksilla?
Kilpailuetua muutoksessa –webinaari. Miten johdan epävarmuuksilla?Kilpailuetua muutoksessa –webinaari. Miten johdan epävarmuuksilla?
Kilpailuetua muutoksessa –webinaari. Miten johdan epävarmuuksilla?Qentinel
 
Etumatkan kolme-taitoa-esko-hannula-20170216
Etumatkan kolme-taitoa-esko-hannula-20170216Etumatkan kolme-taitoa-esko-hannula-20170216
Etumatkan kolme-taitoa-esko-hannula-20170216Qentinel
 
Asiakaskokemus tulevaisuudessa -webinaari Qentinel 10.1.2017
Asiakaskokemus tulevaisuudessa -webinaari Qentinel 10.1.2017Asiakaskokemus tulevaisuudessa -webinaari Qentinel 10.1.2017
Asiakaskokemus tulevaisuudessa -webinaari Qentinel 10.1.2017Qentinel
 
Test Automation Nightmares - Antti Heimola, Qentinel
Test Automation Nightmares - Antti Heimola, QentinelTest Automation Nightmares - Antti Heimola, Qentinel
Test Automation Nightmares - Antti Heimola, QentinelQentinel
 
End-to-end testaus eri päätelaitteilla - Antti Heimola
End-to-end testaus eri päätelaitteilla - Antti HeimolaEnd-to-end testaus eri päätelaitteilla - Antti Heimola
End-to-end testaus eri päätelaitteilla - Antti HeimolaQentinel
 
Testiautomaatio ei ole tekninen ongelma - Kalle Huttunen
Testiautomaatio ei ole tekninen ongelma - Kalle HuttunenTestiautomaatio ei ole tekninen ongelma - Kalle Huttunen
Testiautomaatio ei ole tekninen ongelma - Kalle HuttunenQentinel
 
Safety nets with fast feedback loops | Jani haapala 2016-10
Safety nets with fast feedback loops | Jani haapala 2016-10Safety nets with fast feedback loops | Jani haapala 2016-10
Safety nets with fast feedback loops | Jani haapala 2016-10Qentinel
 
Jos sinulla olisi kaikki tieto - tietäisitkö kaiken? Esko Hannulan esitys 8.9...
Jos sinulla olisi kaikki tieto - tietäisitkö kaiken? Esko Hannulan esitys 8.9...Jos sinulla olisi kaikki tieto - tietäisitkö kaiken? Esko Hannulan esitys 8.9...
Jos sinulla olisi kaikki tieto - tietäisitkö kaiken? Esko Hannulan esitys 8.9...Qentinel
 
CI Security Scan - Teemu Vesalan esitys 7.6. Testiautomaatioklinkassa
CI Security Scan - Teemu Vesalan esitys 7.6. TestiautomaatioklinkassaCI Security Scan - Teemu Vesalan esitys 7.6. Testiautomaatioklinkassa
CI Security Scan - Teemu Vesalan esitys 7.6. TestiautomaatioklinkassaQentinel
 

Mais de Qentinel (20)

Sap Finug hosted by Qentinel 12.3.2019, esitykset
Sap Finug hosted by Qentinel 12.3.2019, esityksetSap Finug hosted by Qentinel 12.3.2019, esitykset
Sap Finug hosted by Qentinel 12.3.2019, esitykset
 
Qentinel's garage story in Slush 2018
Qentinel's garage story in Slush 2018Qentinel's garage story in Slush 2018
Qentinel's garage story in Slush 2018
 
What is computer vision?
What is computer vision?What is computer vision?
What is computer vision?
 
SAP End-to-end liiketoimintaprosessin testaus
SAP End-to-end liiketoimintaprosessin testausSAP End-to-end liiketoimintaprosessin testaus
SAP End-to-end liiketoimintaprosessin testaus
 
End-to-end huoltoprosessin testaus, IFS Asiakaspäivä
End-to-end huoltoprosessin testaus, IFS AsiakaspäiväEnd-to-end huoltoprosessin testaus, IFS Asiakaspäivä
End-to-end huoltoprosessin testaus, IFS Asiakaspäivä
 
Women in Tech - tukiäly asiakaskokemuksen kumppanina
Women in Tech - tukiäly asiakaskokemuksen kumppaninaWomen in Tech - tukiäly asiakaskokemuksen kumppanina
Women in Tech - tukiäly asiakaskokemuksen kumppanina
 
Ecosystem Automation as a Service - Qentinel Automation Clinic 1.3.2018
Ecosystem Automation as a Service - Qentinel Automation Clinic 1.3.2018Ecosystem Automation as a Service - Qentinel Automation Clinic 1.3.2018
Ecosystem Automation as a Service - Qentinel Automation Clinic 1.3.2018
 
Menesty ekosysteemissä -webinaari 14.11.2017
Menesty ekosysteemissä -webinaari 14.11.2017Menesty ekosysteemissä -webinaari 14.11.2017
Menesty ekosysteemissä -webinaari 14.11.2017
 
Infrastructure As a Code (IAC) Jani Haapala 2017
Infrastructure As a Code (IAC) Jani Haapala 2017Infrastructure As a Code (IAC) Jani Haapala 2017
Infrastructure As a Code (IAC) Jani Haapala 2017
 
GDPR and test data challenge Antti Heimola 20170504
GDPR and test data challenge Antti Heimola 20170504GDPR and test data challenge Antti Heimola 20170504
GDPR and test data challenge Antti Heimola 20170504
 
Asiakaskokemus ekosysteemissä-qentinel-2017-04-27
Asiakaskokemus ekosysteemissä-qentinel-2017-04-27Asiakaskokemus ekosysteemissä-qentinel-2017-04-27
Asiakaskokemus ekosysteemissä-qentinel-2017-04-27
 
Kilpailuetua muutoksessa –webinaari. Miten johdan epävarmuuksilla?
Kilpailuetua muutoksessa –webinaari. Miten johdan epävarmuuksilla?Kilpailuetua muutoksessa –webinaari. Miten johdan epävarmuuksilla?
Kilpailuetua muutoksessa –webinaari. Miten johdan epävarmuuksilla?
 
Etumatkan kolme-taitoa-esko-hannula-20170216
Etumatkan kolme-taitoa-esko-hannula-20170216Etumatkan kolme-taitoa-esko-hannula-20170216
Etumatkan kolme-taitoa-esko-hannula-20170216
 
Asiakaskokemus tulevaisuudessa -webinaari Qentinel 10.1.2017
Asiakaskokemus tulevaisuudessa -webinaari Qentinel 10.1.2017Asiakaskokemus tulevaisuudessa -webinaari Qentinel 10.1.2017
Asiakaskokemus tulevaisuudessa -webinaari Qentinel 10.1.2017
 
Test Automation Nightmares - Antti Heimola, Qentinel
Test Automation Nightmares - Antti Heimola, QentinelTest Automation Nightmares - Antti Heimola, Qentinel
Test Automation Nightmares - Antti Heimola, Qentinel
 
End-to-end testaus eri päätelaitteilla - Antti Heimola
End-to-end testaus eri päätelaitteilla - Antti HeimolaEnd-to-end testaus eri päätelaitteilla - Antti Heimola
End-to-end testaus eri päätelaitteilla - Antti Heimola
 
Testiautomaatio ei ole tekninen ongelma - Kalle Huttunen
Testiautomaatio ei ole tekninen ongelma - Kalle HuttunenTestiautomaatio ei ole tekninen ongelma - Kalle Huttunen
Testiautomaatio ei ole tekninen ongelma - Kalle Huttunen
 
Safety nets with fast feedback loops | Jani haapala 2016-10
Safety nets with fast feedback loops | Jani haapala 2016-10Safety nets with fast feedback loops | Jani haapala 2016-10
Safety nets with fast feedback loops | Jani haapala 2016-10
 
Jos sinulla olisi kaikki tieto - tietäisitkö kaiken? Esko Hannulan esitys 8.9...
Jos sinulla olisi kaikki tieto - tietäisitkö kaiken? Esko Hannulan esitys 8.9...Jos sinulla olisi kaikki tieto - tietäisitkö kaiken? Esko Hannulan esitys 8.9...
Jos sinulla olisi kaikki tieto - tietäisitkö kaiken? Esko Hannulan esitys 8.9...
 
CI Security Scan - Teemu Vesalan esitys 7.6. Testiautomaatioklinkassa
CI Security Scan - Teemu Vesalan esitys 7.6. TestiautomaatioklinkassaCI Security Scan - Teemu Vesalan esitys 7.6. Testiautomaatioklinkassa
CI Security Scan - Teemu Vesalan esitys 7.6. Testiautomaatioklinkassa
 

Último

Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 

Último (20)

Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 

Writing Readable Test Automation - Qentinel Automation Clinic 1.3.2018

  • 1. 9.3.2018© Qentinel Group 1PUBLIC Writing Readable Test Automation Qentinel Automation Clinic 1.3.2018 Pekka Kiviniemi
  • 2. 9.3.2018© Qentinel Group 2PUBLIC Agenda • Why keyword driven test automation • Problems with keywords • Pace way • Pace benefits
  • 3. 9.3.2018© Qentinel Group 3PUBLIC Test automation in developer style, -28% driver = webdriver.Chrome() driver.get(loc.postcode_url) assert "Posti" in driver.title elem = driver.find_element_by_name("streetname") elem.clear() elem.send_keys("Bertel Jungin aukio") elem = driver.find_element_by_name("postcodeorcommune") elem.clear() elem.send_keys("Espoo") elem.send_keys(Keys.RETURN) assert "02600" in driver.page_source driver.close()
  • 4. 9.3.2018© Qentinel Group 4PUBLIC Same test with RF keywords style, +31% Open browser to postnumber page Input street Bertel Jungin aukio Input city Espoo Submit address Verify postnumber 01500
  • 5. 9.3.2018© Qentinel Group 5PUBLIC Claim: “Keyword driven TA benefits” 1. Easy to read by stakeholders 2. Test cases are easy to modify 3. Keyword re-use across multiple test cases 4. If SUT changes, fixing one keyword fixes it everywhere 5. Domain experts can write test cases without coding skills 6. Programmers can write keywords without domain expertise
  • 6. 9.3.2018© Qentinel Group 6PUBLIC Refute #1: Practical issues in real life • RF keywords hide complexity inside • What does a RF keyword exactly do? • Keywords are code and may contain bugs • Keyword developers want to avoid repetition • RF keywords may contain other keywords inside • Debugging RF keywords may take a long time
  • 7. 9.3.2018© Qentinel Group 7PUBLIC Refute #2: Test cases are easy to modify • Testing new functionality requires new keywords • Complex keywords are not easy to modify • Developers cannot work with many keywords (> 100) • Resulting duplicate keywords
  • 8. 9.3.2018© Qentinel Group 8PUBLIC Refute #3: keyword re-use Postnumber • Open browser to postcode page • Input street Bertel Jungin aukio • Input city Espoo • Submit address • Verify postnumber 02600 Tracking number • Open browser to Posti page • Input ShipmentId 1234567 • Submit ShipmentId • Verify shipments found 1 • Verify destination Helsinki
  • 9. 9.3.2018© Qentinel Group 9PUBLIC Pace keywords: replicate one user action • ClickText • TypeText • Verify • Dropdown • Checkbox • Appstate
  • 11. 9.3.2018© Qentinel Group 11PUBLIC Pace keyword based test automation Test Post Code Appstate posti main page ClickText Post Code Search TypeText Street Bertel Jungin aukio TypeText Munincipality Espoo ClickText Search VerifyText 02600 Test Shipment ID Appstate posti main page ClickText Item tracking TypeText shipmentid 1234567 ClickText Search VerifyText 1 shipments found VerifyText Destination: Helsinki
  • 12. 9.3.2018© Qentinel Group 12PUBLIC Pace TA benefits: maintenance Test maintenance New test creation Test maintenance New test creation Traditional method Pace method
  • 13. 9.3.2018© Qentinel Group 13PUBLIC Summary • Everybody can read what a test does • Anybody can edit a test or create a new one • Less maintenance • Easier testlogs
  • 14. 9.3.2018© Qentinel Group 14PUBLIC “Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.” ―Edsger Dijkstra
  • 15. 9.3.2018© Qentinel Group 15PUBLIC Pekka.Kiviniemi@Qentinel.com