Showing posts from 2012

Automating PDF with QTP just got easier!

There are many ways in which pdfs can be automated , since it's been some time that I automated pdf related stuff; I found some new ways that are easier:

Apart from the older methods like:

For Adobe Reader:

Set rdrObj= createobject("AcroPDF.PDF")



Set rdrObj= Nothing
Note: This approach is good but has few options and can only be used for purposes like printing contents of the pdf file.

For Adobe Acrobat:

Set acrObj = CreateObject( "AcroExch.PDDoc" )

If acrObj .Open( FileName ) Then
       PagesinPdf = acrObj .GetNumPages()
       Set acrObj = Nothing
       PagesinPdf = -1
End If

Set acrObj = CreateObject("AFormAut.App")--to manipulate from pdf formsSet acrObj = CreateObject("AcroExch.App")--creating acrobat application objectSet acrObj = CreateObject("AcroExch.AVDoc")--one avdoc object per displayed document. The best method would be:

APTT - Adobe Pdf Test Toolkit

Cucumber - A testing tool?

A lot of test engineers in India do not know or have never even heard of a tool called cucumber, Jbehave is the alternative tool being used but not in big numbers. So for all my fellow testers here is an update on what is cucumber and why do we use it and where does it fit in the testing world ?

Cucumber is a tool for running automated acceptance tests written in a behavior driven development (BDD) style.
Cucumber is Aslak Hellesøy’s rewrite of RSpec’s “Story runner”, which was originally written by Dan North.written in the Ruby programming languageThe language that Cucumber understands is called GherkinCucumber was the second most popular testing framework after RSpec in the Ruby Toolbox.Best website to refer - text is written in a business-readable domain-specific language and serves as documentation, automated tests and development-aid - all rolled into one format.While Cucumber can be thought of as a “testing” tool, the intent of the tool is to support BDDCuc…

Cucumber CheatSheet

After all the cheatsheets for QTP,  selemium, webdriver regular expressions, agile. Here is Cucumber:

Best cheatsheet is defnly:
cucumber --help

Output formats
Notification formats, in increasing order of verbosity:
cucumber --format progress
cucumber --format stepdefs
cucumber --format html
cucumber --format pdf

