Tool
support for software testing
Important Terms:
Types of test tool
Configuration management tool, debugging tool, dynamic analysis
tool, incident management tool, load testing tool, modeling tool, monitoring
tool, performance testing tool, probe effect, requirement management tool,
review tool, static analysis tool, stress testing tool, test comparator, test
data preparation tool, test design tool, test harness, test execution tool,
test management tool, unit test framework tool.
Effective use of
tools: potential benefits and risks
Data driven (testing), keyword-driven (testing), scripting
language
introducing a tool
into an organization
Types of test tool
management of
testing and tests
|
|
Static testing
|
|
Test specification
|
§
Test design tools
§
Test data preparation tools
|
Test execution and
logging
|
|
Performance and
monitoring
|
|
Specific application
areas
|
|
Tool support using
other tools
|
Test Tools and their
purposes
Requirement management
tools
|
Store requirements, check for consistency, allow requirements to
be prioritized, trace changes, coverage of requirements etc.
|
Incident management
tools
|
Store and manage incident reports, facilitating prioritization,
assessment of actions to people and attribution of status etc.
|
Configuration
management tools
|
Store information about versions and builds of software and
testware; enable traceability between testware and software work products
etc.
|
Review tools
|
Store information, store and communicate review comments etc.
|
Static analysis
tools (D)
|
The enforcement of coding standards, the analysis of structures
and dependencies, aiding in understanding the code etc.
|
Modeling tools (D)
|
Validate models of the software, find defects in data model,
state model or an object model etc.
|
Test design tools
|
Generate test inputs or executable tests, generate expected out
comes etc.
|
Test data
preparation tools
|
Preparing test data, Manipulate databases, files or data
transmissions to set up test data etc.
|
Test execution tools
|
Record tests, Automated test execution, use inputs and expected
outcomes, compare results with expected outcomes, repeat tests, dynamic
comparison, manipulate the tests using scripting language etc.
|
Test harness/unit
test framework tools (D)
|
Test components or part of a system by simulating the
environment, provide an execution framework in middleware etc.
|
Test comparators
|
Determine differences between files,
databases or test results post-execution comparison, may use test oracle if
it is automated etc.
|
Coverage measurement
tools (D)
|
Measure the percentage of specific types of code structure (ex:
statements, branches or decisions, and module or function calls)
|
Security tools
|
Check for computer viruses and denial of service attacks, search
for specific vulnerabilities of the system etc.
|
Dynamic analysis
tools (D)
|
Detect memory leaks, identify time dependencies and identify
pointer arithmetic errors.
|
Performance/Load/Stress
Testing tools
|
Measure load or stress, Monitor and report on how a system
behaves a variety of simulated usage conditions, simulate a load on an
application/a database/or a system environment, repetitive execution of tests
etc.
|
Monitoring tools
|
Continuously analyze, verify and report on specific system
resources; store information about the version and build of the software and
testware, and enable traceability.
|
Tool support using
other tools
|
Some tools use other tools (Ex: QTP uses excel sheet and SQL
tools)
|
Potential benefits and
risks of tool support for testing
Benefits:
- Repetitive work is reduced
- Greater consistency and repeatability
- Objective assessment
- Ease of access to information about tests or testing
Risks:
- Unrealistic expectations for the tool
- Underestimating the time and effort needed to achieve significant and continues benefits from the tool
- Underestimating the effort required to maintain the test assets generated by the tool
- Over-reliance on the tool
Special considerations
for some types of tools
Following
tools have special considerations
ü Test execution tools
ü Performance testing
tools
ü Static testing tools
ü Test management tools
Introducing
a tool into an organization
The following factors are important in selecting a tool:
- Assessment of the organization maturity
- Identification of the areas within the organization where tool support will help to improve testing process
- Evaluation of tools against clear requirements and objective criteria
- Proof-of-concept to see whether the product works as desired and meets the requirements and objectives defined for it
- Evaluation of the vendor (training, support and other commercial aspects) or open-source network of support
- Identifying and planning internal implementation (including coaching and mentoring for those new to the use of the tool)
The objectives for a pilot project for a new tool
- To learn more about the tool
- To see how the tool would fit with existing processes or documentation
- To decide on standard ways of using the tool that will work for all potential users
- To evaluate the pilot project agonist its objectives
Successes factors for the deployment of the new tool within an
organization
- Rolling out the tool to the rest of the organization incrementally
- Adapting and improving process to fit with the use of the tool
- Providing training and coaching/mentoring for new users.
- Defining usage guidelines
- Implementing a way to learn lessons from tool use.
- Monitoring tool use and benefits.
0 comments:
Post a Comment