170 likes | 204 Views
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
E N D
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 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 version’s 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 (cont’d…) 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