07 October, 2014

Interviewed by A1QA

Hello Readers,

I was recently interviewed by A1QA, a Software Quality Assurance company based out of US and UK for their blog. This is the first time, I have been interviewed on technical aspects of my work to great depth. I cover topics like Mobile Apps Testing, User Experience Testing and Crowdtesting for most part.

I am sharing here, just in case, some of you find it useful.


My Interviews

I have been interviewed by many folks. Yet, nothing is in one place so far. This is a placeholder blog post for all my interviews published so far on the World Wide Web.

September 2014

August 2014

March 2014

July 2012

An interview with Parimala Hariprasad : 1 year @ Moolya

June 2011

Parimala Hariprasad - Part 1 @ IT Files
Parimala Hariprasad - Part 2 @ IT Files
Parimala Hariprasad - Part 3 @ IT Files

May 2011

Interview with Parimala Hariprasad @ Testing Circus

December 2010

Interview with Parimala HariprasadSoftware Test and Performance Collaborative 

Parimala Hariprasad

06 August, 2014

Speaking at CAST 2014 & The Saturday Night Project

Over last 2 years, I have done crazy things. I attended a Design conference, Developer conference, Story Telling workshop by well known Brand Expert and Master Storyteller Ameen Haque, took a design course tutored by Don Norman on 'The Design Of Everyday Things' and also took up some singing classes with my daughter (Oh! I just bray!). I also did several things at work that I have not done before. All along, I went with the flow, picked up any challenge that appeared exciting and enjoyed what I did.

The Saturday Night Project

I spent more than an year studying design and user experience between 2013 and 2014. I was amused by what User Experience Design field had to offer when I led a User Experience testing project at my previous job. The experience has been exhilarating. I learned about design, about applying design concepts to testing and about life itself. All this, happened on saturday nights after I put my kids to sleep. It's been a wonderful journey. These learnings are very special because a lot of effort went into it.
It's time I share these learnings with the world. Which better conference than at CAST 2014!

CAST 2014

CAST is a very special conference for me (apart from Let's Test and Bug DeBug). I have several friends who have attended this conference and told me that I MUST attend this conference, even if it is at my own expenses. Two years ago, I told myself that someday I will present at CAST. My dream is coming true this year. My family thinks I am crazy to be spending a bomb on this trip. For me, it's worth my time, effort and money for the wonderful testers I am going to meet at this conference. I am excited about this conference.

I am presenting a paper "Testing Lessons From The Design Thinking World" at CAST 2014 at New York. You can check out my Abstract HERE.

Date :: 12th August 2014, 4.50 PM
Venue :: KC909, Kimmel Center, New York

Key Highlights of My CAST Talk
Emotions Testing
Multi-Sensory Experience
Testing for Errors
Customer Touch Points

Trailer of My CAST Talk
CAST 2014 Team (Lalit Bhramare and Ben Yaroch) helped set up a video trailer of my talk which is a sneak preview into what I am going to talk about in my session. Watch it below.

Token of Thanks

I would like to thank scores of my friends and colleagues who helped me in this journey. The first and foremost in the list is my teacher and colleague Pradeep Soundararajan without whose push, I would have not gotten till here in my UXD study. I would also like to thank Dhanasekar Subramaniam, Bhavana, Ravisuriya, Dheeraj Karanam and David Greenlees who kept sending me information about related topics/articles for several months in a row. I would also like to thank all my team members who have supported me in my search for UXD Nirvana :)

Special Thanks to James Bach, David Greenlees and Lee Copeland for agreeing to review my slide deck and providing their valuable feedback. Without these people's inputs, my talk would not have been what it is right now.

I would also like to thank Don Norman, Jason Pollard, Rob Sabourin (Testing Lessons series) whose work inspired me a lot in last one year.

What Next?

Come to my session on 12th Aug 2014 at KC909 at 4.50 PM
See you there!

You can't make it? Don't lose heart! Watch CAST 2014 Live HERE


Testing for Errors

This article was originally published on passbrains blog HERE.

Great designs transform the way we live and we all act as designers in our own simple ways. When we rearrange objects on our desks, the furniture in our living rooms, and the things we keep in our cars, we are designing. Through our designs, we transform houses into homes, spaces into places and things into belongings. While we may not have any control over the design of the many objects we purchase, we do control what we choose to purchase.

Faulty Designs

A year ago, at least 40 people were killed in a tragic accident involving a private Volvo bus on the Bangalore-Hyderabad National Highway. The incident happened when the bus was reportedly trying to overtake a vehicle at high speed and hit a culvert and caught fire. Before the passengers could realize what had happened, they were charred to death. Investigations revealed that this accident was a result of poor design and absence of safety measures in the bus.

Faulty Designs

The point here is that design can play a key role in making or breaking products. Volvo bus was never designed to hit the culverts nor was it tested for that. However, the driver ended up hitting the culvert. If faulty designs are not tested in multiple contexts like these, it can wreak havoc. Faulty designs are a result of inaccurate mental models perceived by designers and users contrary to system images of products that exist in real. Let’s take a brief look at what mental models are and how they can help us in creating better designs that handle error situations effectively. 

Mental Models

A mental model is an explanation of someone's thought process about how something works in the real world. It is a representation of the surrounding world, the relationships between its various parts and a person's intuitive perception about his or her own acts and their consequences. Mental models can help shape behaviour and set an approach to solving problems (akin to a personal algorithm) and doing tasks (from Wikipedia).

Mental Models
According to Don Norman, there are three aspects to mental models:
  • Designer’s model: The model present in a designer’s mind
  • User’s model: The model a user develops when he sees/attempts to operate the system
  • System image: The way a system operates, the way it responds, manuals, instructions etc.

