Thursday, October 20, 2011

TESTOBJECT MODEL - QTP


Test object Model is a set of object types or Classes that QuickTest uses to represents the objects in our application.

A
test object class comprises of a list of properties that can individually (uniquely) identify objects of that class and a set of appropriate methods that QuickTest can record for it.

A test object is an object that QuickTest creates in the test to correspond to (represent) the actual object in the application. QuickTest uses the stored information about the object during the run session to identify and check the object.

A run-time object is the real (actual) object in the application or Web site on which methods are performed during the run session.
Properties and methods of objects:
The property set for each test object is created and maintained by QuickTest. The property set for each run-time object is created and maintained by the object architect (creator) (Microsoft for Internet Explorer objects, Netscape for Netscape objects).

Similarly, methods of test objects are methods that QuickTest recognizes and records when they are executed (performed) on an object while we are recording, and that QuickTest executes when the test or component runs. Methods of Run-time object are the methods of the object in the application as defined by the object architect (creator). We can access and execute run-time object methods using the Object property.
Some important points to remember about methods and properties :
  • Each test object method we execute (perform) while recording is recorded as a separate step in the test. When we run the test, QuickTest executes (performs) the recorded test object method on the run-time object.
  • Properties of test object are captured from object while recording. QuickTest uses the values of these properties to identify runtime objects in the application during a run session.
  • Property values of objects in the application may change .To make the test object property values match the property values of the run-time object, we can modify test object properties manually while designing the test or component or using SetTOProperty statements during a run session. We can also use regular expressions to identify property values.
  • We can view or modify the test object property values that are stored with the test or component in the Object Properties or Object Repository dialog box.
  • We can view the syntax of the test object methods as well as the run-time methods of any object on our desktop using the Methods tab of the Object Spy.
  • We can retrieve or modify property values of the TEST OBJECT during the run session by adding GetTOProperty and SetTOProperty statements in the Keyword View or Expert View. We can retrieve property values of the RUNTIME OBJECT during the run session by adding GetROProperty statements.
If the available test object methods or properties for an object are not sufficient or they do not provide the functionality we need, we can access the internal methods and properties of any run-time object using the Object property. We can also use the attribute object property to identify Web objects in the application according to user-defined properties.



If you have any quarries/feed back catch me on - knowthetesting@gmail.com
Thank you 

Ram 

Testing Process - QTP


QTP (Quick Test Professional) lets you create tests and business components by recording operations as you perform them in your application.

Test - A compilation of steps organized into one or more actions, which we can use to verify that our application performs as expected. A test is composed of actions (3 kinds of actions are there in QTP Non-reusable action, Reusable action and External action).
1)      First step is Planning Before starting to build a test, you should plan it and prepare the required infrastructure. For example, determine the functionality you want to test, short tests that check specific functions of the application or complete site.Decide how you want to organize your object repositories.
2)      Second step in QTP is Creating Tests or Components
User can create a test or component by the following way
a) Either recording a session on your application or Web site. As we navigate through the application or site, QuickTest graphically displays each step we perform as a row in the Keyword View. The
Documentation column of the Keyword View also displays a description of each step in easy-to-understand sentences. A step is something that causes or makes a change in your site or application, such as clicking a link or image, or submitting a data form.
OR
 b) Build an object repository and use these objects to add steps manually in the Keyword View or Expert View. We can then modify your test or component with special testing options and/or with programming statements.
3)      Third step is Inserting checkpoints into your test or component. A checkpoint is a verification point that compares a recent value for a specified property with the expected value for that property. This enables you to identify whether the Web site or application is functioning correctly.
4)      Fourth step is Broaden the scope of your test or component by replacing fixed values with parameters.

To check how your application performs the same operations with different data you can parameterize your test or component.

When you parameterize your test or component, QuickTest substitutes the fixed values in your test or component with parameters

Each run session that uses a different set of parameterized data is called an iteration.

We can also use output values to extract data from our test or component. An output value is a value retrieved during the run session and entered into the Data Table or saved as a variable or a parameter. We can subsequently use this output value as input data in your test or component.

We can use many functional testing features of QuickTest to improve your test or component and/or add programming statements to achieve more complex testing goals.
5)      Fifth step is running the test

After creating test or component, we run it.
Run test or component to check the site or application.

