Monday, July 23, 2012

SAP ERP Services

SAP ERP Testing Services

VGlobal IT Solutions it fast growing ERP Services Company objectives of SAP/ERP System Testing are to verify that the installed system which includes the SAP software, custom code and manual procedures, executes as specified and without error; to confirm with the users and management that the delivered system performs in accordance with the stated system requirements; and to ensure that the system works with other existing systems, including but not limited to interfaces, conversions, and reports.

VGlobal IT Solutions providers SAP ERP Service for SAP ERP Testing, SAP Regression Testing, SAP Integration Testing, SAP UAT Testing, SAP System Testing, SAP Retesting and SAP Automation Tools like SAP Test Acceleration and Optimization, SAP TAO, HP BPT, HP QTP, SAP Manual Testing with all SAP Functional Modules. Our mission is to help SAP users and SAP consultants improve their SAP skills, making you better in SAP.

SAP Testing Phases:

SAP Unit Testing: addresses the informal testing of individual FRICE Objects (Forms, Reports, Interfaces and Conversions & Enhancements) rather than a complete system or with integrated business processes.

SAP Integration Testing: Integration is the satisfactory execution of processes, rather than individual transactions, in concert to ensure that the SAP software functions properly, system configuration tables are set up properly, programs execute properly, and system outputs are reliable.

SAP Regression Testing: Regression Testing is designed to verify functionality previously released into the “Production” SAP environment, will not be negatively affected by new/modified/upgraded functionality in an effort to protect existing Business Critical functionality running in the production environment from inadvertent outages and the inherent business losses ($ Lost) as a result of potential SAP Production outages/issues.

SAP Performance Testing: Performance Testing validates that the software, hardware and network infrastructures are in place and operating at efficient levels. This testing is required to adequately stress the SAP and related Non-SAP systems in a network environment, inclusive of remote sites/nodes. Performance testing will also include testing of those business processes that would cause stress due to high transaction or batch volumes. Performance Test results will be evaluated to ensure that the SAP and related Non-SAP systems performance complies with predefined service level agreements.

SAP User Acceptance Testing: Confirm the test cases needed to run using the acceptance test environment; Ensure the acceptance tests are suitable for management, users of the system and computer operations; so only one set of acceptance tests are needed; and Execute the User Acceptance Test.

SAP and HP/Mercury Test Tools

SAP ERP Services Providing specialized SAP Testing Services expertise and support to the SAP Automation Projects utilizing best practices to develop, implement and establish both manual and automated testing throughout the System Life Cycle for SAP systems. We provide your organization with experienced SAP Testing Consultants, who are knowledgeable in all aspects of Manual & Automated SAP Testing, including:

SAP Quality Center & HP Quick Test Professional (QTP) are integrated with SAP Solution Manager to facilitate the exchange of information/data between these two tools to expedite the creation of SAP Test Plans, to insure test coverage of SAP business processes within manual or automated tests is achieved, downloading of SAP test requirements into Quality Center directly from the business blueprint contained in SAP Solution Manager to reduce costs & errors, minimize the effort to perform testing related change impact analysis for the SAP Change Requests in Solution Manager, To develop the Testing Architecture, for manual & automated Test Cases/Scripts, insure the performance of manual & automated Test Executions, capture & document test results, facilitate test data analysis, provide for accurate reporting of test status to project managers, synchronize defects tracked in QC with SAP Service Desk Requests and facilitate management of quality metrics with best industry practice Key Process Indicator’s via the Quality Center Dashboard.

SAP Test Acceleration and Optimization (TAO) Application for Business Process Testing. The SAP Test Acceleration Optimization (TAO) Application is utilized to automatically create test components, uploads test components to HP Quality Center to compose Test Cases and run automated tests against an SAP system. The SAP TAO provides a workflow process for managing accelerated testing, facilitates and manages SAP and HP System Connections across various SAP & HP test environments, automates the management of Transaction Screen Inspections for selected SAP transactions and SAPGUI, facilitates the migration of testing components in and out of Quality Center, automates end to end business process testing solutions based upon the definition of Business Blue Prints contained in SAP Solution Manager.

SAP Testing Accelerators provide accelerated SAP testing development through the utilization of a component/object based approach for automated test scripts, based upon expert definitions of SAP business processes. Automated Test Scripts are assembled from packaged reusable components thus providing easier test composition for Subject Matter experts and reduced Test Script development/maintenance hours during SAP implementation/upgrade projects.

SAP Performance Center from HP: Can be utilized to provide SAP Performance Testing that includes: Volume Tests, Stress Tests, Printing Tests, Fax Tests, Email Tests, Network/Infrastructure Tests, System Administration Tests, Backup Procedure Tests, Restore Procedure Tests, Disaster Recovery Tests and Performance Monitoring of the production environment.

Sunday, May 3, 2009


Q1. What is load testing?

