Testing Tools Essay Research Paper Testing Tools — страница 2

  • Просмотров 229
  • Скачиваний 5
  • Размер файла 17
    Кб

generate representative test conditions. However, dynamic test tools can capture a state of events during the execution of a program and so are often called program monitors, because they watch and report the behaviour of the program. The functions of the monitor are to list the number of times a submodule is called or a line of code is executed. These statistics tell testers if the test cases have statement coverage. Another function is to report on whether a decision point has branched in all directions, providing information about branch coverage. System performance information is also provided, including statistics about particular variables e.g. their first value, last value, minimum and maximum values. Breakpoints can be defined for the system, so when a variable attains or

exceeds a specific value, the test tool reports the occurrence. Some tools will stop when breakpoints are reached so that the tester can examine the contents of memory or specific data items, as it is possible to change values as the test progresses. Any information captured during the test can be used to provide information about control flow. Another automated tool, analysers, are similar to monitors, except that they can also evaluate captured data to prescribed criteria. A test coverage analyser records the number of each statement executed during a test step and notifies us if certain routines or statements are not executed. A timing analyser works with predefined areas or memory or code and tracks the amount of time spent in each area as system functions are performed. This

type of tracking can be useful during performance testing when timing requirements are checked. Simulators Tools that simulate functions of hardware or other externals by presenting to a system all characteristics of a system or device without actually having the system/device available. This is particularly useful if another company is developing part of a system; this part can be simulated to allow you to test your own part. The simulator can sometimes be more useful than the device itself as all data regarding the devices’ state throughout the test can be stored, aiding in error location. Simulators also help with stress and volume testing, since it can be programmed to load the system with substantial amounts of data, requests or users. Generally, simulators give control

over the test conditions, allowing you to perform tests that may otherwise be dangerous or impossible. Test management Test management tools are used to control and co-ordinate testing for each of the major testing steps. Tools in this category manage and co-ordinate regression testing, perform comparisons that ascertain differences between actual and expected output and conduct batch testing of programs with interactive human-computer interfaces. In addition to the functions noted above, many test management tools also serve as generic test drivers. A test driver reads one or more test cases from a testing file, formats the test data to conform to the needs of the software under test, and then invokes the software to be tested. Client/Server testing tools The C/S environment

demands specialised testing tools that exercise the graphical user interface and the network communications requirements for client and server. Reengineering tools This category can be sub-divided into the following functions: Reverse engineering to specification tools which take source code as input and generate graphical structured analysis and design models, ‘where-used’ lists and other design information. Code restructuring and analysis tools that analyse program syntax, generate a control flow graph and automatically generate a structured program. On-line system reengineering tools which are used to modify on-line database systems. Many of the above tools are limited to specific programming languages, although most major languages are addressed and require some degree of

interaction with the software engineer. Next generation reverse and forward engineering tools will make much stronger use of artificial intelligence techniques, applying a knowledge base that is application domain specific, i.e. a set of decomposition rules that would apply to all programs in a particular application area. The AI component will assist in system decomposition and reconstruction, but will still require interaction with a software engineer throughout the reengineering cycle. Test Harnesses Several testing aids can be combined into one automated tool; a test harness is a monitoring system that tracks test input data, passes it to the program or system being tested and records the resulting output. A test harness can also compare actual with expected output and report