My friend on gtalk asked me to find the name for image verification, which is normally seen in web blogs, website registration, etc. This led me to CAPTCHA: Telling Humans and Computers Apart Automatically.
I being a black box tester, who believe testing is dependent on human skills of a tester rather than magical formulas that make human independent, this was a good discovery. Now, there are applications/programs which want to differentiate human from a machine. In the age where people around feel automating all are the solution, CAPTCHA emphasizes on the human skills. It posses a (1)hard AI problem – is a problem which is solvable by humans but not readily solvable by computers.
Off late we see CAPTCHA used in most blogs, web registrations, etc to protect the online polls results, email addresses by spammers, website registrations by bots, spamming of blogs. The recent addition in the ICICI bank website is a virtual keyboard and they quote on their page that (2)The Virtual Keyboard is designed to protect your password from malicious “Spyware” and “Trojan Programs”. Use of Virtual keyboard will reduce the risk of password theft. The latest version of Kaspersky Lab’s security software suite, Internet Security 2009, has introduced a virtual keyboard using which (3)Users can bring it up on screen whenever they wish to input securely and totally bypass using their physical keyboard. (4)“I will only accept an email if I know there is a human behind the other computer” could be the next solution from CAPTCHA.
With more and more applications trying to differentiate humans and computers, for obvious reasons, how do we as testers plan to test these applications or even applications which embed these? I definitely do not feel the automation tools in the market (especially record and playback) could provide us an answer to this. Imagine an automation tool used to test a program which is used to differentiate humans and computers apart. I am definitely not against automation, but the meaning of test automation is different for different testers, managers, nationals. For me automation tools do not test A to Z of a product, or use it only to run regression tests. I feel automation should help a tester test well, like providing me the combinational input I need to feed the program, create xxxxx virtual users to stress test an application, send similar packets at a regular interval for a longer duration of time, etc. Even to write or create good automation tests we need the human skills so isn’t it time we start recognizing, appreciating and developing the human skills required to test our current and future applications?
Or will there be a new buzz word created?
(1) http://www.aladdin.cs.cmu.edu/reu/abstracts/humanoracle.ppt#264,8,The CAPTCHA Idea
Disclaimer: All the blogs shared by me are my ideas, my thought, my understanding of the subject and does not represent any of my employer’s ideas, thought, plans or strategies.