--format rerun would be helpful, as it enables automatically re-running failing tests. However that is broken (but they're working on it) in Cucumber 0.5.1 as of Dec 21 2009.

--format junit would also be useful: it produces an XML report format like JUnit's. That report can be consumed by CruiseControl and numerous other tools. But that format also appears (I only checked on 1 machine so far) broken as of 12/22/2009.


In order of usefulness.

cucumber --format usage --dry-run

cucumber --format tag_cloud

cucumber --format usage

cucumber --format debug

Note that usage performs profiling when invoked without --dry-run.


Most deps are installed …

Test Automation + Geeks = Low Maintenance

Here are some amazing snapshots that will make you think and be proud to be an automation engineer:


QC cannot run manual BPT components

Have you ever tried to run manual components in any version that supports BPT framework. You would be surprised that you get a wrong error message stating:

"Cannot run component xyz in busines process test xyz. This version of Quality Center does not support running components of the type MANUAL."

Really? No that's a wrong error message. What happens is QC is  it would always try to run the components automated first, even if the components in the test  are "manual" components.

Solution : When you go to run the test, make sure you click on the little black down arrow next to the Run button. From there select, "Run Manually"

All in One - HP changes the way we automate and test

Hewlett-Packard is incorporating three different components, previously available separately, into its HP Unified Functional Testing (UFT) automated testing application so developers can test all aspects of a multi-tiered application from a single interface.The company will also offer a cloud service that will allow developers to test mobile applications.UFT 11.5, due to be released early next month, has been updated to better accommodate this more rapid pace of developmentUFT 11.5 simplifies the testing process by combining a number of different tests into one screenNow, developers can test, from a single console, all three layers: the interface, the service layer and the database layer.The consolidation of features also better supports continuous integration, a practice of frequently testing the software being developed, through the use of tools such as Jenkins, to which UFT can be connected.UFT 11.5 also includes a new patented recognition technology that can scan applications and …

Book Review – Technology Specific Guide for QTP by Joe Colantonio


dynaTrace Ajax + QTP/Selenium = More than automation

Ever wondered apart from the plain raw automated scripts what MORE could we achieve which will help the business achieve MORE with the same cost.
Performance is what we are looking for with the same old GUI automation!

GUI Automation + Performance = Value Added AutomationGUI Automation + Performance = Selenium + dynaTrace Ajax QTP + dynaTrace AjaxAny automation tool + dynaTrace AjaxRequest Start Time Business Event TimeDNS/Network TimeOnLoad Time LatencyRendering Time JS Execution TimeResource Download Time Problem areas when it comes to testing web 2.0 applications:
JavaScriptXmlHttpRequestsDOM ManipulationsFrameworksLayoutingRendering. dynaTrace AJAX Edition has been built to address all these issues to help understand what is causing performance- and functional-related problems in modern AJAX Applications.

Here is a Step-by-Step Guide to dynaTrace Ajax Edition:

Skillset for a Selenium Automation tester

As always here is another interesting job requirement and we can map our skillset to this posting for a "Selenium Automation tester"

A very challenging automated testing position has emerged for one of the most exciting companies based in the city of London. My Client a Global Hedgefund company, incubating start up greenfield projects, they are in the market for a technical, innovative and passionate Automated Tester. This brilliant opportunity is open to an experienced Automated tester with a strong programming knowledge, ideally in C# or any object orientated language. The successful Automate tester will be designing, implementing, and executing manual and automated tests and must have experience using Selenium to build their own test frameworks in C#. The successful Automated tester will be part of a test team set revolutionise the financial industry with state of the art technology..

The successful QA Test Analyst will also have the following skill set:

- A background…

Automation testing in a changing environment (Requirements) ?

With the requirements changing at a rapid pace what are the best possible solutions to how you perceive testing or automation:

Use of Rapid prototypingPrioritize and analyze the risksThere has to be a requirements traceabilty of some kind that will showcase affected areasAutomate the smoke test bed - break it down into small business componentsAutomate smaller Happy paths that do the basic sanity check on functionalitiesUse automated TDD or BDD as early as possibleUse a set of tools that help you automate or do smaller tasks faster and more accurateStatic object identification till a certain path and from there on we try finding other objects, this makes the code reusable and a lot more easy to change A very nice quote which says - "Any tool you use to help you test is "automation" and the more complex scripting environments are simply extensions of that capability"

Another newbie to automation - SIKULI

Sikuli Script automates anything you see on the screen using image recognitionIt is useful when there is no easy access to a GUI's internal or source codeSikuli is an open-source research project originally started at the User Interface Design Group at MITSikuli Script is a visual scripting API using Jython to create automation scripts.Sikuli includes an integrated development environment (IDE) for writing visual Sikuli scripts with screenshots.Sikuli Script uses Python as the scripting language. If you want to write complex scripts or modularize packages, you need basic knowledge of Python and its features Sample script:


Is there one tool to test everything?


Skillset - Technical Test Analyst x 3 - TDD, Agile, Scrum, Test Automation, Frameworks

Technical Test Analyst x 3 - was a very interesting job posting that a banking firm wanted in UK. Here the three represented three analysts they were looking for but I assumed that three was the "three big skills" they were looking for: TDD, Agile/Scrum and Test Automation Frameworks

Note the Skillset category is just to gauge where you stand in terms of the skills required for the role
Technical Test Analysts are required for an Investment Banking / Trading software giant in London.This is a fantastic and exciting time to join such a business that offers Technical Test Analysts the opportunity to work on a wide range of projects from bespoke trading system solutions through to trade capture tools, pricing & risk engines to retail banking platforms. All projects are extremely complex and require the most dynamic, forward thinking and technically astute testers to fulfil the positions.The Technical Test Analysts must have API, Web, Server-side, TDD, BDD, UI, Automation, F…

QTP Test Automation Framework Architecture

Here is a mindmap that I had created some time back on a hybrid test automation framework, this gives a nice idea of the functionalities a framework might want to incorporate.

Launch Report Button Missing in QC Test Lab

There are a lot of instances when we want to launch the summary report from the Test Instance Properties window in test lab, but the Launch report button is not present. This happens after new patches get installed.

Resolution : Install the correct version of Reinstall Visual C++ 2005 (version 8.0.56336) or SP1Reinstall .NetFramework 3.5 SP1Reinstall all Add-Ins currently installed on the Client machine
With windows 7 and QC\QTP 11.

1) uninstall qtp addin

