STF UNIT-V
STF UNIT-V
TOPIC-1
Test management tools allow automatic generation of the requirement test matrix (RTM), which
is an indication of functional coverage of the application under test (SUT).
Test Management tool often has multifunctional capabilities such as testware management, test
scheduling, the logging of results, test tracking, incident management and test reporting.
Test management helps the development and maintenance of product metrics during the course of
project.
Test management enables developers to make sure that there are fewer design or coding faults.
Automation Testing Test Plan Sections:
Automated testing or test automation is a method in software testing that makes use of special software
tools to control the execution of tests and then compares actual test results with predicted or expected
results.
1. Choose the test cases/scenarios that are to be regressed over and over across multiple
cycles.
2. Sometimes the simplest of test cases need lots of complicated solutions to be automated.
...
3. Automation Testing does not/cannot perform exploratory testing.
Use these top tips to ensure that your software testing is successful and you get the maximum
return on investment (ROI):
1.Decide what Test Cases to Automate
2.Test Early and Test Often
3.Select the Right Automated Testing Tool
4. Divide your Automated Testing Efforts
5. Create Good, Quality Test Data
6. Create Automated Tests that are Resistant to Changes in the UI
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.
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 the effectiveness of Automation
Scripts.
Automation Framework:
Automation Framework is not a single tool or process, but it is a collection of tools and processes
working together to support automated testing of any application. It integrates various functions
like libraries, test data, and various reusable modules.
The scope of Automation needs to be determined in detail before the start of the
project. This sets expectations from Automation right.
Select the right automation tool: A tool must not be selected based on its popularity,
but it's fit to the automation requirements.
Choose appropriate framework
Scripting Standards- Standards have to be followed while writing the scripts for
Automation. Some of them are-
o Create uniform scripts, comments, and indentation of the code
o Adequate Exception handling - How error is handled on system failure or
unexpected behavior of the application.
o User-defined messages should be coded or standardized for Error Logging for
testers to understand.
Measure metrics- Success of automation cannot be determined by comparing the
manual effort with the automation effort but by also capturing the following metrics.
o Percent of defects found
o The time required for automation testing for each and every release cycle
o Minimal Time is taken for release
o Customer Satisfaction Index
o Productivity improvement
The above guidelines if observed can greatly help in making your automation successful.
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.
1. Tricentis
Tricentis is the industry’s #1 Automation Testing platform and is recognized for reinventing
software testing for DevOps. Tricentis is the only vendor to achieve “leader” status in all
three top analyst reports.
Features:
Risk-based testing
Scriptless end-to-end test automation
Supports API, BI, Mobile, Cross Browser, RPA and other automation testing types
The industry’s most extensive technical support
Download Tricentis
2. mabl
mabl delivers scriptless end-to-end test automation, integrated with your delivery pipeline, so
you can focus on improving your app.
Features:
3. TestIM
Testim.io leverages artificial intelligence for the authoring, execution and maintenance of
automated test cases.
Features:
Proprietary technology learns and adapts automated tests to code changes, reducing
90% of maintenance time and 70% of authoring time.
Helps companies accelerate time-to-market and achieve unparalleled quality at a
fraction of time of conventional solutions.
4. Selenium
It is a software testing tool used for Regression Testing. It is an open source testing tool that
provides playback and recording facility for Regression Testing. The Selenium IDE only
supports Mozilla Firefox web browser.
It provides the provision to export recorded script in other languages like Java, Ruby,
RSpec, Python, C#, etc
It can be used with frameworks like JUnit and TestNG
It can execute multiple tests at a time
Auto complete for Selenium commands that are common
Walkthrough tests
Identifies the element using id, name, X-path, etc.
Store tests as Ruby Script, HTML, and any other format
It provides an option to assert the title for every page
It supports selenium user-extensions.js file
It allows to insert comments in the middle of the script for better understanding and
debugging
Download Selenium
It is easier to use for a non-technical person to adapt to and create working test cases
It fix defects faster by thoroughly documenting and replicating defects for developer
Collapse test creation and test documentation at a single site
Parameterization is easy than Win Runner
QTP supports .NET development environment
It has better object identification mechanism
It can enhance existing QTP scripts without "Application Under Test" being
available, by using the Active Screen
It supports a wide range of protocols and applications like Java, HTML, NET,
Windows, SAP, Visual Basic, etc.
It can record and replay the actions on demand
It integrates well with source control management tools such as Rational Clear Case
and Rational Team Concert integration
It allows developers to create keyword associated script so that it can be re-used
Eclipse Java Developer Toolkit editor facilitates the team to code test scripts in Java
with Eclipse
It supports custom controls through proxy SDK (Java/.Net)
It supports version control to enable parallel development of test scripts and
concurrent usage by geographically distributed team
TEST MANAGEMENT:
Test management most commonly refers to the activity of managing the computer software
testing process. A test management tool is software used to manage tests(automated or manual) that
have been previously specified by a test procedure.
The activities of testing can be divided into the following basic steps:
Planning and Control.
Analysis and Design.
Implementation and Execution.
Evaluating exit criteria and Reporting.
Test Closure activities.
Test Planning : Test planning involves producing a document that describes an overall approach
and test objectives. It involves reviewing the test basis, identifying the test conditions based on
analysis of test items, writing test cases and Designing the test environment. Completion or exit
criteria must be specified so that we know when testing (at any stage) is complete.
Based on a risk, select a subset of test suite to be executed for this cycle.
Assign the test cases in each test suite to testers for execution.
Manner of executing and test the actual system result against the expected result is test
execution. Test execution can be done manually and by using automation suit. During the
execution tester needs to make sure, that the user’s need of the software is occupied in the
software. Test execution is conducted by referring the document created during test design as
step by step process. Tester needs to keep the track while executing the test cases.
Unit testing
Functional testing
Integration testing
Test Reporting:
Test reporting gives the picture of test process and result for the particular testing cycle. To
define the element in the test reporting the first thing that needs to be considered is whom the
audiences of the test report are. For an example a project manager will like to see the high level
picture of the testing, intermediate people will wish to view more detail and the client will expect
the test reporting in the criteria such as requirement basis, feature basis. Test report is prepared
and communicated periodically like daily, weekly, month etc. This needs to be sent in different
stages and time.In the future project result of test reports needs to be analysed and apply the
lesson learns. Test report contain elements such as test execution status, completed percentage,
plan vs. executed test cases, test environment, test execution by resources, risk and mitigation if
any, defect summary, test scenario and conditions, any assumption, any note etc.
Percentage completed
Test scenario
Software area
Tested resource
Tested date
Test result
Defect by severity
Defects by priority
Defects by function
Identified risk
Likelihood
Risk level
Risk type
Mitigation plan
Scope of automation:
1. Automated tools are used to facilitate generally all testing designs and processes. ...
3. The extent to which automation is used in the testing process defines the scope of
automated testing
4. It is required for the successful execution of testing process for a project. It contains
comprehensive information to carry out the testing activities.
5. A software test plan document is divided into different sections such as introduction,
objectives, scope, test items, features to be tested, and environmental needs.
6. Automation is the process of evaluating the AUT(Application under Test) against the
specification with the help of a tool. In this article we are gong to discuss theScope of
automation in testing.
7. Depending on the nature of testing there are two main branches under automation.
Functional testing with automation.
Types of Tools:
S.No. Tool Type Used for Used by
4. Test data Preparation Tools Analysis and Design, Test data generation Testers
The Constraints such as budgets, time and other requirements are noted.
Evaluating the options and Shortlisting the ones that are meets the requirement
Developing the Proof of Concept which captures the pros and cons
Create a Pilot Project using the selected tool within a specified team
In the project HDFC Bank, to save the effort of testing, the project team
decided to use an automated testing tool for the test execution. After many
meetings, your team selected a suitable tool for the project.
One month later, you got the report from the project team about this tool
The results are great. The new automated tool doubled the testing
productivity. It means we saved 50% cost of test execution. If you’re
interested in exploring more options for your projects, check out this list
of automated testing tools.
This is an example of the benefit of using the testing tool in the project.
Selecting the right testing tool help you to improve the project productivity
and save project cost.
Open-Source Tools
Open source tools are the program wherein the source code
is openly published for use and/or modification from its original design, free
of charge.
Open-source tools are available for almost any phase of the testing process,
from Test Case management to Defect tracking. Compared to commercial
tools Open source tools may have fewer features.
Commercial Tools
Commercial tools are the software which are produced for sale or to serve
commercial purposes.
Commercial tools have more support and more features from a vendor than
open-source tools.
Custom Tools
In some Testing project, the testing environment, and the testing process has
special characteristics. No open-source or commercial tool can meet the
requirement. Therefore, the Test Manager has to consider the development of
the custom tool.
Example: You want to find a Testing tool for the project HDFC Bank. You
want this tool to meet some specific requirement of the project.
If you don’t want to be in such situation, before selecting the test tool, you
must analyze the test cases and decide which test cases should be automated
and which test cases should not. This is the Automation Feasibility
Analysis activity.
You to precisely identify your test tool requirements. All the requirement
must be documented and reviewed by project teams and the management
board.
Analyze the commercial and open source tools that are available in the
market, based on the project requirement.
Create a tool shortlist which best meets your criteria
One factor you should consider is vendors. You should consider the
vendor’s reputation, after sale support, tool update frequency, etc. while
taking your decision.
Evaluate the quality of the tool by taking the trial usage & launching
a pilot. Many vendors often make trial versions of their software
available for download
However, after discussing with the software vendor, you found that
the cost of this tool is too high compare to the value and benefit that it can
bring to the teamwork.
In such a case, the balance between cost & benefit of the tool may affect the
final decision.
Step 4) Make the Final Decision
Even with hours spent reading software manual and vendor information, you
may still need to try the tool in your actual working environment before
buying the license.
You should have the meeting with the project team, consultants to get the
deeper knowledge of the tool.
Your decision may adversely impact the project, the testing process, and the
business goals; you should spend a good time to think hard about it.