Working with TOSCA

23 07 2012

For the past few months, I have been working on a new paradigm to Automation, with a “Model Based” tool from Tricentis – TOSCA. Overall, it is quite a different experience in using it. It does not contain any code, and builds from the requirements as a model of what the actual application will contain. The catch being that initially you do not need to define your test cases from the application end and things might not even be in sequence of what the actual final application would look like.

I have an analogy for this – a human body is composed of head, body, hands and legs. Each one has its own “attributes”, which in turn have “instances”. This is what is called the ‘Model-based approach’. Each hand will have attributes such as fingers, nails, elbow, fore-hand, wrist, etc. Then, all these attributes will have instances – long fingers, short fingers, thick fingers, etc. Now to build a body, you need to join all these “attributes” into a seamless body with the various parts working in tandem. This is what a test case would look like in TOSCA. With the initial parts of the body being the Test Case Design part. The joining together of the parts being the test case and the final infusion of blood being the execution and reporting [have not used Frankenstein here, as TOSCA tends to create a human rather than it’s alternate :-)]

TOSCA takes its roots in Object Oriented Modelling, employing concepts such as separation of concerns and encapsulation. In TOSCA, you can create classes, attributes and instances (objects). This modular breakdown makes the understanding and management of the actual requirements fairly simple; without going into how the final system under test would look like. I find this a very cool thing; although it took me some time to understand the concept in relation to the current bombardment of the existing Test Frameworks and Tools.

Again, the interface has a very intuitive design, which can be modelled according to the needs and quirks of the person working with it. People might argue here, that it is the same with Eclipse and other such tools like MS Visual Studio Test Professional, but the concept is totally different with TOSCA. You have the drag & drop capabilities, combined with a good integration across all the functionality provided from putting in the requirements to the final reporting; all in a single interface and tool, with support from a dedicated and technical team to get over the initial hiccups of using it.

The next good part, I found, was its capability to extend its technology adaptors (adaptors are used to automate tests against systems developed in various technologies, such as HTML, Java, .NET, Mainframe, Web Services, etc.) using the ubiquitous and simple VBScript and VBA; which is prevalent as the development language of choice in the Testing Community. I found this quite interesting, as we can now easily use TOSCA with almost any system, which we can code to make the underlying adaptor understand. For example, we had a hybrid mainframe green screen application to test (a rich Java GUI with an embedded mainframe emulator), which after a week’s work was ready to be tested with TOSCA; I have not come across such quick development cycles with other tools I worked with/on. That said, TOSCA has the capability to extend itself to different backend databases with the ease of just creating a simple module for it and using that module throughout your test cases to create a connection and then run your customized SQL queries.

If you start from the Requirement Definitions part, you can easily put in your current requirements and provide a measure of weight-age for each.

Then comes the part where you can extremely easily define the actions you can do on the objects which form your test cases. TOSCA by default defines 6 such actions – Do Nothing, Input, Output, Buffer, Verify and WaitOn, which take care of how a particular attribute defined earlier in the Test Design is taken action on.

More on this coming up soon…





Indian Education!!

13 03 2007

Seems like there is a lot going on on the Education System in India. I had written a short blog on this a long time back and thought would explore it more now that it has become a hot topic. So, would love to add my thoughts on it too. 🙂
The education system here has evolved mostly around a few basic fields of interests – engineering and medical being the main in these. I would attribute the growing trend of these to the lure of a steady life and the money these offer. Parents are more enamored by the life they see of the few who have made it good and the stories they hear of the wealth made in these professions. Although, these days the trend is changing in the larger metros, we still find the young crowd being more attracted towards these professions. In regard to these professions only have risen the IIT’s and IIM’s of India. These are good institutes, but the basis of their teaching here is to make better people out of people who already are!! I ask what is the principle behind these institutes which make the person toil over exams and more practicals and then expect them to churn out the same which has been taught by ‘rote/mugging’ onto the jobs they take up. Yeah! sure these people are chosen few from the various exams which are initially conducted to chalk out the cream muggers from the average muggers. As aptly pointed out by a colleague, these guys destroy their creativity in trying to learn the various heavy books through which are educators are wanting to make us learn on topics which may have little or absolutely no value in the job life. Engineering colleges teach on what not subjects like Compilers and Operating Systems, and the person lands a job creating application software in Java, not a systems job of creating those OS or compiler products. Where are we taking the nation? People have pointed out that these are the premier institutes, but they are more in name than how things are taught. Nowadays the person who graduates from these is looking for more value to himself than to add value to the Organization. Attrition rates have risen and along with that so have the salaries of people engaged in those activities. I don’t say that is bad from my prospective, but it is not a good thing also.
To cope up with these the creative try and emulate them; and they end up getting more frustrated and sending their siblings and offspring’s on the same path where they saw the lesser frustration and more money. I have a friend in IIT doing her master’s, all I hear the lament from her is she has an ‘xam or a practical which is coming up and she is awake for the last 2-3 days working on it??!! Isn’t that stifling the actual creative mind? The teachers these days don’t have time to read the so called ‘xams which the students are put through. So, they adopt a cardinal rule of the thumb. How long is the answer? Does it have any illustration and does it adhere to the kunji or answers that they had given the students in the class!!
If the student tries to be creative in the answers, he/she is punished by a lower grade or a negative marking.
On the topic of IIT’s and IIM’s, whom do they think they are churning out!! Ok, there are a few exceptions who after coming out apply their brains and come up with ideas, but is that enough? Are they really creative or just logically coming to conclusions from their brains which have become mechanical after all that ‘rote/mugging’ sessions? I think the later is more to the point. IIM graduates boast of big salary packages, but are they actually making a difference also? There is a comment on Joel’s site [of Joel on Software fame] about MBA making the Organization bloated and fail!! I agree with him somewhat in that. We really do need to access the kind of education we are imparting and not gloat over the fact that Indian kids are doing better in maths and sciences than the American kids.