Thursday, 27 October 2016

Pair testing for all


Pair Testing
  • Pair testing is for all in the team - inclusive of testers and non-testers
  • Pair testing is not a measure of who can test better but what and how we can learn (and continue to) from with who we pair with
  • Pair testing has helped me to learn what I need to learn, how having  more heads can help me, how not to test and how else we can test better
  • Pair testing has nothing to do with performance review, have I mentioned it already! The most common myth that if I pair with another person then they steal my super powers needs to be definitely debunked. Let' u encourage pair testing where and when needed. And leave those alone who love to test with the tools, techniques and approaches they have. Because they too contribute to the overall good of the product
  • Pair testing is for those who wish to learn, to get help, to share their ideas, are ready to put their current skills to test and are ready to learn continuously to make themselves better than yesterday
  • Pair test to learn and add tools to your tool kit and ideas to your idea base reference
  • If pair testing is proven to do you harm, share your experience in the comment section so that we can learn how to address it in that context and to understand where not to use it or enforce it
  • I like pair testing with new and experienced testers and non-testers with whom I can learn from, Skype me for a testing session or join weekend testing forums to learn to pair test with the attendees. Pair testing with the tester Ravisuriya (from Moolya, Bangalore) has done more good to me. He deep dives and learns from various perspectives and is a good mentor

Here is my take on Pair Testing for all in the form of a mind map made with XMIND.




Thursday, 29 September 2016

Tester_More than a bug reporter

A tester creates and adds his/her own enhancements to a product based on the skills acquired over a period of time and by learning based on the experience in the same domain and across verticals. As the product progresses from it's discovery phase and passes through requirement collection, wire-frame designing, data modelling, coding and testing phases, we will for ourselves see how continuous learning contributes to transform the product into a full-fledged product or in some cases a minimum viable product (MVP).
Here are a few tips that can come in handy to build such an experience into a product. To make this experience first hand, explore the product from different perspectives that are in scope and in a given context.
  1. Learn continuously
  2. Report diligently

Learn to test

A tester needs to learn to test from different user perspectives. In a particular session, if we are testing on behalf of a user who sees a product as insecure. In the next session, we might want to change this perspective and test the product on behalf of a user who has motor and sensory disorder, a user who faces difficulty in accessing the application using the keyboard. This mindset can help a tester to learn to test differently and make the software accessible to the wider audience.
Pair testing is found to be an effective way to learn faster, as testing becomes double the fun when we test together. It helps avoid common mistakes, learn another test idea, build competence and equip oneself with the knowledge shared by a paired tester.
Continue this exercise with other testers in the team and learn from all. It is found to be beneficial, when the team comes together and tests. And not just with testers, broaden this circle and test with non-testers, coders, actual users, differently-abled users, a hacker to learn and share the knowledge. I picked up on testing with browser add-ons in one such exercise and I find myself getting into a habit to be on the lookout for tools which can assist in testing quicker and better. Built on this continuous learning is a product which takes shape brilliantly with each passing day. This combined with a sense of contribution to enhance the product's quality leads to satisfaction as a tester who's ideas are as important as anybody else's in the team.

Report

A journalist or a reporter stops at nothing, when reporting news which the public can use. So is a tester, who should not shy away or be afraid to communicate a bug. Learn to learn and unlearn no matter how trivial a task is. We blame the media for reporting only the failures and rightly so for overdoing it. Testers can take a cue from this and give all the love that a product rightly deserves.
Testers need to not just critique the software but also share good news. Give credit to all the goodness in a product. 

Interacting with valid and accurate sources of information is a key to reporting successfully and to get the bug fixed with less or no hassle. More is the value attached to the bug report when the reporter talks to and refers reliable sources of information. Have a repository of tools, point of contacts, websites, updated legal guidelines to refer to, to make the report itself authentic. Add value to the report by quoting various instances in which a user finds it difficult to access the application or fails in doing so.
Finally, build reliable reference list and keep it updated, check list, tools, heuristics to refer to when reporting bugs.

Wednesday, 31 August 2016

About testing conferences - Part 1

The beginning
It all began in the year 2012, when I was googling for software testing related learning materials. I recollect the intent of this search, I wished to learn from knowledge sources other than the ones that I was exposed to in the confinement of my work place. Being bogged down by listening to the process obsessed people, it finally pushed me to look for other learning sources.
This search lead me to http://crisys.cs.umn.edu/issta2012/ link to ISSTA 2012 software testing conference. I began my learning by researching on how to apply, what to fill in, and to do my best and hope for the best. Post this preparation and submitting my statement on why I wish to attend ISSTA 2012, this happened -  an email from General Chair of ISSTA’12,Mats Heimdahl landed in my inbox. It was my first attempt at applying for any conference and this response was treasured. 
The awardees for the Google ISSTA'12 Diversity Grant have been selected!  I read and re-read this email.

