CS-4349 – Software Testing and
Implementation
Chapter 6: Tools Support for Testing
Lecture 39
Tool Support for Testing
1- Tools that support the management of
testing
- Test management tool
- Requirement management tool
- Incident management tool
- Configuration management tool
2- Tools that support static testing
- Review process support tool
- Static analysis tool
3- Tools that support test
specification
- Test design tool
- Test data preparation tool
4- Tools that support test execution and
logging
- Test execution tool
- Test comparator
- Coverage measurement tool
- Security tool
5- Tools that support performance and
monitoring
- Dynamic analysis tool
- Performance testing, load testing, stress
testing
- Monitoring tool
Tool Support for Test Specification
Test Specification Tool
Test Design Tool Test Data Preparation Tool
Tool Support for Test Specification
Test Data Preparation
A test data is a data that exits in an existing database before a test is executed.
A type of test tool that enables data to be selected from existing database.
It is useful if a large volume of data is needed for testing.
It is useful for performance and reliability testing.
Characteristics
Extract selected data records from files or database.
Enable records to be sorted in order.
Generates new records
Construct a large volume of similar records, to give a large set of records for
volume tests. (how the application reacts for growing database OR checks that
system can cope with its expected numbers of transactions.)
Tool Support for Test Execution & Logging
Test Executions and Logging Tools
Test Comparator
Coverage Measurement Tool
Security Tool
Tool Support for Test Execution & Logging
Test Comparator OR Test Comparison Tool
Test Comparison
The process of identifying differences between the actual results
produced by the component or system under test and expected
results for a test.
Test comparison can be performed during test execution (dynamic
comparison) or after test execution.
Test Comparator
A tests tool to perform test comparison.
1
Tool Support for Test Execution & Logging
Two ways of comparing actual results with expected results
[Link] Comparison (comparison is done while the test is executing)
[Link]-Execution (comparison is done after the test has finished executing and
software under test is no longer running.
Dynamic comparison is useful for comparing the wording of an error message
that pops up on a screen with the correct wording.
It is useful when an actual result does not match the expected result in the
middle of a test.
Post execution is best for comparing a large volume of data e.g. comparing the
contents of an entire file with the expected contents of that file.
1
Tool Support for Test Execution & Logging
Characteristics
[Link] comparison of temporary events that occur during
test execution.
[Link]-execution comparison of stored data e.g. in files or
database.
1
Tool Support for Test Execution & Logging
Coverage Measurement Tools
A tool that measures statements, decisions and branches whether these have
been exercised by a test suit.
Characteristics
[Link] coverage items
[Link] coverage items that have not yet been exercised by a test suit.
[Link] the % of coverage items that were exercised by a test suit.
[Link] test inputs to exercise as yet uncovered items e.g. if not all
decision outcomes have been exercised (a FALSE from IF statement) that no
test has taken so far, it calculates the test input required to force execution to
take that decision outcome.
1
Tool Support for Test Execution & Logging
Security Tools
Security
Attributes of a software that prevent unauthorized access.
Security Tool
A tool that provides support for security.
Security Testing
Testing to determine the security of the software product.
Security testing tool is used to test security, whether or not it is protected by a
security.
1
Tool Support for Test Execution & Logging
Characteristics
[Link] viruses
[Link] weaknesses in password
[Link] of files
1
Tool Support for Performance & Monitoring
Tools for Performance &
Monitoring
Performance, Load and Monitoring tool
Stress Testing Tool
1
Tool Support for Performance & Monitoring
Performance, Load, and Stress Testing Tools
Performance Testing Tool
It is concerned with testing at system level to see whether or not the system will
stand up to a high volume of usage.
Load Testing checks that the system can cope with its expected number of
transactions, number of parallel users. It is used to determine what load can be
handled by the system.
Volume Testing checks that the system can cope with a large number of data
e.g. many fields in a record, many records in a file etc.
Stress Testing checks that the system is going beyond the limits of its specified
requirements.
1
Tool Support for Performance & Monitoring
Characteristics
[Link] a load on the system to be tested
[Link] the time of specific transactions as the load on the
system varies.
[Link] average response time
[Link] graphs or charts of response over time.
1
Tool Support for Performance & Monitoring
Monitoring Tools
It is used to continuously keep track of the status of the system
in use and to improve services.
Characteristics
[Link] problems and sending an alert message to the
administrator.
[Link] the number of users on a network
[Link] network traffic.
1
Tool Support for Performance & Monitoring
Debugging Tool
Debugging
The process of finding, analyzing and removing defects.
[Link] use debugging tools when identifying and fixing
defects.
[Link] enables them to run individual tests to ensure that they
have correctly identified the cause of a defect and to confirm
that their change to the code will fix the defect.
2
Tool Support for Performance & Monitoring
Benefits of Tools
[Link] of repetitive work
[Link] consistency and repeatability
[Link] assessment
[Link]
[Link] time, cost and effort
[Link] delivery
2
Tool Support for Performance & Monitoring
Risks of Using Tools
[Link] expectations for the tool
[Link] the time, cost and effort for the initial
introduction of a tool
[Link] the time and effort needed to achieve
benefits.
[Link] needed to use the tools well, depending on the type
of tool.
2
End of Chapter & Syllabus