Monday, August 9, 2021

The Not Well Thought Talk

 

That Day

It was in 2016 April at the MITC - Moolya Internal Testing Conference.  I was a Moolya employee then and it was a conference for Moolyans by Moolyans.  I went up to the stage and shared few thoughts of me, then.  Today, when I look at what I spoke, it looks to me as not a talk that I should be doing.


The Talk

I see, my thoughts were not mindful when I spoke that day, and I was blinded.  Yeah, blinded.  This is one of the talks which I keep as an example; so that I do not share my thoughts and talk like this.  Today when I look at me of that day, I look wrong and not sound.  I question myself, "Is that me? Ah! How bad!"


Not Thoughtful, Why?

I see it is not thoughtful for these reasons:

  1. It did not reflect the awareness I have on the subject and practice
  2. I sent an incorrect message with my short talk for young people who were at the conference
    • I should have shared how to look at it than saying what has to be done ignoring the other
    • Ignoring the one and doing other is not a beneficial approach in any means
  3. I'm a person and with the role who will  influence people in the direction, the work, approach, and delivery
    • How can I do this as a leader?
    • But a leader will also fail and a leader encounters failures often and frequently
    • Leaders deal with the failures than with success often and continue what they have to do
    • I failed in my thoughts and talk, that day!

None spoke or shared anything about it.  I'm not sure why.  I myself see it is not right.  Could be they would have received in the intent what I wanted to share.  But, what did I say and how, that's not right.  Ravisuriya, himself cannot take it today and acknowledges it.


What I do today!

I take my time and think before I see an opportunity or when asked to respond.  It is not that I did not think earlier prior to responding.  That day, I did not see how it will be received and interpreted.  

Today for first, I will test if I can receive and acknowledge what I'm communicating.  If this fails, I will pause and think of a better way to share and communicate.  Before sharing, I try to make sure that I have not tampered with the intent of my words and thoughts.  Can this be done each time?  I'm making a practice that I articulate and persuade better and with the right intent.

This is one of the very essential learning I have made from MITC 2016.  Thanks, Moolya and Moolyans for giving me this reflecting and retrospective learning.



Testing and Exploratory Testing

 

A Discussion in The Test Chat

In one of the discussions in The Test Chat on Telegram, the topic was "How to test without an SRS document?"  One pointer put to help in this direction was -- "Even though there is no document, you can find the requirement if you look hard enough." 

This pointer was put as a question asking how it can be done.  Further, the discussions spoke about Testing and Exploratory Testing.  

This discussion brought up the below thoughts from one of a fellow tester:

Only exploratory Testing part can be done when no document is provided , assuming the meaning by looking hard enough may lead to  various assumption 

They are suggesting to look at software under test  hard enough it seems.

And in further points they are saying know your end users and personas which is again product owners job before creating document.

In short :they are saying look hard and create SRS/BRS.


What am I seeing in the above discussions?

There is nothing wrong here with this discussion point.

I see one's learning journey in this discussion.  The good thing is -- the space as The Test Chat is available where one can share her/his thought and discuss.  All of us will have the learning journey and so do I.  It evolves as one shares her/his thoughts like this and opens up to discussion.

If we do not open up to discussion and share our thoughts like this, that's when we are not doing it right.  We have to encourage the discussion, questioning and foster an environment where it is accepted and practiced.  Only then, we will speak our learning and work, and understand it better.


Testing and the Exploratory Testing


I'm sure most of us would have crossed and crossing:
  1. The job description, talks, discussion, and tasks assignment having two words -- Testing and Exploratory Testing.
  2. The instruction a,s "Do the Testing and then do the Exploratory Testing".  It could also be one of your team members and manager asking "do Exploratory Testing after the regular Testing".
Few of my fellow testers use the word Exploratory Testing and Testing.  I have no problem with it.  When I discuss and write, I use the word i.e., Testing, in my practice.

Here are my thoughts for today from the learning I'm having from my practices:
  • I cannot differentiate between the words Testing and Exploratory Testing.  To me, both look similar but an additional word i.e., Exploratory.
  • I learn, Dr. Cem Kaner coined the word Exploratory Testing around 1982.
  • Each time I test, I explore!  I could not break and create two sessions for Testing and Exploratory Testing.
  • Could be there was a need then to differentiate and communicate that testing is and as Exploratory explicitly.  So did he coin the word Exploratory Testing?  I'm not sure!  
  • But this has become one of the most misused words today where it is said to do Testing and then do the Exploratory Testing.  That's a different subject altogether to discuss is what I see.
  • Testing is exploratory in its nature.
James Bach shared a document having the history of Exploratory Testing definition.  I'm sharing the same here with his permission.  The credits of this document are to James Bach.


Testing with no SRS or BFS


I looked and asked for SRS and BFS documents at beginning of my career.  After a year, I had no SRS documents for the product I was supposed to test.  All I had in my hands were the architecture diagram.  The team did not have the luxury of writing SRS in the timeline it was running.  This helped me to develop a skill -- to test using what I have at my hands; I did not depend on SRS documents.  I see the requirements coming in two forms -- explicit and implicit.  
  • Most times, when there are no recorded documents, the documents I make on the product and system as a whole, are used for immediate reference.  Should it be called SRS/BFS?  I do not think so; I would not call it as well.  But it is part of my testing outcome i.e., by-product -- Test Notes.
  • Today the FCO i.e., Feature Coverage Outline is spoken very much.  Likewise, KYC -- Know Your Customer (user of a product and stakeholder as well) is also one of the key tasks.  The testing team does this task in modeling the users and their personas so that they derive the test data and figure out the tests and scenarios.
  • I have been testing with no SRS/BFS in place.  I will have to figure out what is the expectation somehow.  Else, how will I evaluate?  I use multiple approaches for the same.
  • I do not crib anymore if there is no SRS/BFS.  It is one of the contexts in Software Development.  I will have to deal with it while I test and automate.  I also make sure that I'm aligned with the stakeholders for what they want and also with the market fit of the product and the problem it solves.


At this point in Time

I'm also testing for a Machine Learning product today when I write this blog post.   This project has detailed content written on the engineering and architecture of the product.  But there is no SRS/BFS written for the product.  I had challenges for a week in knowing what is what and why it exists.  The architecture content helped me.

I continued to explore the product and system; read the engineering documents and spoke to programmers when I had questions.  This helped me to test this product.  I'm testing it for 4 months now and it does not have SRS yet, though it is an ML product being built and used by customers (technology companies) for 10+ years now.  

The new features, design changes (not the UI), and fixes are being rolled out.  At this point in time, while I'm writing this line, I get a Slack ping saying -- "Upgrading and improvising the algorithm; it will take an hour.".  And another programmer pings saying, "A change in classifying algorithm for correction bug is committed and the pod is up with changes."   I'm not sure what are these changes nor it is documented anywhere. 

I will explore, figure out and test!