Rational Rose
as shared with us by Anand Ramdeo where he worked on Rational Rose and Rational Software Architect product line.

Application Summary
Design and modeling tools are used by the software engineers and architects to design the software system. Using these tools you can design at the high level system using use case diagrams or at the deepest level in terms of interaction diagram and collaboration diagram.  These tool also gives functionality of generating source code from the class diagram. Generated code and class diagram can remain in sync, and any changes made in the source code will be reflected in the model as well. 
Apart from generating code from the model, models can be generated from the existing source as well. The process of generating model from the source code is known as reverse engineering or visualization.


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
  • Tool might not work properly with different type of diagram

  • Test cases should be present for all the supported UML diagrams and elements
  • UML models for systems in actual scenario could be big

  • Test the system with big UML diagrams and all the UML elements.
  • Generated code might not be proper

  • Test the system will all supported diagram and generated code by them
  • Changes made in the code will not be reflected in the system and model and code will not be in synch

  • Include test cases for making changes in the model/code and make sure that code and model are always in synch. 
  • Tool might not work properly on various supported platforms

  • Include test cases for all the supported platforms.
  • Tool might not work properly after Internationalization

  • Plan I18N Testing and translation verification testing well in advance
  • Tool might not adhere to the accessibility environment

  • Plan accessibility testing and make sure that tool is accessibility compliant.
These risks will be different from application to application and so your testing.

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.
  • Create two classes, classA and classB. Inherit classB from classA and generate code. Generate java code for these. In the generated code classB should be extending classA. Add some variable in the classB and this variable should be added in model as well
  • Take three java files classA, classB and InterfaceC. ClassB should be extending classA and implementing InterfaceC. Visualize/Reverse engineer these files and make sure proper UML model is created to represent this code. Add some variable in the model and make sure that this gets added in the code as well


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
  • Test case execution status

  • 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
  • Defect status

  • 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.
  • Defect trend

  • It was a simple chart for the number of defects filed every week and was giving information on how product is being stabilized.
Testing Skill

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.
Recent Updates
Flash Objects and Selenium
Continuous Integration
Selenium Workshop
Delicious Testing
Pattern for automated testing of web applications
Exploratory Testing
 
Read More
Accessibility API Testing Article Backword BigBang Blackbox Blog Bottomup Boundary CaseStudies Certification DefectReport DistanceTest Equivalence FitNesse Geeks Graybox Guerrilla Testing Tips GUI HTA Humor Hybrid Internationalization Installation Integration Is it done? JUnit Measurement Mercury Quality Centre News One CPU better than two Patent PatternForAutomation Performace Checklist Rational Test Suite Regression Requirement Verification Research Rational Functional Tester Security Selenium Selenium Workshop SilkTest System Testing Templates TestComplete Tools Testing Types Testing Tools In News Testing Terms In News Testometer Test Plan TG Tips For Automation Top Down Integration Trait UAT UI Testing CheckList Unit Testing Usability VMWare Web Application Security Web Application Testing Checklist Whitebox Testing
Disclaimer  |  Privacy Policy  |  g e e k AT T e s t i n g G e e k DOT c o m
© Copyright 2008, www.TestingGeek.com