Introduction to testing tools
What are testing tools? Automated testing is executing a test through automated means. Usually, it refers to a test that is fully automated and has no human involvement.  Applications to help you create and deliver tests, quizzes and surveys on intranets, the Internet or using Windows PCs.  Also all kind of analysis and reporting options are included.
Justifying testing tools  Should be considered based on  test objectives Not enough knowledge
Advantages Automated testing brings a new sigh of relief to developers everywhere.  Manual testing can be very time consuming with errors still slipping through the system.  Running automated systems for application testing will require less manpower, and less room for error.  With automated testing comes a greatly improved audit trail to help you identify and correct the bugs you find
Disadvantages Cost Requires programming Requires additional training  Difficult to justified their use
Using testing tools A regression testing tool might be needed under the following circumstances  Test need to be run at every build Test are required using multiple data values for the same actions Test require detailed information such as systems internals (memory, CPU)
Types of testing tools  Year 200 tools Web site management tools – helps webmasters to detect and repair defects in the structural integrity of a web site. (bad links, download problems) Requirements based testing tools – identify functional variations and logical inconsistencies
Types of testing tools (cont.) Test management tools – keeps track of all testing assets Regression testing tools – helps automate the testing process by using reusable scripts Coverage analysis test – monitors the system while dynamic testing tools are executing. It is like a white-box automatic testing.
Types of testing tools (cont.) Dynamic testing tools – execute specific sequence of instructions. It tests the system behavior and performance. Static testing tools – examines the software itself rather than executing the program. Load testing tools – simulates production environment. Comparators – compares different versions of the same program
The main types of automated testing are:  Capture playback  Automated test scripts  Random input testing  Model-based testing
Capture playback This type of test automation records the inputs and outputs of a manually-executed test. The test can now be automatically rerun on any subsequent occasion. The capture/playback mechanism will insert the same inputs and compare the outputs to the original results.
Capture playback (cont) Advantages Once captured and the results are verified, the test can be rerun easily and cheaply an infinite number of times. Disadvantages Test maintenance can be costly.  Presuming the unit under test has changed since the capture, usually some of the captured tests have become invalid
Automated test scripts  Test scripts are used to drive an automated test.  The script provides input to the unit under test and records the output.  Test engineers employ a variety of languages to express test scripts.
Automated test scripts (cont.) Advantages Once the test script is debugged and verified, it can be rerun easily and cheaply an infinite number of times. Disadvantages Debugging the test script to ensure its accuracy is a significant effort.  Every subsequent change to the unit under test entails effort to identify impacted test scripts, modify them, rerun, and reconfirm them.
Random input testing  Test scripts are generated automatically that randomly cover the input space of the unit under test.  The outputs are ignored because analyzing them would cost an enormous amount.  The goal is to crash the unit under test, not to test that it is behaving correctly
Random input testing (cont.) Advantages Random input testing is relatively easy and cheap to perform. This approach may be the most cost-effective for finding some types of defect. Disadvantages Random input testing is a very limited form of testing. It finds only the defects that crash the unit under test, not the majority of defects that are simply the unit under test behaving incorrectly.
Model-based testing  The tester models the behavior of the unit under test .  The tester uses the model to generate tests (ideally via an automated tool) that adequately cover the state space described by the model.
Model-based testing (cont.) Advantages This practice usually provides a high return on investment.  The principle costs are developing a model of the behavior of the unit under test and the initial costs of a tool or specialized software for test generation from the model. In return, the following can be automated: Generate an effective test suite  Execute the test suite against the unit under test  Compare expected to actual results, flagging unexpected results
Model-based testing (cont.) Disadvantages Model-based testing is not the norm in most testing organizations. Introducing this practice is likely to meet with some resistance, as with the introduction of any unfamiliar technique or technology.  There are techniques to help ease the necessary changes in the existing process and/or culture, but the transformation is often a difficult one nonetheless

