A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
June 01, 2004
This document describes the concepts of IBM Rational in software testing and the ratioanl testing product solutions. You can learn how to use the IBM Rational testing concepts to successfully build a testing team.
1. Problems in traditional software testing
Testing is the most important part in all software development processes. In the process of software development, on the one hand, we need to test the activities to verify that the software developed meets each of the features described in the software requirements in terms of functionality, the performance meets the load pressure and response time and throughput requirements of the customer. On the other hand, for the market and customers, the development team must also meet the requirements for release of software as soon as possible within the budget.
The traditional software testing process generally involves a small number of unit tests during the software development process, and then a large number of tests are carried out at the end of the entire software development stage, includes integration testing of functions and performance and system testing. As software projects become more and more complex, the traditional software testing process inevitably brings the following problems to our work:
Figure 2. Problems in the traditional test process
2. Solve Traditional testing problems with the best successful IBM Rational Software automated testing experience
Three best success experiences of IBM Rational Software automation testing technology core: early testing, continuous testing, automated testing, on this basis, we provide a complete software testing process and a complete set of software automated testing tools, so that we can ultimately achieve: A test team, based on a complete software testing process, complete software quality verification with a complete set of automated software testing tools.
2.1 Successful Experience 1: early testing
Early testing refers to the idea of completing various software testing tasks as early as possible through various software engineering technologies throughout the software development lifecycle. IBM Rational provides early testing software engineering technologies in the following three areas:
First, the entire test life cycle of the software is basically the same as the development life cycle of the software, as shown in figure 3, that is to say, when the demand analysis is basically clear, we should carry out the software test plan based on the results of the requirement analysis and the entire project plan. The design of the test case should be completed along with the analysis and design process; after the first release of the software, the tester should immediately implement the test script based on it, and execute the test cases based on the test purpose in the test plan to evaluate the test results. In this way, we can monitor the quality of the project in real time through various test indicators to improve the control and management capabilities of the entire project.
Figure 3. Software Test Lifecycle
Secondly, through iteration, software development divides the entire software development lifecycle into multiple iteration cycles, and tests are carried out in each iteration cycle, this greatly advances the software system testing time, which can greatly reduce project risks and project development costs.
Finally, IBM Rational's early success experience is also reflected in its expanded Division of the traditional software testing phase from unit testing, integration testing to system testing and acceptance testing, the entire software testing is divided into two stages: developer testing and system testing. As shown in figure 4, it is duty-bound to extend the software testing to the entire development process. Improve software quality as early as possible and reduce software testing costs by testing the time in advance.
Figure 4 division of the test phase by IBM Rational Testing Method
2.2 successful experience 2: Continuous testing
Successful testing experience continuous testing is derived from the iterative software development model. In the iterative method, we divide the development goals of the entire project into some small goals that are easier to accomplish and achieve. These small targets all have a clearly defined stage evaluation standard. An iteration is a series of development activities to accomplish certain stage goals. Before each iteration starts, an iteration plan should be formulated based on the current state of the project and the stage objectives to be achieved, in addition, each iteration includes a series of development activities such as requirements, design, coding, integration, and testing, and some new system functions will be incrementally integrated. Through each iteration, we generate a runable system. Through testing the runable system, we can assess whether the iteration has reached the expected iteration goal, then, the goal of the next iteration is determined based on this. It can be seen that we conduct software testing activities in each iteration cycle of iterative software development. The completion of the entire software testing is achieved through continuous incremental testing and regression testing in each iteration cycle.
As shown in figure 5, the successful software testing experience of Continuous testing can not only continuously improve the software quality and monitor the quality status, but also make the early implementation of system testing possible. This effectively controls development risks, reduces testing costs, and ensures project progress.
Figure 5 successful IBM Rational testing experience: Continuous testing
2.3 successful experience 3: Automated Testing
To achieve early and continuous testing during the entire software testing process, we can say that a complete testing process is a prerequisite and an automated testing tool is a guarantee. IBM Rational's successful automated testing experience mainly refers to the use of software testing tools to provide complete software testing process support and automated implementation of various tests.
In order to allow various software testing teams to perform better tests, IBM Rational also provides a complete set of software testing processes and automated testing tools in addition to the successful testing experience, enable the software testing team to complete the entire test task without being forced.
3. IBM Rational Software automated testing tools
In IBM Rational's software automated testing solution, what we have been striving for is the unification of testing tools, testing success experiences, and testing processes, each successful test experience and test process described above can be completed through rational testing tools and perfect integration between tools.
IBM Rational's automated software testing tool, 7, has the biggest feature of implementing the test management process through a complete set of software testing tools, it also covers automated testing requirements for functional testing, performance testing, and reliability testing. It integrates testing resources through integration between tools to help the testing team achieve successful testing experience of IBM rational.
Figure 7. IBM Rational Automated Testing Tool
4. IBM Rational Software Testing Process
The IBM Rational software testing process not only includes the complete software testing process framework, but also supports test management tools embedded with software testing processes.
4.1 IBM Rational software testing process framework
IBM Rational Unified Process (hereinafter referred to as RUP) provides a complete testing process framework, which can be used by the software testing team based on the actual requirements of business development, customizes the software testing process used by the team. The Software Test Procedure 6 in RUP is as follows:
Figure 6. IBM Rational Software Testing Process
Each test stage is described as follows:
The purpose of the evaluation test is to generate and deliver the Test Evaluation summary. This is accomplished through review and evaluation of test results, determination and recording of change requests, and calculation of major test evaluation methods. The Test Evaluation summary provides test results and main test evaluation methods in an organized format to evaluate the quality of test objects and test processes.
4.2 automated software testing process using the IBM Rational Software Testing Management Platform
IBM Rational builds the software automated test management platform tool testmanager on the basis of the test methodology of the RUP. It is perfectly integrated with the test requirement management tool requisitepro and the defect tracking tool ClearQuest, it manages the entire software test lifecycle and helps the software test team quickly establish a Software Test Platform and test management process, so that the software test team can quickly possess the following capabilities:
4.3 automated functional and performance testing using IBM Rational Software testing tools
Another feature of IBM Rational's automated software testing tool is that through testmanager + robot, you can complete both functional and performance tests while implementing the test management process, this greatly shortens the learning process of the test team on the tool and improves the ease of use of the tool.
4.3.1 automated functional testing of software
The function test is mainly centered on the Windows graphic interface, character terminal, and browser interface. The client can be software compiled by VC, VB, Pb, Delphi, various character terminal software, or run the browser Microsoft Explorer and Netscape, automated function/regression testing is achieved through automatic recording to form a test script.
The goal of IBM Rational's functional testing solution is to make functional testing simpler, effective, and repeatable, so as to quickly improve the functional testing capabilities of the software testing team. It has the following features:
To improve support for functional testing of Java and Web applications, the IBM Rational functional testing solution also provides IBM Rational xde tester, it is mainly used for functional testing of application software developed based on Java and Web on Windows and Linux platforms, it is especially suitable for teams that use development platforms such as IBM WebSphere Studio, eclipse, and rational xde developer for software development. Its three most important automated testing features are:
4.3.2 automated stress testing of software
The IBM Rational stress testing tool aims to quickly improve the performance testing capabilities of the software testing team, including load testing and stress testing. The rational performance testing solution allows you to easily and flexibly simulate various load models and perform performance tests with the goal of finding response time bottlenecks, system throughput, and maximum concurrency virtual users. Including:
4.4 automated software reliability testing and unit testing using IBM Rational Software testing tools
IBM Rational Software Testing Tool purifyplus is mainly used to help the software testing team quickly improve the unit testing and reliability testing capabilities in the short term. Its main features are: quick effect, easy to use, low threshold, and short training time. developers can master the software for testing within 2 hours. Purifyplus consists of three products: Rational purify, quanify, and purecoverage. The main functions are as follows:
This reduces debugging time, helps the development team identify defects, and ultimately forms high-quality products, so that you can truly release better software faster.
4.5 automated testing of real-time system software using IBM Rational Software testing tools
IBM Rational test realtime is mainly suitable for developing software for real-time systems and non-real-time systems with high requirements. It can help the test team quickly establish testing capabilities such as unit testing, integration testing, and system testing. It provides important features such as automatic testing (including unit testing, integration testing, and system testing), code coverage, memory leakage check, performance analysis, and UML tracking, helps the software testing team detect and fix software defects before a system crash. Its main functions and features are as follows:
Figure 8. software automation test solution of IBM Rational
IBM Rational provides testing success experience, automated testing tools, and comprehensive consulting services for the software testing team, as shown in figure 8. The final implementation is: a testing team, based on a complete set of software testing procedures, using a complete set of automated software testing tools to complete a full range of software quality verification, this is the essence and ultimate goal of IBM Rational testing solutions.
About the author
IBM has authored this article
Start building with 50+ products and up to 12 months usage for Elastic Compute Service