Automated Testing

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15
At a glance
Powered by AI
The document discusses automation testing and its benefits. It mentions why automation is needed, the automation testing process, popular tools for automation testing and advantages and disadvantages of automation.

Automation testing is the process of testing software and other tech products to ensure it meets requirements. It tests for bugs, defects and issues and helps ensure the software works as intended.

Automation testing is needed to improve quality, catch errors, allow multiple OS testing, save time and money compared to manual testing. It helps ensure safety and catch bugs that could otherwise lead to crashes.

GOVERNMENT POLYTECHNIC, SAKOLI

A Micro project Report On


“Write a report on automated testing”

Subject: Software Testing


Semester: fifith

Session: 2022-23

Submitted by
Roll No Enrolment No Name

33 2000910069 Saniya I. Sheikh


34 2000910070 Pranjal P. Bharne
35 2000910071 Sweta S. Ramteke
54 2100910087 Pratik N. Vairagade

Guided By
Prof. Mr. V. B. Khobragade

DEPARTMENT OF COMPUTER TECHNOLOGY

1
2
DEPARTMENT OF COMPUTER TECHNOLOGY
GOVERNMENT POLYTECHNIC, SAKOLI

ACADEMIC SESSION 2022-2023


SUBMISSION
I am the student of Third Year of course in Computer Technology. Sincerely
Submit, that I have completed the time to time project as described in this
project report by our skills under the guidance of Prof. Mr. V. B. Khobragade
Sir

Name of Student Roll No. Signature


Saniya I. Sheikh 33
Pranjal P. Bharne 34
Sweta S. Ramteke 35
Pratik N. Vairagade 54

DEPARTMENT OF COMPUTER TECHNOLOGY

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.

DEPARTMENT OF COMPUTER TECHNOLOGY

4
INDEX
Sr.No. Topic Page
1 INTRODUCTION 6

 What is automation testing?

2 INFORMATION ABOUT AUTOMATED TESTING 7-11

 Why is automation needed?


 What are the benefits of automation testing?
 How can enterprises utilize automation?
 Which tests should be automated?
 What are the types of automation testing?

3 THE AUTOMATION TEST PROCESS 12-13

 Select the test tool to utilize


 Establish the scope of automation
 Planning stage
 The execution stage
 Ongoing maintenance

4 FINDING THE RIGHT TOOLS TO MAKE AUTOMATION A BREEZE 13-14

 Ongoing test maintenance

5 POPULAR AUTOMATION TOOLS: 14

6 WHY TO TRANSFORM FROM MANUAL TO AUTOMATED TESTING? 14

 Reasons for Transformation:


7 DISADVANTAGES OF AUTOMATION TESTING: 14

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.

What are the benefits of automation testing?


Software testing has many benefits, which is why SaaS businesses across the globe are
utilizing automation technology. Here are some of the biggest benefits of using automation
testing for software development:
 Detailed reporting capabilities - Automation testing uses well-crafted test cases for
various scenarios. These scripted sequences can be incredibly in-depth, and provide
detailed reports that simply wouldn’t be possible when done by a human. Not to
mention providing them in a shorter amount of time.
 Improved bug detection - One of the main reasons to test a product is to detect bugs
and other defects. Automation testing makes this process an easier one. It’s also able
to analyze a wider test coverage than humans may be able to.
 Simplifies testing - Testing is a routine part of the operations of most SaaS and tech
companies. Making it as simple as possible is key. Using automation is extremely
beneficial. When automating test tools, the test scripts can be reused. Manual testing,
meanwhile, calls for a single code line to be written for the same test case, each time
it needs to be run
 Speeds up the testing process - Machines and automated technology work faster
than humans. Along with improved accuracy, this is why we use them. In turn, this
shortens your software development cycles.
 Reduces human intervention - Tests can be run at any time of day, even overnight,
without needing humans to oversee it. Plus, when it’s conducted automatically, this
can also reduce the risk of human error.

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.

How can enterprises utilize automation?


