Thursday, March 16, 2017

When not to test? When is the no need of testing?


I saw a tweet interacting with me and it was from my colleague Pradeep Lingan (PL). He had shared a question -- When to start test once the build arrives?



I was in silence for few second on reading this question. In silence, I asked myself, "Why should I test? Why at all I should start testing in whatever timeline of product development?" Now, I have two questions, the one from PL and the other which I ask for that question.

The question asked by PL is not always easy to answer. But it is a very logical and technical question which should be answered. If not answered, stakeholders involved and those who are expecting 'valuable' (if expecting valuable) from testing will happen to ignore testing.

I wanted to ask PL what is the context in which he is asking this question. You see, it is not a simple question. It can be better understood when known the context which raised that question.

As a practicing tester, I understand, when there is contextual question, it is also possible to derive questions which is context free. When I say context free questions, it is the question which is generic and can be used along with contextual questions.  Is context free is also a context? I will leave this to you for brainstorming.

I will not ask PL for context here. I will answer my thoughts using context free learning approach here. From there, I will let PL to brainstorm with context for the question he asked.


Why we test? When is "the need" for testing?

I learn, I test and purpose of the Software Testing is,
  • To provide information on product, so authorized stakeholder make sound informed decision on product's development, scope of development, pause, abort and release
  • Information on testing the product can be -- about it's quality criteria and risks around it; and about the risk of carrying out and not carrying out the testing in context
  • Information obtained from testing can be used for -- to make decision about the product; about the decision which stakeholders going to make and risks out of it; if it is worth to pay for tester, testing team and seek the information which is being received; are we investing too much for information that's not worth; prioritization; should we carry out much more testing and better testing?  etc.

Software Testing is not about fixing. Software Testing is to assist the fixing in better, rational and empirical way. The information obtained out of testing to be used for bettering the product. That means if carried out testing, it does not mean, it improves product. When information out of testing is used to better the product by fixing, it helps the product to improve.

The above points should have helped now to start understanding the Software Testing and its service to development of product and stakeholders. If I and you mutually agreed for above points, then you are looking for information which can ruin the existence of product or purpose of building the product or something that will incur loss to everyone in the business.


When not to test? When is "the no need" for testing?

On reading why we test and when testing is needed, it is quite straight simple to know when not to test and when is there no need for testing.  This can be used as a start point to decide whether to start testing or stop testing.

In below cases, it is useful not to test
  • When a tester and testing team has no clarity in knowing -- what is useful testing and not useful testing for stakeholder
  • When we don't know about risk(s) on which the testing has to focus in product and provide information
  • When we have no clarity on what is expected out of testing
  • When a tester or stakeholder feel the outcome of testing being carried out is not going to help in making the decision
  • There is no area or a question in the product for which testing help to see an answer
  • When no one is interested and curious in outcome of the testing

In below cases, there is no need for testing
  • When the stakeholder learns or believe and say there is no risk in product, and say to stop testing or denies testing for product
  • When the outcome of testing will not change the decision of stakeholder
  • When no information is expected out of testing
  • When a tester or stakeholder feel the outcome of testing being carried out is not going to help in making decision
  • There is no area or question in the product for which testing helps to see an answer
  • When no one is interested and curious in outcome of the testing

It is business and business is also on money and time. As a tester it is my responsibility as well to help make decision when testing is not needed and when not to test. For doing this, I need to build the credibility with stakeholders.

However, as a tester, I continue to uncover risks if that really helps stakeholder and if I'm sensing it from my testing. While this is being done, it is also good to note, time of tester is also important as it is value and money. If I think my investment on time is needed here, I will do it, provided I see a good cause and benefit there.

Did that help now in context free way to decide when to start testing once the build is available or yet to be available? Further, build the contextual reasoning to figure out when to start, when to stop and no need for testing when there is a situation.


Monday, March 13, 2017

Disclaimers for the blog posts under this label - "Testing and Conferences"


I want to start writing on what I feel, and what I took back from attending a conference.  I attend conferences that is oriented majorly towards Software Testing and also on programming.  I ask to myself, "Why I'm not sharing to organizers about the experience I had attending the conference as a audience or presenter?"  Never I shared though I filled or wrote the feedback form if given during the end of conference or end of the day in a conference.

I'm not sure if I will be hated, or (and) opposed, or (and) seen as unusual for what I share. But when I share, I do with honesty and seeking the good for me and for all practicing software testers from each one of us; that includes me as well.  With this, I want to keep this post as disclaimer or pointers where one has to read if she or he has different thoughts for what I share in the successive blog posts under this label.

I want to convey the below points in list of disclaimers
  • Opinions or experience I share under this blog label are my own. It has nothing do with others. I will be solely responsible for what I say here.
  • I do not mean to downgrade or oppose or pull down the fame and legacy of any forum or association or group or practitioners. Instead, I wish to be a honest tester who shares what I feel in respect for the efforts the group has put in making a conference for software tester.
  • I do not intended to speak about any speakers or presenters in conference. It is a skill to present to the audience and I admire it; I want to be better and grow here. If one is coming up on to the stage and presenting, she or he has to be encouraged and I'm one such encourager with empathy.
  • I never talk on a person i.e. individual nor on their experience or work. If I did so, I will be too bad for doing it.  Rather, I will share what I felt as overall when I want to carry back from conference to my desk to implement in my practice.
  • My sharing will be to the conference organizers, panel who sets up theme or topics presented to audience. If the conference audience observe my thoughts are relevant, I would not be surprised. I speak from my tester perspective who is hands-on.
  • Organizing a conference or a talk is not a simple job. I know the efforts it takes. The posts never point on that efforts. But, I will share what was beneficial; what would have been beneficial to me or testers similar to me and to people who wants to see value out of testing.
Note: I keep updating these disclaimer pointers as I learn.


At any time if you think, I'm doing wrong or have misunderstood, please do feel free for conveying it to me. My email id is ravisuriya1 at gmail dot com.  I'm human and I'm fallible, yet I want to be better each time; if you happen to assist me to do it, I will be thankful to you.