Wednesday, April 29, 2009

Pair questioning - no murks; all are igniting sparks.


I have been practicing exploration of the systems that exists and don't exists, from the day my mother taught me to learn, while I was learning by writing on the walls of my house 22 years back. Started the exploratory testing of *systems -- software applications when I got my first job. I practiced pair questioning with my mother while I was writing on the walls and floor of my house, on black slate with piece of chalk, in the books -- when I observed my mother writing down in a little book for all the things that need to be done, that were done, how it was done, how to do etc.
*systems -- independent entity interrelated (or not interrelated) to make unified whole. In this context, referring a software application as model of a system.

From my school days, I write my explorations, findings, results and many more in a book that I carry with me. The below snap is the book where I write all my test ideas, exploratory ideas, questions, data, diagramming and all other that I get for my craft works (testing), which I do for the employer of me.

Picture: Photo snap of the book I use for writing down all my craft works stuff.

I had and have been in pair questioning (testing) with tester's, which gave us floods of thoughts, ideas and questions. For the first time I did pair questioning along with a person who wrote the system's model.

Before questioning by sitting with developer colleague, I did modeling of the system that will be questioned by us, collected information's about what to question (test mission), collected the supporting information's in written form that were available if any, thought of strategies for how to design and execute the questions simultaneously and make use of the information which will be yielding from this, and how to make use of the information's which we get from all these investigation's with the heuristic that were thought and those were used, by writing down all these in the book which is in above snap.

Later, I explained with an illustration to my developer friend, how we will be working and what strategies we will be using for the test plan that was plotted and agreed by both of us with TEST MISSION that was set.

I use SBTM (Session Based Test Management) approach by modifying it for my project contexts from past one year. My credits to Bach brother's -- James Bach and Jonathan Bach for giving such an exploring approach that can be tailored for the, set test mission. This approach is working fine for me, not sure for others.

I am unable to put or present here the replica of what we did, as I am not supposed to disclose the project details as I too have signed NDA (Non Disclosure Agreement). But the few things I can share here is the SBTM approach I used and use:

  • Test Mission: To identify the possible ambiguities and critical information's from the sub model "abcd" of the model "PQRS".
  • Approach: Session Based Paired Exploratory Testing.
  • Testers: Mahesh and Ravisuriya.
  • Environment on which model is tested: Name of the OS, Version of OS, Kernel name of OS, with hardware-software configuration of machine and environmental conditions where the model was questioned at the time of test execution.
  • Model and areas of model being questioned: abcd.
  • Installation type of model: Type of installation by which the model was installed for use -- Fresh or Upgrade or Repair. Uninstall -- if being tested for uninstall of the model.
  • Set session duration: 60 minutes.
  • Start date and time of questioning the model: 29th April 2009 9:01 AM.
  • End date and time of questioning the model: 29th April 2009 10:23 AM.
  • Observations and information's: All the inferred and observed behavior of the model, which was driven by context-driven approach.
  • Investigations: All the investigation results conducted for the above observations and written information's.
  • Opportunity: Any other questioning (testing) we did which yielded us with very helpful and critical information(s) in this set session with spent time duration for it, apart from the framed test mission.
  • Issues encountered and remedial workaround: If any seen issue(s) and existence of workaround for the observed, inferred and investigated issue(s).
  • Interruption: Will have reason and time duration of pause or stopped time when questioning of the model under test was ended.
  • Remarks or Notes: Comprises the conclusion of the session that was completed or not completed with the reason and area of improvement in questioning.
  • For more information's: Contact extension number and email-id of testers participated actively in set session.
We spent more than 60 minutes which was set, since we diverted and branched our exploratory testing as we found some crucial and critical information's -- this was an opportunity which we recognized and made use of it; but came back to the framed track for the test mission that was set and accomplished it.

Plenty of information's were found during this pair questioning (pair testing) session. And, it was learning and also a fun session with developer being a tester and questioning the model under test. There was no murk in the session, instead all the murk were igniting spark.

Decision makers were able to infer the information's briefed in the document that described the above said questioning session and took the decision.