Every designer builds a model of the system or product while the user will have a mental model of his own. Any inconsistencies in these models lead to errors. But errors should be easy to detect, they should have minimal consequences, and if possible, their effects should be reversible.

Testing for Errors

While speaking, we can correct ourselves if we stumble or mess up. Products and systems often do not correct themselves because they are only as intelligent as the people who built them. This leads to “slip” which is the most common error – when we intend to do one thing and accidentally do another.

Well-designed products allow us to detect slips through feedbacks. For example, in a delete operation, it is good to ask for a confirmation to verify if the user wants to proceed. If that operation is irrevocable, it is better to warn him of the consequence and take his consent. A general heuristic is to never take away control from the user.

Recoverability of errors is a key aspect in designing products. When errors do occur, the following should happen:
  • Give visibility to the user of what was done
  • Do/Show/Tell the user what went wrong
  • Indicate how the user can reverse unwanted outcome
  • If reversibility is not possible, indicate this to the user

Error Messages Coverage

Error messages coverage can be achieved at multiple levels:

Errors-based Scenarios Testing
Testers could get a list of all error messages programmed into the product and design scenarios for each and every error message

Negative Testing 
Negative testing is not the same as error messages testing. In error messages testing you start with known error handling and test it. This is essentially "positive" testing for error handling code. In negative testing, however, you think differently. Negative testing means to "negate" required conditions. In other words, you consider all the things that the programmer/designer requires for his code, then systematically block those conditions. Example: the program needs memory, so reduce memory

Recoverability Testing Matrix
Every error message needs to be tested for Recoverability. 
  • Visibility to the user of what was done
  • Do/Show/Tell them what went wrong
  • How the user can reverse unwanted outcome
  • If reversibility is not possible, indicate to the user what needs to be done next

Some Examples
Failure Usability Heuristic by Ben Simo
Error Elimination Testing by David Greenlees
Feedback Parser by Santhosh Tuppad

** This article is inspired by Don Norman’s book “The Design of Everyday Things”
** Negative testing input was provided by James Bach


19 July, 2014

Supportability Experience & Customer Touchpoints Testing

This article was originally published on passbrains blog HERE.

eCommerce industry sector is burgeoning in India with new players starting shop every now and then. But what is it that sets Flipkart, India’s largest online retailer, apart? Flipkart identified 2 key problems in the eCommerce world – delayed delivery and poor customer service. They fixed these problems and made online shopping a delightful and memorable experience for their customers. There is no surprise why Flipkart is being touted as a competitor of Amazon.

Applying this analogy to the testing world, while testing a product, more often than not, testers are focused on which flow the user executes or how the user interface looks. What goes missing is the level of attention and detail to support processes like call verifications, email communication, online chat, service request processes and other services. Does a user receive a welcome email upon joining? Does he get a verification call from the company? Do they call the user if his need is not addressed beyond a certain time? How is a complaint from a user handled? This describes the supportability experience of the product.

Customer Touchpoints

A customer touchpoint describes the interface of a product/service with customers/users before, during and after a transaction (adapted from Wikipedia). Several times, a user is not just unhappy with the product/service, but customer touchpoints too. As a user, think of yourself. How many times did you stop yourself from visiting that supermarket whose attendant didn’t pay attention to your questions? How did you feel when you were the first to enter a pharmacy, yet the pharmacist served customers who came after you? Supportability factors go a long way in defining customer touchpoints and how they feel about the product and the organization in general.

Supportability Factors

What are the factors creating product loyalty? Are they in the product itself? Price? Color? Quality? Quantity? Others? Great user experience is a sum total of all the above listed aspects including supportability factors listed below:
• Calls / SMSes
• Email
• Chat
• Service Requests
• Feedback
• Field Visits

If a user calls customer care and is put on hold for 30 minutes, he would not like it. If he gets 20 messages a day on his phone after buying a product, he would be annoyed. If an email complaint from the user is never acknowledged or responded to, he would never complain again to the organization. He would complain in public over the internet by writing his story of poor experience, with a wider reach and visibility and hence, discouraging other users to buy the same product/service.

If an organization provides a chat channel but a support personnel is not available to support customers, this damages the reputation of the organization. From time to time, users might raise service requests (or tickets) to solve problems on the products they are using. If the tier1 and tier2 analysts don’t know anything about the service requests they handle, it becomes a showdown of sorts. How are user feedbacks handled also lends credibility to the organizations’ care model for the users. When a field service technician from the organization visits the user’s site to fix the product or replace it, user’s experience with the technician goes a long way in defining whether the user will remain loyal or not.

How to measure Customer Touchpoints?

Supportability factors are the key to determine whether customer touchpoints are good or bad, if the products are making a good impact or not or if the customers/users are sticking around or saying goodbye. Products have to be tested for supportability factors to measure users’ experience at several touchpoints. How do testers test for it? There is a way.
Testers can come up with a survey questionnaire that asks questions about different support factors. Let’s take an example of the activation process for a new network connection on a cell phone. User needs to call the call center, provide details to them and get the network activated which usually takes up to 24 hours in India. We could come up with a list of questions like:

Supportability Rating Matrix

These questions might seem unrelated to testing but they are testing related in reality, because if we don’t test the processes in the organization that serve products and product users, excellent products might fade away in a short time period. Apple became the Apple it is today because of the time and money they spent on every little detail associated with the product – be it the product itself or the packaging, the color of the product, support experience and so on. It is becoming increasingly important to create good customer touchpoints because users are no longer looking just for products that serve their needs, but also for engaging experiences while using the product.

What customer touchpoints have you had trouble with? Share your experiences.