Bugs and Their Impacts. But Who Cares!

I’ve been using trading software for more than fifteen years. A few days ago, I logged in to buy a few stocks. After adding the stocks and filling in a few other details by navigating through a couple of screens, the app showed me the final confirmation button. I reviewed all the information and clicked ‘buy,’ expecting the trade to complete.

To my surprise, the app displayed the following error message, and the transaction was incomplete.

I read the message a few times and tried to place the order again a few more times as I neared the day’s cutoff time. Meanwhile, the stock price was increasing.

As per the message, my account was under verification for some reason. I tried to recall if I had submitted any verification recently or if there was an annual verification process. I remember that a few months back, a nominee update was made mandatory as per SEBI, and I remember submitting a form. But that process was complete, and I received acknowledgement via SMS and email. I was unsure what verification was pending for the account I had used for a long time.

Going with the error message, I frequently checked my SMS for confirmation to place the order before the day’s cutoff time. But no SMS came until the trading close time. Meanwhile, the stock price was shooting up, and I felt helpless and annoyed.

The following day, I kept an eye on my phone to get the confirmation message that never came. The afternoon came, and I lost my patience. I decided to call customer care. After waiting for a while, an executive finally picked up the call. I explained the issue instantly and politely, and she suggested I reset the password.

I was like, “WHAT?!!!” “SERIOUSLY???” 

She politely confirmed, “Yes, sir! Resetting your password will fix this issue.”

It did work!

Finally, I completed my transaction at a nearly 2.5% higher rate.

After that, I decided to dig deeper to understand why this happened. This behaviour never occurred earlier. Here is my analysis, using only my information as an end user. The issue seems to be with password reset. The application requires a password reset every six months, and I remember doing this all these years. What changed recently is that one can use FaceID to log in to the mobile app and a QR code from the mobile app to log in to the web interface, bypassing the need to type the password and probably allowing me to log in with an expired password. However, due to solid checks at the time of cash transactions and trading transactions, this gets flagged and prevents further processing.

Leaving aside those reasons, let’s look at the impact.

Impact on the user: Loss of money and time. 

Potential Impacts on the Business: 

  1. Increased expenses due to additional customer care support calls. 
  2. A decrease in the customer base due to frustrated users.
  3. Reduced transactions that might lead to the company not meeting its KPIs/OKRs.

An interesting observation is that the customer care executive instantly provided me with the solution, so the company is aware of this issue. The business decides when to fix the problem, and testers and customer service executives can only report the problem with the impact and risk of the problem and the risk of not fixing it.

As an end user, I now know what to do when I encounter this issue next time 🙂 Life moves on.

Happy Testing!

PS: While resetting the password, I found this funny error message. Are there one or two or more problems here?

Do what is right, not what is easy.

In my current role, more than twenty testers report to me. All of them were fresh college grads when I joined as project manager two years back.

They are constantly encouraged to blog, use mindmaps, share their learning and apply heuristics while testing. All important testing conferences, testing articles and testing contests are shared with the team regularly. And, I regularly discourage them doing QB certifications, even though company encourages certification.

Recently, One of the testers from my team attended an interview. The interview was for an American IT services giant. During the interview, he was asked why haven’t he done any QB certification, according to the interviewer that is just 40 simple questions to be answered and it’s easy to get certified. This guy replied if that is the case, can he become a doctor by answering 40 simple medical questions. I felt very proud of what he did and what I am doing to the young testers.

Amma.jpg.001

Oh! Curious to know the interview results?

He got selected. The trend has changed. Now, having a QB certification is too mainstream. Testers who don’t have any certification are very less and they are standing out among the crowd.

Happy Doctors’ day [ India celebrate National Doctors day on July 1st ]

Ways to force yourself to enjoy mobile app testing

It’s been more than four years since I started testing & managing mobile app projects ranging from the eBook app, eCommerce apps, food ordering apps, travel apps and news aggregator apps. This includes the creation of test strategies, hands-on testing, mentoring new testers and testers moving from web testing and even building a mobile testing practice. I am enjoying testing more than ever after getting into mobile app testing. The recent blog post from Katrina Clokie on Mobile pathway triggered to share some exercises that can help your mobile testing work enjoyable.