Ans. Load testing is to test that if the application works fine with the loads that result from large number of simultaneous users, transactions and to determine weather it can handle peak usage periods.
Q2. What is Performance testing?

Ans. Timing for both read and update transactions should be gathered to determine whether system functions are being performed in an acceptable timeframe. This should be done standalone and then in a multi user environment to determine the effect of multiple transactions on the timing of a single transaction.

Q3. What is LoadRunner?

Ans. LoadRunner works by creating virtual users who take the place of real users operating client software, such as sending requests using the HTTP protocol to IIS or Apache web servers. Requests from many virtual user clients are generated by Load Generators in order to create a load on various servers under test these load generator agents are started and stopped by Mercury's Controller program. The Controller controls load test runs based on Scenarios invoking compiled Scripts and associated Run-time Settings. Scripts are crafted using Mercury's "Virtual user script Generator" (named "V U Gen"), It generates C-language script code to be executed by virtual users by capturing network traffic between Internet application clients and servers. With Java clients, VuGen captures calls by hooking within the client JVM. During runs, the status of each machine is monitored by the Controller. At the end of each run, the Controller combines its monitoring logs with logs obtained from load generators, and makes them available to the "Analysis" program, which can then create run result reports and graphs for Microsoft Word, Crystal Reports, or an HTML webpage browser.

Each HTML report page generated by Analysis includes a link to results in a text file which Microsoft Excel can open to perform additional analysis. Errors during each run are stored in a database file which can be read by Microsoft Access.

Q4. What is Virtual Users?

Ans. Unlike a WinRunner workstation which emulates a single user's use of a client, LoadRunner can emulate thousands of Virtual Users.Load generators are controlled by VuGen scripts which issue non-GUI API calls using the same protocols as the client under test. But WinRunner GUI Vusers emulate keystrokes, mouse clicks, and other User Interface actions on the client being tested. Only one GUI user can run from a machine unless LoadRunner Terminal Services Manager manages remote machines with Terminal Server Agent enabled and logged into a Terminal Services Client session.

During run-time, threaded users share a common memory pool. So threading supports more Vusers per load generator.

The Status of Vusers on all load generators start from "Running", then go to "Ready" after going through the init section of the script. Vusers are "Finished" in passed or failed end status. Vusers are automatically "Stopped" when the Load Generator is overloaded.

To use Web Services Monitors for SOAP and XML, a separate license is needed, and vUsers require the Web Services add-in installed with Feature Pack (FP1). No additional license is needed for standard web (HTTP) server monitors Apache, IIS, and Netscape.

Q5. Explain the Load testing process?

Ans. Step 1: Planning the test. Here, we develop a clearly defined test plan to ensure the test scenarios we develop will accomplish load-testing objectives.

Step 2: Creating Vusers. Here, we create Vuser scripts that contain tasks performed by each Vuser, tasks performed by Vusers as a whole, and tasks measured as transactions.

Step 3: Creating the scenario. A scenario describes the events that occur during a testing session. It includes a list of machines, scripts, and Vusers that run during the scenario. We create scenarios using LoadRunner Controller. We can create manual scenarios as well as goal-oriented scenarios. In manual scenarios, we define the number of Vusers, the load generator machines, and percentage of Vusers to be assigned to each script. For web tests, we may create a goal-oriented scenario where we define the goal that our test has to achieve. LoadRunner automatically builds a scenario for us.

Step 4: Running the scenario. We emulate load on the server by instructing multiple Vusers to perform tasks simultaneously. Before the testing, we set the scenario configuration and scheduling. We can run the entire scenario, Vuser groups, or individual Vusers.

Step 5: Monitoring the scenario. We monitor scenario execution using the LoadRunner online runtime, transaction, system resource, Web resource, Web server resource, Web application server resource, database server resource, network delay, streaming media resource, firewall server resource, ERP server resource, and Java performance monitors.

Step 6: Analyzing test results. During scenario execution, LoadRunner records the performance of the application under different loads. We use LoadRunners graphs and reports to analyze the applications performance.

Q6. When do you do load and performance Testing?

Ans. We perform load testing once we are done with interface (GUI) testing. Modern system architectures are large and complex. Whereas single user testing primarily on functionality and user interface of a system component, application testing focuses on performance and reliability of an entire system. For example, a typical application-testing scenario might depict 1000 users logging in simultaneously to a system. This gives rise to issues such as what is the response time of the system, does it crash, will it go with different software applications and platforms, can it hold so many hundreds and thousands of users, etc. This is when we set do load and performance testing.

Q7. What are the components of LoadRunner?

Ans. The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner Analysis and Monitoring, LoadRunner Books Online.

Q8. What Component of LoadRunner would you use to record a Script?

Ans. The Virtual User Generator (VuGen) component is used to record a script. It enables you to develop Vuser scripts for a variety of application types and communication protocols.

