kenexa framework mcgat

25
©Copyright Kenexa ® 2004 1 MCGAT Framework Core QA Team 21 th March 2008

Upload: rajen2cool

Post on 13-Nov-2014

131 views

Category:

Documents


0 download

DESCRIPTION

Kenexa Framework MCGAT

TRANSCRIPT

Page 1: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

1

MCGAT Framework

Core QA Team21th March 2008

Page 2: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

2

Agenda

MCGAT Framework MCGAT Framework Benefits Design Approach of Test Automation MCGAT Framework folder structure Descriptive Programming Naming standards for MCGAT Framework How to implement MCGAT Framework Comparison of MCGAT Framework over Kenexa’s

Existing Framework Test Automation Team MCGAT Framework maturity model

Page 3: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

3

MCGAT Framework

• MCGAT Framework is a Modularly Connected Graphical User Interface Automation Framework in which it connects the modules and drives through an Engine.

• MCGAT Framework allows clear delineation of the responsibilities and skill sets between End Users and Test Automation developers– Automation developers define Scenarios and create scripts.– End Users create automated test cases using automated

components as building blocks

Page 4: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

Why we go for Automation Framework?

a) Normal Automation can be done for an Applications when it attains a stable state because the object properties, Functionality wont change in future.

where as Frame work Automation can be done on an Application which is not stable in the Functionality nor Object properties keeps changing all the times.

b) Normal Automation can be done for an Application where customization doesn't come into picture.

Where as Frame work Automation can be done for customization is implemented

in the Application.

c) Normal Automation can be done for an Application where the Synchronization timings wont change. Where as Frame work Automation can be done for an Application where the synchronization timings change all the time.

4

Page 5: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

How can we Automated an Un stable Application ?

• By maintaining all the object properties like (name,innertext,HTML ID etc) which will be an unique identifier in separate file (i.e. Notepad,.vbs file,XML) in the form of Constants. When an object properties change we will change the value in this file which will effect all the scripts. This will reduce the time for modifications of the scripts.

5

Page 6: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

How can we Automate an Customized Application?

• By dividing the entire application into module or Blocks according to there functionality and writing User defined functions for these navigations in the application. Even though the functionality changes we can change the code in the function this is also one place change that will effect entire scripts.

6

Page 7: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

7

MCGAT Framework benefits

• Automation projects get completed about 3-times faster• SME/Test Engineers do not need to know how to use QTP or

WinRunner.• Automation developers do not need detailed application knowledge.• Lower maintenance costs.• Robustness• Data Driven Test cases• Ease of Use• Extendable & Expandable• Reduction in Maintenance effort• Consistency in Implementation

Page 8: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

Design approach of Test Automation

8

Page 9: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

9

MCGAT Framework folder Structure

Automation

Constants OR Library Scripts Engine Test Data Results RecoveryScenario

Page 10: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

10

MCGAT Framework folder Structure

Library

API’sReusableFunctions

Page 11: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

11

MCGAT Framework folder Structure

Scripts

Temp

N-Sub Folders

Page 12: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

12

MCGAT Framework folder Structure

ENGINEOR

Library

Scripts

Test Data

RecoveryScenario

Constants

Results

Page 13: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

When and Why to use Descriptive programming?• Below are some of the situations when Descriptive Programming can be considered

useful:

The objects in the application are dynamic in nature and need special handling to

identify the object. The best example would be of clicking a link which changes according to the user of the application, Ex. “Logout <<UserName>>”.

When object repository is getting huge due to the no. of objects being added. If the

size of Object repository increases too much then it decreases the performance of

QTP while recognizing a object. When you don’t want to use object repository at all. Well the first question would be why not Object repository? Consider the following scenario which would help understand why not Object repository

13

Page 14: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

Continue …..

Scenario 1: Suppose we have a web application that has not been developed yet.

Now QTP for recording the script and adding the objects to repository needs the

application to be up, that would mean waiting for the application to be deployed

before we can start of with making QTP scripts. But if we know the descriptions of

the objects that will be created then we can still start off with the script writing for

testing

