0% found this document useful (0 votes)
17 views21 pages

Lecture 11 Manual & Automation Testing

The document discusses Manual and Automation Testing, highlighting the importance of Manual Testing in identifying bugs and ensuring software quality before automation can be implemented. It outlines the goals, types, and processes of both testing methods, emphasizing the benefits of Automation Testing such as increased efficiency and coverage. Additionally, it provides guidance on selecting automation tools and frameworks to enhance the testing process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views21 pages

Lecture 11 Manual & Automation Testing

The document discusses Manual and Automation Testing, highlighting the importance of Manual Testing in identifying bugs and ensuring software quality before automation can be implemented. It outlines the goals, types, and processes of both testing methods, emphasizing the benefits of Automation Testing such as increased efficiency and coverage. Additionally, it provides guidance on selecting automation tools and frameworks to enhance the testing process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Software Quality

Assurance & Testing


Lecture 12

Manual & Automation Testing


Manual Testing
• Manual Testing is a type of software testing in which test cases are executed
manually by a tester without using any automated tools.
• The purpose of Manual Testing is to identify the bugs, issues, and defects in the
software application.
• Manual software testing is the most primitive technique of all testing types and it
helps to find critical bugs in the software application.
• Any new application must be manually tested before its testing can be automated.
• Manual Software Testing requires more effort but is necessary to check automation
feasibility.
• Manual Testing concepts does not require knowledge of any testing tool.
• One of the Software Testing Fundamental is "100% Automation is not possible".
This makes Manual Testing imperative.
Goal of Manual Testing
• The key concept of manual testing is to ensure that the application is
error free and it is working in conformance to the specified functional
requirements.
• Test Suites or cases, are designed during the testing phase and should
have 100% test coverage.
• It also makes sure that reported defects are fixed by developers and re-
testing has been performed by testers on the fixed defects.
• Basically, this testing checks the quality of the system and delivers bug-
free product to the customer.
Types of Manual Testing:

In fact, any type of software testing type can be executed both manually as well using
an automation tool.
How to perform Manual Testing
• Read and understand the software project documentation/guides. Also,
study the Application Under Test (AUT) if available.
• Draft Test cases that cover all the requirements mentioned in the
documentation.
• Review and baseline the test cases with Team Lead, Client (as
applicable)
• Execute the test cases on the AUT
• Report bugs.
• Once bugs are fixed, again execute the failing test cases to verify they
pass.
Tools to Automate Manual Testing
• Selenium
• QTP
• Jmeter
• Loadrunner
• TestLink
• Quality Center(ALM)
What is Automation Testing?
• Automation Testing or Test Automation is a software testing technique
that performs using special automated testing software tools to execute
a test case suite.
• On the contrary, Manual Testing is performed by a human sitting in front
of a computer carefully executing the test steps.
• The automation testing software can also enter test data into the
System Under Test, compare expected and actual results and generate
detailed test reports.
• Test Automation demands considerable investments of money and
resources.
Why Test Automation?
• Test Automation is the best way to increase the effectiveness, test
coverage, and execution speed in software testing. Automated software
testing is important due to the following reasons:
• Manual Testing of all workflows, all fields, all negative scenarios is time
and money consuming
• It is difficult to test for multilingual sites manually
• Test Automation does not require Human intervention. You can run
automated test unattended (overnight)
• Test Automation increases the speed of test execution
• Automation helps increase Test Coverage
• Manual Testing can become boring and hence error-prone.
Which Test Cases to Automate?
Test cases to be automated can be selected using the following criterion
to increase the automation ROI
High Risk - Business Critical test cases
Test cases that are repeatedly executed
Test Cases that are very tedious or difficult to perform manually
Test Cases which are time-consuming
The following category of test cases are not suitable for automation:
Test Cases that are newly designed and not executed manually at least
once
Test Cases for which the requirements are frequently changing
Test cases which are executed on an ad-hoc basis.
Automated Testing Process:
Following steps are followed in an Automation Process
• Step 1) Test Tool Selection
• Step 2) Define scope of Automation
• Step 3) Planning, Design and Development
• Step 4) Test Execution
• Step 5) Maintenance
Test tool selection
• Test Tool selection largely depends on the technology the Application
Under Test is built on.
• It's a good idea to conduct a Proof of Concept of Tool on AUT.
Define the scope of Automation
The scope of automation is the area of your Application Under Test which
will be automated. Following points help determine scope:
• The features that are important for the business
• Scenarios which have a large amount of data
• Common functionalities across applications
• Technical feasibility
• The extent to which business components are reused
• The complexity of test cases
• Ability to use the same test cases for cross-browser testing
Planning, Design, and Development
During this phase, you create an Automation strategy & plan, which
contains the following details-
• Automation tools selected
• Framework design and its features
• In-Scope and Out-of-scope items of automation
• Automation testbed preparation
• Schedule and Timeline of scripting and execution
• Deliverables of Automation Testing
Test Execution
• Automation Scripts are executed during this phase. The scripts need
input test data before there are set to run. Once executed they provide
detailed test reports.
• Execution can be performed using the automation tool directly or
through the Test Management tool which will invoke the automation
tool.
• Example: Quality center is the Test Management tool which in turn it
will invoke QTP for execution of automation scripts.
• Scripts can be executed in a single machine or a group of machines. The
execution can be done during the night, to save time.
Test Automation Maintenance Approach
• Test Automation Maintenance Approach is an automation testing
phase carried out to test whether the new functionalities added to the
software are working fine or not.
• Maintenance in automation testing is executed when new automation
scripts are added and need to be reviewed and maintained in order to
improve the effectiveness of automation scripts with each successive
release cycle.
Framework for Automation
A framework is set of automation guidelines which help in
• Maintaining consistency of Testing
• Improves test structuring
• Minimum usage of code
• Less Maintenance of code
• Improve re-usability
• Non Technical testers can be involved in code
• The training period of using the tool can be reduced
• Involves Data wherever appropriate
There are four types of frameworks used in automation software testing:
• Data Driven Automation Framework
• Keyword Driven Automation Framework
• Modular Automation Framework
• Hybrid Automation Framework
Benefits of Automation Testing
Following are benefits of automated testing:
• 70% faster than the manual testing
• Wider test coverage of application features
• Reliable in results
• Ensure Consistency
• Saves Time and Cost
• Improves accuracy
• Human Intervention is not required while execution
• Increases Efficiency
• Better speed in executing tests
• Re-usable test scripts
• Test Frequently and thoroughly
• More cycle of execution can be achieved through automation
• Early time to market
Types of Automated Testing
• Smoke Testing
• Unit Testing
• Integration Testing
• Functional Testing
• Keyword Testing
• Regression Testing
• Data Driven Testing
• Black Box Testing
How to Choose an Automation Tool?
Selecting the right tool can be a tricky task. Following criterion will help you select the best tool for
your requirement-
• Environment Support
• Ease of use
• Testing of Database
• Object identification
• Image Testing
• Error Recovery Testing
• Object Mapping
• Scripting Language Used
• Support for various types of test - including functional, test management, mobile, etc...
• Support for multiple testing frameworks
• Easy to debug the automation software scripts
• Ability to recognize objects in any environment
• Extensive test reports and results
• Minimize training cost of selected tools
Automation Testing Tools
• There are tons of Functional and Regression Testing Tools available in the market. Here
are best tools certified by our experts
• Ranorex Studio
• Testim
• 21
• Selenium
• QTP (MicroFocus UFT)
• Rational Functional Tester
• WATIR
• SilkTest
END OF LECTURE

You might also like