Q9. When do you do load and performance Testing?

Ans. We perform load testing once we are done with interface (GUI) testing. Modern system architectures are large and complex. Whereas single user testing primarily on functionality and user interface of a system component, application testing focuses on performance and reliability of an entire system. For example, a typical application-testing scenario might depict 1000 users logging in simultaneously to a system. This gives rise to issues such as what is the response time of the system, does it crash, will it go with different software applications and platforms, can it hold so many hundreds and thousands of users, etc. This is when we set do load and performance testing.

Q10. What are the components of LoadRunner?

Ans. The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner Analysis and Monitoring, LoadRunner Books Online. What Component of LoadRunner would you use to record a Script? - The Virtual User Generator (VuGen) component is used to record a script. It enables you to develop Vuser scripts for a variety of application types and communication protocols.

Q11. What Component of LoadRunner would you use to play Back the script in multi user mode?

Ans. The Controller component is used to playback the script in multi-user mode. This is done during a scenario run where a vuser script is executed by a number of vusers in a group.

Q12. What is a rendezvous point?

Ans. You insert rendezvous points into Vuser scripts to emulate heavy user load on the server. Rendezvous points instruct Vusers to wait during test execution for multiple Vusers to arrive at a certain point, in order that they may simultaneously perform a task. For example, to emulate peak load on the bank server, you can insert a rendezvous point instructing 100 Vusers to deposit cash into their accounts at the same time.

Q13. What is a scenario?

Ans. A scenario defines the events that occur during each testing session. For example, a scenario defines and controls the number of users to emulate, the actions to be performed, and the machines on which the virtual users run their emulations.

Q14. Explain the recording mode for web Vuser script?

Ans. We use VuGen to develop a Vuser script by recording a user performing typical business processes on a client application. VuGen creates the script by recording the activity between the client and the server. For example, in web based applications, VuGen monitors the client end of the database and traces all the requests sent to, and received from, the database server. We use VuGen to: Monitor the communication between the application and the server; Generate the required function calls; and Insert the generated function calls into a Vuser script.

Q15. Why do you create parameters?

Ans. Parameters are like script variables. They are used to vary input to the server and to emulate real users. Different sets of data are sent to the server each time the script is run. Better simulate the usage model for more accurate testing from the Controller; one script can emulate many different users on the system.

Q16. What is correlation?

Ans. Correlation is used to obtain data which are unique for each run of the script and which are generated by nested queries. Correlation provides the value to avoid errors arising out of duplicate values and also optimizing the code (to avoid nested queries). Automatic correlation is where we set some rules for correlation. It can be application server specific. Here values are replaced by data which are created by these rules. In manual correlation, the value we want to correlate is scanned and create correlation is used to correlate.

Q17. How do you find out where correlation is required?

Ans. Two ways: First we can scan for correlations, and see the list of values which can be correlated. From this we can pick a value to be correlated. Secondly, we can record two scripts and compare them. We can look up the difference file to see for the values which needed to be correlated.

Q18. Where do you set automatic correlation options?

Ans. Automatic correlation from web point of view can be set in recording options and correlation tab. Here we can enable correlation for the entire script and choose either issue online messages or offline actions, where we can define rules for that correlation. Automatic correlation for database can be done using show output window and scan for correlation and picking the correlate query tab and choose which query value we want to correlate. If we know the specific value to be correlated, we just do create correlation for the value and specify how the value to be created.

Q19. What is a function to capture dynamic values in the web Vuser script?

Ans. Web_reg_save_param function saves dynamic data information to a parameter.

Q20. Which is VuGen Recording and Scripting language?

Ans. LoadRunner script code obtained from recording in the ANSI C language syntax, represented by icons in icon view until you click Script View.

Q21. What is Scenarios?
Ans. Scenarios encapsulate the Vuser Groups and scripts to be executed on load generators at run-time.

Manual scenarios can distribute the total number of Vusers among scripts based on the analyst-specified percentage (evenly among load generators). Goal Oriented scenarios are automatically created based on a specified transaction response time or number of hits/transactions-per-second (TPS). Test analysts specify the % of Target among scripts.

Q22. When do you disable log in Virtual User Generator, When do you choose standard and extended logs?

Ans. Once we debug our script and verify that it is functional, we can enable logging for errors only. When we add a script to a scenario, logging is automatically disabled. Standard Log Option: When you select Standard log, it creates a standard log of functions and messages sent during script execution to use for debugging. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled Extended Log Option: Select extended log to create an extended log, including warnings and other messages. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled. We can specify which additional information should be added to the extended log using the Extended log options.

Q23. How do you debug a LoadRunner script?

Ans. VuGen contains two options to help debug Vuser scripts-the Run Step by Step command and breakpoints. The Debug settings in the Options dialog box allow us to determine the extent of the trace to be performed during scenario execution. The debug information is written to the Output window. We can manually set the message class within your script using the lr_set_debug_message function. This is useful if we want to receive debug information about a small section of the script only.

