Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Experiment 6: Test Design Tools

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Experiment 6

Aim-Describe overview and functionalities of various software testing tools.

Test Design Tools Test Case Tools


1. Caliber-RBT Requirements Based Testing (RBT) Process The requirements-based testing (RBT) process addresses two major issues: first, validating that the requirements are correct, complete, unambiguous, and logically consistent; and second, designing a necessary and sufficient (from a black box perspective) set of test cases from those requirements to ensure that the design and code fully meet those requirements. In designing tests two issues need to be overcome: reducing the immensely large number of potential tests down a reasonable size set and ensuring that the tests got the right answer for the right reason. The RBT process does not assume, going in, that we will see good Requirements Specifications. That is very rarely the case. The RBT process will drive out ambiguity and drive down the level of detail. The overall RBT strategy is to integrate testing throughout the development life cycle and focus on the quality of the Requirements Specification. This leads to early defect detection which has been shown to be much less expensive than finding defects during integration testing or later. The RBT process also has a focus on defect prevention, not just defect detection Requirements that have been elicited can be further analysed by checking them for testability and feasibility. The model information can also be used to generate an as built functional speciation automatically from BenderRBT. Some of the basic testing steps where RBT process and BenderRBT tool are useful are described below. Define quantitative and qualitative test completion criteria We define test completion criteria for rigorous Black Box testing is to test every functional variation, fully sensitized for the observability of defects, ensuring that all tests have run successfully in a single run or set of runs with no code changes in between the test runs. Design test cases to cover the above criteria The RBT algorithms are highly optimized to reduce the number of tests while still propagating faults to an observable point by using the path sensitizing algorithms from hardware logic testing, ensuring that set of tests is mathematically equal to the set of function in the specifications. Any one test case generated by BenderRBT is designed to find one particular type of fault that no other test case can find and if there is any fault in the code, at least one test case will fail at observable point. Testing plan/ review

Test coverage matrix is one of the out put of BenderRBT. Besides knowing how many test cases have to be built, the Coverage Matrix can be used to prioritize some of the testing. Some functions act as funnelling points for many other functions. If they are not working, you cannot get to the other functions to test them. Edit functions and database maintenance functions have this characteristic. These potential problem areas can be identified by looking for variations which show up in many tests. Give these high priority in testing. Another use is in subsetting the test library to only run tests associated with selected functions. The desired functions are identified by their variations. The tests which include those variations are extracted from the library and executed. This allows maintenance changes to be selectively tested without rerunning the entire test library. If time or resources will not allow the building of all the necessary tests, the test cases relating to those functions with the highest business risk can be built and run first, with the supplemental tests run at a later date.

Build and execute "executable" test cases DTT (Direct to Test) version of BenderRBT Test Case Design Tool is a framework tool that generates executable test scripts from the RBT output. It can generate those scripts to run on any of the major playback tools. Otherwise, QA can export the test descriptions to most of the major playback tools in the form of comments in shell scripts. This helps create self- documenting tests saving scripting time. Verify the test results C-E Graph itself is a test oracle, it provides the expected output to help verify test results. Verify the test coverage against the completion criteria BenderRBT has a feature called coverage analyzer which quantifies two types of coverage criteria; weak coverage criteria and strong coverage criteria. Defect reporting and Tracking the Testing effort Definition Matrix (another output of BenderRBT) helps tracking the testing effort. Good tracking requires quantified status. The number of tests built, run successfully, run but failed and tests yet to run are such numbers. These numbers can be refined by including the number of variations run successfully, number failing and variations not yet attempted. In fact, variations are superior to tests as the unit for measuring test status. The number of variations correlates directly to the number of functions and their functional complexity. The number of tests, however, reflects packaging decisions of how much function to test in a given test case. Two different testers could make very different test packaging decisions for the same set of functions. Defect fixing/ debugging Test definition matrix and test coverage matrix can be used in debugging. For example, you are running your test library and a number of tests fail. The problem might be isolated by seeing which functional variations they have in common. Automatic Regression Test selection BenderRBT tool makes regression test selection criteria more objective, automatic modification identifications and test suit maintenance.

Test Management Tools


CORBA
2. SilkTest
SilkTest is a tool for automated function and regression testing of enterprise applications.[1] It was originally developed by Segue Software which was acquired by Borland in 2006. Borland was acquired by Micro Focus International in 2009. SilkTest offers various clients:

SilkTest Classic uses the domain specific 4Test language for automation scripting. It is an object oriented language similar to C++. It uses the concepts of classes, objects, and inheritance.

Silk4J allows automation in Eclipse using Java as scripting language Silk4Net allows the same in Visual Studio using VB or C# SilkTest Workbench allows automation testing on a visual level (similar to former TestPartner) as well as using VB.Net as scripting language

Main features of SilkTest SilkTest Host: contains all the source script files. SilkTest Agent: translates the script commands into GUI commands (User actions). These commands can be executed on the same machine as the host or on a remote machine.

Test Implementation Tools Java


3. AQtest, AutomatedQA Corp.
AQtime is used for multiple optimization tasks to improve application performance and memory usage. It includes a set of profilers for analysis of different application aspects. It does sophisticated application performance analysis of function execution time down to the individual source code lines. It tracks performance issues and memory leaks. It analyzes resource usage and function call order. It monitors code coverage, Windows API compliance and includes other profilers for analyzing more application properties. AQtime is a performance profiler and memory/resource debugging toolset developed by SmartBear Software. It is integrated into Microsoft Visual Studio, Visual Studio Test Projects and Embarcadero RAD Studio that allows analyzing the application without leaving the development environment.

Features

Support for Windows and .NET compilers. Support for profiling 32- and 64-bit applications. Profiling Java and Silverlight Applications. Profiling scripts. Integration into Microsoft Visual Studio and Embarcadero RAD Studio IDEs.

Test Evaluation Tools Java


4. DeepCover, Reliable Software Technologies Java presents some interesting challenges for development and testing. On one hand, characteristics of the language such as strong typing and garbage collection reduce the likelihood of particular errors occurring in Java code. On the other hand, features such as nonshort-circuiting operators, exceptions, and certain behavioral aspects of the language cause new challenges for verifying the strength of Java programs. DeepCoverTM for Java successfully addresses these issues by providing a practical, yet industrial strength tool to help you identify where and how well your Java code is being tested.

Static Analysis Tools Java


5. Krakatau, Power Software Krakatau Essential PM makes using EPM (our market leading changed SLOC) tool even easier. Featuring a carefully designed GUI to facilitate fast and efficient project creation Krakatau EPM allows software professional to compare two versions of a software project and within seconds view changed, new and deleted files and SLOC values. Krakatau EPM enables the user to take snapshots of the software project and pinpoint areas of the source code that are changing too frequently or unexpectedly (without authorisation). In this respect, project management, quality and control are clearly improved.

You might also like