Sunday, August 11, 2013

Test Coverage Ideas and Test Ideas – Part 1

In one of my practice session, I was brainstorming for the test ideas.  I got a question, what am I covering in the ideas?  The product being tested in the session was Triangle application for testers programmed by James Bach. With this question, I toured the application for 20 minutes to learn what it is.

While doing this, I understood, to have better and effective coverage, there needs to be the models of Triangle application and not just one model.  From here, I started to build the models. It took time and experienced the pauses frequently. Learning what I’m undergoing, the strategy for approaching the mission changed.

I love experimenting. This work is an experiment being carried out for making my testing useful, informative and valuable. The strategy now is to write the Coverage Ideas for first by touring the product.  Then use, the Coverage Ideas to build tests based on what I need to cover for the testing context.  Doing this I noticed the advantages and disadvantages. Advantage is, there is no need to sketch out the model in detail as I have the Coverage Ideas (detailed model guiding structurally) which shows me test ideas. Doing this I get the mental model for each types of coverage.  Disadvantage with this is, it might consume time in initial stage using this strategy for Test Engineering. On practice, the time might reduce depending on testing context, testability, tester skills and other factors of system being tested.

With this, I have got more than one Coverage Models to test and I made note of it consciously. And, I brainstormed for test ideas on each Coverage Model knowing the testing context. This is very interesting for me.  I learn the Test Coverage Idea as – an experimental question and the actions which helps in identifying and building the various coverage models (an idea) of a system for testing context. There by aiding to evaluate the coverage dimensions of the Test Ideas coming out of each Test Coverage Ideas on a reference.

In simple to summarize, Test Coverage Ideas --> Build Coverage Models (test ideas) with a reference to the testing context --> Brainstorm and identify (design) the tests; execute the tests; evaluate, observe and make notes.  These all activities can be executed in parallel as well.

To make the start, I decided to brainstorm and write test coverage ideas for one or two sessions. Then pick these test coverage ideas, execute and make note of test ideas coming out of from respective coverage model. This gives me structure for the test ideas and reference to evaluate it for knowing the coverage extent of it.  Meanwhile, I make note of the new test ideas as testing continues.

Drawing a Test Coverage diagram, it helped me knowing -- what I’m covering and to what extent, what I have covered and to what extent, and what is not yet covered and should be covering. The testing context and different models of system helped in seeing the dimensions that a test should take and can take.

Figure: Context Free Test Coverage Model

The above diagram shows, how little and/or effectively we cover the varied dimensions for a test. Bigger the three circle’s common intersection space, it is likely that tests carry the desired dimensions and variance when evaluated against a reference in testing context. The space when just two circle intersect can also be useful in terms of coverage, but it might not be effective with dimension attributes of another missing circle.

I will be sharing the test reports coming out of this model in next successive threads of this post.

Thursday, May 2, 2013

Uncover Of Cover

The below mission and image from Test Mile is different and a trigger to unspoken thoughts. I wish to share my interpretation about this image.

Mission: Analyze the attached image which is a part of advertisement + awareness campaign by Test Mile.  What does the slogan - "Together We Cover. Divided We UnCover" mean to you as a tester? There are various visual clues in the picture as well. We would love to hear how you relate the story of this image.

Below are obvious from normal visual observations

  • TestMile Test What You Value
  • Issued in public interest
  • "Together", "We Cover", "Together. We Cover"
  • "Divided", "We UnCover", "Divided. We UnCover"
  • Illusion of green surface on unzipping the zip
  • Illusion of diverting roads showing two lanes. Not sure how many lanes each road has. Lane marking looks quite similar in two roads in size, color, and appearance. The side of road is marked by two parallel lines which looks as yellow-in-color. And it diminishes with size and color in left side road as it proceeds further. Right road does not show this indication.
  • Not sure how many roads brought these two diverting roads.  The left road shows 'Development' and right road shows 'Testing'.
  • Blue sky kind of  visuals with four clouds. I can see just four clouds in the snap; it can have more than four as well.  The clouds are placed in different places.  Looks like one cloud resemble just one other cloud in appearance and size.  Similarly  the other two looks alike in appearance.  Visibility of one cloud is not so prominent but it looks as though it is touching green area with high hue brightness. And it appears to be clear early morning sky.  There is a smoke or skew line structure between clouds; may be this is too cloud.  These skew line cloud connect all other clouds though it is thin and slightly invisible to look at.
  • Along the side of roads, looks like human kind of objects standing opposite to humans on other road.  Just few are trying to interact or standing close by at point where diversion of road starts.  As the diversions gets broader, people are placed far way from who are on other side.
  • "Divided. We UnCover" is shown on green land.  The text is in color that looks as white.
  • "Together. We Cover" is shown in the air. The text is in color that looks as black.
  • Green land at right hand side has a heap kind of surface. Left side road does not have this structure surface.
  • Why the word is written as "UnCover" instead of "uncover" ?

What is being said to uncover? What is being said to cover?  'Uncover' is shown in the green land and 'cover' is shown to be in sky. 

I relate this to development of testing and clouds to five schools of software testing. The five schools of software testing what I have come across -- Analytical, Standard, Quality, Context and Agile.

The four clouds are Analytical, Standard, Quality and Context Driven school of testing.  The cloud that is passing through all these four clouds is Agile. Each of these school has its principles and students who does not listen or not show the ear for other schools of testing.  This is leading to disrespect among the testers and showcasing 'Testing and Software Testing' in software industry is not big deal. Between this happening, a buzz word 'Agile' is floating around and making Agile Development (agile programming and agile testing) is the solution which is smartest to today's business.

While we testers (who adds school name with them) keep arguing and disrespecting each other for their respective approach and testing practices, how do we uncover the existing myths, problems and misunderstanding in green land of testing?  While we are unable to uncover in little green land what we have got in software industry, how we do cover the testing essence which is as wide as sky?

We all testers divided, we fail to uncover the problems and hurdles that are blocking our Software Testing Profession to be the respected one.  While we are together, we cover though it as wide and height as sky is.

Testers, divided we are, we will not uncover anything; together we stand and work, we cover  unimaginable so the Software Testing excels.  Isn't this beautiful picture from Test Mile? Before we testers going and making programming better, we make our software testing to have its stand along with programming.