We did a virtual booth this time at STARWEST 2012. At hindsight, the decision made sense as i did see not many companies had come over this time for the event. The expo primarily belonged to automation tool companies like Ranorex, TOSCA Suite, IBM Rational Suite, QMetry and others. CTS and WIPRO had their booths in the expo area. UTest seems to be garnering a lot of attention though i am not sure if the model is working for them effectively.

Attended Frank Cohen's(Push2Test) talk on "The Missing Integration at Best Buy: Agile, Test Management and Test Execution". Met Scott Barber and exchanged pleasantries. Gave my ITP(Industry Technical Presentation) on "Mobile, Cloud and Agile - Wearing the QA Head's Hat". James Bach was not seen but Jon Bach had a Keynote session on Oct 1st. Jonathan Kohl gave a Keynote speech on "Tapping into Testing Mobile Applications" which were later referred to in some of the technical presentations that happened on Mobile later.

Couple of sessions that i attended on the Mobile Testing front were good though i was able to see that the presenters were not able to clearly indicate a tool/approach to testing of Mobile applications considering the fragmentation involved with respect to Native/Web, Devices etc. 

Behaviour Driven Testing

The difference between Behavior-Driven Development and testing:

This is a BDD scenario (from Dan North, a man I respect and admire):
+Scenario 1: Account is in credit+

Given the account is in credit

And the card is valid

And the dispenser contains cash

When the customer requests cash

Then ensure the account is debited

And ensure cash is dispensed

And ensure the card is returned
This is that BDD scenario turned into testing:

+Scenario 1: Account is in credit+

Given the account is in credit

And the card is valid

And the dispenser contains cash

When the customer requests cash

Then check that the account is debited

And check that cash is dispensed

And check that the card is returned

And check that nothing happens that shouldn’t happen and everything else happens that should happen for all variations of this scenario and all possible states of the ATM and all possible states of the customer’s account and all possible states of the rest of the database and all possible states of the system as a whole, and anything happening in the cloud that should not matter but might matter.

Do I need to spell it out for you more explicitly? This check is impossible to perform. To get close to it, though, we need human testers. Their sapience turns this impossible check into plausible testing. Testing is a quest within a vast, complex, changing space. We seek bugs. It is not the process of  demonstrating that the product CAN work, but exploring if it WILL.

I think Dan understands this. I sometimes worry about other people who promote tools like Cucumber or jBehave.
I’m not opposed to such tools (although I continue to suspect that Cucumber is an elaborate ploy to spend a lot of time on things that don’t matter at all) but in the face of them we must keep a clear head about what testing is.


I read this article from James Bach's site 6 months back. Why i am posting this here now? Because i am currently managing projects in my unit that use Cucumber, RoR(Ruby on Rails), JRuby as part of the BDD approach. :-))

Test Coverage - PICT Tool from Microsoft

A year ago, I wrote about Pairwise Test Case Generation tool here. Now , somehow that tool was not available (atleast for free) and I searched for another pairwise generation tool and I got it too.. It is from Microsoft and you can rely it 100% and it is much more matured than the previous one.

This tool, by Microsoft, consist of a text file input and almost having a mini language with which we can form complex conditions in our Test Coverage, for e.g.

(i) We can give weightage to factors, In other words, IE(10), FF(5) means, Internet Explorer has more weightage than FireFox.

(ii) We can give conditions such as

IF OS = WIN7 THEN OFFICE<>2003 (means, we dont have the test environment of Office 2003  Windows 7 Operating System) etc.

Google for PICT tool from Microsoft site.

A Simple text file and a command line tool will give you a optimum test coverage matrix.

I am here mentioning a sample input file

# Sample Input File
# A hash at the beginning makes the line as comment
# My Test Coverage is across Operating Systems (OS) , Browsers , MS Office Versions, Databases across servers and clients
# Here is the sample file

Client_OS: Win XP, Win7, Redhat
Server OS: Win 2003, Win 2008 R2, HP_UX
Database: SQLServer(10), Oracle 10g
Browser: IE7, IE8, IE9, FF09, FF10, FF11
Locale: EN(10), DE, JP

IF [Client_OS] = "Redhat" THEN [Browser] like "FF??";

IF [Server_OS] = "HP_UX" THEN [Database] = "Oracle10g";


Client_OS Server_OS Database Browser Locale
Win XP Win 2003 SQLServer FF11 DE
Win XP HP_UX Oracle IE8 JP
Win7 Win 2008 R2 SQLServer IE9 EN
Win7 Win 2008 R2 Oracle IE8 DE
Redhat Win 2003 Oracle FF09 DE
Win XP HP_UX Oracle FF09 EN
Win XP Win 2008 R2 SQLServer IE7 JP
Win7 Win 2003 Oracle IE9 JP
Redhat Win 2008 R2 SQLServer FF10 JP
Win XP HP_UX Oracle IE9 DE
Redhat HP_UX Oracle FF11 EN
Win7 HP_UX Oracle FF10 DE
Win7 Win 2003 SQLServer IE8 EN
Win7 Win 2008 R2 SQLServer FF09 JP
Win7 Win 2008 R2 SQLServer FF11 JP
Win XP Win 2003 SQLServer FF10 EN
Win7 Win 2003 Oracle IE7 DE
Win XP HP_UX Oracle IE7 EN

Bug deBug Chennai

Windows Installer Logging

Most of the applications do have Installation logs. But not all, few of the applications do not have log generation while installing.Log file creation starts during log in acrivity only. This is fairly common in Windows applications. If you are a tester testing the installation of these kind of windows applications & if you are finding bug in installation wizard, how do you find the log? Here installation logs are crucial, since developers need those logs for debugging purpose.

Here is a simple way of creating those installation logs via windows registry.

Navigate to


and create a String (Reg_SZ) entry Logging with the value 'voicewarmupx' (each letter stands for various logs, but on the whole, this entry is like verbose mode of logging). You can find the log system's temp directory. (Temp directory can be found at Start->Run-> type %temp%, usually it will be C:\Documents and Users\\Local Settings\Temp). The log file's filename starts with MSI.