My happiness knew no bounds, from around the world and amongst us learners, educators, graduates, professionals, 3 applicants had been granted this opportunity.
Google awarded the selected candidates a grant to participate in the International Symposium on Software Testing and Analysis.

The Aftermath
My colleagues were clearly excited about my selection. I then had to check with my manager for his approval. I did not then know this would be a hurdle! The tough part of applying, submitting, being selected was done as per my knowledge. I arranged for a meeting with my immediate manager and went to him with this news. If you are from the typical “power obsessed professionals” background, you can guess what this manager’s response was. What followed was utter disgust, it’s repulsive to even think about that response today. I came out sad and my colleagues advised me to go ahead and not wait for anyone’s approval. You have this opportunity and you shouldn’t miss it. They said.
I was not as courageous as I am today, so I had to let go of this opportunity due to the huge expenses that I had to incur for this trip. I am glad that the Test Lead, a sensible person stood by me that day. I thank him for his guidance.
I thought about reasons why the manager’s response was negative. Leaving the reasoning to rest (for then), but not my attempts to look out for different knowledge sources I met few critical thinking testers, learners and test practitioners that same year who introduced me to the WORLD OF TESTING. The vibrant testing community, to whom I am indebted to date.

Since this event, I have been at the receiving end of the wealth of knowledge from several mentors / gurus. And doing my best to give back to the community from whom I have received so much.
The first ever software testing conference that I attended is STePIN-Summit, which was a year later post the aforementioned aftermath.
I have shared that experience here - Why should we attend software testing conference?
Since then I have been on this journey of learning from varied knowledge sources. Listening to many learned test practitioners is what I look forward to when am at conferences and learn from every person and situation is what keeps me happy and going strong. If you have seen me all quiet, this is one of the reason :) I like to listen.

Fast forward to year 2016
The most recent conference that I have attended also happens to be STePIN-Summit, Bangalore.
What’s the major difference from then to now?
I know from my own experience that being brave, investing in self learning and asking with an intent to know, learn, negotiating are skills that are needed for any learner. Some testers (Parimala Hariprasad, Dhanasekar, Ajay Balamurugadass to name a few) I know invest heavily in self learning and it is all worth it (if the reader wishes to know). If you need help the testing community is supportive. There are several sponsorships offered for testers willing to attend conference and who can contribute in their own way to this vibrant community of testing. Maaret Pyhäjärvi, a pioneer at sponsoring is someone who I became aware off. She runs conferences and sponsors every speaker to get to it without having to worry about the huge (if you are trying to go from one continent to another) expenses incurred. In another instance, our community came together to help Kim Engel attend Let’s Test.

Tips to new testers attending conferences
     Bring your thinking hat and wear it too
     Take what teachings / learnings fits your need as a learner and leave the rest for later (or when equipped to make decisions on such matters)
     Attend all conferences initially, learn which ones to frequent and which ones to not
     Inspire your colleagues / friends to attend conferences. There is an added advantage, you can split among yourselves which talks you attend and learn from the other parallel tracks
     Learn with people who share from their own experiences of failure and success
     Network and SHARE what you learn at conferences with other learners

STePIN-Summit 2016
A bird view of what I learned at this conference.

Note: Click on the images below to view it in it's original size.

Web, mobile analytics - All about data


UI / UX Learning - Micro Interactions

To Automate or Not to automate - what, how and when to automate!
 

Above all, network and learn

Hope this attempt to draw the attention of testers to the world of software testing conferences has inspired the reader to attend meetups, arrange, organize, speak, participate, volunteer in your own capacity.

Sunday, 21 August 2016

TESTING - Struggle, Strategy and Solution

A Survey conducted by Mike Lyles - Answers by me.

Question 1: What are the major struggles that you have within your testing organization (or organizations that you support/consult with)?

The struggle that I personally encountered was with the knowledge transfer when I joined an organization as a tester. People who lead and their limited knowledge on testing which then trickles down to the next generation of testers, this is an on-going problem which translates to a struggle for next generation testers. If we continue to not think critically and encourage such dark patterns, that is a problem every organization faces testing or not. Many testers lookup for guidance as they join an organization and most of them come with limited / no knowledge on testing as testing is/may not be a part of their academic course. In such scenario, if people who lead do not help them then they will be lost and/or will grow into a replica of their leads/managers. Educating the educated is the struggle here.