Q24. How do you write user defined functions in LR?

Ans. Before we create the User Defined functions we need to create the external library (DLL) with the function. We add this library to VuGen bin directory. Once the library is added then we assign user defined function as a parameter. The function should have the following format: __declspec (dllexport) char* (char*, char*)

Q25. What are the changes you can make in run-time settings?

Ans. The Run Time Settings that we make are:
Pacing - It has iteration count.
Log - Under this we have Disable Logging Standard Log and
Extended Think Time - In think time we have two options like Ignore think time and Replay think time.
General - Under general tab we can set the vusers as process or as multithreading and whether each step as a transaction.

Q26. Where do you set Iteration for Vuser testing?

Ans. We set Iterations in the Run Time Settings of the VuGen. The navigation for this is Run time settings, Pacing tab, set number of iterations.

Q27. How do you perform functional testing under load?

Ans. Functionality under load can be tested by running several Vusers concurrently. By increasing the amount of Vusers, we can determine how much load the server can sustain.

Q28. How to use network drive mappings?

Ans. If several load generators need to access the same physical files, rather than having to remember to copy the files each time they change, each load generator can reference a common folder using a mapped drive. But since drive mappings are associated with a specific user:

Logon the load generator as the user the load generator will use

Open Windows Explorer and under Tools select Map a Network Drive and create a drive. It saves time and hassle to have consistent drive letters across load generators, so some organizations reserver certain drive letters for specific locations.
Open the LoadRunner service within Services (accessed from Control Panel, Administrative Tasks),

Click the "Login" tab.

Specify the username and password the load generator service will use. (A dot appears in front of the username if the userid is for the local domain).
Stop and start the service again.

Q29. What is Ramp up? How do you set this?

Ans. This option is used to gradually increase the amount of Vusers/load on the server. An initial value is set and a value to wait between intervals can be specified. To set Ramp Up, go to Scenario Scheduling Options.

Q30. What is the advantage of running the Vuser as thread?

Ans. VuGen provides the facility to use multithreading. This enables more Vusers to be run pergenerator. If the Vuser is run as a process, the same driver program is loaded into memory for each Vuser, thus taking up a large amount of memory. This limits the number of Vusers that can be run on a single generator. If the Vuser is run as a thread, only one instance of the driver program is loaded into memory for the given number of Vusers (say 100). Each thread shares the memory of the parent driver program, thus enabling more Vusers to be run per generator.

Q31. If you want to stop the execution of your script on error, how do you do that?
Ans. The lr_abort function aborts the execution of a Vuser script. It instructs the Vuser to stop executing the Actions section, execute the vuser_end section and end the execution. This function is useful when you need to manually abort a script execution as a result of a specific error condition. When you end a script using this function, the Vuser is assigned the status "Stopped". For this to take effect, we have to first uncheck the Continue on error option in Run-Time Settings.

Q32. What is the relation between Response Time and Throughput?

Ans. The Throughput graph shows the amount of data in bytes that the Vusers received from the server in a second. When we compare this with the transaction response time, we will notice that as throughput decreased, the response time also decreased. Similarly, the peak throughput and highest response time would occur approximately at the same time.

Q33. Explain the Configuration of your systems?

Ans. The configuration of our systems refers to that of the client machines on which we run the Vusers. The configuration of any client machine includes its hardware settings, memory, operating system, software applications, development tools, etc. This system component configuration should match with the overall system configuration that would include the network infrastructure, the web server, the database server, and any other components that go with this larger system so as to achieve the load testing objectives.

Q34. How do you identify the performance bottlenecks?

Ans. Performance Bottlenecks can be detected by using monitors. These monitors might be application server monitors, web server monitors, database server monitors and network monitors. They help in finding out the troubled area in our scenario which causes increased response time. The measurements made are usually performance response time, throughput, hits/sec, network delay graphs, etc.

Q35. If web server, database and Network are all fine where could be the problem?

Ans. The problem could be in the system itself or in the application server or in the code written for the application.

Q36. How did you find web server related issues?

Ans. Using Web resource monitors we can find the performance of web servers. Using these monitors we can analyze throughput on the web server, number of hits per second that occurred during scenario, the number of http responses per second, the number of downloaded pages per second.

Q37. How did you find database related issues?

Ans. By running Database monitor and help of Data Resource Graph we can find database related issues. E.g. you can specify the resource you want to measure on before running the controller and than you can see database related issues.

Q38. What is the difference between Overlay graph and Correlate graph?

Ans. Overlay Graph: It overlay the content of two graphs that shares a common x-axis. Left Y-axis on the merged graph shows the current graphs value & Right Y-axis show the value of Y-axis of the graph that was merged. Correlate Graph: Plot the Y-axis of two graphs against each other. The active graphs Y-axis becomes X-axis of merged graph. Y-axis of the graph that was merged becomes merged graphs Y-axis.

