SlideShare a Scribd company logo
1 of 41
TEST
AUTOMATION
USING ROBOTFRAMEWORK LIBRARIES
BROUGHT TO YOU BY
STOJAN PESHOV
ATTD
ME, MYSELF AND JAVA
ETF, FEIT, FINKI
EUREKA, FREELANCE, GENREP, POLAR CAPE
2002: INTRODUCTION WITH JAVA
PORTALS (CMS), ETL, HIBERNATE
EE SINCE 2007
SPRING, JSF, J2EE
CURRENT PROJECTS
MOBILE (CORDOVA, ANGULARJS), TEST AUTOMATION
JUGMK CO-FOUNDER
1 ROBOT FRAMEWORK
1A ATTD
2A TEST AUTOMATION
2 RF LIBRARIES
3 TESTERONE
4 DEMO
5 SUMMARY
AGENDA
COVERAGE
TEST AUTOMATION FRAMEWORK
FOR
ACCEPTANCE TESTING
AND
ACCEPTANCE TEST-DRIVEN
DEVELOPMENT (ATDD)
ROBOT FRAMEWORK IS A…
SOFTWARE, NOT HUMAN
NOT LAZY TESTER
ACTUAL V.S. PREDICTED OUTCOMES
1 CODE DRIVEN TESTING
UNIT TESTS / FRAMEWORKS
2 GUI TESTING
RECORD AND PLAYBACK
TEST SCRIPTS
TEST AUTOMATION IS A…
TEST IF THE REQUIREMENTS ARE MET
FUNCTIONAL TESTS OR CUSTOMER TESTS
ACCEPTANCE CRITERIA
DIFFERENT BEHAVIORS = USAGE SCENARIOS
ACCEPTANCE TESTING IS
FAQ PAGE
ASK QUESTION
USER SHOULD BE ABLE TO ASK NEW QUESTION
MANDATORY: NAME, E-MAIL AND QUESTION
RECEIVE FEEDBACK MESSAGE
REQUIREMENTS EXAMPLE
ASK QUESTION
GIVEN PAGE FAQ IS OPENED
AND ASK QUESTION IS CLICKED
WHEN SEND BUTTON IS CLICKED
THEN REQUIRED FIELD MESSAGE SHOULD BE VISIBLE
ACCEPTANCE CRITERIA EXAMPLE
ASK QUESTION
GIVEN PAGE FAQ IS OPENED
AND ASK QUESTION IS CLICKED
WHEN SEND BUTTON IS CLICKED
THEN REQUIRED FIELD MESSAGE SHOULD BE VISIBLE
TEST EXAMPLE
ACCEPTANCE TESTING + TDD
TEST IF THE REQUIREMENTS ARE MET
FIRST WRITE TESTS, THEN IMPLEMENT THEM
TDD ADJUSTED TO CUSTOMER
ATDD TESTS SHOULD BE READABLE BY THE CUSTOMER
SPECIFICATION BY EXAMPLE (SBE)
BDD - AGILE
ATTD IS A…
ATTD … CYCLE
ATTD: DEVELOP PHASE
ATTD: BENEFITS
● COMPREHENSIBLE EXAMPLES OVER
COMPLEX FORMULAS
● CREATE DOMAIN SPECIFIC LANGUAGE
● CLOSE COLLABORATION
● DEFINITION OF DONE
● TRUST AND COMMITMENT
ROBOT
FRAMEWORK
INTRODUCTION
● GENERIC TEST AUTOMATION FRAMEWORK
- UTILIZES THE KEYWORD-DRIVEN TESTING APPROACH
● IMPLEMENTED WITH PYTHON
- JYTHON SUPPORTED FULLY AND IRONPYTHON INITIALLY
- OTHER LANGUAGES SUPPORTED VIA XML-RPC BASED
REMOTE INTERFACE
● OPEN SOURCE
- APACHE 2.0 LICENSE
- SPONSORED BY NOKIA SIEMENS NETWORKS
- ACTIVE DEVELOPMENT AND GROWING COMMUNITY
- HOSTED ON GOOGLE CODE
ROBOTFRAMEWORK IS
- TXT / HTML FORMAT
- KEYWORD, DATA AND BEHAVIOR – DRIVEN
- MODULAR ARCHITECTURE (LIBRARIES)
- CUSTOMIZABLE REPORTS
- JENKINS PLUGIN
- REMOTE INTERFACE
RF FEATURES
RF ARCHITECTURE
USE RF IN JAVA
SIMPLE TEST CASE
SIMPLE LIBRARY
1 ROBOT FRAMEWORK
2 RF LIBRARIES
3 DEMO
4 TESTERONE
5 SUMMARY
AGENDA
COVERAGE
RF LIBRARES
SELENIUM 2 LIBRARY
AUTOMATES BROWSER
AUTOIT
AUTOMATES WINDOWS APPS
MONKEYTALK
AUTOMATES DEVICES (MOBILE)
OTHER
OPERATINGSYSTEM, TELNET, SCREENSHOT, STRING, …
SWINGLIBRARY, SSHLIBRARY, DBLIBRARY
SELENIUM AUTOMATES
BROWSERS
SELENIUM LIBRARY EXPOSES
SELENIUM API AS KEYWORDS
1 ROBOT FRAMEWORK
2 SELENIUM LIBRARY
3 DEMO
4 TESTERONE (CODE NAME)
5 SUMMARY
AGENDA
COVERAGE
ASK QUESTION
GIVEN PAGE FAQ IS OPENED
AND ASK QUESTION IS CLICKED
WHEN SEND BUTTON IS CLICKED
THEN REQUIRED FIELD MESSAGE SHOULD BE VISIBLE
DEMO
1 ROBOT FRAMEWORK
2 SELENIUM LIBRARY
3 DEMO
4 TESTERONE
5 SUMMARY
AGENDA
COVERAGE
- CUSTOM IDE (RIDE) NOT PORTABLE
- NO CONTROL OVER DIRTY CODE (TXT)
- PYTHON DEPENDENCY
- REMOTE LIBRARY HAS ERRORS
- EXPECT CLIENTS TO WRITE AND MAINTAIN
TESTS
RF LIMITATIONS
TESTERONE
FOCUS ON BUSINESS FLOWS
LEAVE THE TECHNICAL STUFF TO TECHNICAL STAFF
REUSE COMPONENT DEFINITIONS
FOR CUSTOMERS: CLICK IS CLICK, INPUT IS INPUT
GAIN MORE CONTROL
DESKTOP, WEB AND DEVICE TESTING
TESTERONE MOTIVATION
EXCEL / DB STORAGE
KEYMAP
STORE VARIABLES
CONTINUOUS INTEGRATION
MAVEN
NO PYTHON DEPENDENCY
TESTERONE FEATURES
FUTURE:
GUI / SERVICES
OBJECT IDENTIFICATION
TEST CASE / SUITE MANAGEMENT
REPORT MANAGEMENT
REMOTE LIBRARY
OWN SELENIUM LIBRARY
TESTERONE FEATURES
ARCHITECTURE
CONTINUOUS INTEGRATION
1 ROBOT FRAMEWORK
2 SELENIUM LIBRARY
3 TESTERONE
4 DEMO
5 SUMMARY
AGENDA
COVERAGE
TESTING IS WORTH THE EFFORT
PRACTICE IT
TDD IS GOOD,
ATTD IS BETTER,
ATTD + TA IS BEST
DO YOU AGREE?
TESTERONE HAS FUTURE…
SUMMARY
WHERE IS THE ACCEPTANCE?
BRIDGING THE COMMUNICATION GAP
GOJKO ADZIC
PRACTICAL TDD AND ATDD FOR JAVA
DEVELOPERS
LASSE KOSKELA
ROBOTFRAMEWORK
ROBOTFRAMEWORK.ORG
CODE.GOOGLE.COM/P/ROBOTFRAMEWORK/WIKI/USERGUIDE
REFERENCES
QUESTIONS?
TWITTER: @SPESOV
LINKEDID: STOJAN PESOV
EMAIL: STOJAN.PESHOV@POLARCAPE.COM
THANK YOU

