Astana IT University
Advanced QA
Test Tools and Automation
Week: 8 PhD Adamova Aigul Dyusenbinovna
Aigul.adamova@astanait.edu.kz
Automation testing controls the execution of tests,
compares the actual outcomes to predicted outcomes, sets
up preconditions and other test controls, and creates test
reporting functions.
Regression testing is performed whenever there are
changes made to the functionality of existing software.
Regression testing checks to see if the new changes made
affects the related modules.
Benefits of Automation Testing
Automated Software Testing Helps in Saving Automated Software Testing Helps in Automated Software Testing Helps in
Time and Money Improving Accuracy Increasing Test Coverage
Automated Software Testing Helps in
Automated Software Testing Helps Automated Software Testing Helps to
Performing Tasks which Cannot be Performed
Developers and Testers Improve Team Moral
by Manual Testing
There are many types of scenarios when testing can be automated.
Exception ce
a n
Functional or r m
f o
Negative e r
P
Regression Stress Load
"Technicalities are important, but also having a culture of ensuring quality is
absolutely vital."
1. Decide which test suites to automate
Will you run the test repeatedly?
Are human errors likely to occur when you're running the test manually?
Is the test time-consuming?
Does the test cover a critical feature of the business?
Is the test impossible to perform manually?
Tip #1 - Screenplay is a great way to act out a sample test case scenario from the
point of view of an actor (people and external systems interacting with your
interfaces) and the tasks that would perform.
- Jan Molak, Creator of SerenityJS
Use the right testing tool and framework
Tip #2 - Test on the language that is most popular in the platform just because you'll be able to get the
most help from (your) developer community and you may not struggle as much with the language;
because it's easy to learn a new language, but its easier not to have to do it during testing.
- Hanson Ho, Android Architect, Embrace
Tip #3 - "Assess your current situation: the project, your testing environment, skills, and work culture and team
to choose the right automated software tool for you."
- Nikolay Advolodkin, Staff Developer Advocate, Sauce Labs
Keep records of tests for analysis
Tests fail, and it's crucial to find out why to fix the underlying problem. To debug failed test
cases, you need screenshots, logs, exception reporting, and video recordings of the test run. You
also need to know the outcome of all the tests to determine your application's status.
Set up a testing environment
Ensure the hardware and network configurations are
properly set up. If not, your tests will produce false
alarms.
Organize and create your test data so that it's available
during test execution. After you've run the tests,
remember to clean up the test data.
If you use production data, consider masking it to hide
sensitive information.
After you've set up your test environment, perform a
smoke test to validate the test environment's build
stability.
If you use an on-premises infrastructure for running your
tests, make sure to invest some effort in maintenance.
Divide and conquer testing efforts
Based on the tools your team uses, you can fine-tune the allocation. For example, you can assign more non-
programmers to create test cases if your team uses low-code or codeless testing tools.
Dividing test automation effort improves efficiency, encourages collaboration, and mitigates the dependency
on a single team member.
Use quality test data
Ensure data is accurate Some data should be invalid
Data should cover boundary conditions Data should cover exceptions
Create automated tests that are resistant to changes in the UI
End-to-end (E2E) test automation relies on the user interfaces of your application. The core of these tests is to locate the web
elements on a web page and to perform actions on them. Your tests should be robust enough to remain unaffected when your
application's user interfaces change in the early stages of development or as you enhance it. Otherwise, your tests will fail.