When we run the test or component, QuickTest connects to your Web site or application
and performs each operation in a test or component, checking any text strings, objects, or tables you specified. If we parameterized the test with Data Table parameters, QuickTest repeats the test (or specific actions in your test) for each set of data values we defined.
Run the test or component to debug it.

We can control the run session to identify and eliminate defects in the test or component. We can use the

Step Into,
Step Over,

And
Step Outcommands to run a test or component step by step. We can also set breakpoints to pause the test or component at pre-determined points. We can view the value of variables in the test or component each time it stops at a breakpoint in the Debug Viewer.
6)      Sixth step is analyzing the results

After we run test or component, we can view the results.
View the results in the Results window.
After running the test or component, we can view the results of the run in the Test Results window. We can view a summary of the results as well as a detailed report.

Report defects identified during a run session.
If Quality Center is installed, we can report the defects fond out to a database. We can instruct QuickTest to automatically report each failed step in the test or component, or we can report them manually from the Test Results window.


If you have any quarries/feed back catch me on - knowthetesting@gmail.com 
Thank you 
Ram

Sunday, October 16, 2011

QTP Tutorial 1


Anatomy of QTP: –
Ad-inn Manager: – It is a feature provided by qtp used for making the qtp compatible with a specified environment by default the QTP provides 3 add-ins
  1. Visual Basic
  2.  Activex
  3.  Web
Apart from these 3 add-ins qtp is always compatible with standard windows environment QTP serene is divided in to 5 parts
  1. Test pane area
  2. Active Screen
  3. Data table
  4. Debug weaver pane
  5. Tool option

1.    Test pane: – It is an area provided by QTP used for viewing the text script. It also allows the user to do any kind of modifications on the text script.
Test pane represents the script in 2 ways.
·      Expert View
·      Keyword View

  1. Expert View: – Expert view represents the script in vb script format.
  2. Keyword View: – It is represents the script using a graphical user interface which is divided in to 4 Parts.
  • Item
  • Operation
  • Value
  • Documentation
2.    Active screen: –It is a feature provided by QTP which holds the snap shots of application state of each and every script statement.
Features:–
It is used for understand the script easily.
It is used for enhancing the script easily.

3.     Data Table: – It is also called as formula one sheet developed by the 3rd party and integrated with the QTP.
Features:–
- It is used for holding the test data.
- It provides a facility to import the test data from different data sources like database, excel sheet or flat file.
- It allows the user to enter the data and modify the data directly in it.
- It isolates the text script from the data source.

QTP maintain 2 copies of data tables
·         Design time datatable
·         Run time datatable

4.    Debug Viewer pane: – It is used for viewing, modifying, or setting the current values of the variables and command tabs.

5.    Too potion: – The options that are available in menu bars and tools are known as tool options.

Recording and running
Record and run settings:– It is a feature provided by QTP used for making the QTP aware on which applications a test engineer is about to perform record and run operations.

A test engineer has to compulsorily use this option for every new test. For doing the same this feature has provided 2 Options.
·         Record and run on any open windows application
·         Record and run on these applications
Navigations
  • Activate the menu item test
  • Select the option record and run settings
  • Select one of the following action
  • Record and run on any open windows application
  • Record and run on these applications
  • If at all the second option is selected click on add button
  • Browse the desire file to be added
  • Click on ok
  • Click on apply and ok.
Operational Overview of recording: During recording the QTP will be doing the following things.
·         Every user action is converted in to script statement
·         The corresponding object information is stored in the object repository.

Operational Overview of running:
  • QTP tries to understand the script statement
  • After understanding what action to be performed or which object is realized that it needs to identify that object.
  • In order to identify the object it needs the corresponding information.
  • For that it will go to the object repository and search for the information.
  • If at all the information is found using that information it will try to identify the object.
  • If at all the object is identified then it will perform the action
Types of Recording Modes
  1. Context sensitive recording mode: – It is used for recording the operations perform on the standard GUI objects.
  2.  Analog Recording: – It is a special recording mode provided by QTP to record the continuous actions performed on the application.
  3.  Low level recording: – It is used for recording at least minimum operations on the applications which are developed with known supported environment.