More Related Content

What's hot

What's hot (9)

Robot Framework with Python | Edureka
Robot Framework with Python | EdurekaRobot Framework with Python | Edureka
Robot Framework with Python | Edureka
 
Erlang os
Erlang osErlang os
Erlang os
 
Hacking Robotics(English Version)
Hacking Robotics(English Version)Hacking Robotics(English Version)
Hacking Robotics(English Version)
 
What is-java
What is-javaWhat is-java
What is-java
 
OIVM
OIVMOIVM
OIVM
 
Python for pentesters
Python for pentestersPython for pentesters
Python for pentesters
 
Reverse engineering with python
Reverse engineering with pythonReverse engineering with python
Reverse engineering with python
 
Os Worthington
Os WorthingtonOs Worthington
Os Worthington
 
スマホ開発者も使えるWireshark
スマホ開発者も使えるWiresharkスマホ開発者も使えるWireshark
スマホ開発者も使えるWireshark
 

Similar to Testerone: Test Automation and ATTD using RobotFramework Libraries

Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceIBM WebSphereIndia
 
GS1/Oliot LLRP and next
GS1/Oliot LLRP and nextGS1/Oliot LLRP and next
GS1/Oliot LLRP and nextDaeyoung Kim
 
Software testing tools
Software testing toolsSoftware testing tools
Software testing toolsGaurav Paliwal
 
