Keyword Driven Testing
Transcript of Keyword Driven Testing
![Page 1: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/1.jpg)
© 2015 Maveryx srl.
All rights reserved.
Keyword-Driven Testing
![Page 2: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/2.jpg)
� What is Keyword-Driven Testing
� How to Create Keyword-Driven Tests
� Keyword-Driven Testing by examples
Overview
![Page 3: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/3.jpg)
Definitions of Keyword-Driven Testing
Keyword-driven testing: A scripting technique that uses data files tocontain not only test data and expected results, but also keywordsrelated to the application being tested. The keywords areinterpreted by special supporting scripts that are called by thecontrol script for the test.
[ISTQB – Glossary Standard Glossary of Terms used in Software Testing Version 2.4]
Keyword-Driven Testing is a way of describing test cases by using apredefined set of Keywords. These Keywords are names which areassociated with a set of actions that are required to perform aspecific step in a test case. By using keywords to describe test stepsinstead of natural language, test cases can be easier to understand,to maintain and to automate.
[ISO/IEC/IEEE 29119-5: Keyword-Driven Testing]
![Page 4: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/4.jpg)
What is Keyword-Driven Testing
� Keyword-driven testing, also known as table-driven testing or
action word based testing, is a software testing methodology
suitable for both manual and automated testing
� The basic idea in Keyword-Driven Testing is to provide a set of
reusable “building blocks”, referred to as Keywords, which can be
used to create manual or automated test cases without requiring
detailed knowledge of programming or test tool expertise
![Page 5: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/5.jpg)
Goals of Keyword-Driven Testing
� The final goal of Keyword-Driven Testing is to provide a
comprehensive set of keywords so that all required test cases can
be entirely composed of these keywords
![Page 6: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/6.jpg)
Keyword-Driven Testing
� In Keyword-driven testing every
(testing) action like a mouse
click, keystrokes, opening or
closing a browser or other
actions is described by a
“keyword” such as Click,
TypeText, Select, OpenBrowser,
Login, …
The actions include interactions with the User Interface,
verification, specific actions to set up a test scenario …
![Page 7: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/7.jpg)
What are Keywords
� A keyword is a synonym of a “function” (in the context
of programming languages) doing “something”
� A keyword is a defined combination of one or more
actions on a test object
� Keywords define actions that drive or get information
“from – to” test objects
![Page 8: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/8.jpg)
Keyword and Arguments
� Keywords may or may not take arguments and may or
may not return a value
� void TypeText <text> ⇒ e.g. TypeText “Hello World!”
� void StopApplication <>
� string GetText<>
� void Login<UserName , Password> ⇒ e.g. Login “Joe”,
“21Joe74.”
![Page 9: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/9.jpg)
Keywords
� Keywords are usually characterized by:
� an action-descriptive keyword name (using at least one verb)
� none, one, or more arguments
� a return value
� at a lower level, each keyword is associated with a detailed set
of actions that describes the exact steps to be performed
� for GUI applications, each keyword is associated with one (or
more) GUI objects
![Page 10: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/10.jpg)
Hierarchy of Keywords
� Keywords can refer to actions at different abstraction levels
� Low level keyword : a keyword responsible only for one
(or very few) atomic actions and is not composed from
other keywords ⇒ e.g. Click, TypeText, Select, …
� High level keyword : a keyword responsible for complex
activities, that may be composed from other keywords
⇒ e.g. OpenBrowser, Login, …
![Page 11: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/11.jpg)
Keyword-Driven Test Cases
� A keyword-driven test is a sequence of high level and low
level keywords, including the keyword arguments, as
applicable, which are composed to describe the actions
of a test case
![Page 12: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/12.jpg)
Roles in Keyword-Driven Testing
� Keyword-driven testing is a testing methodology that separates
the test creation process into design and implementation stages
� It allows the involvement of additional professionals, e.g.
business analysts, in the test (automation) process
� Business analysts / testers will only work with keywords and test data
� Specialized test automation programmers will implement each of the
keywords
![Page 13: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/13.jpg)
Keyword-Driven Automation
� A test automation approach where test data and also keywords
instructing how to use the data are read from an external data
source
� Each keyword needs to be associated with at least one command,
test script or function, which implement the actions associated
with that keyword
� When test cases are executed keywords are interpreted by a test
library which is called by a test automation framework
![Page 14: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/14.jpg)
Keyword-Driven Automation
![Page 15: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/15.jpg)
Keyword-Driven Automation
� A Keyword-Driven Testing framework for automated test execution shall :
1. Parse the test case / file
2. Interpret the sequence of keywords. For each keyword :
Call the respective command / script / function, which execute the actions related with the keyword
3. Provide execution results at the keyword level
![Page 16: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/16.jpg)
Pros & Cons
Advantages of Keyword-driven testing /1
� Test cases become clear and understandable
� Concise, readable, maintainable (easy to modify) …
� Tests can be developed without programming knowledge
� Not dependent on a specific tool or programming language
![Page 17: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/17.jpg)
Pros & Cons
Advantages of Keyword-driven testing /2
� Tests can be developed earlier in the software development
life cycle even before the application is delivered for testing
� by using existing keyword libraries
� by defining new keywords
� High degree of reusability
� New test cases can reuse existing keywords
![Page 18: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/18.jpg)
Pros & Cons
Disadvantages of Keyword-driven testing
� High initial investment : developing the keywords and its related
functionalities might take longer
� Personnel has to be trained to use keywords for test case
specification
� Moderately high learning curve initially
� Require knowledge of meta-languages
![Page 19: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/19.jpg)
Pros & Cons
Disadvantages of Keyword-driven testing
� Difficult to implement the framework
� Significant upfront investment for the design and
implementation of the framework
� High automation expertise required
� Keyword limitations restrict the complexity of test cases
� …
![Page 20: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/20.jpg)
How to Create Keyword-Driven Tests
Major activities involved in Keyword driven Testing:
1. Identifying keywords (low level ⇒ high level)
2. Implementing the keywords as executables
3. Composing test cases
4. Creating the driver scripts
5. Executing the automation test scripts
![Page 21: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/21.jpg)
The example application
![Page 22: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/22.jpg)
The Test Tool – Maveryx
Maveryx is a
professional, test
automation tool for
functional and
regression testing of
Java™ & Android™
applications.
![Page 23: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/23.jpg)
The Test Case
Test Case
1. Enter username
2. Enter Password
3. Click "Login" button
4. Check the results
5. Click “OK" button
![Page 24: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/24.jpg)
Keyword-Driven Testing Step #1
1. Identifying keywords
2. Implementing the
keywords
3. Composing test cases
4. Creating the driver
scripts
5. Executing the
automation test scripts
Test Case
1. Enter username
2. Enter Password
3. Click "Login"
button
4. Check the results
5. Click “OK" button
Keyword
1. Set_Text
2. Click
3. Has_Text
![Page 25: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/25.jpg)
Keyword-Driven Testing Step #2
1. Identifying keywords
2. Implementing the
keywords
3. Composing test cases
4. Creating the driver
scripts
5. Executing the
automation test scripts
![Page 26: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/26.jpg)
Keyword-Driven Testing Step #3
1. Identifying keywords
2. Implementing the
keywords
3. Composing test cases
4. Creating the driver
scripts
5. Executing the
automation test scripts
Test Case
1. Enter username
2. Enter Password
3. Click "Login" button
4. Check the results
5. Click “OK" button
![Page 27: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/27.jpg)
Anatomy of the test case
![Page 28: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/28.jpg)
Keyword-Driven Testing Step #4
1. Identifying keywords
2. Implementing the
keywords
3. Composing test cases
4. Creating the driver
scripts
5. Executing the
automation test scripts
![Page 29: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/29.jpg)
Keyword-Driven Testing Step #5
1. Identifying keywords
2. Implementing the
keywords
3. Composing test cases
4. Creating the driver
scripts
5. Executing the
automation test scripts
![Page 30: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/30.jpg)
Keyword + Data Driven
${file path} {testdata name} {data id}
![Page 31: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/31.jpg)
High Level Keywords
Keyword implementation
![Page 32: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/32.jpg)
Lessons Learned
1. Keyword-Driven Testing is a software testing methodology
that uses keywords (or action words) to symbolize a
functionality to be tested
2. A keyword is defined as the set of actions that must be
performed during the execution of one or more test cases
![Page 33: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/33.jpg)
Lessons Learned
3. Keywords can refer to actions at different abstraction levels
Low level keyword → High level keyword
4. With Maveryx you can separate much of the programming
work of test automation from the actual test design
![Page 34: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/34.jpg)
© 2015 Maveryx srl.
All rights reserved.
About Maveryx…
![Page 35: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/35.jpg)
Maveryx is a professional, award-winning test automation tool for
functional and regression testing of Java™ & Android™ applications.
Maveryx provides testers with automated testing capabilities for
functional, regression, GUI, Keyword-driven and keyword-driven
testing.
Maveryx
![Page 36: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/36.jpg)
� No GUI Maps
� Intelligent Objects Recognition
� Keyword-driven testing
� Keyword-driven Testing
� Assertion-based CheckPoints
� Distributed testing
� Single tool for Java & Android
� Standard Test Logging
� Built on Java & JUnit
� Advanced Test API
� Test Data Generation Tool
� Extension plugins
� Eclipse plugin
� Android ADT plugin
� …
Key Features
© 2014 Maveryx srl.
All rights reserved.
![Page 37: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/37.jpg)
No GUI Maps
No Recording. No Object Spy. No Object Maps. Nothing.
o No GUI MAP needed to create and run the test scripts
o No Object Repository to learn & maintain, maintain, maintain…
o No pre-recording or screen capture
o Independent of screen coordinates and resolutions
⇒ Test scripts immediately executable!
![Page 38: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/38.jpg)
o A.I. Artificial Intelligence. Advanced Searching Algorithms to identify
UI objects directly at runtime during test execution, like humans do..
o Automatically accommodate UI changes without changing the scripts
o “Geolocation” of objects in the User Interface (TOP, BOTTOM, LEFT, RIGHT, UP,
DOWN, NEAR-TO …)
Intelligent Objects Recognition
© 2014 Maveryx srl.
All rights reserved.
TOP
BOTTOM
L
E
F
T
R
I
G
H
T
CENTER
![Page 39: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/39.jpg)
o Code-free Keyword-driven Testing
o Keyword testing driven from Excel™ sheets and XML files
o No coding required ⇒ short time to implement test scripts
o Keyword-driven testing
o Dedicated scripting API for Keyword-driven testing
o Varying set of data sources : Excel™ sheets , CSV & XML files
Codeless Test Automation
© 2014 Maveryx srl.
All rights reserved.
![Page 40: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/40.jpg)
© 2014 Maveryx srl.
All rights reserved.
“One Script” Technology
Write Once, Run Many. Maveryx allows
creating scripts that can be run without
modification against any Android apps,
as well as Java desktop applications on
all platforms.
![Page 41: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/41.jpg)
o Tests can be executed on Android Virtual Devices (AVDs) or Real
Devices ⇒No Rooting!
o devices connected to the local PC [via USB cable or Wi-Fi]
o devices connected remotely to a mobile device lab
o Support for all versions of Android
o Support for almost all UI Elements
o …
© 2014 Maveryx srl.
All rights reserved.
Mobile Testing
![Page 42: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/42.jpg)
The industry like us
Winner.
© 2014 Maveryx srl.
All rights reserved.
![Page 43: Keyword Driven Testing](https://reader038.fdocuments.in/reader038/viewer/2022110311/55b6e3ccbb61eb7e268b4952/html5/thumbnails/43.jpg)
Useful Links
o Maveryx – http://www.maveryx.com
o User guide – http://www.maveryx.com/en/support/learn-
more/user-documentation.html
o Forum – http://www.maveryx.com/en/forum/index.html
o Training – http://www.maveryx.com/en/services/training.html