Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.

Similar presentations


Presentation on theme: "Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools."— Presentation transcript:

1 Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools

2 Test Tools Two types of tools – Non-invasive: If a tool is used only to monitor and examine the software without modifying it – Invasive If the tool modifies the program code or manipulates the operating environment in any way

3 Probe Effect A tool that measures some aspect of software may have few unexpected side-effects on that software For example: – A performance tool sets a start time and a stop time for a given transaction in order to measure the response time. But by taking that measurement, it makes the whole transaction take slightly longer

4 Viewers and Monitors A communications analyzer provides a view into the raw data being transferred between two systems

5 Interference Injectors An interference injector hooked into a communications line could test that the software handles error conditions due to noise

6 Classification of Test Tools The tools are grouped by the testing activities or areas that they support Many commercial tools provide support for many different functions. 1.Tool support for management activities 2.Tool support for static testing 3.Tool support for test specification 4.Tool support for test execution and logging 5.Tools support for performance and monitoring

7 1-Tool support for management activities Test management tools Features or characteristics : – Managing the testing activities (schedule or budget) – Traceability of tests, test results and defects to requirements or other sources – To prepare progress reports based on metrics – Collect, organize and communicate information about the testing process – Scheduling of tests to be executed (manually, by calling test execution tools)

8 1-Tool support for management activities Incident management tools or Defect- tracking tool – Store information and attributes of incidents – Assign actions to people – Track status (e.g. open, rejected, duplicate, deferred, closed) – Report the statistics/metrics about incidents

9 2- Tool support for static testing Review process support tools – Store and sort review comments – Communicate comments to relevant people – Keep the track of comments, including defects found – Collect metrics and report on key factors – A repository for rules, procedures and checklists to be used in reviews, as well as entry and exit criteria.

10 2- Tool support for static testing Static analysis tools: mostly used by developers Features: – To calculate metrics (e.g. cyclomatic complexity or nesting levels) – To enforce coding standards – To identify defects in the code – To analyze structures and dependencies

11 3-Tool support for test specification Test design tools – Help to create test cases, or at least test inputs from: requirements, design models, code, GUI – Help us to get started with test design, but it will not do the whole job Test data preparation tools – Generate or extract wide range or large volume of data needed for testing

12 4- Tool support for test execution and logging Test execution tools or ‘capture/playback’ tools – Used for regression testing – Record, then repeat actions for different data values – Use scripting languages – A small change to the software may invalidate hundreds of scripts – The recorded script can only deal with exactly the same conditions as when it was recorded

13 4- Tool support for test execution and logging Test harness/ unit test framework: A tool that provides an environment for unit or component testing in which a component can be tested in isolation or with suitable stubs and drivers Integration Testing Top-down testing: An incremental approach to integration testing where the component at the top of the component hierarchy is tested first, with lower level components being simulated by stubs. Tested components are then used to test lower level components. The process is repeated until the lowest level components have been tested. Bottom-up testing: An incremental approach to integration testing where the lowest level components are tested first, and then used to facilitate the testing of higher level components. This process is repeated until the component at the top of the hierarchy is tested.

14 Integration Testing Integration testing: putting together pieces of code Bottom –up testing Top- down testing

15 4- Tool support for test execution and logging Test comparators: help in comparison between the actual and the expected result Coverage measurement tools: check how thoroughly the testing has been done – Identify coverage items, then calculate the percentage of coverage Security testing tools: test security of the system by trying to break it or by hacking it. – Simulate various types of external attacks

16 5- Performance &Monitoring Tools Dynamic analysis tools Used by developers Features – detect memory leaks – identify pointer errors such as null pointers

17 5- Performance &Monitoring Tools Performance testing: – Purpose of performance testing is to measure response times, throughput or reliability Load testing: A type of performance testing conducted to evaluate the behavior of a component or system with increasing load – e.g. numbers of parallel users and/or numbers of transactions, to determine what load can be handled by the component or system

18 5- Performance &Monitoring Tools Stress testing: A type of performance testing conducted to evaluate a system or component: – at or beyond the limits of its anticipated or specified workloads – or with reduced availability of resources such as access to memory or servers

19 5- Performance &Monitoring Tools Monitoring tools – Continuously keep track of the status of the system in use – Used for servers, networks, databases, security

20 Benefits of Using Testing Tools Reduction of repetitive work – For regression testing Greater consistency and repeatability – A test tool will perform the same test and check the results perfectly, each and every time Objective assessment Ease of access to information about tests or testing Resource Reduction – A test tool can be used to simulate the real world and reduce the physical resources necessary to perform the testing


Download ppt "Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools."

Similar presentations


Ads by Google