SlideShare uma empresa Scribd logo
1 de 15
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

DATA @ NFLX (Tableau Conference 2014 Presentation)
DATA @ NFLX (Tableau Conference 2014 Presentation)DATA @ NFLX (Tableau Conference 2014 Presentation)
DATA @ NFLX (Tableau Conference 2014 Presentation)Blake Irvine
 
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
 

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

DATA @ NFLX (Tableau Conference 2014 Presentation)
DATA @ NFLX (Tableau Conference 2014 Presentation)DATA @ NFLX (Tableau Conference 2014 Presentation)
DATA @ NFLX (Tableau Conference 2014 Presentation)
 
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
 

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

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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 

Último (20)

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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 

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