Enterprises should be utilizing automation in order to improve their business processes and
operating systems, particularly those in the technology industry. Automation provides
valuable tools for businesses to use to their advantage, whether that be for improving product
delivery times or to meet increasing security standards.
Once you have established which test you’ll be using, you need to set goals as a benchmark
to see how it performs. Without setting goals, it’s going to be difficult for you to utilize the
test result to its full potential. Keep focused on this one objective, and don’t be afraid to run
separate tests where needs be. Consider what it is you’re trying to achieve, and how this test
can help you do that.
Divide your tests into logical, smaller tests. Larger, more complex tests, are more difficult to
run. Team members that aren’t writing test code can be moved to other areas of the product
development process to better utilize their time. Utilizing automation is all about making
testing easier and improving business practices.

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:

Which tests should be automated?


It’s not possible to automate all testing at once. So, you need to decide which tests to
automate first. Let’s look at the kind of tests that can benefit from automation and therefore
should be automated:
 Tests that can lead to failure because of human error
 Repetitive and monotonous tests
 Extensive tests that require multiple data sets
 Tests that can’t be performed manually
 Tests that would take a lot of time manually
 High-risk tests
 Tests that need to run on several different hardware and/or software platforms

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.

Automated accepted tests


Automated accepted tests (AAT) are similar to behavior-driven development (BDD) and
automated acceptance test-driven development (AATDD). The acceptance test is created
before a new feature is developed. It sets a precedent for the feature to meet and is usually
written by developers, the business, and quality assurance (QA) in tandem. In future, they can
also be used as regression tests.

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.

Select the test tool to utilize


We’ve been through the different types of automation testing. Now’s the time to select which
one best suits your needs. For instance, if your goal is to detect a specific bug within the
software, you may be more inclined to use code analysis automation testing.
You can select from a wide range of test automation tools and web apps on the market, such
as Selenium IDE, WebDriver, UFT, Ranorex, Cucumber, Testcomplete, and Appium. You
should be able to access some on Microsoft with many offering a tutorial on how to use them.
Some are even open source. So you’ll need to have a solid understanding of each tool and
how it could benefit your testing.

Establish the scope of automation


This refers to the area test that will be automated, and how big it’s going to be. In this step,
you will walk through your team’s state, prepare the test data and the environment in which
the test is to take place. Automated testing means that human interference is rarely needed, so
you can leave the test to run when you’re away.
Here are some additional factors to consider when determining the scope of your automation
testing:
 The complexity of the test
 The main goals of the testing
 How many resources and business components are used
 Technical feasibility

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.

The execution stage


This is the penultimate stage in the automation testing process. Now you have your test tool
and strategy, it’s time to run your test. Depending on the test you chose, your developers may
need to write code, learn Web Services Description Language (WDSL), and run the test
automatically from the get-go with the tool’s API or user interface.

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.

Finding the right tools to make automation a breeze


Automation can truly change the way you run your business. Now is the time to embrace new
technology, and learn methodologies to make the working day run more effectively and
efficiently. Don’t be afraid to trial a few different tools to see which one works best for you.
After all, each business is different, and so is the software or products you are creating.
 Remember the following steps:
 Selecting the test tool
 Establishing the scope of the automation
 Planning and strategy
 Execution

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.

Popular Automation Tools:


 Selenium
 QTP
 Sikuli
 Appium
 Jmeter
 TestNG
 Zephyr
 UFT

Why to transform from Manual to Automated Testing?


In the year 1994, An aircraft completing its Routine flight crashed just before landing. This
was due to some bug or defect in the Software. The Testers didn’t even care about the final
testing and hence this accident happened. So in order to replace for few of the Manual Tests
(mandatory), we need Automation Testing.

Reasons for Transformation:


 Quality Assurance
 Error or Bug-free Software
 Safety Assurance
 Multiple OS Support
 Advantages of Automation Testing:
 Simplifies Test Case Execution
 Improves Reliability of Tests
 Increases amount of test coverage
 Minimizing Human Interaction
 Saves Time and Money
 Test Results are made public

Disadvantages of Automation Testing:


It requires a lot of effort for selecting the tool and designing customized software.
There is always a human factor, i.e., it can’t test everything like humans(design, usability,
etc.).
Tools might generate unexpected errors.
Not every method or every process may be automated.

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

You might also like