Archive for the 'Quality Assurance' Category
Updating ActiveX Datagrids in QTP

In my recent testing efforts, I have comes across a desktop windows form (written in VB6) involving updating a data grid and then calculating another field’s value based on those updates. In order to achieve this functionality, the development staffs implemented two events (AfterColUpdate and LostFocus) that, when triggered, would fire off the calculation method.

None of this is obvious to the end user when testing, all they see is enter a number into the grid column and the total field automatically updates with the sum of all values in the column. Easy peasy.

I created my reusuable action in QuickTest Pro and record the entering of data, which yielded the following code:

VbWindow(”frmMain”).VbWindow(”frmChildWindow1″).VbWindow(”frmChildWindow2″).AcxTable(”PaymentGrid”).SelectCell 1,4

VbWindow(”frmMain”).VbWindow(”frmChildWindow1″).VbWindow(”frmChildWindow2″).AcxTable(”PaymentGrid”).SetCellData 1,4, “30.00″

(more…)

Description Objects

When creating reusable actions in QuickTest Pro, there are times you may come across the need to dynamically access an object within your application that may or may not exist within your Object Repository. One approach to handling this opportunity is through the use of Description Objects.

I could spend a lot of time attempting to explain how to go about implementing description objects, but I have found that QTP’s help files do a good job explaining exactly what you need to do. To find what you are looking for, search for “Using Description Objects for Programmatic Descriptions” within the help file.

(more…)

QuickTest Pro - List of mic* Keywords

Here is a list of mic* keywords that can be used in QuickTest Pro. I do not have documentation for each of the keywords. I have posted these has a quick reference guide for myself, and others.

These codes will be useful when entering text into textboxes, manipulating datagrids, selecting items for comboboxes and listboxes. Some are useful as constants: micPass, micFail, and micInfo. Most are specific for keys on the keyboard.

(more…)

QuickTest Pro 9.5 Object Recognition Issue

The other day I was diligently creating reusable actions for later use and writing code like nobody’s business. I have had my object repository set up for weeks and haven’t had any issues with it. I have recently upgraded to QTP 9.5 with updated Add-ins for Visual Basic, Web, and .NET.

The application I have been automating is a VB6 desktop client application. Normally, my Object Spy recognizes the main form as frmMain, the VbName property for the action. Well, for whatever reason, QTP just stopped recognizing the VbName properties of all the application objects, choosing such helpful designations as VbWindow and VbButton.

Scouring the internet forums and support sites, I have discovered that this has been a fairly common issue with no distinct resolution. I had tried several remedies and then, in frustration, decided to reinstall the QTP application.

Lo and behold, I had solved the Object Recognition issue. An inelegant solution, but a solution nonetheless.

Agile Methodologies

You come to work and are greeted with a new software project to complete. But, seeing as the last project ran over budget, the engineers worked long hours, and the project never hit the actual requirements; management has mandated that your team will be using an Agile methodology. The theory being, you’ll have a small team, able to communicate easily with each other, don’t have to be bogged down by documentation, able to adapt to a change quickly, and still produce a working piece of software. (more…)

Using External Libraries in QTP

I’ve found it necessary to create my own code libraries in QuickTest Pro to handle scenarios that aren’t generally covered by the typical QTP or VBScript APIs. This is a useful process for creating reusable functions that are accessible to your entire automation suite. (more…)

Introduction to Performance, Load, and Stress Testing

In doing some research for an upcoming workshop on Performance, Load, and Stress testing that I will be hosting, I came across this article. This article will provide those that are interested with a solid primer into the world of PLS testing. Written with an agile viewpoint, the information should be useful to all testers.

Performance vs. Load vs. Stress Testing [@ AgileTesting.blogspot.com]

QA techies - read this article!

Java Performance Tuning

I just stumbled across a site that may be of use to some of you dealing with Java applications. I’ve yet to thoroughly exhaust the information on this site, but it looks to be a good starting point in tuning the performance of your Java apps.

JavaPerformanceTuning.com

JMeter

In my efforts to test the performance of one of the applications around my office, I came across an open-source tool: JMeter. Well, a co-worker stumbled upon it and we started to explore its use. It turns out to be a fairly useful tool, though not as extensible as your LoadRunner’s and QALoad’s. Of all the tools I have used in the past, I’d closely relate it Microsoft’s ACT.

Anyway, it has many useful applications such as proxy recording, multi-threaded scripts, remote script execution and the like. What I liked about it the most, however, was the ability to execute JUnit test scripts on a large scale. This allowed us to execute a 30-user test on a Swing desktop application and capture some rudimentary timing data. The downside is that we had to manually copy the JUnit tests to each of the test machines… and use 30 seperate machines, but I feel that was a limitation of the application under test, not JMeter.

So if you are looking for a decent tool to test your web application performance, I’d suggest giving JMeter a shot.  

http://jakarta.apache.org/jmeter/

TestDirector and Quality Center Blank Pages

Over the past couple of weeks, I have seen an increase of searches pertaining to TestDirector/Quality Center and blank pages. I’ve addressed this at one point with a TestDirector post last year. However, there are a few other things I have tried in order to fix this.

Let me first put out this disclaimer, these are steps that I have followed and I do not guarantee this will work for you and this advice is provided as-is. Proceed at your own risk. Now with that out of the way…

If you log into your Quality Center (QC) or TestDirector (TD) site and are greeted with a blank page, chances are, your local installation has been compromised. At least, that’s been the case for me. With earlier versions of TD, I’ve found that uninstalling your local copy of the ActiveX controls, removing the Spider.OCX file, and launching the TD site again has proven effective at getting back into TD.

With the onset of QC, I’ve noticed that the uninstallation package is not readily available. What I’ve tried however, is to manually delete the local copy of the QC interface. This is typically found at the following location: C:\Program Files\Common Files\Mercury Interactive\. Within this folder, there will be one or more of the following directories: TD2000, TD2000_80, and TDAPIClient. On my machine, I deleted all three of these folders and then launched the QC site again. QC detected that I did not have the current installation and reinstalled the interface; allowing me to again access the application.

I hope you find this useful.