Automated Testing
Automated Testing
Automated Testing
Session: 2022-23
Submitted by
Roll No Enrolment No Name
Guided By
Prof. Mr. V. B. Khobragade
1
2
DEPARTMENT OF COMPUTER TECHNOLOGY
GOVERNMENT POLYTECHNIC, SAKOLI
3
GOVERNMENT POLYTECHNIC, SAKOLI
ACADEMIC SESSION 2022-2023
ACKNOWLEDGEMENT
It is with a deep sense of gratitude, that we take this opportunity to express our sincere thanks
to Prof. Mr. V. B. Khobragade, the guide of our project, for his continuous expertise and
assistance and co-operation. We also express our gratitude to H.O.D Prof. Mr. V. B.
Khobragade for inspiration, and encouragement.
4
INDEX
Sr.No. Topic Page
1 INTRODUCTION 6
8 CONCLUSION 15
5
Introduction
What is automation testing?
Automation testing is the process of testing software and other tech products to ensure
it meets strict requirements. Essentially, it’s a test to double-check that the equipment or
software does exactly what it was designed to do. It tests for bugs, defects, and any other
issues that can arise with product development.
Although some types of testing, such as regression or functional testing can be done
manually, there are greater benefits of doing it automatically. Automation testing can be run
at any time of the day. It uses scripted sequences to examine the software. It then reports on
what’s been found, and this information can be compared with earlier test runs. Automation
developers generally write in the following programming languages: C#, JavaScript, and
Ruby.
Many software businesses will have an appointed QA (quality assurance) automation tester.
They design and write the test scripts in the beginning stages. The QA automation tester will
work with automation test engineers and product developers to actually test the software and
products. They will form a team and control the test automation initiatives, and use different
types of test automation frameworks to establish the best one for successful test automation.
When starting to work with unit testing frameworks, the team needs to know about its
attributes, runners, assertions, screen shots, test suites, and CI (continuous integration).
Popular user testing frameworks include JUnit for Java and Pytest for Python.
Adhering to testing protocols is important in the technology industry. It’s critical for
continuous delivery (CD) and continuous testing (CT). DevOps and agile software
development teams will use both CD and CT in their testing strategies.
By choosing automation testing, businesses are able to streamline their testing procedures to
deliver the maximum return on investment (ROI). Why? Because automated testing can
shorten development life cycles, eliminate the possibility of human error, and automate
mundane and monotonous tasks.
6
Why is automation needed?
Some teams simply don’t have the time or resources to be manually testing software.
Automation can help with this. It can significantly reduce the time it takes to test products
because it runs quickly and efficiently. This puts time back into the hands of developers and
production managers, who can divert their efforts into other aspects of the project. It can
greatly boost productivity as a result.
Using automation technology also means that testing can be done more frequently,
improving overall functionality. Software development cycles call for repeated testing, often
the same test over and over again. Automation testing makes this possible, without taking
team members away from other work. It can also deliver more accurate and reliable results
than manual testing alone. Further ensuring that the product is ready for market or to move
onto the next stage of development. This validation gives the team a boost to continue
developing.
Most importantly, automation benefits product development. That’s because when
software, an app, or another product can be designed and produced more efficiently, it makes
way for continuous development once it's been launched. Essentially, the business will be
able to work on more software and products, even with the same amount of team members,
thanks to automation. Not only does this mean they perfect the final products they put out,
but it also means they are creating new software all the time.
7
Saves time and money - Testing can be time-consuming. Though automation may
require an initial investment, it can save money in the long run to become more cost-
effective. Team members use their time in other areas and are no longer required to
carry out manual testing in many situations. This improves their workflow.
8
This graph gives us a glimpse into the future, showing how machines may soon be able to
complete work previously carried out by humans:
9
What are the types of automation testing?
There are five key types of automation testing. Each can be used in different circumstances,
depending on the application under test. You can analyze each one to see which would be
best for you, or you can test them out with a trial. This is sometimes the best way to know
which tool you should be using. Here are the main types of automation testing tools:
Code analysis
Code analysis consists of different testing tools, including dynamic analysis and static
analysis. You can apply different ones to tackle separate tests. For instance, some look for
possible security flaws, while others check for usability. To run these tests, the developer will
need to write code. Once this has been done, though, there’s no human interference for the
rest of the testing process.
Unit tests
Unit testing is all about checking individual components of the software or product, as you
would developing iOS technology for an iPhone or Android for Samsung. This means that
each element of the software is fully tested before the finished version is. These tests can be
written by developers, but now that automation testing has come into play, there’s no need.
Businesses would typically deploy these types of tests in the software development phase of
the production process.
10
This graph shows the unit test life cycle:
Integration tests
Integration tests, also known as end-to-end tests, are often more complicated to set up than
some other tests. The application models are integrated and tested as a group. This means that
communication between each module can be tested, to figure out how well they work as a
whole.
Smoke tests
This type of testing is used to check whether the product is stable or not. If it’s not stable, it
gets sent back to the developers marked as an ‘unstable build’. They can then run further tests
if needed to identify the root cause of the problem. This diagram shows how the smoke test
process works:
11
The automation test process
The automaton test process should be something the team is familiar with tech pros, and
particularly developers. Wondering how to start automation testing from scratch? Here’s a
rundown of the automation test process, from selecting the test tool to execution.
Planning stage
The planning stage will look at creating a testing strategy. This includes your automation test
tool and how you’re going to use it, your framework design and features, and your goals.
What do you want to discover by the end of the testing? You will also need to create a
detailed timeline for scripting and executing test cases with the development team who will
be carrying out the tests. You will also have to consider in-scope and out-of-scope items of
automation.
12
API testing may also be necessary before you begin. Your automated tests will also generate
a report for you to analyze with the rest of your team. It provides a summary of the testing so
far. This can be used in future tests to compare.
Ongoing maintenance
Ongoing maintenance should be part of your automation testing process. This is particularly
needed if you plan on running tests in the future with your reusable test scripts. Because even
though you’ll have a script ready to use, they will still need to be updated by the time you run
your next test if your tool has changed.
Ongoing maintenance also provides reassurance as the team makes their way to the next
stage, or backtracks to run another test. When a method has been repeatedly tried and tested,
you’re more likely to be provided with an accurate outcome.
13
Ongoing test maintenance
Using automated testing is the best way to ensure your business stays on top of debugging,
defects, and issues that can quickly turn the production process sour if not ironed out as soon
as possible.
14
Conclusion
Automated unit testing is a necessity if developers are to meet the fast-paced development
deadlines of today's software markets. More and more development organizations are
following Microsoft Corporation's lead and implementing the build-a-day approach. In the
past, build dates were set and builds occurred at specific intervals that were measured in days,
weeks, or months. New development processes such as those associated with objectoriented
development and languages like Java require more frequent software builds.
15