Sunteți pe pagina 1din 17

Tool Support for Testing

What is a Test Tool?


Any software that supports test activities
(eg: Email software, Spreadsheet etc..)

Why tool support?


To avoid repeatability by humans
Where test activities are not easy to be performed by
humans
Accurate and objective assessment
Ease of information

Tool Support for Testing


Risks in tool support for testing?
Overestimation on the capabilities of tool
Underestimation on the time, effort & cost required in
inducing a tool into the organization
Underestimation on the time, effort required in maintaining
beneficial use of the tool
Underestimation on the time, effort required in maintaining
automation test assets
Skill mismatch in automation testing (Good tester need not
be a good automation engg)

Tool Support for Testing


Limitation of tool support?
Maturity of the organizational processes
(Low maturity in processes or undefined processes
may lead to failures in automation)
Frequent changes in GUI / functionalities may render tool
usage ineffective

Tool introduction into the


organization

Tool introduction into the


organization

Tool introduction into the


organization

Tool Support for Testing


Factors leading to the successful in use of tool
support
Guidelines on tool usage should be developed based
on the experiences of Pilot project
Training / mentoring should be extended to tool users
Incremental roll-out of tool into the organization

Tool Support for Testing


Tool Classification
(as per the test activities supported)
Test Management tools
Static Test tools
Test design tools
Test execution tools
Performance and monitoring tools

Tool Support for Testing


Test Management tool
Manage
Requirements
Configuration items
Incidents
Testware
Provide information on test activities
Interface with Test execution tools,
Requirement management tools, Configuration
management tools, Incident management tool
Maintain traceability between testware

Tool Support for Testing


Test Management tools
Requirement Management tool
Store and prioritize requirements
Maintain dependencies between requirements
Configuration Management tools
Store configuration items at a centralized
location
Allow restricted access as per the privileges
Traceability between configuration items
Support version control
Incident management tool
Store information related to incidents
Assign incidents to person / teams
Designate Severity & Priority
Track incident status
Provide information / metrics

Tool Support for Testing


Static Test tools
Review support tools
Provide web based platform for reviewers
Maintain documents related to reviews
Provide information / Metrics
Static Analysis tools (D)
Analyze the code without execution to detect
defects,
Deviation from programming standards
Variable initiated but not called
Variable called before being initiated
Unreachable code
Security vulnerabilities
Syntax violations
Analyze the code for code complexity

Tool Support for Testing


Static Test tools
Modeling tools(D)
Software used in developing Graphical design
models
Modeling tools can detect
Inconsistencies in requirements
Ambiguous requirements

Tool Support for Testing


Test Design tools
Tool support for Test design
Test data preparation
Deriving expected outcome
Computer Aided Software Engineering
Tools that design, develop and test the software based on the
requirement
Test Data preparatory tools (D)
Tools that support compilation of test data from Databases,
Records etc
Manipulate and Randomize input values
Generate large sets of input values for a given template
Manage sensitive data in encrypted form

Tool Support for Testing


Test Design tools
Test Oracle
Earlier versions behaviour provides expected outcome for
the application being developed

Tool Support for Testing


Test Execution tools
Tools that support implementation & execution activities
Execution tool
Repeat test execution activities
Control & manipulate test execution through scripting
languages & features of the tool
Parameterize tests with multiple data
Support automation framework
Keyword driven execution
Test Comparators
Identify differences in Expected and Actual when
comparing large
databases, files & images

Tool Support for Testing


Test Execution tools (contd)
Unit test framework tool (D)
Component or Unit level testing support tool
Stub / driver (temporary programs)
Security tool
Detect viruses, malware, adware
Detect intrusions, denial of service attacks
Detect vulnerabilities
Code coverage tool (D)
Measure structural coverage w.r.t Specification
based tests
Instrumentation of the code
Probe effect

Tool Support for Testing


Performance and Monitoring tools
Dynamic analysis tools
Analyze use of system resources such as memory, hard disk,
processor, ports by the application
Detect Memory Leaks
Performance test tools
Evaluate performance under expected conditions
Evaluate system behaviour under extreme conditions
Evaluate data handling capabilities of the system
Monitoring tools
Monitoring Live system for vital performance characteristics
In-line alerts when key parameters are slipping

S-ar putea să vă placă și