Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Architecture for test frameworks
Search
Sven Kroell
December 05, 2017
Programming
0
58
Architecture for test frameworks
Sven Kroell
December 05, 2017
Tweet
Share
More Decks by Sven Kroell
See All by Sven Kroell
QA/Developer Collaboration
thywen
0
41
Code quality for testing frameworks
thywen
0
75
Other Decks in Programming
See All in Programming
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6k
CSC307 Lecture 05
javiergs
PRO
0
500
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
AI時代の認知負荷との向き合い方
optfit
0
150
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
270
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
560
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Deep Space Network (abreviated)
tonyrice
0
47
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
Practical Orchestrator
shlominoach
191
11k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
200
The Cult of Friendly URLs
andyhume
79
6.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
63
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
320
Crafting Experiences
bethany
1
48
Marketing to machines
jonoalderson
1
4.6k
Transcript
Architecture For test automation frameworks
Sven Kroell Testing Toolsmith 5 Years in Automation Working for
Novoda Mentoring new Testers Creating tailored solutions @craftingtester 2
End to End Integration Unit The pyramid 3
Why automate checks? Save time 4 Codebase grows Better risk
mitigation People grow tired
Record and play 5
Tape jam 6
Do it yourself 7
None
Time flows by 9 Maintenance hard Duplicated code Devs change
locators
Repairing on the fly 1 0 Checks get deactivated Hard
to understand Red builds Codebase grows
How to do it better? 1 1
Building a framework 1 2
➡ Separation of concerns ➡ Build a domain language ➡
Keeping the checks simple ➡ Reusable components Why a framework 1 3
What went wrong? 1 4 Locators Testdata Userflows Repetitions Magic
code Sleeps
None
Think in layers 1 6 Checks Framework Driver Application
➡ Orchestrate the checks ➡ No states ➡ KISS ➡
Using a DSL provided by the framework Checks (Testfiles) 1 7
Layers of the Framework 1 8 Checks Driver Repositories Workflows
Page Objects Data Generators Data Access Objects
➡ Hold the states ➡ Fetch data from api ➡
Trigger builder Repositories 1 9
How it could look like 2 0
➡ Centralised data generation ➡ Single point of change ➡
Checks don’t need to know data rules Why repositories? 2 1
➡ Simple DSL ➡ Reusable Flows ➡ Interact via page
objects Workflows 2 2
How it could look like 2 3
➡ Decouple flows from checks ➡ Checks get cleaner ➡
Using a DSL makes it easier for new joiners to get up to speed Why workflows? 2 4
➡ Holds information about one component of the page ➡
Write and Read from a certain elements Page Objects 2 5
How it could look like 2 6
➡ Hides complexity of the DOM from workflows ➡ Single
point of change for identifiers Why Page Objects? 2 7
Lets have a small demo 2 8
➡ Errors != Faults != Failures ➡ Plan your checks
➡ Work closely with your devs Remarks 2 9
➡ Creating checks is software development ➡ Clean code is
very important ➡ A good architecture helps while refactoring Final thoughts 3 0
Questions? 3 1 Thank you!