Time has come to announce our first pilot event.
And we are gonna start with our the most favourite topic - test automation <3
In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design.
And what occurring problem are we as QA engineers facing all the time? Right! Test automation frameworks.
So we will tell you a bit which design patterns can be used in test automation, why and where (not only Page Object pattern, we promise!) to make your tests shine!
The link to GitHub repo with test automation patterns used is to be shared during the webinar.
2. 7+ years in IT
TestOps / Test Automation missionary
---
Lead QA Engineer @ Mobiquity
Organizer @ QA Days
Participant @ Simplicity Day conference and others
2
VITALII
TATARYNOV
3. Agenda
Part 1: What is pattern?
Why do we need to use patterns? Or we don’t?
Part 2: Design patterns (practical part)
Let’s take a look to our code
Part 3: About QA Days
Why we organized QA Days?
Discussion on Meetup.com about patterns and
anti-patterns
3
4. Except of comprehensive automation planning
process, maintenance of your test-cases, manual
testing with all possible design technics, there are
three parts of go
Write
good
code
Collaborate
with your
team
Make a robust
scalable
infrastructure
(TestOps)
4
THREE PARTS
OF SUCCESSFUL
AUTOMATION
5. Except of comprehensive automation planning
process, maintenance of your test-cases, manual
testing with all possible design technics, there are
three parts of go
Collaborate
with your
team
5
THREE PARTS
OF SUCCESSFUL
AUTOMATION
Write
good
code
Make a robust
scalable
infrastructure
(TestOps)
6. Code is compiled,
tested and works
as expected
Code is
commented and
documented
Code is readable
understandable,
for other team
members
Code is scalable,
reusable and
STABLE
6
WHAT IS
GOOD AUTOTEST?
11. 11
1. Describe the logic and POM
structure of tested application.
2. Make test logic part more readable.
3. Make your code reusable
PROBLEMS TO SOLVE
WHERE IS APPLICABLE:
Testing Web, Mobile, Desktop
application
13. 13
1. Widely used to build a Domain
Specific Language (DSL) in
declarative way.
2. Used to make code shorter.
3. Used to structure calling of Page
Objects methods
PROBLEMS TO SOLVE
WHERE IS APPLICABLE:
Any automation framework
part.
Often used along with Page
Object pattern
18. 18
1. Hides the complexities of the
system
2. Give the access to interface of the
system to the “client”
PROBLEMS TO SOLVE
WHERE IS APPLICABLE:
API testing framework
21. 21
1. Encapsulate objects creation logic
2. Manage cross-platform systems
PROBLEMS TO SOLVE
WHERE IS APPLICABLE:
Testing cross-platform
applications (Web, Mobile,
Desktop).
To be used along with page
object
24. 24
1. Allows to construct complex
objects step by step.
2. Allows to separate the construction
of a complex object from its
representation.
3. Allows to avoid multiple complex
constructors
PROBLEMS TO SOLVE
WHERE IS APPLICABLE:
Test data
27. 27
1. Create only one instance of the
object
2. Control concurrent access to a
shared resource.
PROBLEMS TO SOLVE
WHERE IS APPLICABLE:
Testing cross-platform
applications (Web, Mobile,
Desktop).
30. 30
1. Class behavior or its algorithm can
be changed at run time
2. Encapsulate each strategy, and
make them interchangeable.
3. Strategy lets the algorithm vary
independently from the clients that
use it.
PROBLEMS TO SOLVE
WHERE IS APPLICABLE:
Testing cross-platform
applications (Web, Mobile,
Desktop).