2) Install the vsc++

download and run vcredit_x64.exe

3) install qtp addin

QTP 11 and QTP 12 what's new ?

Please note the below support deadlines for QTP11 and Quality center11.

You can find more details on below link,

HP Software Released Notification Support ends

QTP 12
Below is the list of new features will be released with QTP12.

a) New improved IDE with IntelliSense technology for classes.

b) Multiple Document Interface (MDI) features for opening multiple tests within QTP.

c) Integration of BPT as well as Service Test into QTP (giving rise to the name, UFT).

d) Insight — an innovative, new image-recognition feature for carrying out image-based automation.

e) New canvas for designing test flow.

The main highlight is that use of ‘Intellisense’ will reduce the reference of external documentation while development which will speed up test development. An ‘Intellisense’ combination with QTP will help to select the parameters and functions from the list or from the dropdown of that specific code.

Funny QA Jargons

Smug Report
A bug submitted by a user who thinks he knows a lot more about the system's design than he really does. Filled with irrelevant technical details and one or more suggestions (always wrong) about what he thinks is causing the problem and how we should fix it.

Also related to Drug Report (a report so utterly incomprehensible that whoever submitted it must have been smoking crack.), Chug Report (where the submitter is thought to have had one too many), and Shrug Report (a bug report with no error message or repro steps and only a vague description of the problem. Usually contains the phrase "doesn't work.")

A Duck
A feature added for no other reason than to draw management attention and be removed, thus avoiding unnecessary changes in other aspects of the product.

I don't know if I actually invented this term or not, but I am certainly not the originator of the story that spawned it.
This started as a piece of Interplay corporate lore. It was well know…

TOSCA - Newbie for me

Was exploring the web when I stumbled upon TOSCA and found that this is an interesting new tool thats picking up in the automation world slowly:
TOSCA Testsuite is a software tool for the automated execution of functional and regression software testing
TOSCA includes integrated test management, a graphical user interface (GUI), a command line interface (CLI) and an application programming interface (API)They claim - TOSCA model-based approach marks a paradigm shift in software test automation
TOSCA Capabilities:

Agile Testing
Big Data Testing for Data Warehouses and BI
ALM Integration with Popular Systems such as HP, IBM, JIRA defect tracking and many others
Non-GUI Testing
Regression Testing
Mobile/Smart Device Testing
Model-Based Testing
SAP Testing
Standard & Custom Reporting
Test Data
X-Browser Testing

You might want to look at thier website for a demo or trial version:

Important reusable functions QTP

Its been a long time that I had been collecting reusable code for QTP.
Though the doc is not exhaustive it has loads of important and reusable functions that will help anyone using QTP

Follow the link and download!

Reusable functions

And if you like the doc hit like on my book's facebook page

Happy testing...

Testing Best quotes ever !

I am sure most of us would have heard and used testing quotes in our signatures, here are a few that i randomly picked :

"I don't break anything, they're already broken"

Testing, turning Stressed into Impressed since 1971

I came, I saw, I broke it

I'm OK, you're OK. Your code I'm not so sure about

To err is human; to find the errors requires a tester

'Tried, trialled and tested'

Testing, because your software is worth it!

If your software works, thank a tester

Have you hugged your software tester today?

I Failed My Way To Success

The customer is always right. Testing make sure they are always alright

'A Tester Is Someone Who After Finding a bug after 5 minutes brags about how he is responsible for the success of the project'

 we're tough on the code but soft on the coders