Class17

  • 1.
  • 2.
    What are testingtools? Automated testing is executing a test through automated means. Usually, it refers to a test that is fully automated and has no human involvement. Applications to help you create and deliver tests, quizzes and surveys on intranets, the Internet or using Windows PCs. Also all kind of analysis and reporting options are included.
  • 3.
    Justifying testing tools Should be considered based on test objectives Not enough knowledge
  • 4.
    Advantages Automated testingbrings a new sigh of relief to developers everywhere. Manual testing can be very time consuming with errors still slipping through the system. Running automated systems for application testing will require less manpower, and less room for error. With automated testing comes a greatly improved audit trail to help you identify and correct the bugs you find
  • 5.
    Disadvantages Cost Requiresprogramming Requires additional training Difficult to justified their use
  • 6.
    Using testing toolsA regression testing tool might be needed under the following circumstances Test need to be run at every build Test are required using multiple data values for the same actions Test require detailed information such as systems internals (memory, CPU)
  • 7.
    Types of testingtools Year 200 tools Web site management tools – helps webmasters to detect and repair defects in the structural integrity of a web site. (bad links, download problems) Requirements based testing tools – identify functional variations and logical inconsistencies
  • 8.
    Types of testingtools (cont.) Test management tools – keeps track of all testing assets Regression testing tools – helps automate the testing process by using reusable scripts Coverage analysis test – monitors the system while dynamic testing tools are executing. It is like a white-box automatic testing.
  • 9.
    Types of testingtools (cont.) Dynamic testing tools – execute specific sequence of instructions. It tests the system behavior and performance. Static testing tools – examines the software itself rather than executing the program. Load testing tools – simulates production environment. Comparators – compares different versions of the same program
  • 10.
    The main typesof automated testing are: Capture playback Automated test scripts Random input testing Model-based testing
  • 11.
    Capture playback Thistype of test automation records the inputs and outputs of a manually-executed test. The test can now be automatically rerun on any subsequent occasion. The capture/playback mechanism will insert the same inputs and compare the outputs to the original results.
  • 12.
    Capture playback (cont)Advantages Once captured and the results are verified, the test can be rerun easily and cheaply an infinite number of times. Disadvantages Test maintenance can be costly. Presuming the unit under test has changed since the capture, usually some of the captured tests have become invalid
  • 13.
    Automated test scripts Test scripts are used to drive an automated test. The script provides input to the unit under test and records the output. Test engineers employ a variety of languages to express test scripts.
  • 14.
    Automated test scripts(cont.) Advantages Once the test script is debugged and verified, it can be rerun easily and cheaply an infinite number of times. Disadvantages Debugging the test script to ensure its accuracy is a significant effort. Every subsequent change to the unit under test entails effort to identify impacted test scripts, modify them, rerun, and reconfirm them.
  • 15.
    Random input testing Test scripts are generated automatically that randomly cover the input space of the unit under test. The outputs are ignored because analyzing them would cost an enormous amount. The goal is to crash the unit under test, not to test that it is behaving correctly
  • 16.
    Random input testing(cont.) Advantages Random input testing is relatively easy and cheap to perform. This approach may be the most cost-effective for finding some types of defect. Disadvantages Random input testing is a very limited form of testing. It finds only the defects that crash the unit under test, not the majority of defects that are simply the unit under test behaving incorrectly.
  • 17.
    Model-based testing The tester models the behavior of the unit under test . The tester uses the model to generate tests (ideally via an automated tool) that adequately cover the state space described by the model.
  • 18.
    Model-based testing (cont.)Advantages This practice usually provides a high return on investment. The principle costs are developing a model of the behavior of the unit under test and the initial costs of a tool or specialized software for test generation from the model. In return, the following can be automated: Generate an effective test suite Execute the test suite against the unit under test Compare expected to actual results, flagging unexpected results
  • 19.
    Model-based testing (cont.)Disadvantages Model-based testing is not the norm in most testing organizations. Introducing this practice is likely to meet with some resistance, as with the introduction of any unfamiliar technique or technology. There are techniques to help ease the necessary changes in the existing process and/or culture, but the transformation is often a difficult one nonetheless