MODULE 4_ TEST AUTOMATION
MODULE 4_ TEST AUTOMATION
AUTOMATION
-By
Asst Prof. Rohini M. Sawant
Automation and Testing Tools
● Testing today is not a manual operation but is assisted with many efficient tools that help
the testers.
● Testing automation is effective such that any kind of repetitive and tedious activities can
be done by machines, and testers can utilize their time in more creative and critical work.
● Automated testing should not be viewed as a replacement for manual testing. There is a
misconception among professionals that software testing is easy as you only run the test
cases with automated tools.
● The truth is that testers have many duties in the development and it is not only about
running automated tools. There are many activities in the testing life cycle which cannot
be automated and manual effort is required.
● Thus, automated tools are merely a part of the solution; they are not a magical answer to
the testing problem. Automated testing tools will never replace the analytical skills
required to conduct the test, nor will they replace manual testing.
● It must be seen as an enhancement to the manual testing process
Need for Automation
● Reduction of testing efforts: SDLC for product development aiming at software
testing and quality assurance, has to undergo verification and validation activities in
each phase as per the V-V model. This has number of test activities and number of test
cases in each test activity. Now if some of these are implemented with testing tools
aiming towards automation, it will save a lot of testing efforts of the testers.
● Reduction of testers involvements: if the test cases are automated, they just can be
monitored by semi-skilled testers and the main tester involvement being reduce can
use their time for design and development.
● Facilitates regression testing: regression testing is most time consuming and boring
as a lot of repetition is involved in it. These repetition if automated, will save a lot of
time of the testers.
● Avoids human mistakes: manual testing if done without 100% involvement will
introduce errors and for repeating same time of test cases will increase this. All such
problems can be overcomed by automated tools.
Need for Automation
● Reduces overall cost of software: testing tools are costly, but by using the testing tools for repeated
test, the testing time ,efforts etc are reduced. The testers get time for doing other fruitful activities of
design and planning. This lets to overall quality development which thus brings saving in overall cost.
● Simulated testing: in case of integration testing, interfaces and data has to be stimulated by studs and
drivers. This work can be made more easy by automation then doing it manually. Large number of
virtual interfaces(fan-in and fan-out) can be implemented automatically much more easily as compared
to manually.
● Internal testing: in a testing activity, some internal testing activities may have to be performed, like
memory leakage check, coverage check or data coverage check etc. This activities if done manually
will be cumbersome, Time consuming and may not be accurate. This can be automated for more
accurate results and time saving.
● Test Enablers: stubs and drivers are some of the test enablers. Making their codes overhead on the
tester. This work can be done by automated tools in a better and more efficient way.
● Test cases design: initially test cases design started manually but by experience and knowledge the
process can be automated under complete control of the tester.
CATEGORIZATION OF TESTING TOOLS
CATEGORIZATION OF TESTING TOOLS
CATEGORIZATION OF TESTING TOOLS
TESTING ACTIVITY TOOLS : These tools are based on the testing activities or tasks
in a particular phase of the SDLC. Testing activities can be categorized as:
● Reviews and inspections
● Test planning
● Test design and development
● Test execution and evaluation
CATEGORIZATION OF TESTING TOOLS
CATEGORIZATION OF TESTING TOOLS
CATEGORIZATION OF TESTING TOOLS
CATEGORIZATION OF TESTING TOOLS
Test execution and evaluation tools The types of tools required for test
execution and evaluation are:
● Capture/playback tools These tools record events (including keystrokes,
mouse activity, and display output) at the time of running the system and
place the information into a script. The tool can then replay the script to test
the system.
● Memory testing tools These tools verify that an application is properly using
its memory resources. They check whether an application is Not releasing
memory allocated to it, Overwriting/overreading array bounds or Reading
and using uninitialized memory
● Performance testing tools There are various systems for which performance
testing is a must but this becomes a tedious job in real-time systems.
Performance testing tools help in measuring the response time and load
capabilities of a system.
SELECTION OF TESTING TOOLS
COSTS INCURRED IN TESTING TOOLS
GUIDELINES FOR AUTOMATED TESTING