Blog

Keyword-driven testing methodology. Part 2

Let’s consider a very simple example to get a better idea of how KDT works. Imagine you have to test an application that adds two numbers. For the step of “defining business requirements and testing plan development,” you must determine what numbers can be put in and what interface elements might be used. Let it be positive integers. The app’s GUI has two text fields, a button and an inscription to show the result.
3 March 2015
Test automation
The article by Dmitry Tishchenko
Head of global business development at a1qa

The article was published on Computer Technology Review. Read the first part of the article here

According to the KDT approach, there are three roles in the automation testing process:

  • Test designer – creates the actual keyword-driven test cases, including pre- and post-conditions and keyword parameters. This is the role of a non-technical subject matter expert/business user.
  • Automation engineer – maintains the core framework and adapts it for any new customizations or enhancements. This is the role of a technical person who is well versed with coding and scripting language tools.
  • Test runner – serves as the continuous integration (CI) administration technician. This role does not require a purely technical person but requires understanding of what input data is needed in order for the automated script to run.

The KDT process includes the following steps:

  • Testing plan development (includes definition of automation testing keywords).
  • Automation testing scripts development.
  • Keywords implementation by automation engineer.
  • Launch of automation tests.
  • Implementation of automated tests in the regular pool (CI).

The picture below shows the different steps of the testing automation process for each of the aforementioned roles.

Let’s consider a very simple example to get a better idea of how KDT works. Imagine you have to test an application that adds two numbers. For the step of “defining business requirements and testing plan development,” you must determine what numbers can be put in and what interface elements might be used. Let it be positive integers. The app’s GUI has two text fields, a button and an inscription to show the result.

The “definition of automation testing words” step includes creation of a limited word set and the requirements for it. This step can be executed by a test designer.

We need three words possessing the following parameters:

  • “Edit”: two parameters (entry field name and entry text)
  • “Click result”: No parameters
  • “Verify”: one parameter (validation text)

The test designer describes the core of the tests – minimizing the quantity of used words. Using the KDT methodology, he/she analyzes tests on a high level. Therefore, it is easier for the test designer to identify the frequently repeated functions that should be automated for tests. As a result, the automation engineer receives a well-defined and simplified task.

For “testing scripts development,” we implement the words defined above, compose a test and input data:

  • Words implementation is a duty of the automation engineer. His/her task is to provide efficient execution of every test operation, even if the interface reacts slowly. He/she should also thoroughly validate the operation result and describe the words using “HOW TOs” for a test designer.
  • The tasks of test development and data preparation can be submitted to the test designer. He/she should provide tests for full-scale functionality coverage. To successfully fulfill this task, the test designer should understand the application requirements, choose the testing strategy and develop the cases.

The variant can be implemented by means of two test automating instruments – Robot Framework and the AutoIt plugin for robot framework.

The solution will include three tables and the code:

Whenever changes are made, everything should be verified immediately. You can apply high-level test tables to detect changes. As every keyword in KDT is used in multiple tests, it allows you to launch integration testing for already-checked keyword implementation. Thus, you can easily detect and fix all the issues caused by incorrect keyword usage.

As was mentioned, the above example is simplified, but the automation process for real-life projects is quite similar. However, with real projects involving test automation, testers handle many tasks at once. For example, before the test launch, the test runner should prepare the infrastructure and organize the multithreaded launch of automated tests, and the test designer should add information into the application database, as is shown in the picture below.

So what does all of this really mean?

To be continued… 

More Posts

Telecom trends 2024
15 April 2024,
by a1qa
5 min read
QA’s role in adopting telecom trends for 2024 
Let’s dive into the transformative trends set to redefine the telco industry in 2024 and discover QA strategies to adopt them with precision.
Cloud-based testing
Cybersecurity testing
Functional testing
General
Migration testing
Performance testing
QA trends
Quality assurance
Test automation
Enhancing Agile and DevOps processes
28 February 2024,
by a1qa
4 min read
4 actionable tips to enhance Agile and DevOps processes 
Streamlining Agile and DevOps workflows? Learn practical recommendations on how to achieve this.
Agile
General
Test automation
Navigating the future: QA trends that will define 2024. Part 1
15 January 2024,
by a1qa
4 min read
Navigating the future: QA trends that will define 2024. Part 1
Discover topical software testing trends that will shape 2024 and empower companies to smoothly implement advanced technologies.
Agile
QA trends
Quality assurance
Test automation
The year in valuable conversations: recapping 2023 a1qa’s roundtables for IT executives 
8 December 2023,
by a1qa
3 min read
The year in valuable conversations: recapping 2023 a1qa’s roundtables for IT executives 
From dissecting novel industry trends to navigating effective ways of enhancing software quality — let’s recall all a1qa’s roundtables. Join us!
Big data testing
Cybersecurity testing
Functional testing
General
Interviews
Performance testing
QA trends
Quality assurance
Test automation
Usability testing
Web app testing
na-st-awards-23
16 November 2023,
by a1qa
3 min read
a1qa shines as the finalist in three categories of the North American Software Testing Awards
a1qa is a triple finalist at the North American Software Testing Awards.
General
Quality assurance
Test automation
3 November 2023,
by a1qa
4 min read
From idea to buying: 7 testing types to make your mobile eCommerce solutions flawless
Read the article to discover 7 QA activities helping boost mobile eCommerce solutions quality and provide end users with exceptional buying experiences.
Functional testing
General
Quality assurance
Test automation
Usability testing
On the way to Web 3.0: key software testing aspects for seamless digital experiences. Part 2
12 October 2023,
by a1qa
4 min read
On the way to Web 3.0: key software testing aspects for seamless digital experiences. Part 2
Let’s analyze essential software testing checks to improve the quality of the business-critical Web 3.0 functionality.
Cybersecurity testing
Functional testing
Performance testing
Quality assurance
Test automation
Usability testing
On the way to Web 3.0: key software testing aspects for seamless digital experiences. Part 1
11 October 2023,
by a1qa
4 min read
On the way to Web 3.0: key software testing aspects for seamless digital experiences. Part 1 
In part 1 of this article, learn about the transformation to a new Internet era, Web 3.0, and its benefits for increasing operational efficiency.
General
QA trends
Quality assurance
Software lifecycle QA
Test automation
goodfirms-lists
26 September 2023,
by a1qa
2 min read
a1qa’s recognition by GoodFirms: A testament to our expertise
Delve into a1qa's recent acknowledgment by GoodFirms and explore the significance of this accolade in the sphere of software testing.
General
Performance testing
Test automation

Get in touch

Please fill in the required field.
Email address seems invalid.
Please fill in the required field.
We use cookies on our website to improve its functionality and to enhance your user experience. We also use cookies for analytics. If you continue to browse this website, we will assume you agree that we can place cookies on your device. For more details, please read our Privacy and Cookies Policy.