The document discusses manual testing versus automation testing. It defines the two types of testing and provides examples. Manual testing involves human interaction, while automation testing uses third-party tools. The document outlines advantages and disadvantages of both approaches. It then discusses different automation tools, including functional testing tools, test management tools, and performance tools. QuickTest Professional (QTP) is provided as an example of a functional testing tool. The architecture and features of QTP are explained in detail.
2. WAYS OF TESTING
Software testing will be divided into two different
types.
1. Manual Testing.
2. Automation Testing.
3. DEFINITIONS
MANUAL TESTING: Performing testing on the
Software application with the human interaction is
called Manual Testing.
AUTOMATION TESTING: Performing testing on the
Software application with the help of some third party
tool is called Automation Testing.
4. DRAW BACKS OF MANUAL TESTING
1. Time consuming.
2. No accuracy.
3. Tiredness.
4. Simultaneous actions are almost impossible.
5. Cannot repeat the same task again and again with
the same interest.
5. ADVANTAGES OF AUTOMATION
TESTING
1. Repeatable and Reusable.
2. Time saving.
3. Accuracy.
4. Reduce the Man Power.
5. Reduce the production defects.
6. DISADVANTAGES OF AUTOMATION
TESTING
1. License of the tools are high.
2. Lack of Technical knowledge or Resources.
3. All the applications are not supporting for
Automation testing or
4. We cannot able to automate all the applications.
7. TYPES OF AUTOMATED TOOLS
1. Functional Testing Tool.
2. Test Management Tool.
3. Performance Tool.
FUNCTIONAL TESTING TOOL:
A tool which we are using to validate the
functionality of the application is called Functional
Testing Tool.
Ex: Win Runner, QTP, Silk Test, Selenium, Rational
Robot etc.
8. TEST MANAGEMENT TOOL:
A tool which we are using to manage the entire testing
process like managing the requirements, managing
the test cases, executing the test cases and also
reporting the defects is called Test Management tool.
Ex: Test Director, Quality Center (QC), Bugzilla etc.
9. PERFORMANCE TOOL:
A tool which we are using to validate the performance
of the application is called Performance tool.
Ex: Load Runner, Silk Performer.
10. QUICK TEST PROFESSIONAL
1. Type of the tool: Functional, Regressional
tool.
2. Company: Introduced by Mercury Interactive
Incorporation. Right now Taken over by opentext.
3. Scripting Language: VB-Script (Default)
4. Versions: 5.5,6.5,7.0,7.6,8.0,8.2,9.0,9.1,9.2,9.5 & 10.0
11. ADVANTAGES OF QTP
1. It supports all the latest technologies like Java, .NET,
Mainframes, SAP, DWH etc.
2. QTP supports all the Data Bases like MS-Access,
SQL-Server, Oracle.
3. It supports all the operating systems except Unix &
Linux.
4. It supports Real players, Flash Players and Media
Players.
5. It supports all the browsers.
12. When to start Automation Testing?
We are starting Automation Testing only after
completion of one cycle of Manual Testing. Because for
starting Automation Process application should be
available and that should be in a stable position.
CYCLE: When ever we complete all the manual test
cases execution for one time is called one cycle.
13. AUTOMATION TESTING PROCESS
The process to complete Automation Testing.
1. Identify the Test Cases for Automation
2. Recording
3. Editing
4. Run the scripts
5. Analyze the results
6. Defect Reporting
14. ADD-IN MANAGER
Add-Ins are nothing but the licenses to work on the
particular technology.
There are 3 default Add-Ins in QTP.
1. Activex
2. Visual Basic
3. Web
15. QTP ARCHITECHTURE
1. Test Pane
- Expert View
- Keyword View
2. Active Screen Area
3. Data Table
4. Debug Viewer Pane
5. Information Pane
6. Missing Resources Pane
7. Tool Options
16. VB SCRIPTING FOR WINDOWS
APPLICATIONS
Syntax:
in which window. what Object. What Operation
1. WINDOW - Window(“Window Name”).Activate
2. BUTTON - WinButton(“Button Name”).Click
3. EDIT - WinEdit(“Editbox Name”).Set “Value”
4. COMBOBOX - WinComboBox(“Combobox Name”).
Select Value”
5. CHECKBOX - WinCheckbox(“Checkbox Name”).Set
“ON/OFF”
6. RADIO BUTTON - WinRadioButton(“RadioButtonName”).
Set
7. DIALOG - Dialog(“Dialog Name”).Activate
8. MENU - Menu(“Menu Name”).Select “Path”
17. VB SCRIPTING FOR WEB
APPLICATIONS
Syntax:
In which browser. What page. What Frame/Table. What object. What operation
1. BROWSER - Browser(“Browser Name”)
2. PAGE - Page(“Page Name”)
3. TABLE - WebTable(“Table Name”)
4. FRAME - Frame(“Frame Name”)
5. BUTTON - WebButton(“Button Name”).Click
6. EDIT - WebEdit(“EditBox Name”).Set “Value”
7. CHECK BOX - WebCheckBox(“CheckBox Name”).Set
“ON/OFF”
8. RADIO BUTTON - WebRadioButton(“RadioButton Name”).Set
9. LIST BOX - WebList(“ListBox Name”).Select “Value”
10. DIALOG - Dialog(“Dialog Name”).Activate
11. LINK - Link(“Link Name”).Click
12. IMAGE - Image(“Image Name”).Click
18. RECORDING MODES
There are 3 Recording Modes.
1. Normal/Context Sensitive Recording Mode.
2. Analog Recording Mode.
3. Low Level Recording Mode.
19. OBJECT REPOSITORY (OR)
• Object Repository is a storage place where we can store
the objects information.
• It is the interface between the tool and the application.
• During recording mode whatever the activities we are
performing on application tool will generate one line
of VB scripting for one operation.
• And also tool will be adding or recording objects into
Object Repository along with some properties and
values.
20. • During execution time tool will compare the object
repository object properties and values with
application object properties and values.
• If both are matching tool can bale to execute that
object, if both are mismatching tool will throw an
error message.
• During the execution time if the objects are not
available in Object Repository or if object repository
properties and values are mismatching with
application properties and values tool cannot be able
to execute test script.
21. LOCAL REPOSITORY
• Local Repository is the repository which we can use it
only for one test script in QTP.
• This is the default repository in QTP, that means
whenever we are adding the objects or recording the
objects tool will be adding those objects as a local
repository.
• The extension for Local Repository is “.mtr”
• .mtr -- Mercury Test Repository.
-- Modular Test Repository.
22. SHARED REPOSITORY
Shared repositories need to be created manually.
Once created shared repository can be associated to
any number of actions present in multiple tests i.e.
script files.
The extension for Shared Repository is “.tsr”
.tsr -- Test Script Repository.
-- Test Shared Repository.
23. ASSOCIATING SHARED REPOSITORY
Once we prepare the shared repository and if we want
to use that shared repository for other test scripts we
need to associate the shared repository with QTP.
24. OPERATIONS ON OR
1. Adding the objects into the OR.
2. Deleting the object from OR.
3. Renaming an Object in OR.
4. Updating the properties list.
5. Deleting the properties from the properties list.
6. Updating the properties values.
7. Highlighting the object.
8. Locate in repository.
25. OBJECT REPOSITORIES MERGING
By using this option we can merge the multiple
repositories and making it as a single repository file.
We can merge the repository files only in the Object
Repository Manager in QTP.
At a time we can able to merge two repository files and
make it as a single repository file.
26. RECOGNIZING OBJECTS
How Quick test recognizes objects.
For each object class , QTP has a default set of properties
that it always learn.
1. Mandatory properties
2. Assistive properties
3. Ordinal identifier
Usually only a few properties are needed to uniquely
identify an object.
27. OBJECT SPY
Object Spy is a handy feature provided by QTP which
is used for showing the complete objects information
like,
List of properties and values
List of methods
Syntax of the methods
Description of the methods
then and there immediately.
28. TYPES OF OBJECTS
There are 2 types of objects.
1. Run time objects
2. Test Object
RUNTIME OBJECT: All the original objects present in
the application can be considered as Run time
objects.
TEST OBJECTS: The reference objects of the original
objects stored in the OR are known as test objects.
29. CHECK POINTS
Check points in QTP are used to perform validations.
Check point is defined as a validation point or test
point which is used for checking something during the
execution at any point of time.
30. TYPES OF CHECK POINTS
1. Standard check point
2. Bit Map check point
3. Text check point
4. Text area check point
5. Data base check point
6. XML check point
7. Page check point
8. Table check point
9. Image check point
10. Accessibility check point
31. 1. STANDARD CHECK POINT :
Standard check point is used for checking the
standard GUI objects properties and values.
2. BITMAP CHECK POINT:
Bitmap check point is used for checking the
complete Bitmap or a part of Bitmap.
32. 3. TEXT CHECK POINT:
Text check point is used for checking the text
present on the specified object.
4. TEXT AREA CHECK POINT:
Text area check point is used for checking the text
present in a specified area.
33. 5. DATA BASE CHECK POINT:
Data base check point is used for checking the
contents of the data base.
6. XML CHECK POINT:
XML check point is used for checking the contents of
the XML file.
34. 7. PAGE CHECK POINT:
Page check point is used for checking the properties of
the page.
8. TABLE CHECK POINT:
Table check point is used for checking the
contents of the web table.
35. 9. IMAGE CHECK POINT:
Image check point is used for checking the properties
of an image.
10. ACCESSIBILITY CHECK POINT:
Accessibility check point is used for checking
whether the page is developed according to the w3c i.e.
world wide web standards or not.
36. SYNCHRONIZATION
Synchronization is a process of matching the speeds of
both the tool and the application in order to keep
them in synch with each other to obtain the proper
testing results.
Here the main concept is making the tool to wait till
application finishes its work.
37. Synchronization can be performed in 3 ways.
1. Inserting the synchronization point.
2. Increasing the default time.
3. Inserting the wait statement.
38. Inserting the synchronization point directly into the
script.
Syntax:
Object hierarchy. Wait property “property name”,
”property value”, extra time in milli seconds
Ex: Window(“Flight Reservation”).WinButton(“Delete
Order”). Wait property “enabled”, True,10000
39. MEASURING TRANSACTION
Measuring transaction is a concept provided by
QTP which is used for calculating the time taken
by an application to perform the specific task (or)
The execution time of a block of script statement.
To do the same QTP has provided two options.
1. Start Transaction
2. End Transaction
40. UTILITY STATEMETNS
• QTP has provided some utility statements for
performing some regular operations.
1. System Util
2. Reporter
41. 1. System util
System utility object is mainly used for invoking the applications
with the support of run method.
systemutil.Run “Path”
2. Reporter
Reporter utility object is used for adding some additional steps to
the result window with the support of Report event method.
Reporter.ReportEvent status, "Report Method", "Details of Messages”
Ex: Reporter.ReportEvent 2,”My Rep”, “add operation is successful”
42. RECOVERY SCENARIOS
During the execution some times QTP may face some
problematic situations where in it need to recover by
itself.
To do the same it requires a solution which need to be
defined and made it available to the corresponding
test by the test engineer well in advance before the
execution starts.
43. QTP may face 4 types of problematic situations.
1. Problems related to Pop up windows.
2. Problems related to Object state.
3. Problems related to Test Script execution.
4. Problems related to Application crash.
44. To define the solutions for the above said problems
QTP has provided 4 trigger events.
1. Pop Up Windows.
2. Object State.
3. Test Run Error.
4. Application Crash.
45. BATCH TESTING OR BATCH
EXECUTION
Batch Testing is a process of executing the group of tests
at a time.
To do the same QTP has provided a special tool by name
test batch runner.
Using the Test Batch Runner we can create the batch
files and execute.
46. ACTIONS
Action is defined as set of instructions to perform a specific
task.
TYPES OF ACTIONS
There are 2 types of Actions.
1. Normal Actions.
2. Reusable Actions.
The Reusable Actions are called in other tests known as
External Actions.
External Actions are non editable.
48. GETTOPROPERTY
Gettoproperty:
Gettoproperty is used for getting the test object property and
values.
Syntax:
Var=object heirarchy.gettoproperty (“Property Name”)
Test object properties means the properties that are learnt
during the learning time and stored either in the OR or
secret place.
49. SETTOPROPERTY
Settoproperty:
Settoproperty is used for setting the test objects
properties value, temporarily dynamically through
scripting.
Syntax:
Object heirarchy.settopropery “Property Name”,
“Property Value”
50. FRAME WORKS
Frame works are set of defined rules for Automating a
testing process.
It could be said as Automation test approach.
51. TYPES OF FRAME WORK
1. Linear Frame Work.
2. Modular Frame Work.
3. Key Word Driven Frame Work.
4. Hybrid Frame Work.
5. Data Driven Frame Work.
52. LINEAR FRAME WORK
Recording
Enhancement
Playback
Here you create scenarios, do recording based on
scenarios, enhancement is done for verification and
playback for execution.
53. MODULAR FRAME WORK
Here the actions are declared as user defined
functions.
These functions are called wherever needed.
54. DATA DRIVEN FRAME WORK
Here an external Database is maintained for passing
values to the actions in QTP.
Values are completely passed only through this data
sets.
55. KEYWORD DRIVEN FRAME WORK
Using the manually entered table that defines test
object, operation, data and description, VB scripts are
automatically generated by QTP.
56. HYBRID FRAME WORK
Mix of any of the above frame works are classed as
Hybrid.
Depending on the complexity of the application, mixes
are chosen.
57. DESCRIPTIVE PROGRAMMING
Descriptive programming is a concept of execution of
scripts without the reference of object repository.
If the objects description is described inside the
program itself then it is known as Descriptive
programming.
Entering programmatic descriptions directly into the
statements is known as Descriptive programming.
58. EXAMPLES
Descriptive Program for Logging into the Flight
application.
Ex:
Dialog(“text:=Login","width:=320”).Activate
Dialog(“text:=Login”).WinEdit(“AttachedText:=AgentNam
e”).Set “Kalyan”
Dialog(“text:=Login”).WinEdit(“AttachedText:=Pass
word”).Set “Mercury”
Dialog(“text:=Login”).WinButton(“Text:=OK”).Click