Those are the bugs, if you don't like them...I have others.

Improving the world one bug at a time

In God we trust, rest we test!

The best one - "Does your …

Testing Services - A Holistic view

Here are the most commonly seen testing services provided by organizations. This will help a tester gauge his capabilities and awareness:

P.S: Click on the image for a larger view.

Ten Best Tools for Test Automation revisited

Here are the ten best automation tools wrt functional automation and their usage in the market:

Apart from these ten you can also look at an exhaustive list from an earlier post here

1 HP QuickTest Professional(QTP)


3.Rational robot

4. IBM Rational Functional Tester(RFT)





9.Testing Anywhere

10.Visual Studio Test Professional Microsoft 2010

Feel free to comment on any changes to this list!
I am a big fan of open source so I am sure there are a lot that I am missing here and can be found in my earlier post

Happy Testing!

Skillset - Software Engineer in Test Automation

Here is an pretty good role description for an SDET role with not much experience :

Note the Skillset category is just to gauge where you stand in terms of the skills required for the role.

You're a developer who likes to break things. You strive for quality and are focused on improving issues around performance, stress, security, reliability, and user experience.

The work:

•Work with development and program management teams to design and test new features.

Develop tools & automation.

Enhance the overall test infrastructure.

•Write test plans & test cases.

•Perform ad-hoc, manual, automated testing.

•File bug reports

Experience and skills needed:

•BS in Computer Science or a related field of study.

•2+ years of experience with C++, Java, Perl, XML/HTML, and related technologies.

•Familiar with UNIX.

•Proven ability to learn quickly.

•Excellent written and verbal communication skills.

•Excellent troubleshooting and problem solving skills.

•Ability to work in a fast-pace…

Another reason why testing is so important!

The technical errors that have recently befallen Knight Capital, BATS and Nasdaq causing chaos to the markets are not the result of complexity or fragmented markets, but the result of basic technology 101 issues, SEC chairperson Mary Schapiro said today during the agency’s market technology roundtable.

During the SEC discussion, Dr Nancy Leveson, professor of aeronautics and astronautics and engineering systems, MIT, argued that software errors will always happen. The financial industry, like the aviation industry, needs solutions beyond technology – which must include strong regulation.

“ Most industries have government agencies overseeing with an iron hand. The aircraft industry knows people will stop flying if planes start falling out of the sky. You cannot build an unsinkable ship or unfailable software. If you engage in hubris and wishful thinking, you will have to suffer the consequences,” Leveson said.

Still, GETCO CTO Jonathan Ross argued that in order to avoid technical g…

Selenium IDE + Datadriven + Agile

Selenium IDE though is not a good option for full fledged test automation , yet this tool proves good when it comes to automation within agile sprints
This post explains how to use selenium IDE with test data for data driven testing:
Save the first extension : flowcontrol extension for IDEDownload the extension 1.1 version of the includeCommand4IDEDownload the  most recent version of the datadriven.js extensionAdd all the three extensions using Selenium Core extensions field from Options ->Options->General) in the same order.Restart firefox so that the extensions get installed and are ready to be used.Create your test data in xml format
The above sample data has three rows of test data with var1 and var2 as the two variables, make sure you open the xml in a browser to see that there are no errors 
You are ready to use the test data and a simple test case would look like this:

while                 !testdata.EOF()

Skillset - Automation Test Engineer (with Selenium + Java / PHP)

Continuing the series of posts under the skillset category, here is another very interesting job profile f
or a Test Automation Architect:

Note the Skillset category is just to gauge where you stand in terms of the skills required for the role.

•Robust and rigorous approach to browser-based testing, bordering on a fanatical eye for detail

•Ability to work under your own initiative and provide proactive feedback to the development team and managers

•Expert in automation of website testing scripts (Selenium Webdriver / RC), and writing bespoke test scripts in languages supported by Selenium (Java / PHP etc.) across multi-browser testing environment

•Logical approach using and managing manual tests where appropriate

•Business fluent English with excellent spelling and grammar

•Ability to work as part of a very close-knit development team as the owner of system testing and sign-off

