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…


Actions

Information

12 responses

10 02 2013
srilatha

Such a detailed note on TOSCA, looks like very capable tool with a different paradigm getting us into thinking to invest in tool rather than resources forever…still not getting to where we want to be. Thank you.

17 03 2013
gs

Hi Sri, I hope I was able to provide you with good enough knowledge on TOSCA, for your Management to make the right decision and include the tool in their strategy for automated testing. Thanks for your vote of confidence. πŸ™‚

9 03 2013
tester

Model-based Testing (MBT) is indeed a paradigm shift for software testing. There are several other commercial tools on the market that support MBT besides TOSCA, like TestOptimal, Conformiq, SmartTesting, etc. They each support different modeling notation and capability.

17 03 2013
gs

Thank you for your update on the different MBT tools. I will look into these and hopefully fill in more articles on MBT soon πŸ™‚

17 03 2013
Yaxiong Lin

Model-based testing (MBT) is a methodology and to implement it in your testing process, it requires a paradigm shift change. Your test engineers must develop the modeling skill to be effective. But once you get over that learning curve, you will see the benefits of model-based testing: early detection of defect (in requirements), lower maintenance (both test design and test automation), fast response time to changes, much much improved test coverage and reduced test cycle (due to concurrent modeling/test design while software is being developed by the development team). And most importantly many will find testing is fun! There are several commercial MBT tools each employing its own technique. Be sure to shop around to find the one that fits your testing process and your organization culture. I have co-authored a short article on this topic if you are interested in reading: http://www.qaiquest.org/2012/publications/conference-papers/innovate-qatest-processes-with-model-based-testing/.

17 03 2013
gs

Thank you for your comment and link about MBT. I totally agree with you on the benefits and it making testing fun. The only problem is that, as you stated, “it requires a paradigm shift”. With testers mainly being used to seeing the application and then creating their test cases, which align with the AUT; thinking from the User Requirements angle like MBT provides causes a lot of confusion. Good article and liked reading it through πŸ™‚

25 04 2013
Gourav

Hello. I have started working with TOSCA quite recently, so please excuse my naivety. I just wanted to know if we can create test cases using modules when the application under test is still not available ? The application is still in development phase. Is it possible that we can create attributes based on the prototype ? If yes, could you please shed some light on how to do it? It will be really helpful as i am struggling to understand that. I’ve worked on RFT before but never saw such a requirement that i face now..

Thanks!!

28 04 2013
gs

Gourav, great to hear that you have started working with TOSCA. So, just to clarify a few things, the ‘Modules’ in TOSCA are similar to the ‘Objects’ that you create in other tools. Thus, you will not be able to create the ‘Modules’, without the actual application being available for your automation purposes (the main usefulness of Automation comes when the product has gone through its first iteration and is considered stable in those features). Once the application is available, you can create the modules and then the test cases, without using the ‘Attributes’.

Yes, you can create the ‘Test Case Design’ attributes, based on the requirements provided and/or the prototype (but prototype based attributes are not considered ideal and are usually incomplete, try to do this from the requirements as much as is possible). I plan to write an update to the TOSCA post within the next day or so, and hopefully that will resolve your issues on how to create ‘Attributes’ from the requirements document(s). πŸ™‚

29 04 2013
Gourav

Hello. Thanks for the quick reply. Your reply clarified my query πŸ™‚ I’ll await your TOSCA post regarding attribute creation from requirement document. I’m new to this tool and any knowledge you share is welcome πŸ™‚

Thanks and good day.
Gourav

24 07 2013
takecharge small business loans fast

I think this is one of the most vital information for
me. And i am glad reading your article. But wanna remark on some general things, The
site style is ideal, the articles is really great : D.

Good job, cheers

20 01 2014
ankitguptatester

Hey Gagan…

Actually i m doing research on the TOSCA tool.

Will you guide me while providing any material through which i am able to understand what it is and how to use it.

It will be very helpful if send any details to my id @ ankitguptatester@gmail.com

21 01 2014
gs

Hi Ankit,

Best would be for you to go online to the http:///www.tricentis.com website and source documents and video presentations from there, which provide a concise manner of studying more about TOSCA. In general, if you wish to learn about it, get a trail license from them and start to practise, as TOSCA is not about theory, but is more of a practical practise based tool.

Leave a reply to Yaxiong Lin Cancel reply