Navigation
  1. Keep the tool under normal recording mode
  2. Activate the menu item text
  3. Select the option analog recording
  4. Select one of the following actions.
  5. Record relative to the screen.
  6. Record relative to the following window.
  7. If at all the second option is selected specify the window title using the hand icon C
  8. Click on start analog record button.
OBJECT REPOSITORY
It is storage place where one can store the objects information and it also acts as a interface between the text script and the AUT in order to identify the object during execution.

Types Of Object Repository
There are 2 types of object repositories.

1. Per-Action Object Repository:–
For each and every action in a test the QTP will create and manage the individual repository.
Dis-Advantage: Difficult to maintenance

2. Shared Repository:–
It is a Common place where one can store the objects information and it can be associated to multiple tests.
Advantage: Easy to maintenance and can be used by multiple test case
Note: The shared repository has to be created manually and associated manually to the test.


If you have any quarries/feed back catch me on - knowthetesting@gmail.com 
Thank you 
Ram

Sunday, October 2, 2011

Software Test Life Cycle


Software testing life cycle identifies what test activities to carry out to accomplish quality assurance process in a software development project.

There are different kinds of software development life cycle such as Waterfall, Spiral, Agile, and many others. Software testing has its own life cycle that intersects with every stage of the SDLC either it is Waterfall, Spiral or Agile. However, SDLC varies from one to another based on size of project, test team, test in Scope/out of scope, and code release date (how frequently). So, knowledge about some of the major phase in STLC, quality assurance activities during phases and role of a tester, makes you as a tester always ready to accomplish your task with a mark. This picture describes one of widely used STLC phases.

Generally STLC for a single test cycle consists of phases:
1) Planning, 2) Analysis, 3) Design, 4) Initial Testing 5) Testing Cycles, 6) Final Testing and Implementation and 7) Post release

Planning:
      High level test plan
      Identify review process, Metrics
      Bug reporting procedures
      Acceptance criteria for QA
      schedule

Analysis Phase:
      Develop Test Case format , Validation Matrix
      Develop, and plan Test Cycles matrices and time lines
      Begin writing Test Cases based on Functional Validation matrix
      Map baseline data to test cases to business requirements
      Identify Automation, Manual and Types of testing ,
      Test environment, automation system setup.

Design:
      Test -plan(ning) review and verify.
      Review matrix (coverage).
      Continue working on Test Cases.(update, new )
      Finalize test case selection for each cycle for manual run and automation.

Initial Testing:
      Complete all plans, Test Case, scripting
      Unit test (Automated?)

Test Cycle:
      Test Cycle 1, run first set of test
      Report bugs - Triage(bug verification)- Bug fixes - Regression
      Add test cases as required
      Test Cycle 2, 3 ...

Final Testing and Implementation:
      Code Freeze
      Run Test cases for including performance level .
      Communicate defect tracking metrics.
      Regression
      Documents.

Post Release:
      Evaluation meeting - lesson learned
      Prepare final Defect Report and metrics. Develop strategies to prevent similar problems in future project.
      Milestones for improvements
      Environment clean-up, clean (tag and archive tests and data for that release) restore test machines to baseline for next test cycle.

Final summary:
What is testing?
Testing is the process of showing the presence of defects. Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies specified requirements, or to identify differences between expected and actual results

Process of testing:
Testing = Verification + Validation
      Verification: building the product right.
      Validation: building the right product.
      A broad and continuous activity throughout the software life cycle.
      An information gathering activity to enable the evaluation of our work, e.g.
      Does it meet the users requirements?
      What are the limitations?
      What are the risks of releasing it.

Software Testing Life Cycle
Phase
Activities
Outcome
Planning
Create high level test plan
Test plan, Refined Specification

Analysis
Create detailed test plan, Functional Validation Matrix, test cases
Revised Test Plan, Functional validation matrix, test cases
Design
test cases are revised; select
which test cases to automate
revised test cases, test data
sets, sets, risk assessment
sheet

Construction
scripting of test cases to
automate,
test procedures/Scripts,
Drivers, test results,
Bugreports.
Testing ycles
complete testing cycles
Test results, Bug Reports
Functional Testing
execute remaining stress and
performance tests, complete
documentation
Test results and different
metrics on test efforts

Post Implementation
Evaluate testing processes
Plan for improvement of
testing process.


If you have any queries/feed back catch me on - knowthetesting@gmail.com 
Thank you 
Ram