Bab 6 Tool Support For Testing
- 1. Tool Support For Testing
LOLA YORIVA
Program Studi S1 Sistem Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau
- 2. Tool Support for Testing
What is a Test Tool?
Any software that supports test activites
(eg: Email software, Spreadsheet, etc)
Why tool support?
• To avoid repeatability by humans
• Where test activites are not easy to be performed by humans
• Accurate and objective assessment
• Ease of information
- 3. Tool Supporting for Testing
Risks in tool support for testing?
Overstimation 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 automationtest assets
Skill mismatch in automation testing (Good tester need not be a good automation engg)
- 4. 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
- 5. Tool introduction into the organization
Problem / Need
Develop agreement on
requirements for a new tool
Research & draw up a list of
suitable tools
- 6. Tool introduction into the organization
Evaluate tools for
proof of concept
Shortlist suitable tools
Negotiate with Vendor
(cost, licenses, support, training,
consultancy)
- 8. 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
- 9. 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
- 10. Tool Support for Testing
Test Management tool
• Manage
Requirements
Configuration items
Incidents
Testware
Provide information on test activities
Interface with tes execution tools, requirement management tools, configuration
management tools, incident management tool
Maintain traceability between testware
- 11. 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
- 12. 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
- 13. Tool Support for Testing
Static Test tools
Modeling tools (D)
Software used in developing Graphical design models
Modeling tools can defect
Inconsistencies in requirements
Ambiguous requirements
- 14. Tool Support for Testing
Tets design tools
Tool support for test design
• Test data preparation
• Deriving expected outcome
o 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 for a given template
Manage sensitive data encrypted form
- 15. Tool Support for Testing
Test Design tools
o Test Oracle
Earlier version’s behavior provides expected outcome for the application being
developed
- 16. 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
- 17. Tool Support for Testing
Test Execution tools (cont’d…)
o Unit test framework tool (D)
Component or Unit level testing support tool
Stub / driver (temporary programs)
o Security tool
Detect viruses, malware, adware
Detect intrusions, denial of service attacks
Detect vulnerabilities
o Code coverage tool (D)
Measure structural coverage w.r.t Specification based test
Instrumentation of the code
- 18. 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 behavior under extreme conditions
• Evaluate data handling capabilities of the system
Monitoring tools
• Monitoring Live system for vital performance characteristic
• In-line alerts when key parameters are slipping
- 19. Reference
Graham, d., et al. 2006. foundations of software testing: istqb certification
London, uk: international Thomson business press.
http://www.uin-suska.ac.id/ http://fst.uin-suska.ac.id/http://sif.uin-suska.ac.id/