Thursday, February 18, 2010

Million dollar Issue…………………IS IT SO??????

“Step into an ATM (I think, u know which bank’s) and brush your debit card.Enter a wrong PIN, OOPS! ATM displays the options and allows you to select!!!!!!!!!!!!!!”

ATM doesn’t tell you that “you have entered a wrong PIN” and ultimately when you go on and select any options say for example (Cash Withdrawal/Mini statement), then the system will say “Hey,hold on.. you have entered an incorrect PIN”.

I know,you people will say ”stop this.. we have heard this thousand times before” and I hope almost every tester could have tried this out + commented on the tester who tested it.

Is the above scenario was really a tester’s failure??????? I am sure that, Many will say “YES”.

Reasons could be simple-->
a)you expect the system to say “Entered PIN is incorrect” at the first attempt and also not to take you to the page which has options availed by the bank.

b)Most importantly, some other Bank’s ATM (again u know which bank’s) behaves as per your expectations (ie) it will directly say ”incorrect PIN” at the first attempt and it will not take you to options screen.

I hope, you all will agree with one important fact that “There is NO functional hole” then why nobody(bank) is not showing any concern to correct this simple thing(puzzle remains???).

I will share the explanation(I got/ gathered) and I think, this is my responsibility to break the shackles and say “Hey, its not a tester’s failure” --> i will tell u why?


I have tested(FLASH KACB) a newly introduced card(one of these->ATM/CREDIT/DEBIT) which includes testing of ATM transactions(both Financial/non-financial).

And in due course, I have met the long awaited above discussed issue (???) even though I noticed, I have not taken it as an issue. Surprised!!!!!!!!!!

Yes, that is true but ask me why? because it was according to the requirement and design document!!!!????.

However when I slide over the document(not first time, may be nth time), I was also taken by surprise, as you people and even tempted, by the way the requirement/design documents framed and I decided to dig out the reason.

I got my turn..
An questionnaire session in another module of the card provided me that opportunity to hang my question in front of all business and technical people(who would have involved while framing the documents).

And the answer I got from a gentleman is

“It was Deliberately Done”

Sorry, can you please come again? was my response and he again said ”Deliberately Done”.

Deliberately done---? Below is the explanation which I got/gathered(I think which i will share with u guys).

Technical explanation:

Older Version:

PIN verification will be done twice…!!!!!

Let me explain in two different scenarios.

A-> Enter an incorrect PIN:
When you enter an incorrect PIN, the PIN verification program will be called(First time) and the PIN will be verified. This is the case with ATMs which directly gives you “ INCORRECT PIN” and it will not take you through the bank’s availed options (Remember the sub heading->Old version!!)

B->Enter a valid PIN:
Enter a valid PIN, the verification program will be called (First time) and once the PIN is verified, it will take you to options page(withdrawal, pin change ..etc) and if you select any option say ”withdrawal” then again the PIN verification program will be called (second time), the PIN is validated. Now the system will allow you to do your transaction. However the PIN verification program is called twice.

New Version:

Then what is this new version all about?????

Quite simple…

PIN verification will be done only once.

When you enter a PIN (correct/incorrect), PIN will be saved in a buffer space and then the system throws you the options screen. When you select an option, PIN verification program will be called but only once for validating the entered PIN.
This will avoid the extra call made to the PIN verification program(Cost/Performance) effective.

Business Touch:
An another advantage of this newer version from a business point of view is irrespective of valid/invalid PIN the customer is exposed to the options availed by the bank.(it may sound silly, but it is true- in some regions, ATM is very new and people don’t know what is the use of it).

Extra information: I heard that every bank is opting for the newer version so very soon all ATMs will allow you till options page….even with an incorrect PIN.

Compliment: I take this as an opportunity to thank my friend Sudersan (Developer) who confirmed the above.

One question which I have raised after all above explanation given to me(Untitledtester’s ego?):
Myself: Customer might feel uncomfortable since user doesn’t know what went wrong in his first PIN and not even an instant error message?

Business answer: That will not be an issue because users will not hesitate to re-enter a valid PIN and that will make them fell more secured and the user is exposed to the options availed by the bank this will make the user more familiar to bank And moreover the user is getting the error message with prompt to re-enter the valid PIN.

For instant message:Bank will not give an overlapped screen with options and an error message.

-------------------------------------------------------------------------------------------------

For your information- This is a specific requirement that, to call PIN verification program only once.