Scenario 2: Suppose an application has 3 navigation buttons on each and every

page. Let the buttons be “Cancel”, “Back” and “Next”. Now recording action on

these buttons would add 3 objects per page in the repository. For a 10 page flow this

would mean 30 objects which could have been represented just by using 3 objects.

So instead of adding these 30 objects to the repository we can just write 3 descriptions for the object and use it on any page. Modification to a test case is needed but the Object repository for the same is Read only or in shared mode i.e. changes may affect other scripts as well. When you want to take action on similar type of object i.e. suppose we have 20 textboxes on the page and there names are in the form txt_1, txt_2, txt_3 and so on. Now adding all 20 the Object repository would not be a good programming.

14

Page 15: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

Descriptive Programming

15

Page 16: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

Recorded Script through QTP

16

Page 17: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

17

Naming Standards of MCGAT Framework• Object Prefix Example• ---------------------------------------------------------------------• Form frm frmFileOpen• Check box chk chkReadOnly• Combo box cbo cboEnglish• Button btn btnCancel• Frame fra fraLanguage• Grid grd grdPrices• Image img imgIcon• Label lbl lblHelpMessage• List box lst lstPolicyCodes• Menu mnu mnuFileOpen• Radio button rbtn rbtnFrench• Picture box pic picDiskSpace• Text box txt txtLoginName• Timer tmr tmrShortTimer

Page 18: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

18

Naming Standards of MCGAT Framework

• Object Prefix Example• ---------------------------------------------------------------------• Class File cls clsLoginInfo.vbs• Object Repository OR OR_LoginInfo.tsr• Data File None Logininfo.xls• Class cls clsLoginInfo• String Variable s sLoginName• Integer Variable I iNumber• Double Variable dbl dblCurrency• Array arr arrProductNames• Constant None RELEASE_NAME• Recovery Scenario recs recs_Exit_App.qrs

Page 19: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

19

Test case Naming Standards of MCGAT Framework

• Each and every script should be saved with the Test case ID. Example of Test case:RC_Dashboard_1 Example of VBS file: Function RC_Dashboard_1() ………. ………. End Function

Page 20: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

20

How to implement MCGAT Framework

• Understand AUT and identify core modules• Enhance the directory structure based on identified core modules • Define application and module level constants• Build application/module related recovery scenario suite• Understand the scripts and define data structure to be used for the

test scripts and store it in data xls file• Capture Object Repository• Develop API suite for the identified modules• Write test scripts using APIs and appropriate resources (OR,

constant files, etc.)• Add data to the data xls file • Validate test scripts execution before adding them to test plan• Define test plan for test case execution based on requirements • Analyze the execution results

• .

Page 21: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

21

Comparison MCGAT Framework with Kenexa’s Framework

1.Framework and scripts are loosely coupled

2.Less effort in scripting required

3.Un interrupted execution of Test cases

4.Dynamic OR loading and Deletion at run time.

5.Application Program Interfaces

6.Reusable functions

7.Recovery scenarios

8.Reusability of scripts

9.One Place change of Variables and constants

10.Easy to track defects

11.More scope for learners

Page 22: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

22

Test Automation Team

• Test Automation Architect• Test API Developer• Test Case developer• Test Execution Engineer• Support Engineers

Page 23: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

23

MCGAT Framework maturity model

Level 1

Level 2

Level 3

Level 4

Level 5

•Record scripts and parameterize data•Tools for Test and Data Management•Definition of Test Scripts organization

•Develop scripts based on the automation framework•Data driven testcases and documentation•Institutionalization of GUI Test Automation Framework

•Data and keyword driven OO Framework based automation•Result and Metrics collection/tuning for ROI/VFI•Platform based test coverage using automation

•Sophisticated, unattended test automation based on OO Framework•Proven ROI for test automation and >80% automation achieved•Training programs for test automation and Test engineers

•Record and Playback Automation•Complex testcases/scenarios are executed manually•Minimal Organization of test scripts and test data

Page 24: Kenexa Framework MCGAT

©Copyright Kenexa® 2004

24

Page 25: Kenexa Framework MCGAT

www.kenexa.com