0% found this document useful (0 votes)
63 views23 pages

Manual Testing

Manual testing is a traditional method of software testing where testers manually execute test cases without automation tools, but it has limitations such as being slow, costly, and inconsistent. Automation testing aims to enhance efficiency by running tests faster and more reliably, while also allowing for broader test coverage and reducing human error. Both methods have their advantages and disadvantages, and the choice between them depends on the specific testing needs and project requirements.
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)
63 views23 pages

Manual Testing

Manual testing is a traditional method of software testing where testers manually execute test cases without automation tools, but it has limitations such as being slow, costly, and inconsistent. Automation testing aims to enhance efficiency by running tests faster and more reliably, while also allowing for broader test coverage and reducing human error. Both methods have their advantages and disadvantages, and the choice between them depends on the specific testing needs and project requirements.
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/ 23

WHAT IS MANUAL TESTING ?

• Manual testing is the oldest and most rigorous type of software


testing. Manual testing requires a tester to perform manual
test operations on the test software without the help of Test
automation.
• Manual testing is the process of manually testing software for
defects. It requires a tester to play the role of an end user and
use most of all features of the application to ensure correct
behavior.
• Manual testing is the testing done without the use of any
automation tool.
• Manual testing start once the testing team receives a build
from the development team.
limitations of manual testing
1. Manual testing is slow and costly. Because it is very labor-intensive, it takes
a long time to complete tests. Increasing headcount increases cost.

2. Manual tests don’t scale well. As the complexity of the software increases,
the complexity of the testing problem grows exponentially. This leads to an increase in
the total time devoted to testing as well as the total cost of testing.

3. Manual testing is not consistent or repeatable. Variations in how the tests


are performed are inevitable, for various reasons. One tester may approach
and perform a certain test differently from another, resulting in different results
on the same test, because the tests are not being performed identically.

4. Lack of training is a common problem, although not unique to manual


software testing.

5. Testing is difficult to manage. There are more unknowns and greater


uncertainty in testing than in code development. Modern software development
practices are well-structured, but if you don’t have sufficient structure in testing,
it will be difficult to manage.
Advantages of Manual Testing
• Manual Testing is eye ball testing
• Applications with short life cycles.
• Applications that have GUIs that constantly changes
• It requires less time and expense to begin productive manual testing.
• Automation cannot replace human intuition, inference, and inductive
reasoning.
• Automation Testing cannot change course in the middle of a test run to
examine something that had not been previously considered.
• Manual QA testing can be used in both small and big projects.
• Easily we can update our test case according to project movement.
• It is covered in limited cost.
• Easy to learn for new people who are entered into testing.
• Manual QA Testing is more reliable than automation (in many cases
automation will not cover all cases)
Disadvantage of Manual Testing:
• GUI objects size difference and color
combination etc is not easy to find out in
manual testing.
• Load testing and performance testing is not
possible in manual testing.
• Running test manually is very time consuming
job.
• Regression Test cases are time consuming if it is
manual testing.
Automation Testing
• Goal of Automation is to reduce number of test cases to
be run manually and not eliminate manual testing all
together.
• Automated testing tools are capable of executing tests,
reporting outcomes and comparing results with
earlier test runs.
• Tests carried out with these tools can be run repeatedly,
at any time of day.
• The method or process being used to
implement automation is called a test
automation framework.
Why Automated Testing?

• Automated software testing is important due


to following reasons:
• Manual Testing of all work flows, all fields , all negative
scenarios is time and cost consuming
• Automation does not require Human intervention. You
can run automated test unattended (overnight)
• Automation increases 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 executed repeatedly
• 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 atleast
once
• Test Cases for which the requirements are changing frequently
• Test cases which are executed on ad-hoc basis.
Automated Testing Process:

• Following steps are followed in an Automation


Process
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 Proof of Concept of Tool on AUT
• Criteria for Tool Selection:
For automating any application, the following parameters should be
considered.
• Data driven capabilities
• Debugging and logging capabilities
• Platform independence
• Extensibility & Customizability
• E-mail Notifications
• Version control friendly
• Support unattended test runs
Define the scope of Automation

