for test automation frameworks - testcon moscow · for test automation frameworks @craftingtester ....
TRANSCRIPT
![Page 1: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/1.jpg)
ArchitectureFor test automation
frameworks
@craftingtester
![Page 2: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/2.jpg)
@craftingtester
Sven Kroell
Testing Toolsmith
8 years in Testing
5 Years in Automation
Mentoring new Testers Creating tailored solutions
Traveller and Hiker
![Page 3: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/3.jpg)
@craftingtester
![Page 4: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/4.jpg)
End to End
Integration
Unit
The pyramid
4
@craftingtester
![Page 5: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/5.jpg)
5
Why automate?
© Michal Parzuchowski
@craftingtester
![Page 6: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/6.jpg)
6Record and play
© Robert Lischka
@craftingtester
![Page 7: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/7.jpg)
7
@craftingtester
© Markus spieske
![Page 8: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/8.jpg)
8
Do it yourself@craftingtester
![Page 9: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/9.jpg)
@craftingtester
![Page 10: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/10.jpg)
1 0
Time flows by@craftingtester
© Sven Kroell
![Page 11: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/11.jpg)
1 1
Repairing on the fly@craftingtester
© Fancycrave
![Page 12: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/12.jpg)
1 2
How to do it better?@craftingtester
© Sven Kroell
![Page 13: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/13.jpg)
1 3
Building a framework@craftingtester
© Sven Kroell
![Page 14: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/14.jpg)
➡ Separation of concerns ➡ Build a domain language ➡ Keeping the checks simple ➡ Reusable components
Why a framework
@craftingtester
![Page 15: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/15.jpg)
What went wrong?Locators
Testdata
Userflows
Repetitions
Magic code
Sleeps
@craftingtester
![Page 16: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/16.jpg)
@craftingtester
![Page 17: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/17.jpg)
Think in layers
Checks
Framework
Driver
Application
@craftingtester
![Page 18: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/18.jpg)
Checks@craftingtester
© Gerd Altman
![Page 19: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/19.jpg)
Layers of the FrameworkChecks
Driver
Repositories Workflows
Page Objects
Data Generators
DataAccess Objects
@craftingtester
![Page 20: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/20.jpg)
Repositories
© Pexels
Repositories@craftingtester
![Page 21: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/21.jpg)
@craftingtester
![Page 22: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/22.jpg)
➡ Centralised data generation ➡ Single point of change ➡ Checks don’t need to know data rules
Why repositories?
@craftingtester
![Page 23: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/23.jpg)
Workflows@craftingtester
![Page 24: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/24.jpg)
2 4
@craftingtester
![Page 25: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/25.jpg)
➡ Decouple flows from checks ➡ Checks get cleaner ➡ Using a DSL makes it easier for new
joiners to get up to speed
Why workflows?
@craftingtester
![Page 26: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/26.jpg)
Page Objects@craftingtester
![Page 27: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/27.jpg)
2 7
@craftingtester
![Page 28: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/28.jpg)
➡ Hides complexity of the DOM from workflows
➡ Single point of change for identifiers
Why Page Objects?
@craftingtester
![Page 29: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/29.jpg)
Lets have a small demo
@craftingtester
![Page 30: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/30.jpg)
Remarks
Pitfalls@craftingtester
© Sven Kroell
![Page 31: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/31.jpg)
➡ Creating checks is software development
➡ Clean code is very important ➡ A good architecture helps while
refactoring ➡ Developers become more engaged
Final thoughts
@craftingtester
![Page 32: For test automation frameworks - TestCon Moscow · For test automation frameworks @craftingtester . @craftingtester Sven Kroell Testing Toolsmith 8 years in Testing 5 Years in Automation](https://reader035.vdocuments.mx/reader035/viewer/2022070901/5f474db012fb6234ce623fc7/html5/thumbnails/32.jpg)
3 2
Questions@craftingtester
© Sven Kroell