Q39. How did you plan the Load?

Ans. Load test is planned to decide the number of users, what kind of machines we are going to use and from where they are run. It is based on 2 important documents, Task Distribution Diagram and Transaction profile. Task Distribution Diagram gives us the information on number of users for a particular transaction and the time of the load. The peak usage and off-usage are decided from this Diagram. Transaction profile gives us the information about the transactions name and their priority levels with regard to the scenario we are deciding.

Q40. What does vuser_init action contain?

Ans. Vuser_init action contains procedures to login to a server.

Q41. What does vuser_end action contain?

Ans. Vuser_end section contains log off procedures.

Q42. What is think time?

Ans. Think time is the time that a real user waits between actions. Example: When a user receives data from a server, the user may wait several seconds to review the data before responding. This delay is known as the think time. Changing the Threshold: Threshold level is the level below which the recorded think time will be ignored. The default value is five (5) seconds. We can change the think time threshold in the Recording options of the Vugen.

Q43. What is the difference between standard log and extended log?

Ans. The standard log sends a subset of functions and messages sent during script execution to a log. The subset depends on the Vuser type Extended log sends a detailed script execution messages to the output log. This is mainly used during debugging when we want information about:

- Parameter substitution
- Data returned by the server
- Advanced trace

Q44. What is lr_debug_message?

Ans. The lr_debug_message function sends a debug message to the output log when the specified message class is set.

Q45. What is lr_output_message?

Ans. The lr_output_message function sends notifications to the Controller Output window and the Vuser log file.

Q46. What is lr_error_message?

Ans. The lr_error_message function sends an error message to the LoadRunner Output window.

Q47. What is lrd_stmt?

Ans. The lrd_stmt function associates a character string (usually a SQL statement) with a cursor. This function sets a SQL statement to be processed.

Q48. What is lrd_fetch?

Ans. The lrd_fetch function fetches the next row from the result set.

Q49. What is Throughput?

Ans. If the throughput scales upward as time progresses and the number of Vusers increase, this indicates that the bandwidth is sufficient. If the graph were to remain relatively flat as the number of Vusers increased, it would be reasonable to conclude that the bandwidth is constraining the volume of data delivered.

Q50. What are the various types of Goals in Goal-Oriented Scenario ?

Ans. Load Runner provides you with five different types of goals in a goal oriented scenario:

- The number of concurrent Vusers
- The number of hits per second
- The number of transactions per second
- The number of pages per minute

The transaction response time that you want your scenario Analysis Scenario (Bottlenecks): In Running Vuser graph correlated with the response time graph you can see that as the number of Vusers increases, the average response time of the check itinerary transaction very gradually increases. In other words, the average response time steadily increases as the load increases. At 56 Vusers, there is a sudden, sharp increase in the average response time. We say that the test broke the server. That is the mean time before failure (MTBF). The response time clearly began to degrade when there were more than 56 Vusers running simultaneously.


Features Provided with QTP 8.2 and QTP 9.2

Mercury Screen Recorder :

Capture your entire run session in a movie clip or capture only the segments with errors, and then view your movie from the Test Results window.

Object Repository Manager:

You can use the Object Repository Manager to manage all of the shared object repositories in your organization from one, central location. This includes adding and defining objects, modifying objects and their descriptions, parameterizing test object property values, maintaining and organizing repositories, and importing and exporting repositories in XML format.

You can open multiple object repositories at the same time. Each object repository opens in its own resizable document window. This enables you to compare the content of the repositories, to copy or move objects from one object repository to another.

Object Repository Merge Tool:

You can use the Object Repository Merge Tool to merge the objects from two shared object repositories into a single shared object repository. You can also use the Object Repository Merge Tool to merge objects from the local object repository of one or more actions or components into a shared object repository.

When you merge objects from two source object repositories, the content is copied to a new, target object repository, ensuring that the information in the source repositories remains unchanged.

If any conflicts occur during the merge, for example, if two objects have the same name and test object class, but different test object descriptions, the relevant objects are highlighted in the source repositories, and the Resolution Options pane details the conflict and possible resolutions.

Multiple Object Repositories per Action or Component:

QuickTest provides several options for storing and accessing test objects. You can store the test objects for each action or component in its corresponding local object repository, which is unique for each action and component. You can also store test objects in one or more shared object repositories that can be used in multiple actions and components. Alternatively, you can use a combination of objects from the local object repository and one or more shared object repositories. You choose the combination that matches your testing needs.

XML Object Repository Format:

QuickTest now enables you to import and export object repositories from and to XML format. This enables you to modify object repositories using the XML editor of your choice and then import them back into QuickTest. You can import and export files either from and to the file system or a Quality Center project (if QuickTest is connected to Quality Center).