Question 2: Can you think of and/or describe a time when you had to modify your plan/approach/strategy so that you could ensure success? (whether it be keeping the project on schedule, reducing the risks, reducing the defects released to production, etc).

In a process obsessed environment, yes there is a need to change the plan and think individualistically and for the whole good of the project / organization. In order to be able to do so, the change initiator needs to have had an experience of running the project in a holistic view.
To quote an example: A project that I was working on demanded the need to follow a template which was not well researched. The template itself had gaps which needed to be filled. I was asked to blindly follow the template and when I questioned the template itself to know more, I learned that it is not suitable for every domain but needed changes when there is a domain shift. Ultimately I had to quit this job, because the management did want to stick to the template than make any changes to it. This is a risk that I took to uphold my values and integrity and deprive myself of the suffocation in that environment.

Question 3: What do you think is the "next big thing" that is going to require a change or a strategic re-alignment from the testing organizations?

Train the testers at all levels. And learned testers to educate not just the testers but the management and clients. Unless the basic know-how of testing is not known, the next big thing is far from reach to us all. Testers are not mere testers but *product engineers. This should be our aim, if we limit our roles to being testers and not product engineers then there is a chance of us remaining stagnant in a particular firm which does not require thinking testers.

*Product engineer is someone with a holistic view of the product right from the requirements gathering to the release and beyond.

Question 4: What do you think is one thing most test organizations are the most confused / segregated / indifferent about (e.g. there are various beliefs involved)?

     Following the footsteps of a MNC without doing their own research on what tools/processes/metrics to use, when and if it suits our context
     Being business oriented and not investing on learning and development on their main source of profit

Question 5: What do you think is at least one CORE thing EVERY team should do to be successful?

     Simply by creating a fearless environment in which we can all learn from each other and thrive without competing amongst ourselves
     Treating everyone equally is something which even this generation of professionals need to learn to be able to work towards one common goal
     Making the ultimate goal for testers to be product engineers can help the future of testing and test engineers

Thursday, 9 June 2016

Questions or Answers

Introduction
In a new turn of events, this is not Anupama Shenoy’s Facebook account as conveyed by her.
In yet another turn of events, the account is/was hacked as per the media who neither confirms / denies it. Probably plants it!? for the rest of the audience to have something to be intrigued about so there is still ongoing interest in this case!?


This case seemed interesting to me, and I started following it up. Because here is a person who stands up and revolts against injustice. Mining and sand mafia is on the rise in Karnataka, several lorries carrying loads and loads of sand hits Bangalore everyday. If you are around Hebbal, you can see them parked in the hours that they are not allowed to enter the city.


Why is this case interesting to me? Especially when I do not like following news (which is made news). As Anupama herself puts it ‘I am not the news, I want the people to be the news’. I don’t know if anyone else has said this before and clearly that the people be responsible in a society rather than follow someone who cooks news and serves it to us all.


Why is this case interesting to me? It is because as I stated above that here is a government worker who stood up against the malpractices and resigned from her job.
Why would someone resign from a job that they worked / worked hard / dreamed to get into? And sustained until… As is the case here, until discomfort.


Know this:
What is discomfort to you may not be discomfort to me.


Briefing
Several of us working in the private sector too go through such discomforts several times despite the length of the career span. But it does not make breaking news when someone resigns because feel free to fill in any reason here.
Someone who is agitated with bad practices, turmoils, prejudices around them, and / or is affected by someone else’s troubles too, thinks of resigning at some or the other point.
For many middle class citizens in India, resigning is not easy. It takes courage to do so, so many just push through the days. Tolerates and waits and then takes the decision of moving out rather than quit without having another offer.
It is true that the waiting period is painful but rewarding when we finally break free, only to be caged in another setup. As long as we do not learn to work with dignity and with each and everyone around us, we are caught up in this vicious circle.


Many of us are in this vicious circle too, consider an example for this DISCOMFORT.
We are asked to estimate a task or perform a task in a certain manner and at times without letting us know the what / how / who / when / where / which of this manner.
So what do we do in this situation? Simple.
  • Ask for a template?
  • Follow the template?
  • Present the work in a way it requires to be templatized
  • Think it’s job well done, because we followed the template
  • And close the task