Oracle Java ME Embedded 8.1 Devloper Preview: Introduction
Oracle Java ME Embedded 8.1 Devloper Preview: IntroductionOracle Java ME Embedded 8.1 Devloper Preview: Introduction
Oracle Java ME Embedded 8.1 Devloper Preview: Introductionterrencebarr
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
 
Enterprise Java: Just What Is It and the Risks, Threats, and Exposures It Poses
Enterprise Java: Just What Is It and the Risks, Threats, and Exposures It PosesEnterprise Java: Just What Is It and the Risks, Threats, and Exposures It Poses
Enterprise Java: Just What Is It and the Risks, Threats, and Exposures It PosesAlex Senkevitch
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSJaime Martin Losa
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSJaime Martin Losa
 
FIWARE Robotics
FIWARE RoboticsFIWARE Robotics
FIWARE RoboticseProsima
 
Key topics when migrating from FAST to Solr, EuroCon 2010
Key topics when migrating from FAST to Solr, EuroCon 2010Key topics when migrating from FAST to Solr, EuroCon 2010
Key topics when migrating from FAST to Solr, EuroCon 2010Cominvent AS
 
Open Source가 바꾼 자바
Open Source가 바꾼 자바Open Source가 바꾼 자바
Open Source가 바꾼 자바Sungchul Park
 
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzingDEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzingFelipe Prado
 
Seaside Status Message
Seaside Status MessageSeaside Status Message
Seaside Status MessageLukas Renggli
 
Seaside News
Seaside NewsSeaside News
Seaside NewsESUG
 
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!NETWAYS
 
Spirit20090924poly
Spirit20090924polySpirit20090924poly
Spirit20090924polyGary Dare
 
4Developers 2015: Talking and listening to web pages - Aurelio De Rosa
4Developers 2015: Talking and listening to web pages - Aurelio De Rosa4Developers 2015: Talking and listening to web pages - Aurelio De Rosa
4Developers 2015: Talking and listening to web pages - Aurelio De RosaPROIDEA
 

Similar to Testerone: Test Automation and ATTD using RobotFramework Libraries (20)

Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open Source
 
GS1/Oliot LLRP and next
GS1/Oliot LLRP and nextGS1/Oliot LLRP and next
GS1/Oliot LLRP and next
 
The Parrot VM
The Parrot VMThe Parrot VM
The Parrot VM
 
Software testing tools
Software testing toolsSoftware testing tools
Software testing tools
 
Oracle Java ME Embedded 8.1 Devloper Preview: Introduction
Oracle Java ME Embedded 8.1 Devloper Preview: IntroductionOracle Java ME Embedded 8.1 Devloper Preview: Introduction
Oracle Java ME Embedded 8.1 Devloper Preview: Introduction
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
 
Enterprise Java: Just What Is It and the Risks, Threats, and Exposures It Poses
Enterprise Java: Just What Is It and the Risks, Threats, and Exposures It PosesEnterprise Java: Just What Is It and the Risks, Threats, and Exposures It Poses
Enterprise Java: Just What Is It and the Risks, Threats, and Exposures It Poses
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROS
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROS
 
FIWARE Robotics
FIWARE RoboticsFIWARE Robotics
FIWARE Robotics
 
Key topics when migrating from FAST to Solr, EuroCon 2010
Key topics when migrating from FAST to Solr, EuroCon 2010Key topics when migrating from FAST to Solr, EuroCon 2010
Key topics when migrating from FAST to Solr, EuroCon 2010
 