12 comments:

  1. It was the first time for me to do session based testing. The format of the testing and list of parameters it supports is just amazing. I felt it as one of the good approach since developer and tester are both involved in testing the software. No murks between developer and tester ;-)

    I learnt some good stuff about testing and got an opportunity to know the product better when we did S B tesing. Before this session i always thought in one way. It was fun and fantastic to test with a fellow colleague like Ravisuriya, who always questions the system. He is testing evangelist.

    ReplyDelete
  2. @ MSH

    As you said, pair testing or pair learning:
    >> always gives flow of thoughts, ideas, questions and creativity.
    >> it will be fun in learning with this approach.
    >> will discover new way of exploration's.
    >> improves the communication and understanding of system's model under test much more than earlier with the exchange of thoughts.
    >> It will be a session to always remember.
    >> It will improve the skills of both, or of the participants who involved actively in the pair questioning. And many more.


    I too learnt from that session we both actively involved by questioning the model of system.


    Evangelist -- I believe, I am not so. But, I am a questioning tester.

    Thanks for joining me in pair testing!

    --
    Ravisuriya

    ReplyDelete
  3. Gerald M. Weinberg, writes on Session Based Test Management in one of his blog "The Secrets of Consulting". Below is the URL of that writing:

    http://secretsofconsulting.blogspot.com/2009/06/session-based-test-management-advice.html

    ReplyDelete
  4. How do you produce the reports of the sessions you complete?

    ReplyDelete
  5. @Anonymous,

    I need to understand what the word 'complete' means in your understanding? Please help me in understanding.

    The sessions I plan and execute will be ended when the session duration is completed and some times I extend for 15 to 20 minutes more.

    I understand and infer the 'session is complete' when it meets & achieved the mission of that session and thereby giving the information to the concerned people which they were expecting from me; because I ask what do you want me to test (question) before I plan, frame the mission statement and gains the momentum.

    If I infer that the session did not give me information I was looking for, I change my approach by questioning and thinking critically where did it took the diversion. And, will make a strategy to explore and get the information.

    For my session based testing, I use a scan tool that scans session reports and it is available at http://www.satisfice.com/sbtm/sessions.exe .

    Credits to James Bach and Jonathan Bach, for giving a useful approach that works in my context.

    For more information, please go through the page http://satisfice.com/sbtm/ .

    ReplyDelete
  6. Hi Ravi,

    Is Exploratory Testing a manual testing?

    ReplyDelete
  7. @Anonymous

    My understanding of Exploratory Testing:
    Simultaneous Test Design, Test execution and learning. This sapient activity happens in continuous loop of learning (testing) and reacting to what I have learned and learning. Thereby I make use of these learning to design the next moves(tests). It shows freedom and responsibilities what I will have.


    Your question:
    Is Exploratory Testing a manual testing?


    * I liked your question.
    * I would like to know what the 'manual' means when you said it with testing.
    * Exploratory Testing is sapient activity.
    * I can make use of any tools (which helps my testing and test mission) that I need and fits to context during Exploratory Testing.
    * I can begin my tests with Exploratory Testing approach by learning what I have, knowing the contexts and test mission.
    * Exploratory is in my thinking and how I apply, perceive and use them continually.


    Do not forget to search for what other Testers have said about Exploratory Testing. It helps.

    ReplyDelete
  8. How testing starts with Exploratory Testing?

    regards
    Karna M

    ReplyDelete
  9. @Karna M

    I wish to share my understanding and learning.

    Testing can also be done without using the application under test or not touching the computer and its accessories also. Most of the time it happens this way too, for an example, while modeling the system in my brain and analyzing it.

    Every action of ours is exploratory and cognitive.

    Say for example I am going to my friend's house for the first time and I do don't know the place. How I go to there, now from here?
    I will be testing, i.e., exploring the path to my friend's house.

    1) I will begin my journey where I want to go (Test Mission).
    2) I will learn as I am traveling whether is it the right path, am I finding anything that shows I am on the right way?
    3) I will record all these observations of what I see while I am traveling (testing).
    4) Simultaneously will be studying my observations of what I see with the mission set in my mind.
    5) Then, I will make use of these learning which I am getting for finding the next road that connects to my friend's house.
    6) And these keep in a continuous loop of studying, learning and applying (designing) till I sense cognitively the accomplishment of mission. I continue the explorations as I did from first.

    7) During these explorations I may find new routes to my friend's house which I did not know earlier.
    8) Also I find new places during this journey which I did not know earlier or did not see earlier while I traveled in the same roads.
    9) Later I will travel in the new places (opportunity), to find valuable to my mission if any and it depends on Cost Vs Value.
    10) I will make sure the context in which I started my journey (explorations) and the present situation in which now I am.

    Me too learning the Exploratory and Exploratory Testing approach. Google for 'Exploratory Testing'; by questioning yourself intake the writings of Cem Kaner, James Bach, Michael Bolton and the testers who they are associated with.

    Also videos of Exploratory Testing can be found on Tester Tested blog of Pradeep Soundararajan.

    ReplyDelete
  10. @Karna M

    I wish to share my understanding and little learning.

    Testing can also be done without using the application under test or not touching the computer and its accessories also. Most of the time it happens this way too, for an example, while modeling the system in my brain and analyzing it.

    Most of our actions and reactions are exploratory and cognitive.

    Say for example I am going to my friend's house for the first time and I do don't know the place. How I go there, from here now?

    I will be testing, i.e., exploring the path to my friend's house.

    * I will begin my journey where I want to go (Mission).
    * I will learn as I am traveling whether is it the right path, am I finding anything that shows I am on the right way?
    * I will record all these observations of what I see while I am traveling (testing).
    * Simultaneously will be studying my observations of what I see with the mission set in my mind.
    * Then, I will make use of these learning which I am getting for finding the next road that connects to my friend's house.
    * And these keep in a continuous loop of studying, learning and applying (designing) till I sense cognitively the accomplishment of mission. I continue the explorations as I did from first.

    + During these explorations I may find new routes to my friend's house which I did not know earlier.
    + Also I find new places during this journey which I did not know earlier or did not see earlier while I traveled in the same roads.
    + Later I will travel in the new places (opportunity), to find valuable to my mission if any and it depends on Cost Vs Value.
    + I will make sure the context in which I started my journey (explorations) and the present situation in which now I am.

    Me too learning the Exploratory and Exploratory Testing approach. Google for 'Exploratory Testing'; by questioning yourself intake the writings of Cem Kaner, James Bach, Michael Bolton and the testers who they are associated with.

    Also videos of Exploratory Testing can be found on Tester Tested blog of Pradeep Soundararajan.

    ReplyDelete
  11. @Karna M

    Also getting involved in Weekend Testing
    will help lot.

    You can register for Weekend Testing here.

    ReplyDelete
  12. Where can I find people who help me to test?

    regards
    Karna M

    ReplyDelete

Please, do write your comment on the read information. Thank you.