Playing Games One of the better ways to get acquainted with mobile technology is to play mobile games. I had terrible time coaching testers who were new to the industry. Coaching them testing concepts like test strategy, tests, SBTM and test coverage, HIG, Android fragmentation was not getting well with most of them. I was playing and addicted to The Room game then. So, decided to experiment by asking testers to play it. The next day I asked [forced] a couple of testers to play the game and take notes while playing, then to write an experience report after completing the game.
Testers face reaction changed from surprise [when told them to play], anxiety [when they opened the game], thrilled [when the complete the training mode] and excitement [after cracking each puzzle]. It took a couple of days for them to finish the game after testers felt more confident to explore new stuff. From then on it became the first activity when I start coaching mobile app testing. This opens up a whole new world of mobile to new [mobile] testers. There was pin drop silence during this exercise in CAST tutorial, in spite of Michael Larsen’s presence ;-), as delegates focused so intense in playing the game. A few months back, I was coaching a young tester outside of my job, and this is what she wrote.
2015_08_21_14_47_41_bugfixing_A_Bug_having_different_characters
Exploring Apps The mobile world is creative & sleek. The hardware integrated feature combined with touch interface encourages the designers to unleash their creativity. When testers explore various apps from the iOS and the Android marketplace, they learn how problems can be solved creatively and efficiently compared to the web. This helps in changing the tester’s mindset, especially if they are switching from web testing to mobile.
Some of the ways to find exciting apps are looking at the top rated apps from each app category and analyse to understand the reasons behind their success, search apps from featured categories, top 10 apps, Apple or Android recommended apps, apps that won design awards. Here is an example of how exploring apps can help bug advocacy or recommendations to improve UX. Below is a portion of a screenshot of mindmap from exploring some top apps.
Best App categories

box

Jailbreaking / Rooting  If playing games and exploring apps help in understanding the power of mobile apps, rooting an Android phone and jail-breaking an iPhone contributes to gain a better insight of operating systems and file systems. During this exercise, one has to read and explore few online resources, which in turn open up learning and understanding few more mobile tricks and terminologies.

Tracking Trends Mobile Hardware and software are getting upgraded more frequently than any other technology. There are very regular updates not only from OS platform vendors but also from device manufacturers, upgrade at the hardware layer as well. Upcoming trends like wearable and IoT are interlinked with mobile phones. It is also vital to look at the history as well. Read, watch older iOS, Android release events; this will give an idea about why specific features are done in a certain way
Read them on your smartphone. Explore and find apps those are creative and easy to read news feeds.

Be a Fan Boy Connecting the dots, I am being an Apple fan, regularly involve on debates over Android Vs Apple in Twitter and many other forums. This forced me to read a lot about mobile technology. Later helped me to perform better when given the responsibility to set up a mobile testing division.
It’s not possible for everyone to become a fanboy or cult follower of a technology company or product. But it has its advantages. It’s hard to be a fanboy of Android and Apple unless you are Nandagopal ;-). There are many sites like CultofMac, Android Police that brings exclusive and exciting stories, start following them.

P.S: When I was about to post this I see James Bach’s reply to a tweet on how he forced himself to enjoy reading books on Kindle, these exercises are some of the ways to (try) forcing yourself to enjoy mobile app testing.

NYCTesters July Meet

I was invited to do a two-hour workshop on mobile application testing at the #NYCTesters July Meet. I was thrilled and excited to speak in the gorgeous New York City.

The workshop was on Modelling Mobile Apps and the LONG FUN CUP model. So, started to shape model the session and planned to cover these during the seminar.

StoryBoard

The background of the audience was unknown, so explored the Meetup RSVP to model the audience first and then tried to structure the workshop to benefit a variety of audiences.

DinosaurWhisperer

The modelling of the audience helped to recognise that some people are new to testing. So, it became necessary to explain what is a Model and why modelling is required during testing, before the start of the workshop.

The venue was not hard to find, Google Maps helped not only to reach the place but also to explain about model &  the importance of modelling. Followed by a demonstration on how to model a mobile app & apply LONG FUN CUP test model to it. Later, the audience was given a mission to work for 40 minutes, then debrief.

Intro

Exercise

I acted as the stakeholder, and the debriefing was interactive,  participants discussed enthusiastically with lots of observations and bugs. Personally, it was a good learning for me in many ways, as I was doing it for a totally new audience. Later the discussion continued in the nearby bar with some bottles of IPA. That’s the beauty of hanging around with passionate professionals.

Now, looking forward to me full day tutorial at CAST 2015.

User’s Mistakes and his experience

Typing on the mobile device keypad is harder compared with a physical keyboard. An app that gets minimum input from users will easily win users’ heart. The reasons are the keypad is smaller & user needs to toggle between alphabets, numbers, special characters and to change the letter case. Because of this, the password setting pattern is changing after the popularity of mobile apps.