Open Source가 바꾼 자바
Open Source가 바꾼 자바Open Source가 바꾼 자바
Open Source가 바꾼 자바
 
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzingDEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
 
Os Mcmahan
Os McmahanOs Mcmahan
Os Mcmahan
 
Seaside Status Message
Seaside Status MessageSeaside Status Message
Seaside Status Message
 
Seaside News
Seaside NewsSeaside News
Seaside News
 
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
 
Spirit20090924poly
Spirit20090924polySpirit20090924poly
Spirit20090924poly
 
4Developers 2015: Talking and listening to web pages - Aurelio De Rosa
4Developers 2015: Talking and listening to web pages - Aurelio De Rosa4Developers 2015: Talking and listening to web pages - Aurelio De Rosa
4Developers 2015: Talking and listening to web pages - Aurelio De Rosa
 

More from Stojan Peshov

Polar talks: code generation
Polar talks: code generationPolar talks: code generation
Polar talks: code generationStojan Peshov
 
Confessions of a Senior Mind
Confessions of a Senior MindConfessions of a Senior Mind
Confessions of a Senior MindStojan Peshov
 
Post agile confessions
Post agile confessionsPost agile confessions
Post agile confessionsStojan Peshov
 
Post-Agile Methodologies and all that Jazz
Post-Agile Methodologies and all that JazzPost-Agile Methodologies and all that Jazz
Post-Agile Methodologies and all that JazzStojan Peshov
 
20 Years of Java - Story of HER life
20 Years of Java - Story of HER life20 Years of Java - Story of HER life
20 Years of Java - Story of HER lifeStojan Peshov
 

More from Stojan Peshov (6)

Post agile 2
Post agile 2Post agile 2
Post agile 2
 
Polar talks: code generation
Polar talks: code generationPolar talks: code generation
Polar talks: code generation
 
Confessions of a Senior Mind
Confessions of a Senior MindConfessions of a Senior Mind
Confessions of a Senior Mind
 
Post agile confessions
Post agile confessionsPost agile confessions
Post agile confessions
 
Post-Agile Methodologies and all that Jazz
Post-Agile Methodologies and all that JazzPost-Agile Methodologies and all that Jazz
Post-Agile Methodologies and all that Jazz
 
20 Years of Java - Story of HER life
20 Years of Java - Story of HER life20 Years of Java - Story of HER life
20 Years of Java - Story of HER life
 

