0% found this document useful (0 votes)
18 views11 pages

Week 8-2

The document discusses the importance and benefits of automation testing in software development, highlighting its role in saving time and money, improving accuracy, and increasing test coverage. It provides guidelines for deciding which tests to automate, selecting appropriate tools, and setting up a testing environment. Additionally, it emphasizes the need for quality test data and creating tests resilient to UI changes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views11 pages

Week 8-2

The document discusses the importance and benefits of automation testing in software development, highlighting its role in saving time and money, improving accuracy, and increasing test coverage. It provides guidelines for deciding which tests to automate, selecting appropriate tools, and setting up a testing environment. Additionally, it emphasizes the need for quality test data and creating tests resilient to UI changes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

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.

You might also like