I stumbled upon a claim from a To do list mobile app, that it is the simplest To do list mobile app, so decided to give a try. The tester instinct within me never sleeps, especially if I see these two words mobile and simple. Being a big fan of Jony Ive, I always look for the simplest and cleanest of things.

In general, most apps work fine if the user makes no mistake. But, the user experience starts degrading the moment user makes mistakes. This is true for most of the apps. I make this conclusion based on the apps I test and use. My user experience test report always includes the experience, once when the user never makes any mistakes and once running the same scenarios by making all possible mistakes.

When I tried with a password that didn’t meet the app’s password rule, here is the error message I got.

Error Message

It took close to a minute to read and understand the rule, then dismiss the message to create a new password. I have already lost a minute, but haven’t completed setting my password. Now, when I started typing I was not sure and again failed to meet their policy. Unlike the web, I cannot keep the error message window and type the password. Finally, after two minutes of struggle I was able to register into the app, that claimed the simplest of all. In mobile world two minutes is a long time. Two minutes in mobile is like two hours in web (Please refer Nolan’s movies like Intersellar or Inception ;-))

For those who still think, it’s fine and the message is not so bad, users has to read and dismiss the message to enter the text, there are better solutions.

Wait!

Before scrolling down to see the embedded video, think for a while if we can provide a better solution.

This is how  Dashlane app solved it. It didn’t take more than 20 seconds to set the password. More importantly, the app avoided user from making mistakes.

This is how a Context Driven Tester thrives, always exploring, observing, relating and learning.

Also, the mobile application testing needs a different approach compared to traditional desktop softwares. My CAST 2015 tutorial on Mobile Application Testing has more such things to offer.

A Full Day Tutorial on mobile app testing & mindmaps at CAST 2015

CDT Blogpostand CAST are always close to my heart. I have had a fantastic run with the CDT community and take pride in being a part of the CDT family. I always enjoy meeting and learning from this community that does what is dependable, but not what is easy.

In CAST 2014 I gave a 40-minute lecture and met a lot of wonderful testers. This year I am taking one full day tutorial on Mobile app testing and mind maps. This tutorial was a suggestion from the master, James Bach after he sat through my talk in CAST 2014. This is what he stated after my talk “DS; this content is worth a two-day workshop.” The workshop will be a blend of my last year talk and the tutorial I conducted in 2013 EuroSTAR.

I am glad that I am capable of doing a full day tutorial in CAST 2015. This year’s theme is moving testing forward, and I believe mobile testing is a moving forward topic. This and This blog post would give an insight of what you can expect from this tutorial. Apart from this, I blog exclusively on mind maps here.

Catch you at the beer city of US 😉

Fish Tank , a Test Model for Android and iOS apps

For better software testing, I believe in three factors, a good test model or strategy, right set of tools and testers with the right frame of mind.

Fish Tank is one such test model, a collection of various  testing framed from the experience of  test many consumer mobile apps designed mainly for Android (upto) 5 and iOS (upto) 8. If not all some part applies to Windows Phone too. An app tested from initial design phase needs a different strategy from testing an already released app. Some of these ideas were designed upfront considering the hardware, software capabilities of mobile phones, LONG FUN CUP is one such example. Some others were framed during the time of testing, for instance Content optimization was an idea that was framed while testing an app that looked weird in smaller screens with too many texts. When this issue was raised, initial fix was to reduce the font size, later I realized instead of reducing the size cutting down unwanted text would be a better solution.

Fish Tank

I am fond of the tanks built during World War 1, so I used to call most of my work as tanks until I get appropriate name, after completing this post was just looking at my fish tank and wondering what to name it, bingo! On a side note, read this article on how to get ideas!

“People don’t invent things on the Internet. They simply expand on an idea that already exists.” – Evan Williams.

This mind map is just the What part of the model, organised under various stages of app life cycle. I will be publishing a series of post on how to do each this in coming days! Stay Tuned!

Producing Software Is Not The Purpose Of Software Development

Think Different

Producing Software Is Not The Purpose Of Software Development

[Tl;Dr: All too often we can all get so wrapped-up in the joys and frustrations of creating software that we lose sight of the real purpose.]

I often invite my conference audiences to spend a few minutes discussing, amongst themselves, some question or other relevant to the session. One of the questions which I regularly pose is:

“What is the purpose of software development?”

This question tends to confound the audience for a few moments, prior to their entering into animated discussions on the subject. It always seems like a few minutes is nowhere near long enough to do the question justice.

I ask the question for a number of reasons, not least because of Dan Pink’s assertion that the three keys to intrinsic motivation are autonomy, mastery, and purpose. I rarely come across people and teams who can articulate their purpose.

View original post 476 more words