3. WHAT IS AUTOMATION TESTING?
3
"Automation testing refers to the automatic testing of the software in which developer or
tester write the test script once with the help of testing tools and framework and run it on the
software. The test script automatically test the software without human intervention and
shows the result (either error, bugs are present or software is free from them).“
Automation testing involves using software tools and scripts to execute test cases and
compare actual outcomes with expected results automatically. Unlike manual testing, which
relies on human intervention for each test step, automation testing aims to expedite the
testing process, increase test coverage, and enhance accuracy.
4. 4
Real-Time Example:
Let's consider an example to illustrate automation testing:
Imagine you're part of a team developing an e-commerce website. One critical functionality is the checkout
process. Automation testing can be employed to ensure the smooth functioning of the checkout flow across
different scenarios:
Test Scenario Definition: You'll define various test scenarios for the checkout process, such as adding items to
the cart, entering shipping details, payment processing, and order confirmation.
Automation Tool Utilization: Using an automation testing tool like Selenium, you'll create test scripts to automate
these scenarios. These scripts will simulate user interactions with the website, performing actions like clicking
buttons, entering data, and verifying elements.
Execution and Result Comparison: The automation tool will execute these test scripts against different versions
of the website or in different browsers. It will compare the actual outcomes (such as successful order placement)
with the expected results defined in the scripts, generating reports highlighting any discrepancies or failures.
5. MANUAL V/S AUTOMATION TESTING
5
Manual testing Automation testing
Testing in which a human tester executes test
cases
In automation testing, automation tools are used
to execute the test cases
In this testing, human resources are involved,
that's why it is time-consuming
It is much faster than the manual testing
It is repetitive and error-prone Here automated tools are used that make it
interesting and accurate
BVT (build verification testing) is time-consuming
and tough in manual testing
It's easy to build verification testing
Instead of frameworks, this testing use checklist,
guidelines, and stringent process for drafting test
cases.
Frameworks like keyword, hybrid, and data drive
to accelerate the automation process.
The process turnaround time is higher than the
automation testing process (one testing cycle
takes lots of time)
It completes a single round of testing within record
time; therefore, a process turnaround time is
much lower than a manual testing process.
The main goal of manual testing is user-
friendliness or improved customer experience.
Automation testing can only guarantee a positive
customer experience and user-friendliness.
It is best for usability, exploratory and adhoc
testing
It is widely used for performing testing, load
testing and regression testing.
Low return on investment The high return on investment
7. WATERFALL MODEL
ADVANTAGES & DISADVANTAGES
7
•Simple and easy to understand and use
•Phases are processed and completed one at a time.
•Works well for smaller projects where requirements are very well
understood.
•Clearly defined stages.
•Well understood milestones.
•Easy to arrange tasks.
•Process and results are well documented.
•No working software is produced until late during the life
cycle.
•High amounts of risk and uncertainty.
•Not a good model for complex and object-oriented projects.
•Poor model for long and ongoing projects.
•It is difficult to measure progress within stages.
•Adjusting scope during the life cycle can end a project
8. V MODEL
ADVANTAGES & DISADVANTAGES
8
•This is a highly-disciplined model and Phases are
completed one at a time.
•Works well for smaller projects where requirements
are very well understood.
•Simple and easy to understand and use.
•Easy to manage due to the rigidity of the model. Each
phase has specific deliverables and a review process.
•High risk and uncertainty.
•Not a good model for complex and object-oriented projects.
•Poor model for long and ongoing projects.
•Not suitable for the projects where requirements are at a
moderate to high risk of changing.
•Once an application is in the testing stage, it is difficult to go
back and change a functionality.
•No working software is produced until late during the life
cycle.