Wednesday 31 July 2013

QTP :- What is Objects Collection object, How do we refer to an item in objects collection, How do we send keyboard input?

Object Collection - It is a generic term and not a keyword. This is something like an array that holds a collection of objects.. So its an array of objects..
How do you refer to an item in it - Since this is an array, it will be accessed the same way you do for an array, i.e. bu using its index.

Example: Assume you have a page with 20 links where the link text and URL are dynamically loaded. Suppose you want always have to click the 7th link.. Code is as follows -
Set oDesc = Description.Create
oDesc("micclass").Value = "Link"
Set oAllLinks = Browser("").Page("").ChildObjects(oDesc)  'Here oAllLinks is the collection of Objects
'Click on 7th link
oAllLinks(6).Click     'Array index starts from 0. So index 6 is used

Sending Keyboard Input - This can be done using SendKeys command. Code is as follows -

Set WshShell = CreateObject(“WScript.Shell”)
WshShell.SendKeys "hp quicktest professional"

Wednesday 24 July 2013

How to Do Performance Testing Estimation (Load Runner)

LR Script Creation: For a full script creation (which includes recording and customization), script creation may take from 3hr to a day or two. Time requirement mainly depends on:
  • complexity of the flow
  • values to be parameterized
  • frequency of dynaminc values that are to be customized.
I would recommend before start on script recording, test person should spend atleast 1-2 days in understanding the application and flow(s) that is/are to be recorded and executed, identifying test data requirements and workflow dependencies (any). (You may include this as part of test efforts estimation)

LR Script Execution: Execution efforts should include time to:
  • Create and setup of Test load scenarios (Average, peak load scenario, etc) as per requirements.
  • Set up test data (this test data is similar. However, quantity is different depending on testing time range)
  • Execute individual script on controller (directed to actual performance test environment) for small cycles to remove/fix run-time issues.
  • Execute average test load scenario / individual script for small cycles to remove/fix run-time issues before executing full range tests. This is very important to prevent unwanted issues during full range tests.
  • Test result analysis and reporting.
  • If scripts are using ‘destructive data’, include time for creation of test data between test cycles.

Also, few things to keep in mind:
  • Average or Normal Load Test execution cycle should be atleast 3 with 2-3 full range test executions within each cycle. Normally, Normal Load Test execution is 1 hr per test run.
  • Any performance issues / application issues observed should be fixed before start of next cycle.
  • Peak Load and other test load scenarios should be executed once Normal (Average) load test(s) gives positive results.
  • Scenario Run-time for Normal (Average) and Peak loads should be similar
  • Make sure, you have enough Vuser license to simulate load conditions, as per NFRs.

An Introduction of Mobile Testing Strategy

Product Vision: First of all it is very important to gauge and understand the vision related to the product/application under consideration. Some points to look at:

Who are the users/future users?
What platforms/OS’s are we targeting? Are we looking at only iOS users (What versions?), Android (What versions?)
QA Budget: Is it fixed or flexible?
Simulators Vs. RDA’s: Based on the above factors I would look at options of using Actual Device/Simulators/RDA’s.

If the horizon of platforms/OS’s is limited then I would look at my budget and most likely would opt for actual devices for testing.
Simulators always play big role when there are no mobile devices available for testing. Though Device testing is always preferred as it represents more likely end user scenarios, the importance of simulators cannot be ignored. In order to have effective testing over Simulator, It is recommended to explore all the capabilities of Simulator. Eg. Ipadian is a simulator for Ipad.
If you feel the breadth of mobile devices is large then you may opt for Remote Device Access Services; Due to a large number of devices available in the market, it is not feasible to buy a new device every time. At the same time Simulators are not completely reliable enough to launch a mobile app based on testing conducted only on simulators. RDA (Remote device services) can be a good solution to deal with these challenges. The remote device access services enable access to a live device over the Internet.

Some Available RDA Services are:
  • Device Anywhere (Paid)
  • Perfecto Mobile (Paid)
  • Nokia RDA (Free, For Symbian Phones)

Advantages of RDA:
  • You don’t need to purchase actual device.
  • User can select different Carriers e.g. Verizon, T-Mobile, AT & T.
  • RDAs are more reliable than simulators as they are real devices.
  • Some RDA Service like Device Anywhere also has automation capabilities.

Disadvantages of RDA:
  • Since you access devices remotely it takes time for any action or key event.
  • Sometimes the needed device is not available due to prior reservations.
  • Higher Service Cost

What is Retesting

  1. It is testing the fixed bug ONLY. This happens while closing resolved bug.
  2. Retesting is done to validate for the particular fix in a build means just execute “STEPS TO REPRODUCED” and find that bug is fix or not.
  3. Conducting testing on same application with same kind of inputs again and again is called re-testing.

What Types of License is Available for QTP

There are two type of licenses available for QTP
Seat License: It is a machine locked license. This license can be used only for a machine it was generated.
Floating License: It can be used on any machine which has network access to the floating license server. At any point in time the machines using the QTP license cannot exceed maximum license count on the server.