•2+ years commercial experience post technical degree

•Familiarity with good 'User experience' desi…

September 9th was World Tester's Day!

September 9 was World Tester's Day !

I had never heard of tester's day before, here is what a quick search brings up:

On September, 9 1945 the scientists of the Harvard University while testing the computer Mark II Aiken Relay Calculator have found a moth which has got stuck between the contacts of the electromechanical relay.

The work they performed required some description, and the word has been found – «debugging» (literally: disposal of an insect) – and nowadays it is used to describe the process of identifying and eliminating bugs which cause a computer to malfunction. The removed insect was pasted into the computer log with the entry: “First actual case of bug being found”, and was then transferred to the computer museum.

Happy Testing and Belated wishes!

Seven Pragmatic Practices to Improve Software Quality - A Forrester research report

A new Forrester Research report, Seven Pragmatic Practices to Improve Software Quality, by analysts Margo Visitacion and Mike Gualtieri.

Seven steps taken directly from the Forrester report:

Pragmatic Practice 1 Define Quality to Match Your Needs

Impact on Quality: Meet business requirements; achieve a satisfying user experience.

Benefit: Your ability to achieve quality is improved because the application development team is not charged with unrealistically perfect expectations. Rather, it is chartered with a definition of quality that fits the given time, resource, and budget constraints.

Relevant Roles: Business stakeholders; entire application development team.

Pragmatic Practice 2 Broadcast Simple Quality Metrics

Impact on Quality: Reduce defects.

Benefit: Highly visible metrics keep quality top of mind for the entire team and expose when efforts fall short.

Relevant Roles: Entire application development team.

Pragmatic Practice 3 Fine-Tune Team/Individual Goals to Include Qu…

Another reason why testing is so important!

Bad Algorithm Burns $440 Million -  Worst Software Testing Day EVER

Knight Capital, a firm that specializes in executing trades for retail brokers, took $440 million in cash losses Wednesday due to a faulty test of new trading software.

In headlines it’s being called a trading “glitch,” which isn’t nearly as accurate as the term I’d use: “f**king disaster.” The broad outline of the story is here and more colorful, bloody details are here.

Briefly, here’s what happened: Knight Capital’s worst day in IT started Wednesday morning with a test run of their new trading software. An old pal of mine who’s following the story closely (and is also deep in both IT and trading) told me that the company set up the software to work with only a few stocks. They also set the buy/sell points well outside where the markets were currently trading to ensure that nothing would actually execute.

But somehow – and this will probably the be the subject of several lawsuits, books, and maybe even a Broadway mu…

Useful Code snipptes - VBScript

VBScript data structures

Vbscript lacks support of complex data structures unlike other programming languages. This sometimes make life a bit difficult. We need to code our own algorithms to achieve simple tasks like sorting of an array or reversing it. .net has support for complex data structures which come with build-in functions for these simple tasks. So if we can use .net data structure then we can save reinvention of wheel for some of these tasks. Well the good news is some of .net libraries are exposed to COM and can be used in vbscript.

Below are some examples:


Set objArrayList = CreateObject("System.Collections.ArrayList")

objArrayList.Add 6
objArrayList.Add 8
objArrayList.Add 2
objArrayList.Add 4
objArrayList.Add 1
objArrayList.Add 5
objArrayList.Add 3
objArrayList.Add 3
objArrayList.Add 7

'unlike redefining array size (redim statement) every time before appending an element into an array,
' with arraylist you don’t need to worry about that.

'Converting Arr…

Free QTP book - "Technology Specific Guide for QTP"

After loads of comments and feedback filling our inbox , we decided to giveaway three copies of the book - "Technology Specific Guide for QTP" for free.

No need of hunting for free QTP ebooks or QTP tutorials or QTP interview questions or QTP certification !

So how do you get a free copy?

Click Here to know more..

TSGQTP - Now at a discounted price


TSGQTP - Update


Query to extract all test steps of a test set in QC dashboard











CYCLE.CY_CYCLE = 'Test Set name'


