Learn, Share and Keep Learning
| Testing Desktop Application - Rational Rose |
|
This application allows software engineers to model and design their software in terms of UML (Universal Modeling Language). It also gives functionality of generating code from the software design and keeping code and model in synchronization. Testing this desktop application is quite a big challenge in itself because of the complexities involved. Application Summary Risk/Challenges Testing is essentially an activity, which will mitigate the risk of project. If you know the potential risk of a system you will certainly find ways to minimize them. Potential risks in the system like this could be
Test cases should be present for all the supported UML diagrams and elements Test the system with big UML diagrams and all the UML elements. Test the system will all supported diagram and generated code by them Include test cases for making changes in the model/code and make sure that code and model are always in synch. Include test cases for all the supported platforms. Plan I18N Testing and translation verification testing well in advance Plan accessibility testing and make sure that tool is accessibility compliant. Test cases It is not possible to write thousands of cases here and so I will just write two very broad test cases and it should give you an idea of what kind of test cases are required for testing this type of application.
Test Automation We used Rational Robot and Rational Functional Tester as automation tools for this application. Essentially, in this type of application you need to create UML model, generate code and make sure that generated model is proper. Or, you have some source code, you visualize it or reverse engineer it and make sure that generated model is proper. All we need in this scenario is variations of UML diagram and source code. In our automation we created automation assets in the form of UML diagram and source code. Every UML diagram was associated with one (set of files) source code file/s and similarly source code was associated with the UML diagrams. Once our assets were in place, it was just a matter of repeating a set of steps with different assets and associated verification points. Apart from the functionality explained above, there were thousand of other cases, but most of them were for normal GUI operation. One problem that we faced in this project was the object recognition on drawing surface. UML elements were drawn on the drawing surface and recognition on the drawing surface was not possible and so at many places automation was using co-ordinate to do the operations. One interesting sub project for this automation was to have complete automation using VMWare, VB Scripts and set of automated test cases developed in Rational Robot. In this end-to-end automation, As soon as new build is available, it will get installed automatically on the VMWare image and automation suite would get executed. This way nightly build were getting tested without any human intervention. Measurement There were not many measurement program that we were conducting in this project. Project was being tracked for
This was a simple tracking mechanism and it was tracked for number of test cases to be executed for every test cycle. Test cases were maintained in the Rational Test Manager, and execution was also tracked there Defects were maintained in the Rational Clear Quest and every week how many defects were filed and what is the status of these defects were being analyzed. We were following the conventional defect cycle i.e Open -> Fixed -> Resolved -> Closed. It was a simple chart for the number of defects filed every week and was giving information on how product is being stabilized. Typically you need to know UML because you need to design software in terms of UML, You need to know Java/CPP because tool will generate code and you will also test reverse engineering of code. Automation was done in Rational Robot and so you need to know Rational Robot and other tools from Rational as most of the testing activities were managed in various Rational tools.
|