Recently uploaded

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Testerone: Test Automation and ATTD using RobotFramework Libraries

  • 2. ME, MYSELF AND JAVA ETF, FEIT, FINKI EUREKA, FREELANCE, GENREP, POLAR CAPE 2002: INTRODUCTION WITH JAVA PORTALS (CMS), ETL, HIBERNATE EE SINCE 2007 SPRING, JSF, J2EE CURRENT PROJECTS MOBILE (CORDOVA, ANGULARJS), TEST AUTOMATION JUGMK CO-FOUNDER
  • 3. 1 ROBOT FRAMEWORK 1A ATTD 2A TEST AUTOMATION 2 RF LIBRARIES 3 TESTERONE 4 DEMO 5 SUMMARY AGENDA COVERAGE
  • 4. TEST AUTOMATION FRAMEWORK FOR ACCEPTANCE TESTING AND ACCEPTANCE TEST-DRIVEN DEVELOPMENT (ATDD) ROBOT FRAMEWORK IS A…
  • 5. SOFTWARE, NOT HUMAN NOT LAZY TESTER ACTUAL V.S. PREDICTED OUTCOMES 1 CODE DRIVEN TESTING UNIT TESTS / FRAMEWORKS 2 GUI TESTING RECORD AND PLAYBACK TEST SCRIPTS TEST AUTOMATION IS A…
  • 6. TEST IF THE REQUIREMENTS ARE MET FUNCTIONAL TESTS OR CUSTOMER TESTS ACCEPTANCE CRITERIA DIFFERENT BEHAVIORS = USAGE SCENARIOS ACCEPTANCE TESTING IS
  • 7. FAQ PAGE ASK QUESTION USER SHOULD BE ABLE TO ASK NEW QUESTION MANDATORY: NAME, E-MAIL AND QUESTION RECEIVE FEEDBACK MESSAGE REQUIREMENTS EXAMPLE
  • 8. ASK QUESTION GIVEN PAGE FAQ IS OPENED AND ASK QUESTION IS CLICKED WHEN SEND BUTTON IS CLICKED THEN REQUIRED FIELD MESSAGE SHOULD BE VISIBLE ACCEPTANCE CRITERIA EXAMPLE
  • 9. ASK QUESTION GIVEN PAGE FAQ IS OPENED AND ASK QUESTION IS CLICKED WHEN SEND BUTTON IS CLICKED THEN REQUIRED FIELD MESSAGE SHOULD BE VISIBLE TEST EXAMPLE
  • 10. ACCEPTANCE TESTING + TDD TEST IF THE REQUIREMENTS ARE MET FIRST WRITE TESTS, THEN IMPLEMENT THEM TDD ADJUSTED TO CUSTOMER ATDD TESTS SHOULD BE READABLE BY THE CUSTOMER SPECIFICATION BY EXAMPLE (SBE) BDD - AGILE ATTD IS A…
  • 13. ATTD: BENEFITS ● COMPREHENSIBLE EXAMPLES OVER COMPLEX FORMULAS ● CREATE DOMAIN SPECIFIC LANGUAGE ● CLOSE COLLABORATION ● DEFINITION OF DONE ● TRUST AND COMMITMENT
  • 15. ● GENERIC TEST AUTOMATION FRAMEWORK - UTILIZES THE KEYWORD-DRIVEN TESTING APPROACH ● IMPLEMENTED WITH PYTHON - JYTHON SUPPORTED FULLY AND IRONPYTHON INITIALLY - OTHER LANGUAGES SUPPORTED VIA XML-RPC BASED REMOTE INTERFACE ● OPEN SOURCE - APACHE 2.0 LICENSE - SPONSORED BY NOKIA SIEMENS NETWORKS - ACTIVE DEVELOPMENT AND GROWING COMMUNITY - HOSTED ON GOOGLE CODE ROBOTFRAMEWORK IS
  • 16. - TXT / HTML FORMAT - KEYWORD, DATA AND BEHAVIOR – DRIVEN - MODULAR ARCHITECTURE (LIBRARIES) - CUSTOMIZABLE REPORTS - JENKINS PLUGIN - REMOTE INTERFACE RF FEATURES
  • 18. USE RF IN JAVA
  • 19.
  • 20.
  • 23. 1 ROBOT FRAMEWORK 2 RF LIBRARIES 3 DEMO 4 TESTERONE 5 SUMMARY AGENDA COVERAGE
  • 24. RF LIBRARES SELENIUM 2 LIBRARY AUTOMATES BROWSER AUTOIT AUTOMATES WINDOWS APPS MONKEYTALK AUTOMATES DEVICES (MOBILE) OTHER OPERATINGSYSTEM, TELNET, SCREENSHOT, STRING, … SWINGLIBRARY, SSHLIBRARY, DBLIBRARY
  • 25. SELENIUM AUTOMATES BROWSERS SELENIUM LIBRARY EXPOSES SELENIUM API AS KEYWORDS
  • 26. 1 ROBOT FRAMEWORK 2 SELENIUM LIBRARY 3 DEMO 4 TESTERONE (CODE NAME) 5 SUMMARY AGENDA COVERAGE
  • 27. ASK QUESTION GIVEN PAGE FAQ IS OPENED AND ASK QUESTION IS CLICKED WHEN SEND BUTTON IS CLICKED THEN REQUIRED FIELD MESSAGE SHOULD BE VISIBLE DEMO
  • 28. 1 ROBOT FRAMEWORK 2 SELENIUM LIBRARY 3 DEMO 4 TESTERONE 5 SUMMARY AGENDA COVERAGE
  • 29. - CUSTOM IDE (RIDE) NOT PORTABLE - NO CONTROL OVER DIRTY CODE (TXT) - PYTHON DEPENDENCY - REMOTE LIBRARY HAS ERRORS - EXPECT CLIENTS TO WRITE AND MAINTAIN TESTS RF LIMITATIONS
  • 31. FOCUS ON BUSINESS FLOWS LEAVE THE TECHNICAL STUFF TO TECHNICAL STAFF REUSE COMPONENT DEFINITIONS FOR CUSTOMERS: CLICK IS CLICK, INPUT IS INPUT GAIN MORE CONTROL DESKTOP, WEB AND DEVICE TESTING TESTERONE MOTIVATION
  • 32. EXCEL / DB STORAGE KEYMAP STORE VARIABLES CONTINUOUS INTEGRATION MAVEN NO PYTHON DEPENDENCY TESTERONE FEATURES
  • 33. FUTURE: GUI / SERVICES OBJECT IDENTIFICATION TEST CASE / SUITE MANAGEMENT REPORT MANAGEMENT REMOTE LIBRARY OWN SELENIUM LIBRARY TESTERONE FEATURES
  • 36. 1 ROBOT FRAMEWORK 2 SELENIUM LIBRARY 3 TESTERONE 4 DEMO 5 SUMMARY AGENDA COVERAGE
  • 37. TESTING IS WORTH THE EFFORT PRACTICE IT TDD IS GOOD, ATTD IS BETTER, ATTD + TA IS BEST DO YOU AGREE? TESTERONE HAS FUTURE… SUMMARY
  • 38. WHERE IS THE ACCEPTANCE?
  • 39. BRIDGING THE COMMUNICATION GAP GOJKO ADZIC PRACTICAL TDD AND ATDD FOR JAVA DEVELOPERS LASSE KOSKELA ROBOTFRAMEWORK ROBOTFRAMEWORK.ORG CODE.GOOGLE.COM/P/ROBOTFRAMEWORK/WIKI/USERGUIDE REFERENCES
  • 40. QUESTIONS? TWITTER: @SPESOV LINKEDID: STOJAN PESOV EMAIL: STOJAN.PESHOV@POLARCAPE.COM