Function Library Editor:

QuickTest now has a built-in function library editor, which enables you to create and edit function libraries containing VBScript functions, subroutines, modules, and so forth, and then call their functions from your test or component.

Handling Missing Actions and Resources:

Whenever a testing document (test, component, or application area) contains a resource that cannot be found, QuickTest opens the Missing Resources pane and lists the missing resource(s). For example, a test may contain an action or a call to an action that cannot be found; a testing document may use a shared object repository that cannot be found; or a testing document may use a object repository parameter that does not have a default value. In all of these cases, QuickTest indicates this in the Missing Resources pane, enabling you to map a missing resource to an existing one, or remove it from the testing document, as required.

Enhancements in QTP 9.5

Environment Support:

QTP 9.5 supports MS Vista 64 bit edition also, in comparison to QTP 9.2's support for 32 bit edition only.


A refreshing enhancement in QTP IDE GUI I liked this time was the introduction of the ability to see functions related to current tests. Whether you have an external file containing functions or they are inside a reusable actions, you would be able to see all of them at one place. Now no need to dig and scroll through the endless list of functions in your notepad

Bitmap checkpoint:

Earlier using bitmap checkpoint was a pain in a sense that a minor change in pixel and your test would fail. To increase the tolerance we have to go inside windows registry and change the required tolerance value. With QTP 9.5 HP has introduced support for tolerance level direct from the GUI. You can define tolerance in terms of RGB and/or pixels.

Web Add-in Extensibility:

Using this feature you can configure and extend the support to those 3rd party custom web controls ( and new technologies like AJAX) which were not supported with the earlier versions. You need to possess fair amount of JavaScript knowledge to handle this. How much help this feature really provide is yet to be seen


1. Tell me about your Project?

2. Tell me about Rolls and Responsibilities?

3. Tell me about Project Architecture?

4. What is QTP Testing Process in your company?

5. What is Check Points and When to use?

6. What are Output Value and when to Use?

7. Different between 8.2, 9.2 and 9.5?

8. What is Actions?

9. What is Function?

10. Different between Actions and Functions?

11. What is Environment Variables?

12. What is File System Object (FSO)?

13. What is Analog and low-level recording modes in QTP?

14. What is Recovery Scenarios or Exception handling?

15. How many types of Actions?

16. What is Object Repository?

17. Object Repositories types, which & when to use?

18. What type of Frame work using in your Company?

19. What type of Problems you faced in QTP?

20. What are Descriptive Program and when to use Descriptive Program?

21. What is Advantage of Descriptive Programming?

22. How does runtime data Parameterization is handled in QTP?

23. How QTP recognizes Objects in AUT?

24. Explain About the Test Fusion Report of QTP?

25. How QTP does Identifies the Objects in the application?

26. What are the Features & Benefits of Quick Test Pro (QTP)?

27. Why use Regular Expressions?

28. What is Parameter Tests?

29. What is test Object model in QTP?

30. Can we script any test case with out having Object repository? Or using Object Repository is must?

31. Why divide a test into three actions calls?

32. Why divide a test into three actions calls?

33. What is object Spy in QTP?

34. How does batch testing in QTP?

35. What are the Properties you would use for identifying a Browser & Page when using Descriptive Programming?

36. If an application name changes frequently ie. While recording it has name in this case how does QTP handle?

37. How QTP does identify the objects in the application?

38. How to do the scripting are there any built-in functions in QTP?

39. Explain the terms Password Encoder, Remote Agent, Test Batch Runner, Test Results Deletion Tool?

40. How many types of Parameters are there?

41. Can you do more than just capture and playback?

42. How can we write script with out having GUI (means u don’t have any GUI and u want to write a script in QTP)?

43. When and why to use Descriptive Programming?

44. How to use Descriptive Programming?

45. When to use a Recovery Scenario and when to use on error resume next?

46. How do we associate a library file with a test?

47. When to associate a library file with a test and when to use execute file?

48. What is the Difference between Test Objects and Runtime Objects?

49. Can I change properties of a test object?

50. Can I change properties of a runtime object?

51. Where to use function or Action?

52. How can I import environment from a file on disk?

53. What is Object Repository Manager?

54. What is Object repository merge tool?

55. How to use environment variables?

56. What is Object Identification?

57. What is Smart Identification in QTP?

58. What is Ordinal Identifier?

59. Difference between SystemUtil.Run and InvokeApplication?

60. What is Virtual Objects in QTP?

61. What are the advantages in Automation Testing?

62. When you go for Automation Testing?

63. Difference between Call to copy action and Call to Existing Action?


Automated testing can be used in an environment with multiple SAP Applications, Ex. R/3, SAP SA, SAP FI, EBP, BW, etc. It also covers the usages and requirements which are critical to deploy an Automated Testing solution. This article will help Consultants alike gain insight in the application of Automated Testing in an SAP Environment and help to bring the best return on investment.