Frequently Asked Questions QTP Book - Technology Specific Guide for QTP

Frequently Asked Questions:
Can I buy this TSG-QTP(Technology Specific Guide for QTP) in India? Yes. The book is available only in India, we are working at options for other countries. Please order the books online by clicking here
Where can i Buy this book(TSG-QTP)?
There are different buying options for this book. Click here to see possible buying options
Is the book available in any book store?
No, Currently the book is only available online
I am ordering book in bulk quantity, can i get discount on the same?
If you are ordering more than 5 copies, you can contact us for discounts.
How can i provide feedback for this book?
You can always provide your feedback by contacting us

Here is what the experts had to say - TSG-QTP ( QTP book )

After a long struggle to get the copyright from HP , the ISBN number from Delhi, prominent QTP experts to review and finally a publisher , I am happy to let you know that my book is out and quite a few copies are sold. Below is a snapshot of the mail I send to prospective testers, would be great if you could forward the same to people you know. Thanks in advance.

Okay, so all of you who said you'd wait for the paperback of my new book “Technology Specific guide for QTP”, now comes the time. Please visit the website to read the reviews and newsletter.

This book will get you started on the path of automation, introducing solutions, roadblocks, patches and ideas that will help give you a solid foundation in the field of automation. Each problem has a series of solutions available that will let you test your knowledge and apply it to the business situations you’re facing at your company. Everyone from a novice user to an automation expert will have something they would have never he…

Technology Specific Guide for QTP - ( QTP book )

We have received a lot of queries regarding the book, the book has been off the shelves and out of stock on flipkart and other websites. The best way to get the book Technology Specific Guide for QTP – QTP for Web Testing - now is directly through us:

Mail us at :

Have you ever wondered?
How do I evaluate my skill-set in automation?What do I do to become an expert in a test automation tool like QTP?What do I do every time I hit a roadblock while automating a new solution?What are the latest out of the box features HP has to offer?
Then grab a copy of “Technology Specific Guide for QTP – QTP for Web Testing” today.!

What’s In It for You?

Everyone from a novice user to an automation expert will have something they would have never heard of or used. Our motivation for writing the book was noticing that a lot of people have found themselves in an automation architect role with little or no technology background…

Another reason why testing is so important!

Yet again we see a real life scenario showing what bad testing scenarios can do:

Nasdaq CEO Blames Software Design for Delayed Facebook Trading

May 21 (Bloomberg) -- Nasdaq OMX Group Inc., under scrutiny after shares of Facebook Inc. were plagued by delays and mishandled orders on its first day of trading, blamed "poor design" in the software it uses for driving auctions in initial public offerings."biggest IPO cross in the history of mankind" was occurringNasdaq's systems fell into a "loop" that prevented the second-largest U.S. stock venue operator from opening the shares on schedule following the $16 billion dealNasdaq will use an "accommodation pool" to pay back investors that should have received executions in the opening auction, based on the decisions of a third-party reviewer, Greifeld said. It may total $13 million, he said.The IPO software "didn't work" even after thousands of hours of testing for "a hundred scen…

Automate recurring appointments on MS Outlook

Here is another piece of code that is fun when it comes to automating data from excel and setting up outlook recurring appointments.

strExcelPath = ""

Const olAppointmentItem = 1
Const olRecursWeekly = 1

Set objExcel = CreateObject("Excel.Application")
objExcel.WorkBooks.Open strExcelPath
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)

intRow = 3
Do While objSheet.Cells(intRow, 1).Value <> ""
    strName = objSheet.Cells(intRow, 3).Value
    strDate = objSheet.Cells(intRow, 4).Value

    Set objOutlook = CreateObject("Outlook.Application")
    Set objAppointment = objOutlook.CreateItem(olAppointmentItem)

    strStart = strDate & "/2012 11:00 AM"
    strEnd = strDate & "/2099 11:00 AM"
    objAppointment.Start = strStart
    objAppointment.Duration = 30
    objAppointment.Subject = strName & " Birthday Reminder"
    objAppointment.Body = "Today is " &strName& "'s Bir…