Editor's Notes

  1. Test Automation http://en.wikipedia.org/wiki/Test_automation Control the test execution actual outcomes v.s. predicted outcomes using another software good for regression testing saves lots of time 1. Code-driven testing. Unit frameworks 2. Graphical user interface testing. record and playback (maintainability problems) little or no coding test scripts (application under test)
  2. TDD v.s. ATDD dev v.s. business ATDD tests should be readable by the customer. TDD tests do not. SBE instead of writing abstract specifications
  3. Q: Are you familiar with Agile? Poll: Does anyone work non agile? Requirements = User Stories all the acceptance criteria = functional spec ATTD uses executable functional spec
  4. Concrete Tests are written using acceptance criteria
  5. Concrete Tests are written using acceptance criteria
  6. - Who have used / heard of RF? Where does the RF fit in ATTD? We can do ATTD using unit tests or by testing a GUI
  7. The term Gherkin, however, is specific to the Cucumber and Jbehave software tools 
  8. Classes that enables RF usage in Java Jython is included in RF jar
  9. Instance of robot.JarRunner is created which is python class.
  10. In order to execute test cases / suites we need to call run with prepared arguments Same arguments used from CLI Most important args are tests and output dir
  11. SeleniumLibary uses Selenium Remote Controller's (RC) Python client library to communicate with the Selenium Server. The Selenium Server is the core component of the Selenium Remote Controller. responsible on launching browsers and interacting with them. Java application, but there are client libraries for various programming languages. SeleniumLibrary includes the Selenium Server JAR package. Flex testing uses Flex Pilot tool.
  12. Love at first site 
  13. The name is better than Testacular - Karma
  14. focus on business flows focus on users without technical knowledge technical details should be predefined Reuse component definitions separation of concerns, developers should define the technical details of the components maintenability, gain more control better testcase management / edit component scanning / detection CI, Jenkins customizable reports
  15. Excel (last project) / db storage (current and next) RF has no excel support / db convert to tsv Keymap map business to object ids Store variables store results from keyword executions as variables and use it later as data / assert CI (currently jenkins, robot plugin)
  16. gui (for editing, management, etc..) object identification (spy for desktop, crawler for web) test case / suite management (crud) report management (custom design, archive) Remote library (nema moznost za screenshot, bugs) own selenium library (direct selenium implementation)
  17. Практикувајте ТА, дефинитивно е исплатливо видовме дека е лесно дури и со Јава
  18. By removing the term acceptance, and showing what the automated tests test, I believe the first automated test pyramid shows a solid approach to automated testing. Acceptance tests and functional tests can be anywhere in the pyramid, but you should limit your GUI tests, often by increasing your unit test coverage.
  19. Практикувајте ТА, дефинитивно е исплатливо видовме дека е лесно дури и со Јава
  20. Практикувајте ТА, дефинитивно е исплатливо видовме дека е лесно дури и со Јава