QuickTest Professional for Business Process Testing

Business Process Testing is a role-based testing model. It enables Automation Engineers and Subject Matter Experts to work together to test an application's business processes during the application's development life cycle.

Automation Engineers are experts in automated testing. They use QuickTest to define the resources and settings needed to create components, which are the building blocks of business process tests.

Subject Matter Experts understand the various parts of the application being tested, as well as the business processes that need to be tested, however they may not necessarily have the programming knowledge needed to create automated tests. They use the Business Components and Test Plan modules in Quality Center to create keyword-driven business process tests.

Understanding Business Process Testing

Business Process Testing is a role-based testing model that enables Subject Matter Experts—who understand the various parts of the application being tested—to create business process tests in Quality Center. Automation Engineers—who are experts in QuickTest and automated testing—use QuickTest to define all of the resources and settings required to create business process tests. Integration between QuickTest and Quality Center enables the Automation Engineer to effectively maintain the resources and settings, while enabling Subject Matter Experts to implement business process tests.

Business Process Testing uses a keyword-driven methodology for testing, based on the creation and implementation of business components and business process tests. A business component is an easily-maintained, reusable unit comprising one or more steps that perform a specific task within an application. A business process test comprises a series of business components, which together test a specific scenario or business process. For example, for a Web-based application, a business process test might contain five components—one for logging on to the application, another for navigating to specific pages, a third for entering data and selecting options in each of these pages, a fourth for submitting a form, and a fifth component for logging off of the application. Business components and business process tests are generally created in Quality Center by Subject Matter Experts, although Automation Engineers can also create business components in QuickTest.

Components in QuickTest Professional

QuickTest enables you to create and modify two types of components: business components and scripted components. A business component is an easily-maintained, reusable unit comprising one or more steps that perform a specific task. A scripted component is an automated component that can contain programming logic. Scripted components share functionality with both test actions and business components.

Automation Engineer. The Automation Engineer is an expert in using an automated testing tool, such as QuickTest Professional. The Automation Engineer works with the Subject Matter Expert to identify the resources that are needed for the various business process tests.

The Automation Engineer then prepares the resources and settings required for testing the features associated with each specific component, and stores them in an application area within the same Quality Center project used by the Subject Matter Experts who create and run the business process tests for the specific application.

Each application area serves as a single entity in which to store all of the resources and settings required for a component, providing a single point of maintenance for all elements associated with the testing of a specific part of an application. Application areas generally include one or more shared object repositories, a list of keywords that are available for use with a component, function libraries containing automated functions (operations), recovery scenarios for failed steps, and other resources and settings that are needed for a component to run correctly. Components are linked to the resources and settings in the application area. Therefore, when changes are made in the application area, all associated components are automatically updated.

The Automation Engineer uses QuickTest features and functionality to create these resources from within QuickTest. For example, in QuickTest, the Automation Engineer can create and populate various object repositories with test objects that represent the different objects in the application being tested, even before the application is fully developed. The Automation Engineer can then add repository parameters, and so forth, as needed. The Automation Engineer can manage the various object repositories using the Object Repository Manager, and merge repositories using the Object Repository Merge Tool. Automation Engineers can also use QuickTest to create and debug function libraries containing functions that use programming logic to encapsulate the steps needed

Business Process Testing Terminology

Application Area. A collection of resources and settings that are used for the creation and implementation of business components. These include function libraries, shared object repositories, keywords, testing preferences, and other testing resources, such as recovery scenarios. An application area provides a single point of maintenance for all elements associated with the testing of a specific part of your application. You can define separate application areas for each part of your application and then associate your components with the appropriate application areas.

Business Component (or Component). An easily-maintained, reusable unit comprising one or more steps that perform a specific task. Business components may require input values from an external source or from other components, and they can return output values to other components.

Also known as Keyword-Driven Component.

Manual Component. A non-automated business component created in Quality Center. In QuickTest, you can view and work with manual components only after converting them to automated business components.

Scripted Component. An automated component that can contain programming logic and can be edited in QuickTest using the Keyword View, the Expert View, and other QuickTest tools and options.

Keyword View. A spreadsheet-like view that enables tests and components to be created, viewed, and debugged using a keyword-driven, modular, table format.

Function Library. A document containing VBScript functions, subroutines, modules, and so forth. These functions can be used as operations (keywords) in components. You can create and debug function library documents using the QuickTest function library editor.

Business Process Test. A scenario comprising a serial flow of business components, designed to test a specific business process of an application.

Component Input Parameters. Variable values that a business component can receive and use as the values for specific, parameterized steps in the component.

Component Output Parameters. Values that a business component can return. These values can be viewed in the business process test results and can also be used as input for a component that is used later in the test.

Local Input Parameters. Variable values defined within a component. These values can be received and used by a later parameterized step in the same component.

