Lecture # 13 - Software Test Automation
Lecture # 13 - Software Test Automation
ASSURANCE
Course Outline
Course Outline (Cont….)
Course Contents
Lecture 11 Cost of Quality
Lecture 12 Software Quality Metrics
Lecture 13 Introduction of Testing Tool (Guest Lecture)
Lecture 14 Course Recap
LECTURE # 13
SOFTWARE TEST
AUTOMATION
Today’s Plan
Software Test Automation
Objectives of Automated Testing
Myths and Facts
Pros and Cons of Automated Testing
Examples of some testing tools
Introduction
Manual testing is often seen as a thing of the past,
but the truth is, it's still a crucial part of the
software development process. In today's fast-
paced digital world, where automation is taking
over, it's important to remember that manual testing
is irreplaceable. Here's why:
Introduction
Flexibility: Manual testing allows for more flexibility in
testing scenarios, and can easily adapt to changes in the
software. Automated testing, on the other hand, is limited
by predetermined test cases. Manual testing allows us to
test unknowns of the software while automation is here to
check the known functionalities.
User experience: Have you ever used software that felt
clunky and hard to navigate? That's often the result of a lack
of manual testing from the user's perspective.
Exploratory testing: Manual testing allows for the human
touch, and the ability to think outside the box and test the
software in ways that were not initially anticipated.
Introduction
Cost-effective: Manual testing is often more cost-effective than
automated testing, especially for small projects.
The perfect duo: Manual testing and automated testing are
complimentary, not mutually exclusive. Automated testing can be
used to quickly test repetitive tasks, while manual testing can be
used to test more complex scenarios. Together they provide a
comprehensive testing strategy.
In conclusion, manual testing may not be the new shiny toy in the
software development world, but it's still a valuable tool that
should be included as an essential part of any testing strategy. So,
next time you hear someone saying manual testing is a thing of the
past, remember that it's still an irreplaceable part of the software
development process.
Definition of Automation
System
Test Inputs Under Test Results
Test
Implications of the Simple Model
We control the inputs
We can verify results
Tests perform precisely the same You can test how the software reacts
operations each time they are run, under repeated execution of the
thereby eliminating human error. same operations.
Programmable Comprehensive
You can program sophisticated tests You can build a suite of tests that
that bring out hidden information covers every feature in your
from application.
the application.
Advantages of Automated Testing
Reusable Better Quality Software
You can reuse tests on different Because you can run more tests in
versions of an application, even if the less
users interface changes. time with fewer resources.
Tool Vendor
Quick Test Professional (QTP) HP formerly Mercury
Rational Functional Tester IBM formerly Rational
Visual Team Test Microsoft
SilkTest Borland formerly Segue
Selenium Open Source
Anteater Open Source
Choosing Automation Tools
Ease of integration
Compatibility
Performance
Types of tests
Maintainability
Affordability