Friday, May 21, 2021

What is Test Design and Test modeling

 Test modelling - Activity of representing system/feature under test as a model. 

A sample hierarchy

System

        Entities/Objects/Users (Roles)

            Dependencies between objects

                Relationships - IS A and HAS A (Type and containment)

                    One to one, One to Many

                        Properties (variables and constants)

                                Values (domain) of properties

                                    Default values, boundaries of values

                                        Combinations of Values to create test scenarios


Object - Action - State Change.

List actions on each objects.

Create a map of what will happen when an action on object happens

Simultaneous actions

Dead locks

Hangs

how do we use  BB design techniques

EQ partitioning

State machine

Decision Tree

Combinatorics


Take  a par of variables and create a Grid.

GUI Testing check lists (applicable to new GUI)


Static vs Dynamic Models

Model - when nothing is happening. No user interaction

Dynamic - when users are interacting

Time element


It might help to user Object Oriented Design to represent above idea.

There are objects - have properties and functions.

Nouns and Verbs


System will have objects/entities. Objects have properties, properties can be constant or variable.

Take each variable - explore the domain of the variable. See what kind of values it can take and 

String these variable values into test scenarios.


This act of modeling - goes through iterations. It's like a photo film negative development. With each iteration  - various features of system start showing up.


Idea of Test coverage -

Imagine a 2 D shape - area of features in two dimensions.

Covering area means exercising the walking through the area.

how about Volume ? 3rd dimension - features and values

Wednesday, May 19, 2021

How to improve Questioning skills

 Following up on a post in The test tribe FB group - here are my toughs on improving questioning skills

First - few ground rules on questioning

  • Questioning is a skill - improvable on deliberate practice
  • Questioning does not mean being disrespectful to other party
  • At times questioning might be taken as challenging the authority - deal with it appropriately.
  • Empty your ego and false sense of "I know this stuff" - instead approach "what else I don't' know here" What else is hidden from me now.
  • Frame questions and follow-ups in a way that it does not turn off or irritate other party
  • One good way to start question is to describe or re-phrase the understanding in words of other person wherever possible and seek view on if your understanding is correct
  • No question is silly (from the view point of the asker...:) Only unasked question is silly
  • while answer is being given - listen carefully - where applicable watch body language of the responded. Do not rush or pounce on  immediately.
  • Listen with an intention to understand not with an intention to answer in return
  • If you question basic ideas - it will not make you less in any way or a fool
  • Display courage and humility

Tips/Practice ideas
  • Ask one question at a time (Courtesy : Jerry Weinberg narrated by Ajay Balamurugadsa) 
  • Approach everything with "awe" and a sense of wonder.
  • Approach everything with mind of "newness or not seen before"
  • Develop good vocabulary and skill to say one thing in many different ways
  • Be good with creating examples and analogies
  • Dramatize your answers and questions
  • Do a role play
  • Create diagrams 
  • Ask "What does *this* mean? 
  • Seek meanings , interpretations and context of words
  • Learn about word etymologies
  • Develop understanding through responses received
  • Do lots of imaginations
  • Show child like curiosity
  • Split words from sentences - ask "what does this mean" to every word
  • ask "what id"
  • Ask what are constrains or limitations here - what if these constrains are not there - for example - what if we can fly defying the gravity or what it we can walk on water
  • Question universally known and understood words and ideas
  • Question authority
  • Do not settle for right answer - seek more broader set of responses
  • Be respectful
Human relationship aspects of Questioning
  • You always run into risk being perceived as arrogant, egoistic, "know all" OR completely dumb
  • You are mostly likely to put people out of their comfort zone and make them feel nervous
  • People may not speak to you nicely or avoid talking to you
  • Understand emotional aspects

Types of Questions:
  • Open Ended -  Non conclusive answers
  • Specific - 
  • Binary - Yes/No
  • Questions to check knowledge
  • Questions to understand