My Question to people (only who questions tester's work): If the above mentioned new version is a specific requirement for all banks which has an older version. how can you expect a tester to file it as an issue and take forward????

So how crucial is to know the requirements before testing a live product(which was already tested). Lets unzip that issue, may be in the next screening.(who knows the hidden surprise waiting for you in the very next second?).

Expected version of requirement:
(to be frank the below struck me when I was drafting the above--too late…)
Why can’t we show directly the options, when the card is dipped in and than ask for a PIN when the user selects the option. I hope this will fill all requirements. (I don’t know whether designers will agree because it will be their call).
But I hope someone will give me explanation for this ……………….

Lets Explain,
Venkat
All izz well..




You can catch me@ kpvenkatesan84@gmail.com

8 comments:

  1. If there is a bug in the product which was not supposed to be and is there in a place which the users are likely to notice - it it is not just the tester who is responsible but the whole team that worked on it.

    ReplyDelete
  2. I think you should read Perfect Software and other Illusions about testing by Jerry Weinberg.

    ReplyDelete
  3. @ Pradeep,

    I totally agree with the fact that "it is not just the tester who is responsible but the whole team that worked on it".

    But i just don’t pick ur point..

    According to me:
    I just want to explain people(who criticize only testers) that, they are wrong..

    Because many people doesn’t know the real reason behind it and also i want to tell them "if there is an issue(which people doesn't expect) in a live product then there might be some reason behind it" and in this case its requirements which made up the things.

    And the above converges in the same "it is not just the tester who is responsible but the whole team that worked on it".

    Since i was deliberate to explain the reason behind it. whether i missed some stress anywhere/or i misinterpreted something? and whether the above blog says "its only tester's failure" ? (in Reader’s perspective)

    To be honest, i don’t know wat s the reason for ur comment.

    please explain me. what really went wrong ..

    I am so glad that i came to know about the book and i will go through it.

    Thanx a ton.

    Keep testing me…

    ReplyDelete
  4. Nice post Venkatesan. Really nice to read your blog. I am glad you put it so nicely. But it's bit confusing when i went through the comments.

    All i wanna say is, until and unless we know the context in which the application will be used or the context in which it was designed, we cannot say it's a bug which missed/slipped from testing team's observation. It simply shows that, we are judging testing community based on few preknown checklists. We are not thinking much in terms of other areas like technology, performance, cost, time, marketing etc. We need to adopt critical thinking in us before analysing and shooting the verdict. Until and unless we know the context, we simply can't declare changes in behaviour as a defect. Most of us(Testers) declare such observations as defect before analysing it. I know It's a human tendency(On accomlishing the mission of finding a defect) to celebrate on accomplishing a mission. So declaring and understanding the correct mission is more important than listing the defects itself, else most of your bugs as per your understanding might not be having any value to it.

    Cheers,
    Vijay...

    ReplyDelete
  5. @ vijay,

    If there is a issue(in this case, It was made by requirement/Business).

    For End users, it is a issue right???(put yourself in end user’s shoe) they don’t want to know about behind screen stories… According to me anyone(customers will be surprised/shocked at least for the first time) once they know ATM will allow them to go through even they enter a wrong PIN.

    My Q? ->So if it is a issue for END USERS then whether we(testers) can call it as a bug or since it meets the requirements. We shouldn’t be calling it as a issue/bug?????

    Keep testing me...

    ReplyDelete
  6. @So if it is a issue for END USERS then whether we(testers) can call it as a bug or since it meets the requirements. We shouldn’t be calling it as a issue/bug?????

    >>> Instead of me posting my answer on this, i want you to answer to my question.

    Start with a little story :-)

    Believe that i don't have any idea about ATM's. I had an account and my bank want to offer me an ATM card for my convenience as i am their elite customer. I joined their elite customer group because i make a lot of money for my bank in terms of services they provide, and not because i am technically strong or i have all the updated knowledge on these gadgets, technology or these latest interactive machines :-) Then after few transactions through this M/C's(ATM m/c), i got comfortable using it(Good Usability).

    My Q :-> When i went to ATM next time, i was looking for the buttons to do the transactions but i couldn't :-( It's a touch screen now. Until and unless i know what exactly a touch screen is, how do i do transactions etc, can i blame my bank for providing this feature? Can i say these are faulty m/c's, with no buttons?.

    Cheers,
    Vijay...

    ReplyDelete
  7. @If there is a issue(in this case, It was made by requirement/Business).

    For End users, it is a issue right???(put yourself in end user’s shoe) they don’t want to know about behind screen stories… According to me anyone(customers will be surprised/shocked at least for the first time) once they know ATM will allow them to go through even they enter a wrong PIN.


    >>> Come on Venki (wanna make it Short from Venkatesan to Venki in subsequent discussions, is that ok?). You know the context, you know the benefits it(CR) brings, and you are just analysing things wrt to your understanding and knowledge you bring from all your learning. But it's not necessary that whatever you state might hold good every time... When you calculate few things in this scenario and comeup with advantages and disadvantages this CR brings, don't you think it works better this way? May be you are write in a sense that 'customers will be surprised/shocked at least for the first time' but they will not die because of this surprise or shock right??? :-) After this scene
    what the customer will do is, he will enter his PIN carefully :-) He will think, if my PIN was wrong then why it didn't through a error message? Then, he will not waste his time in analysing much on this and will inturn adapt himself to these changes :-) If these surprising/shocking changes are not creating any messy transactions but inturn helps you achieve a bigger goal, then you can consider them for the good.

    When we talk lot on requirements and their completeness, it stretches a lot. We learn many interesting facts and business norms as we come across many different scenarios. It all comes with experience. Try and come up with whole lot of studies on requirements and how we go terribly wrong sometimes in analysing requirements wrt business in many scenarios and end up signing the contratcs and pay the price for such wrong adventures.

    Cheers,
    Vijay...

    ReplyDelete
  8. @ Venki

    Testers always come up with new names …no issues with this venki….. :)


    @ You know the context… till ……………………………… for the good.
    I think you overheard the explanation which I got from my business team :) …………………and I put my question in my previous reply so that i will have chance to explain the things which you explained me…..:)(and again you surprised me)… and to be frank I don’t have any other explanation left with me… but I might have some other questions in this topic for you may be in later stages …………….nothing strikes me now… 

    Cheers vijay,

    Keep testing me………..

    ReplyDelete