• Scope of automation is the area of your Application Under


Test which will be automated. Following points help
determine scope:
• Feature that are important for the business
• Scenarios which have large amount of data
• Common functionalities across applications
• Technical feasibility
• Extent to which business components are reused
• Complexity of test cases
• Ability to use the same test cases for cross browser testing
Planning, Design and Development

During this phase you create Automation


strategy & plan, which contains following
details-
• Automation tools selected
• Framework design and its features
• In-Scope and Out-of-scope items of automation
• Automation test bed 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
night , to save time.

Maintenance
• As new functionalities are added to the System Under Test with successive
cycles, Automation Scripts need to be added, reviewed and maintained for
each release cycle. Maintenance becomes necessary to improve
effectiveness of Automation Scripts.
Framework in 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
• Training period of using the tool can be reduced
• Involves Data wherever appropriate
There are four types of framework used in
automation software testing:
• Data Driven Automation Framework
• Keyword Driven Automation Framework
• Modular Automation Framework
• Hybrid Automation Framework
Benefits of Automation 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
Different types of software testing that can be automated

• 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
• Tool selection is one of biggest challenges to
be tackled before going for automation.
• First, Identify the requirements, explore
various tools and its capabilities, set the
expectation from the tool and go for a Proof
Of Concept.
Automation Testing Tools

• Selenium
• QTP (HP UFT)Quick Test Professional
• Rational Functional Tester
• SilkTest
• Test Complete
• Win Runner
• LoadRunner
Features of Test Tools
• Each tool has a specific purpose, technique is very
important while using the tool.
• The same tool may be used differently depending
upon the technique selecting for using tool.
• Tools can be used in an entire SDLC for all
verification & validation activities.
• A tool improves the efficiency & Effectiveness of a
testing process.
• A tool enhance a defect visualization process
effectively.
Advantages of Automated Testing:
1) Reliable: Tests perform precisely the same operations each time they are run,
thereby eliminating human error
2) Repeatable: You can test how the software reacts under repeated execution
of the same operations.
3) Programmable: You can program sophisticated tests that bring out hidden
information from the application.
4) Comprehensive: You can build a suite of tests that covers every feature in
your application.
5) Reusable: You can reuse tests on different versions of an application, even if
the user interface changes.
6) Better Quality Software: Because you can run more tests in less time with
fewer resources
7) Fast: Automated Tools run tests significantly faster than human users.
8) Economical: As the number of resources for regression test are reduced.
Disadvantages of Automation Testing:
1) Proficiency is required to write the automation test scripts.

2) Debugging the test script is major issue. If any error is present


in the test script, sometimes it may lead to deadly consequences.

3) Test maintenance is costly in case of playback methods. Even


though a minor change occurs in the GUI, the test script has to be
re-recorded or replaced by a new test script.

4) Maintenance of test data files is difficult, if the test script tests


more screens.
Suggested guidelines for Automated Software Testers so as to
draw maximum benefits from automation:

1) Concise: As simple as possible and no simpler.


2) Self-Checking: Test reports its own results; needs no human interpretation.
3) Repeatable: Test can be run many times in a row without human intervention.
4) Robust: Test produces same result now and forever. Tests are not affected by changes
in the external environment.
5) Sufficient: Tests verify all the requirements of the software being tested.
6) Necessary: Everything in each test contributes to the specification of desired behavior.
7) Clear: Every statement is easy to understand.
8) Efficient: Tests run in a reasonable amount of time.
9) Specific: Each test failure points to a specific piece of broken functionality; unit test
failures provide "defect triangulation".
10) Independent: Each test can be run by itself or in a suite with an arbitrary set of other
tests in any order.
11) Maintainable: Tests should be easy to understand and modify and extend.
12) Traceable: To and from the code it tests and to and from the requirements

You might also like