Interview Questions On Automation Framework Part -I
1) What is Automation Framework?
Definition 1: A systematic approach to automate software Test process
Definition 2: A set of guidelines, assumptions and process developed by experts in order to perform a task(s) in an effective, efficient and optimized way.
2) Why Automation Framework?
In one project test automation we create and use different types of files and we perform different types of tasks, in order to organize and manage them all, a systematic approach (Automation Framework) is required.
3) What are the different types of files to be created and executed during test automation using QTP Tool?
Files to be used:
a) Flat files (.txt),
b) Excel files (.xls)
c) Object repository files (.tsr)
d) XML files (.xml)
e) Library files (.vbs/.qfl)
f) Test Scripts (.mts)
g) Test Batch Files (.mtb)
h) Recovery scenario files (.qrs)
i) Test Result file (.XML) Etc...
4) What are the different types of Automation Frameworks available in the industry?
Automation Framework is not a QTP Tool feature, it’s a 3rd party concept. And this is purely local concept.(framework may vary from one company to another and One project to another)
i) Record/Playback or Linear Framework (1st generation framework).
ii) Modular Framework.
iii) Data Driven Framework
iv) Keyword Driven framework
v) Hybrid Framework
Note: Framework names also local we can use our own names.
5) What is Record/Playback or Linear Framework?
In this approach tests can be created and executed using recording feature.
i) Easy to create and takes less time
ii) Scripting knowledge is optional
iii) Recommended for small scale projects
iv) Recommended for dynamically changing requirements
i) No centralized maintenance of test objects
ii) Low in performance due to duplicate objects
iii) Less or no concentration on complex functionality testing
iv) Less or no concentration on data driven testing
v) No centralized maintenance of resources
6) What is Modular Framework?
In this approach tests can be created and executed using reusable components.
i) Centralized maintenance of resources
ii) High in performance
iii) Modifications are easy
iv) Concentration on complex functionality testing
i) Scripting knowledge is mandatory
ii) Less or no concentration on data driven testing
iii) Takes more time to create
7) What is Data Driven Framework?
In this approach tests can be executed using multiple sets of test data
i) Positive and negative testing can be performed
ii) Checking the reliability of system (AUT)
i) Maintaining resources is difficult?
ii) Less or no concentration on complex functionality testing
8) What is Keyword Driven framework?
In this approach tests can be created and executed using keywords
9) What is Hybrid Framework?
It is a combination of 2 or more approaches
Modular framework and Data driven framework
Keyword Driven framework or Data driven framework
i) Scope is very high as we mix different approaches.
ii) Flexible for performing all types of tasks.
i) Organizing and managing resources are difficult
ii) Complex architecture.
iii) Low in performance.
10) What are the different types of Tasks to be performed during test automation?
Tasks to be performed:
a) Analyzing the application in terms of Object Identification
we have to analyze the AUT in terms of Object Identification.
Basically, QTP is an Object based test tool, here first we have to confirm
if the QTP is recognizing all the objects in our application or not.
To do this, we can follow one or more below given methods...
i) Record and playback some End to End Scenarios.
ii) Using Object Spy
iii) Using Object Repository Manager
We can segregate Software Objects in 3 categories...
i) Static Objects(Properties information is constant)
ii) Dynamic Objects(Properties info changes dynamically)
iii) Duplicate Objects(Having Similar property info.)
Note: We can handle dynamic Objects using Regular expressions and handle duplicate
Objects using "Index" property.
b) Selecting Areas/Test Cases for Automation
100% test automation is not possible, we can go for maximum automation.
Generally we select below type of Tests for Automation:
i)Tests that we have to execute on every build (Ex: Sanity Tests)
ii)Tests that we have to execute on every modified build (Ex: Regression Tests)
ii)Tests that we have to execute with multiple sets of test data.(Ex: Data Driven Tests)
iii) Tests having complex functionality
c) Planning (Effort estimation, Schedule, Work allocation and Automation Framework implementation)
After selecting some areas for Automation, we have to estimate the efforts
in terms of Scope of the Project, time and resources(Environmental and Human)
To estimate efforts, we can follow an one of the below given methods:
i) Using Expert based techniques.
ii)Experienced based techniques.
iii) Function point analysis.
1) Identifying End to End Scenarios.
2) Identifying verification points.
3) Identifying General and Alternate Flows.
4) Identifying the modularity.
5) Identifying the complex functionality.
d) Creating Generic and project specific functions.
e) Creating required Automation resources(Functions, Object repository Files, Environment variable files---etc)
f) Creating Tests(Using Object Repository or Descriptive Programming)
g) Enhancing Tests(Inserting Checkpoints, Output Values, Transaction points, Flow Control Statements, Synchronization, Parametrization---etc )
h) Debugging and running tests(Individual test execution, Test Batch execution --etc)
i) Defining and exporting test results
j) Analyzing results
k) Defect Reporting using Our Company defect management system.
l) Modifying resources and tests (if required)
m) Performing Re and regression testing
n) Maintaining Automation Resources
11) What is Keyword Driven Approach?
In this approach keywords can be used for creating and executing tests.
12) What is keyword?
Any word used as the key to a code
A reserved word used to identify a specific command or function or method or statement or operator or object etc.
13) What are the important keywords that we use in QTP?
a) Test Objects (EX: Browser, page, webEdit, WinButton---etc)
b) Functions (Built-In and User defined)
c) Methods (Ex: Set, Select, Activate, Navigate---etc)
d) Statements (EX:Dim ,If, For, Exit, wait, option explicit ---etc)
e) Operators (EX: +,/,*,and, or, not---etc)
14) What are the Key elements of Automation Framework?
i) Well defined folder structure
ii) Initialization script
iii) Driver script
iv) Organizer spreadsheet
v) Process guidelines document
15) What is folder structure?
In order to create, store, organize and manage files, a well defined folder structure is required. Folder structure is a mandatory element of any framework, but folder names may vary from one framework to another and company to another.
16) Give an example for Folder structure?
1. Initialization script (.vbs file)