SlideShare a Scribd company logo
Tool Support For Testing
LOLA YORIVA
Program Studi S1 Sistem Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau
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
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)
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
Problem / Need
Develop agreement on
requirements for a new tool
Research & draw up a list of
suitable tools
Tool introduction into the organization
Evaluate tools for
proof of concept
Shortlist suitable tools
Negotiate with Vendor
(cost, licenses, support, training,
consultancy)
Tool introduction into the organization
Pilot project
Tool acceptance
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 tes 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 defect
Inconsistencies in requirements
Ambiguous requirements
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
Tool Support for Testing
 Test Design tools
o Test Oracle
Earlier version’s behavior 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 (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
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
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/

More Related Content

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)
  • 7. Tool introduction into the organization Pilot project Tool acceptance into the organization
  • 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/