Now think there is another person ‘A’. Who
  • Asks for the template
  • Questions the template in order to understand the template better, to learn why certain tasks are done in certain manner though it has worked for ‘n’ people in ‘n’ situations in the past. Is it bad to question the template? Especially when ‘x’ has seen it working without fail?


Person ‘A’ thought of a scenario in which this template fails.
This person because he / she questioned something which is being followed by ‘n’ people for ‘n’ weeks/months/years is made an easy target.


I was once in such a situation, I questioned (why?) without simply following the template for every application that I tested. I posed the question to myself, not to the others. I needed to learn and understand why certain tasks are done in a certain manner. Is the template reusable in every scenario and for different applications built on different domains?


After questioning the template and finding answers, I proceeded to do the task, complete it and wrote a report which was self explanatory meaning it explained the what / how / who / when / where / which of the report and in the manner I had written it which was close to the template but not exactly according to everything in the template.
And then presented it.


I was asked why did you not follow the template which was given. I was also asked ‘do you think we are idiots’ this was absolutely uncalled for in a professional environment. And I did not think they were any less. I respect everyone irrespective of fill in the blanks and think everyone is knowledgeable. I believe I have something to learn from EVERYONE(and question the learning when I can).


I explained the self explanatory report and quoted the reason why templatizing is not a good idea for every scenario though it has worked earlier. I failed to follow the template or did I succeed in knowing that this template cannot be used in this scenario. This reminds of this saying by Thomas Edison.
Image source- https://www.pinterest.com/adnanedtech/educational-quotes/


Let me explain this with an example:
Do you watch MasterChef?
There is a pressure test round where two contestants are given a recipe to follow and after an hour, the judges taste / test and they conclude who wins and who loses in this test.
Do you ever wonder why the two contestants did not cook the dish to taste the same, though they followed the recipe and used the same ingredients of same quality and had the same time to cook and had no extra powers but were being themselves(their unique selves!) working under pressure or with pleasure.


Why didn’t both the contestants win or lose?
Why do we script? A script needs to be followed? Yes? But followed without learning? Learning yes, but without knowing? You learn something and then you question it. Right? Or learn something and follow it because “you were told to follow” as it works / worked in a certain scenario?
Why do some of us question?
Because some of us wish to know more, or are curious.
Curiosity is a quality related to inquisitive thinking such as exploration, investigation, and learning, evident by observation in human and animal species.


Do you ever think that as an actor I can improvise the script / the act?
When do you feel that you can improvise the script / the act?
Answer for yourself.
Can we say this? Questions are Answers.


Why do some of us do not question?
Maybe some of us fear to question? Does this mean we are hindering ourselves from learning or knowing. What does knowing do to us?


This reminds me of this saying by Marie Curie.
Image source - https://in.pinterest.com/pin/207869339022119044/


Conclusion
These discomforts do come and go, but learning needs to be continuous. Define the discomfort, what are the causes for this discomfort? These are our feelings, this is what defines us. Why don’t we have molds for human beings? Why are we asked to follow? And why do we follow? Why do some of us follow without questioning? Why do some of us follow by questioning? Why do some of us stand up for a cause? Does this make someone strong? While some others speak up on a different cause? Does this make someone weak? Are we biased? Or as Matt Barcomb puts it biased people = people. What makes us a leader? When are we equipped to lead?


This reminds me of this saying by Tom Peters.
Image source- http://blog.zerodean.com/2012/quotes/leaders-dont-create-followers-they-create-more-leaders/


#THINK #ASK #FOLLOW #UNFOLLOW #LEAD #INSPIRE
Kudos to you who question(not to be assumed for revolting or for a rebellion), several of us have the answers to certain questions ready because someone spoke up, someone questioned and someone answered without thinking that the question was directed to measure their intelligence but to know and learn in that particular situation.


Equip yourself to ask, to question, to know.
Love books? = The art of asking

Whom to ask, what and how? = The art of asking questions video by Harvard Business Review (74 second video).
More here.


Fear asking? Or are shy to ask?  = TED Talk 13:40 Ask and you shall receive.
Asking is not always about risking, untrusting, being brave or being fearful or being shy or making yourself vulnerable. ASK → CONNECT → RECEIVE
Don’t ask if you don’t NEED to.


Ask to clarify assumptions = The Art of Asking Questions

Yes, the three quotes used above by Thomas Alva Edison, Marie Curie and Tom Peters have inspired me. Why did they talk to me? I end with this question.

Wednesday, 8 June 2016

Beyond the Walls of Human Resourcing and Recruiting

