Google Earth's 3D Imagery

Google Maps is about finding your way, Google Earth is about getting lost

Google Earth is built by stitching together pictures and videos taken by satellites, and Google Earth planes, using Photogrammetry and multiple other techniques.

This amazing technology is briefly explained in this video:

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.

Banker's Rounding - VBScript Round Function Does Not Always Round Up

I was using VBScript’s Round function to validate data on an excel sheet. It was giving incorrect results, saying many perfect rows were incorrect. Tried all possible fixes and finally realized it is unfixable.

Reason: VBScript does not always round up.VBScript uses algorithm called Banker’s Rounding.

See the links below...

Single Line If Condition In VBScript

One of the statements most used by a test automation engineer is the ‘If’ statement. We use it for pre-conditions, script logic, post-conditions, reporting and everywhere else. One problem that is associated is it affects readability sometimes a little and sometimes a lot. One If-Else condition uses up 5 lines...

Find Number Of Days In A Month In VBScript

One interesting function I needed was to find the number of days in a particular month. Turns out this is more complicated than it sounds. I found an elegant solution online:

Dim numDays numDays = Day(DateAdd("d", -1, CDate((desiredMonth + 1) & "/01/" & Year(Date))))

You just go to the first...

Prevent QTP From Adding Unnecessary 'End Function' Statements

QTP is sometimes quirky. One that I encountered is that it adds End Funtion statements that I don’t need while I am trying to define the function.

Let me explain further. I have my own quirk which led me to realize QTP’s quirk. When I define a function I leave...

Pitfalls Of Pairwise Testing

I am a fan of great testers like James Bach, and like every other tester used his Allpairs tool on a few occasions never bothering to question the validity of its premise.

Recently I read a paper by James Bach himself which outlines the pitfalls that need to be understood...

Selenium - Not Able To Identify Any Element In Internet Exporer

While trying to automate on IE using Selenium, I hit a roadblock straight away when none of the web elements were being recognized. This drove me crazy to the extent that I decided to stop wasting time on Selenium for IE.

Finally found the solution thanks to a Selenium expert,...

Automating Internet Explorer With Protected Mode On

Test automation tools do not work with IE protected mode on. So to successfully automate an application on IE, the obvious solution is to just disable it or make the tool ignore it.

This is an effective approach but is this the right approach?

Apparently not. Protected mode is there...

Getting XPATH Of An Element In Internet Explorer

Knowing the xpath of a web element is very important when using Selenium automation. Firefox luckily has many tools to get the xpath. However, when automating applications that run only on IE there is no way to get the xpath.

I found the following article that describes how to identify...

Automating A CSV File Using Excel Object Model

We come across csv files in testing all the time. Usually they are treated as text files for automation. But they can be automated like Excel files just as Windows opens them using Excel.

This is very helpful in some situations, and the way to do it is very simple....

Problem Steps Recorder (Windows7) - Awesome Tool For Manual Testing

Recently came across an amazing tool - Problem Steps Recorder. This comes built in with Windows 7. This can be seen under All Programs > Accessories > System Tools:

What this tool does is to take a screenshot every time you perform a click after you start recording....

Debugging An Automated Business Process Test

Ever since I started using BPT, one of the pain points has been to effectively debug my BPT test.

Yes, we can pause the run and start debugging by stepping into the code. But once the current component is executed and a new component is loaded, we need to pause...

Running BPT Automated Tests In Normal mode

BPT Automated tests run in Fast mode by default, reasonably so. The test execution performance is far better in this mode. I wanted to make it run in Normal mode for 1 run for observing the run on a slow application. But I could not see an option to do...

Cool Feature! - Yahoo Mail

Log in to Yahoo Mail once, default state of “Keep me signed in” checkbox is unchecked.
Log in again, default state is now checked.

Great usability scenario in my book.

Running Manual BPT Tests - Invalid Error Shown By QC

We use QC 10 and seeing the capability of creating BPT components for manual testing, we quickly adpated and started creating manual business components and manual tests using these components. But quickly hit a roadblock when we tried executing these tests.

An error message was displayed on clicking on Run...

Blogging From Mobile

Testing blogger application for Android. It is not bad at all. It is really amazing to consider the pace at which technology entered our lives in the last decade.

In fact it is not a decade yet since I first held a mobile phone in my hand, a large device...