Local Output Parameters. Values that an operation or a component step can return for use within the same component. These values can be viewed in the business process test results and can also be used as input for a later step in the component.

Roles. The various types of users who are involved in Business Process Testing.

Automation Engineer. An expert in QuickTest Professional automated testing. The Automation Engineer defines and manages the resources that are needed to create and work with business components. The Automation Engineer creates application areas that specify all of the resources and settings needed to enable Subject Matter Experts to create business components and business process tests in Quality Center. The Automation Engineer can create and modify function libraries, and populate a shared object repository with test objects that represent the different objects in the application being tested. The Automation Engineer can also create and debug business components in QuickTest.

Subject Matter Expert. A person who has specific knowledge of the application logic, a high-level understanding of the entire system, and a detailed understanding of the individual elements and tasks that are fundamental to the application being tested. The Subject Matter Expert uses Quality Center to create and run components and business process tests.

Saturday, May 2, 2009


Architecture for Quality Center :

Mercury Quality Centre is a web-based test management tool. It gives you a centralized control over the entire testing life cycle. It gives an easy interface to manage and organize activities like Requirements coverage, Test Case

Management, Test Execution Reporting, Defect Management, and Test Automation. All these activities are provided from a single tool, which is web-based and can be accessed from any where. Hence, making the task of the testers and managers easy.

Mercury Quality Centre
can be divided into two parts:

Site Administrator Bin
Quality Centre Bin

Site Administration Bin: It is the starting point for the usage of Mercury Quality Centre. This part is used for all the administrative activities. Password for site admin is defined during the installation so make sure that you remember the password during installation. From this part of Mercury Quality Centre, we generally do the following activities:

Creating the projects

Assigning users to the projects
Creating specific roles
Configuring QTP or Winrunner scripts to use from Mercury Quality Centre
Configuring the mail servers

Verifying licensing information
Information about database

Quality Center Bin: This part of Mercury Quality Centre gives functionality of almost everything that as a tester or test manager you need to do in your day to day activity apart from execution. This is the most common interface used by the customers or users. In this part, we generally do the following activities:

Creating test plans
Defining requirements
Creating test cases
Creating test labs
Associating requirements with defects in essence

1. Requirements Module:

In this section, first we understand all the requirements, once we understood the what are to be tested, listed out all the Main Requirements as well as sub-requirements (child requirements).

For every Requirement we need to plan a Test.

Test means Test case (in manual) or
Test means Test Script (in Automation)

This module used for building the requirement string. To do the same

This module has provided Two options

a). New Requirement
b). New Child Requirement

These two requirements will do the following
One can attach any kind of attachments to the requirement
It will automatically shows the author name
It will generate IDs automatically for each and every requirements
One can give direct cover status of the requirements like
· Whether the test is covered or Not
· Whether its executed or Not
· If executed, whether its passed or Failed

2. Test Plan Module :

In this section,

We need to create test plan for corresponding requirements which were prepared in Requirement module.

Using the Traceability matrix, you should cross check whether you have created test plans for all the requirements.

This module is used for creating the tests (automatically or manually for all the requirements) to do the same one has to create a folder, under that he needs create the desired empty test. Based on the test one has to launch the corresponding functional tool (QTP), generate the desired test scripts and Click on the save Button in the functional tool.

The script will be saved in the empty script file which is already created in the Quality center. In the same way one has to create all the tests. Once all the test are created this module also provides the facility to establish the link between the test and corresponding requirements with help of requirements coverage tab in order to establish automatic traceability and its feasibility. Once all the test are created then one will go to next module
by name Test Lab.

3.Test Lab Module :

In this section, First of all we need to identify all the end-to-end scenarios , then for each end-to-end scenarios we will create a Test Set.

This module is used for the following…

1. Building the Test set
2. Execute the Test set
3. Analyze the results.

1. To do the same one has to Build/ create the folders and create corresponding test sets with help of all the available test sets based on the different end-to-end scenarios.

2.Once the tests are Build one can Execute them by either RUN or RUN ALL options provided in this module.

RUN : is used for Running a single selected test in the test set

RUN ALL : is used for running all the tests in the test set

3.Once the execution is completed one can analyze the Results in the Functional tool (QTP) it self and if at all one can identify the Defects and need to post them , he can do it from the Functional tool itself, other wise, go to next module by name Defects Module.

4 Defects Module :

This module acts like Bug Tracking tool and provides all the facilities to manage the defects like Adding the defects, changing the status of defects etc., with complete bug tracking facility is provided.

Once the Defects (if any) are been sent to Developers, they will re-build the application by removing such defects and send it again for Testing.
This is called 2nd Build, doing testing on 2nd build on wards is called Re-Testing or Regression testing.

Here we do testing from 3rd module (Test Lab Module) to 4th module (Defects Module).
Till all the defects have been fixed.

5. Log Off