CUI Abbottabad
Department of Computer Science
SOFTWARE TESTING
Lecture 11
Manual Vs Automation Testing
and Regression Testing
1
COMSATS University Islamabad, Abbottabad Campus
CONTENT…
Manual Testing
Automation Testing
Test selection guidelines for automation
Characteristics of automated test cases
Steps in automated test cases
Regression testing
2
MANUAL TESTING
Manual testing is a software testing process in which test cases are
executed manually without the use of any automated tool.
All test cases are executed manually by the tester according to the end
user's perspective.
Ensures whether the application is working, as mentioned in the
requirement document or not.
Test cases are planned and implemented to complete almost 100% of
the software application.
Test case reports are also generated manually.
3
HOW TO PERFORM MANUAL TESTING
First, tester observes all documents related to software, to select
testing areas.
Tester analyses requirement documents to cover all requirements
stated by the customer.
Tester develops the test cases according to the requirement document.
All test cases are executed manually by using Black box testing and
white box testing.
If bugs occurred then the testing team informs the development team.
The Development team fixes bugs and handed software to the testing
team for a retest.
4
AUTOMATION TESTING
Defined as “automatic testing of the software in which developer/tester
write the test script with the help of testing tools and run it on the
software”.
It does not require any human intervention and automatically enters test
data into the System under Test, compare expected and actual results and
generate detailed test reports.
May requires manual effort when creating initial scripts.
Automation testing process spends more time in keeping the test scripts
whereas enhancing the complete test coverage.
5
WHICH TEST CASES SHOULD WE
AUTOMATE?
High Risk – Business Critical test cases
Test cases to be executed repeatedly
Tedious or difficult test cases
Time-consuming test cases
6
HOW TO AUTOMATE TEST CASES?
Define the scope of automation
Test tool selection
Test plan design and development
Test environment setup
Test script and its execution
Test Results and reports
Maintenance
7
TEST SELECTION GUIDELINES FOR TEST
AUTOMATION
8
Less Volatile
Unlikely to change over time
9
Repeatability
One time test cases should not
be considered for
automated test case
10
High Risk
Due to repeatability, these test
Cases are right candidate for
automation
11
Easy to automate
Should be automated if
are easy to be…
12
Manually Difficult
For complex problems too
13
Boring and Time consuming
The tester’s time should
be utilized in the development
of more creative and
effective test cases
14
CHARACTERISTICS OF AUTOMATED
TEST CASES
15
Simple
The test case should
have a single objective
16
Modular
The test steps are
building blocks from
reusable libraries that
are put together to
form multistep test cases
17
Robust and reliable
Can ignore trivial failures
18
Re-usable
The test steps are
built to be configurable,
that is, variables
should not be hard coded
19
Maintainable
All the test cases
should be controlled
with a version control
system
20
Documented
All descriptions should
be clearly written
21
Independent and
Self-sufficient
Design each test case
as a cohesive entity
22
SIX MAJOR STEPS IN AUTOMATED
TEST CASE
23
MANUAL TEST CASE
It is important to remember that test automation cannot replace manual testing.
Human creativity, variability, and observability cannot be mimicked through
automation
Certain categories of tests, such as usability, interoperability, robustness, and
compatibility, are often not suited for automation
It is too difficult to automate all the test cases; usually 50% of all the system-level
test cases can be automated
There will always be a need for some manual testing, even if all the
system-level test cases are automated.
24
REGRESSION TESTING
Regression testing is a black box testing technique.
When new changes are made in the existing system or a new feature is added to
the application, it is essential to test the application modules that are impacted
by this new requirement.
Regression testing is making sure that the product works fine with new
functionality, bug fixes, or any change in the existing feature.
Test cases are re-executed to check the previous functionality of the application
is working fine, and the new changes have not produced any bugs.
25
WHEN CAN WE PERFORM REGRESSION
TESTING?
When new functionality added to the application.
When there is a Change Requirement.
When the defect is fixed.
When there is a performance issue fix.
When there is an environment change.
26
REGRESSION TESTING TECHNIQUES
Retest All: All the test cases are executed again that were
previously written to make sure that everything works fine,
and there are no bugs introduced because of change and a
new feature in code.
• Expensive
Test case Selection: A selected test-case suite will execute
rather than an entire test-case suit. Select test suite on basis
of code change.
• Reusable Test cases.
• Obsolete Test cases.
Test case Prioritization: Prioritize the test case depending on
business impact, critical and frequently functionality used.
Selection of test cases will reduce the regression test suite.
27
REFERENCES
Book:
Software testing and quality assurance (Indian) by Kashira Sagar Naik and
Priyadarshi Tripathy
28