UNDERSTANDING THE PROBLEM
What is the version of the application that you are currently using? Or If you are a tester, you may relate to this question: What is the difference between validation and verification?
This infamous question decides some of the interviewees fate.
Could this be because of one or more of these reasons:
The interviewer was asked the same question at some point in his/her interview.
It is listed as the top 10 questions for hiring a 'insert the role here'
Is it because the interviewer thought 'if the candidate cannot answer this then they are not skilled at what they do, should do or EVER DID'.
Or is it because there is lack of effort which goes into the preparation of hiring?

Are we doing it right or simply following the footsteps of someone without thinking if this is the decider question on which I gauge the interviewee.
Or should we be disheartened because we could not answer this question?

I have had the privilege of being interviewed and interviewing candidates and I ensure that I know this before I accept the responsibility of making the decision of hiring the candidate or not.
1) There is a well defined job description
2) Shortlisted candidate's CV reflects the skills required and the candidate is well aware of this job description and
3) I (or the interview panel which is chosen) am aware of the skills that are required to do justice to this responsibility.
Ensuring the above solves the problem to a greater extent. But there are also *other factors which hinder the recruiting process. And many fall prey to it, voluntarily.
*other factors
Think of any factor/s, CHECK if these factor/s is/are influenced by biases. And question. Despite the biases, am I doing justice to the decisions that I make? If yes, you are headed in the right direction.

James Bach enlightened me recently by sharing his wisdom on interviews "the interview is a weird social situation". And his accumulated knowledge as I gathered on interviews is brilliant.
The interviewee and the interviewer goes through tumults when they are faced in this social situation. Some personal emotions may/may not be at display. How do I put this person up / down to prove my worth? This is uncalled for, you interview the candidate for the role you are hiring them for. That's it. Displaying un-professionalism is a waste of valuable time and effort for all involved.


I have gathered below, a few do's and don'ts for the interviewer and the interviewee (from my experiences).
Do's
  • Display professionalism
  • Ask questions as much as relevant to the role
  • Ask questions that help you make a worthy decision
  • Be informed and make the involved comfortable
  • Ask for immediate feedback and share honest feedback despite any biases
Don'ts
  • Don't overwhelm the interviewee or the interviewer
  • Don't be distracted during the entire process. Be it be over the telephone/ in person/ online. A lot is at stake, don't lose it by losing focus
  • Don't let the feedback get diluted by discussing with others when it is not required. Make yourself being on the interview panel, COUNT. As much as you dilute, you are losing your will to decide and are handing over your responsibility to the other/s. Know that you are CAPABLE, and hence are asked to be on the panel

Know this
The hiring process, the questions, the relevance, the answers, the tools, the feedback - can be fallible.


Handling rejection / success
You may fret over it, but move on from there with the idea that you did what you could do in that situation and carry the learning that the whole process taught you.
Have new ideas to share with the HR, recruiter, interviewee, interviewer - DO SO.


As a thumb rule, handle success and rejection the same way. How does this sound?
If tried and implemented, this just sounds like music to the ears.


THE SOLUTION
Knowing is the solution to the above stated problem.
This arena requires a lot of research and has a lot of scope for improvement!
  • What researches are being conducted thus far in understanding and improving education and training in this front?
  • How well trained is your recruiting agency / HR team?
  • Do you know a HR guru who has painstakingly taken it upon themselves to learn, search, research and share valuable results?
  • What courses are offered in universities? How worthy are they?
  • What are the available sources of knowledge?
  • What are the roles applicable and invented thus far for those in the field of hiring?
  • What are the skills that are required by the recruiter?
  • Is there any training/course/course material to equip the HR team better?
  • How are we growing as a team by acquiring new skills?
These are some of the questions that we need to ask as a leader.


I recall Madhu Kiran, Director-HRD Committee at LACFI who was the Lead of Training and Development while I was working with LG (my first step into the corporate world). An inspiration, a continuous learner, a learned person  who I look up to and who has done/doing research in this field.

We need more thinkers, learners than the mere 'employed ones' who look beyond what meets, the eyes, break those walls if need be to see and learn beyond the walls of human resourcing and recruiting and to "Make sense out of being Hired".
Image courtesy - www.zoomremotepros.com
Most of all be genuine in your approach and be as professional and humane as possible. Capture the loopholes, the gaps in the process, the lessons learned and share it with the concerned so that they get to see your perspective and learn together to make HR better and valued.

Make this learning rich by providing your thoughts on the status of recruitment around you.