Abstract: Method and system for transforming a test case document to an action driven template for software testing is provided. The method (1100) includes receiving (1102) a test case document comprising a test cases, each comprising one or more test steps. The method (1100) further includes processing (1104) test case document to extract one or more individual test steps corresponding to each of the test steps in each of the test cases. Each of the individual test steps includes at least one action word. The method (1100) further includes extracting (1106) one or more action words from each of the individual test steps using a first trained machine learning model and transforming (1108) each of the individual test steps into pre-defined action driven template based on the action words. The pre-defined action driven template corresponds to an input for an action driven test automation framework for software testing.
This disclosure relates generally to software testing automation,
and more particularly relates to method and system for transforming a test
case document to an action driven template for software testing with script
less automation.
Background
[002] Typically, a test case development phase may be a crucial part
of a Software Testing Life Cycle (STLC) to create, review and rework test
cases to deliver test scripts timely. Generally, software testing automation
team develops the test scripts using libraries, Application Programming
Interfaces (APIs) or subroutines for execution in the automation framework to
meet critical, prevalent and complex requirements of customers. At the same
time, quality of the test scripts may be sustained without compromising on
test case development efforts from the software testing automation team.
However, with increase in complexity in requirements from the customers,
the test case development efforts from the software testing automation team
may also increase.
[003] There are challenges faced for executing action driven
frameworks for software testing. Such challenges may include nonproficiency of developers in tool-based programming language, inability of the
developers to transform complex test steps into simplified forms and lack of
semantic understanding of test steps. Further, the software testing
automation team may be unaware of action word repository for executing
action driven frameworks, lack of scripting/programming skills to create test
scripts, and lack of customization to products/solutions on different domains.
The challenges may increase the cost of script development and on time
delivery.
Docket No: IIP-HCL-P0043
-3-
[004] Accordingly, there is a need for method and AI based system
for transforming test case documents to an action driven template for
software testing without developing test scripts.
SUMMARY
[005] In an embodiment, a method for transforming a test case
document to an action driven template for software testing is disclosed. The
method comprises receiving a test case document comprising a plurality of
test cases, each further comprising one or more test steps. The method
further comprises processing the test case document to extract one or more
individual test steps corresponding to each of the one or more test steps in
each of the plurality of test cases. Each of the one or more individual test
steps includes at least one action word. The method further comprises
extracting one or more action words from the each of the one or more
individual test steps, using a first trained machine learning model. The
method further comprises transforming each of the one or more individual
test steps into a pre-defined action driven template based on the one or more
action words, wherein the pre-defined action driven template corresponds to
an input for an action driven test automation framework for software testing.
[006] In an embodiment, a system for transforming a test case
document to an action driven template for software testing is disclosed. The
system may include a processor and a memory communicatively coupled to
the processor. The memory may be configured to store processor-executable
instructions. The processor-executable instructions, on execution, cause the
processor to receive a test case document comprising a plurality of test
cases, each further comprising one or more test steps. The processor
instructions further cause the processor to process the test case document
to extract one or more individual test steps corresponding to each of the one
or more test steps in each of the plurality of test cases, wherein each of the
one or more individual test steps includes at least one action word. The
processor instructions further cause the processor to extract one or more
Docket No: IIP-HCL-P0043
-4-
action words from the each of the one or more individual test steps, using a
first trained machine learning model. The processor instructions further cause
the processor to transform each of the one or more individual test steps into
a pre-defined action driven template based on the one or more action words,
wherein the pre-defined action driven template corresponds to an input for an
action driven test automation framework for software testing.
[007] It is to be understood that both the foregoing general description
and the following detailed description are exemplary and explanatory only
and are not restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[008] The accompanying drawings, which are incorporated in and
constitute a part of this disclosure, illustrate exemplary embodiments and,
together with the description, serve to explain the disclosed principles.
[009] FIG. 1 is a block diagram that illustrates an environment for AI
based test automation system for transforming a test case document to an
action driven template for software testing, in accordance with an
embodiment of the disclosure.
[010] FIG. 2 is a block diagram of a Software Testing Life Cycle
(STLC) for conventional software testing using script generation, in
accordance with an embodiment.
[011] FIG. 3A illustrates a Software Testing Life Cycle (STLC) for
software testing by AI based test automation system without using script
generation, in accordance with an embodiment of the disclosure.
[012] FIG. 3B is a tabular representation for a test case document, in
accordance with an embodiment.
[013] FIG. 4 is a block diagram of an exemplary AI based test
automation system for transforming a test case document to an action driven
template for software testing, in accordance with an embodiment of the
disclosure.
Docket No: IIP-HCL-P0043
-5-
[014] FIG. 5 is a block diagram that illustrates exemplary operations
for transforming a test case document to an action driven template for
software testing in accordance with an embodiment of the disclosure.
[015] FIG. 6A - 6C illustrate segmentation of compound test steps
using AI based test automation system in accordance with an embodiment of
the disclosure.
[016] FIG. 7A - 7B illustrate tabular representations 700A and 700B
for sample test case document and processed output as a pre-defined action
driven template, in accordance with an embodiment of the disclosure.
[017] FIG. 8A - 8B illustrate tabular representations 800A and 800B
for sample test case document with grouped test steps and processed output
as a pre-defined action driven template, in accordance with an embodiment
of the disclosure.
[018] FIG. 9A – 9D illustrate tabular representations 900A to 900D for
sample test case document with recurring test steps and processed output
as a pre-defined action driven template, in accordance with an embodiment
of the disclosure.
[019] FIG. 10A – 10B illustrate tabular representations 1000A to
1000B for sample test case document with conditional test steps and
processed output as a pre-defined action driven template respectively, in
accordance with an embodiment of the disclosure.
[020] FIG. 11 is a flowchart that illustrates an exemplary method for
transforming a test case document to a pre-defined action driven template for
software testing, in accordance with an embodiment of the disclosure.
DETAILED DESCRIPTION
[021] Exemplary embodiments are described with reference to the
accompanying drawings. Wherever convenient, the same reference numbers
are used throughout the drawings to refer to the same or like parts. While
examples and features of disclosed principles are described herein,
modifications, adaptations, and other implementations are possible without
Docket No: IIP-HCL-P0043
-6-
departing from the spirit and scope of the disclosed embodiments. It is
intended that the following detailed description be considered as exemplary
only, with the true scope and spirit being indicated by the following claims.
Additional illustrative embodiments are listed below.
[022] The following described implementations may be found in the
disclosed method and system for transforming a test case document to an
action driven template for software testing using Artificial Intelligence (AI).
The disclosed system (referred as AI based test automation system) may use
a first trained machine learning model and a second trained machine learning
model. In accordance with an embodiment, the first trained machine learning
model may correspond to, but not limited to, a Named Entity Recognition
(NER) model and a Natural Language Processing (NLP) based machine
learning model. In accordance with an embodiment, the second trained
machine learning model may correspond to, but not limited to, an Association
Rule Learning (ARL) model, rule-based machine learning model and/or a
combination of the ARL model and the rule-based machine learning model.
[023] An AI based framework uses the AI based test automation
system in software testing automation to transform test case documents to
pre-defined action-driven templates. Such framework may correspond to an
action driven test automation framework where a sequence of action words
defines functions to implement a desired behavior. Generally, an external
table format may be used by the AI based test automation system to maintain
mapping of action words and functions.
[024] Exemplary aspects of the disclosure may provide the AI based
test automation system that improves software testing in terms of efficiency,
accuracy, and usability. The disclosed AI based test automation system
makes use of continuous learning through previous experience to achieve
improvement in performance through the AI. The conventional software
testing frameworks may require generation of test scripts that are difficult to
maintain. In contrast with the conventional software testing frameworks, the
disclosed system may render scripting efforts to be trivial. Consequently, the
Docket No: IIP-HCL-P0043
-7-
disclosed AI based test automation system may facilitate faster turnaround
time for test case documents to transformation.
[025] The conventional software testing frameworks may require
testers to be sufficiently skilled in scripting languages so that the testers can
write test cases in scripting language and may be costly to train the testers.
Further, creation or maintenance of test programs for complex test cases may
be time-consuming and error prone. In contrast with conventional software
testing frameworks, the disclosed AI based test automation system need not
require coding expertise for testers. The disclosed AI based test automation
system may also provide “Plug and Play” capability for standard test
automation frameworks. The disclosed AI based test automation system may
have capability to process test case documents of different file formats, such
as, but not limited to, docx, .xlsx, and pdf.
[026] FIG. 1 is a block diagram that illustrates an environment for an
AI based test automation system for transforming a test case document to an
action driven template for software testing, in accordance with an
embodiment of the disclosure. The environment 100 includes an AI based
test automation system 102, a server 104, a user device 106, and a
communication network 108. The AI based test automation system 102 may
be communicatively coupled to the server 104 and the user device 106, via
the communication network 108. A user 110 may be associated with the AI
based test automation system 102 or the user device 106.
[027] The AI based test automation system 102 may include suitable
logic, circuitry, interfaces, and/or code that may be configured to implement
an action driven test automation framework for testing a software application.
In accordance with an embodiment, the AI based test automation system 102
may host the software application. The action driven test automation
framework may include programs to interact with the software application
under test. The action driven test automation framework may also include a
library that stores commands for communicating with an interface (e.g., an
API) of the software application during the software testing.
Docket No: IIP-HCL-P0043
-8-
[028] The AI based test automation system 102 may be configured to
transform one or more individual test steps from a test case document into a
pre-defined action driven template based on one or more action words
extracted from one or more test steps. In accordance with an embodiment,
an action word may correspond to any kind of action words extracted from a
test step. Such extracted action words may be ‘Control’ type action words,
‘Control text’ type action words, and ‘Event’ type action words. In accordance
with an embodiment, an individual test step may include at least one action
word. In accordance with an embodiment, the pre-defined action driven
template may correspond to an input for an action driven test automation
framework for software testing. The AI based test automation system 102
may facilitate software testing to find faults in software and to improve the
software in terms of efficiency, accuracy, and usability. The AI based test
automation system 102 may facilitate the software testing to ensure that the
software implements a particular function correctly aligned with the
requirements of design objectives.
[029] By way of example, the AI based test automation system 102
may be implemented as a plurality of distributed cloud-based resources by
use of several technologies that are well known to those skilled in the art.
Other examples of implementation of the AI based test automation system
102 may include, but are not limited to, a web/cloud server, an application
server, a media server, and a Consumer Electronic (CE) device.
[030] The server 104 may include suitable logic, circuitry, interfaces,
and/or code that may be configured to store, maintain, and execute one or
more software platforms and programs, such as AI programs and machine
learning programs and one or more databases. The server 104 may be
configured to store a plurality of application events that occur internally during
execution of the software application under test. Application events may
include normal application data, such as, test case document data
transformed into a pre-defined action driven template for software testing.
The server 104 may include a database having a plurality of tables, partitions
Docket No: IIP-HCL-P0043
-9-
and sub-partitions. In accordance with an embodiment, the server 104 may
also store unique identity numbers (IDs) associated with one or more of test
steps of a test case, a user (such as the user 110), events associated with
the unique IDs.
[031] Although in FIG. 1, the AI based test automation system 102
and the server 104 are shown as two separate entities, this disclosure is not
so limited. Accordingly, in some embodiments, the entire functionality of the
server 104 may be included in the AI based test automation system 102,
without a deviation from scope of the disclosure.
[032] The user device 106 may include suitable logic, circuitry,
interfaces, and/or code that may be configured to provide test case
documents for transformation to the AI based test automation system 102. In
accordance with an embodiment, the user device 106 may implement the
action driven test automation framework for testing the software application.
For example, the software application may be executed on the user device
106. As another example, the user device 106 may interact with the software
application on the AI based test automation system 102 via the
communication network 108 when the software application is hosted by the
AI based test automation system 102.
[033] The functionalities of the user device 106 may be implemented
in portable devices, such as a high-speed computing device, and/or nonportable devices, such as a server. Examples of the user device 106 may
include, but are not limited to, a computing device, or a laptop. The user
device 106 and the AI based test automation system 102 are generally
disparately located.
[034] The communication network 108 may include a communication
medium through which the AI based test automation system 102, the server
104, and the user device 106 may communicate with each other. Examples
of the communication network 108 may include, but are not limited to, the
Internet, a cloud network, a Wireless Fidelity (Wi-Fi) network, a Personal Area
Network (PAN), a Local Area Network (LAN), or a Metropolitan Area Network
Docket No: IIP-HCL-P0043
-10-
(MAN). Various devices in the environment 100 may be configured to connect
to the communication network 108, in accordance with various wired and
wireless communication protocols. Examples of such wired and wireless
communication protocols may include, but are not limited to, a Transmission
Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol
(UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Zig
Bee, EDGE, IEEE 802.11, light fidelity(Li-Fi), 802.16, IEEE 802.11s, IEEE
802.11g, multi-hop communication, wireless access point (AP), device to
device communication, cellular communication protocols, and Bluetooth (BT)
communication protocols.
[035] During operation, a user associated with the user device 106
may request the action driven test automation framework implemented on the
AI based test automation system 102 to generate an automated software test
for the software application, via the communication network 108. In
accordance with an embodiment, the AI based test automation system 102
may also trigger an auto test of the software application. In response to the
request for testing the software application, the AI based test automation
system 102 may be configured to receive the test case document from the
server 104. In accordance with an embodiment, the test case document may
include a plurality of test cases and each of the plurality of test cases may
further include one or more test steps. The AI based test automation system
102 may be configured to process the test case document to extract one or
more individual test steps corresponding to each of the one or more test steps
in each of the plurality of test cases. Each of the one or more individual test
steps may include at least one action word. In accordance with an
embodiment, an action word may correspond to any kind of action words
extracted from a test step. Such extracted action words may include ‘Control’
type action words, ‘Control text’ type action words, and ‘Event’ type action
words, as described in detail for FIG. 7B.
[036] The AI based test automation system 102 may be configured to
extract one or more action words from the each of the one or more individual
Docket No: IIP-HCL-P0043
-11-
test steps, using a first trained machine learning model. The AI based test
automation system 102 may be configured to transform each of the one or
more individual test steps into a pre-defined action driven template based on
the one or more action words. The pre-defined action driven template may
correspond to an input for an action driven test automation framework for the
software testing.
[037] FIG. 2 is a block diagram of a Software Testing Life Cycle
(STLC) for conventional software testing using script generation, in
accordance with an embodiment. There is shown a block diagram 200 with a
test case document creation 202, automation framework tools and analysis
204, a test script creation 206, review and rework 208, and a test script 210.
[038] In software testing, complex software processes may be
involved leading to high costs, training efforts, and high expertise in scripting
languages. In the conventional software testing, the test automation
framework may require the test case document creation 202. The test case
document may include one or more test cases. Each of the test case may
further include one or more test steps.
[039] The automation framework tools and analysis 204 may
automate the conventional software testing through the use of scripts. The
automation framework tools and analysis 204 may require the test script
creation 206. A test script may include an external test program written by a
tester, a software developer or other user with programming knowledge. The
test script may include a static sequence of commands which are executed
to control the software application under test. For example, the test script may
control the software application under test by calling an API of the software
application and transmitting a command to simulate a response. Further, the
creation or maintenance of test scripts for complex test cases may be time
consuming and error prone. The creation of the test scripts may also involve
generation of test programs that have to be maintained by the tester.
[040] The review and rework 208 may be performed in the
conventional software testing during development of the software because
Docket No: IIP-HCL-P0043
-12-
the software application may be routinely changed on revision. Consequently,
the test script may also be changed to test the software application. However,
revisions of the test script may require the tester to change script code or
generate a new test script. To accomplish the task of revisions, the tester
should have expertise in scripting languages for the software application
under test. The test script 210 may be finalized, based on the changed script
code or generated new test script.
[041] Given that the number of manual test cases for a software may
be in thousands, generating test scripts for test automation of the software
may become an expensive part of the STLC in the conventional software
testing. The aforementioned problems of the conventional software testing in
the STLC using script generation may be addressed by using the AI based
test automation system 102 of FIG. 1.
[042] FIG. 3A illustrates an STLC for software testing by AI based test
automation system without using script generation, in accordance with an
embodiment. There is shown a block diagram 300A with a test case
document creation 302, AI based test automation system 304, review and
rework on the fly 306, and an action driven template 308. The AI based test
automation system 304 may have same functionalities as the AI based test
automation system 102 of FIG. 1.
[043] The example embodiments are directed to the AI based test
automation system 304 that does not rely on generation of a test script for
software testing. The software application under test may be tested differently
from the conventional software testing as described in FIG. 2.
[044] The AI based test automation system 304 may require the test
case document creation 202. A test case document may include one or more
test cases. Each of the test case may further include one or more test steps.
The AI based test automation system 304 may process the test case
document to extract one or more individual test steps corresponding to each
of the one or more test steps in each of the plurality of test cases. Each of the
one or more individual test steps may include at least one action word. In
Docket No: IIP-HCL-P0043
-13-
accordance with an embodiment, an action word may correspond to any kind
of action words extracted from a test step. Such extracted action words may
include ‘Control’ type action words, ‘Control text’ type action words, and
‘Event’ type action words. The AI based test automation system 304 may
extract one or more action words from the each of the one or more individual
test steps, using a first trained machine learning model. The AI based test
automation system 304 may review and rework on the fly 306 based on the
processing and extraction of action words.
[045] The AI based test automation system 304 may provide
scriptless software testing that simplifies the STLC and reduces complexity
for test projects in comparison to scripted auto testing explained in description
of FIG. 2. Further, the tester need not have scripting language expertise. As
a result, development, maintenance, and implementation of the software
under test may result in cost reduction.
[046] FIG. 3B is a tabular representation for a test case document, in
accordance with an embodiment. FIG. 3B is explained in conjunction with
elements from FIG. 1 and FIG. 3A. With reference to FIG. 3A, there is shown
a test case document 300B with one or more test steps 310, test data 312
and expected results 312.
[047] The AI based test automation system 304 may require a
dataset, such as the test case document 300B for transformation into a predefined action driven template. The test case document 300B may include a
single testcase or multiple test cases based on a test requirement. The
parameters, namely, one or more test steps 310, test data 312 and expected
results 312 of the test case document 300B may act as an input for the AI
based test automation system 102. The one or more test steps 310 may be
used for NLP operations by using the first trained machine learning model. In
accordance with an embodiment, the test case document 300B may vary in
layouts based on project guidelines.
[048] In accordance with an embodiment, test projects may use tools,
such as, but not limited to, TFS (Team Foundation Server), HP ALM
Docket No: IIP-HCL-P0043
-14-
(Application Life Cycle Management), and Test link where test case
documents (such as, the test case document 300B) are available in a
standard template with an option for download. In most cases, there may be
no common template followed for the test case documents. The test case
document 300B may support any of the file formats, such as, but not limited
to, .docx, .xlsx or .pdf.
[049] Typically, test projects may follow a single test case per
document (as shown in FIG.3B), however, in certain scenarios, multiple test
cases may be written in a single document. Test steps (such as, the test step
310) may use conjunction/preposition like “from”, “and” or “under” to create
compound test steps. For example, the test case document 300B at S. No. 3
shows “Enter the Username and Password”. The test step 318 (the
compound test step) has used “and”. Further, different types of the test case
documents may be used during development and proof of concept of the AI
based test automation system 102. In accordance with an embodiment, the
test case documents may deal with web services for News, Telecom, Ecommerce, and Enterprise Resource Planning (ERP) based applications.
[050] The AI based test automation system 304 may be configured to
parse and comprehend the test case document 300B to extract necessary
action words for execution. The AI based test automation system may capture
test step, test data and expected result column from the test case document
300B with the help of a configuration file. The configuration file may help in
retaining an actual document heading without any modification. In certain
scenarios, the AI based test automation system may detect browser
information in test case documents (for example, Open Website in the
browser www.sample.com in test step 310) and may take precedence,
otherwise the AI based test automation system 304 may add “open browser”
and “close browser” for all test case documents.
[051] FIG. 4 is a block diagram of an exemplary AI based test
automation system for transforming a test case document to an action driven
template for software testing, in accordance with an embodiment of the
Docket No: IIP-HCL-P0043
-15-
disclosure. FIG. 4 is explained in conjunction with elements from FIG. 1,
FIG.3A, and FIG. 3B.
[052] With reference to FIG. 4, there is shown a block diagram 400 of
the AI based test automation system 102. The AI based test automation
system 102 may include a processor 402, a memory 404, an input/output
(I/O) device 406, a network interface 408, an application interface 410, a
database 412, a processing module 414, an extraction module 416, and a
transformation module 418. The AI based test automation system 102 may
also include one or more machine learning models (not shown in the FIG. 4).
The processor 402 may be communicatively coupled to the memory 402, the
I/O device 406, the network interface 408, the application interface 410, the
database 412, the processing module 414, the extraction module 416, and
the transformation module 418.
[053] Computer-executable instructions may include, for example,
instructions and data configured to cause the processor 402 to perform a
certain operation or a set of operations associated with the AI based test
automation system 102. The functions or operations executed by the AI
based test automation system 102, as described in FIG. 1, may be performed
by the processor 402. In accordance with an embodiment, additionally, or
alternatively, the operations of the processor 402 are performed by various
modules, namely, the processing module 414, the extraction module 416,
and the transformation module 418.
[054] The memory 404 may include suitable logic, circuitry, and/or
interfaces that may be configured to store instructions executable by the
processor 402. Additionally, the memory 404 may be configured to store
program code of one or more machine learning models and/or the software
application that may incorporate the program code of the one or more
machine learning models. The memory 404 may be configured to store any
received data or generated data associated with storing, maintaining, and
executing the AI based test automation system 102 used for transforming a
test case document to an action driven template for software
Docket No: IIP-HCL-P0043
-16-
testing. Examples of implementation of the memory 404 may include, but are
not limited to, Random Access Memory (RAM), Read Only Memory (ROM),
Electrically Erasable Programmable Read-Only Memory (EEPROM), Hard
Disk Drive (HDD), a Solid-State Drive (SSD), a CPU cache, and/or a Secure
Digital (SD) card.
[055] The I/O device 406 may include suitable logic, circuitry, and/or
interfaces that may be configured to act as an I/O interface between a user
(such as, a tester and a software developer) and the AI based test automation
system 102. The I/O device 406 may include various input and output
devices, which may be configured to communicate with different operational
components of the AI based test automation system 102. The I/O device 406
may be configured to communicate data between the AI based test
automation system 102 and one or more of the servers 104, and the user
device 106.
[056] As described in more detail below, data received by the I/O
device 406 may include, without limitation: test case document data where a
test case document includes a plurality of test cases, each further comprising
one or more test steps, and other data compatible with the AI based test
automation system 102. Data provided by the I/O device 406 may include,
without limitation, transformed test case document data into pre-defined
action driven templates, and the like. Examples of the I/O device 406 may
include, but are not limited to, a touch screen, a keyboard, a mouse, a
joystick, a microphone, and a display screen.
[057] The network interface 408 may include suitable logic, circuitry,
interfaces, and/or code that may be configured to facilitate different
components of the AI based test automation system 102 to communicate with
other devices, such as the server 104, and the user device 106 in the
environment 100, via the communication network 108. The network interface
408 may be configured to implement known technologies to support wired or
wireless communication. Components of the network interface 408 may
include, but are not limited to an antenna, a radio frequency (RF) transceiver,
Docket No: IIP-HCL-P0043
-17-
one or more amplifiers, a tuner, one or more oscillators, a digital signal
processor, a coder-decoder (CODEC) chipset, an identity module, and/or a
local buffer.
[058] The network interface 408 may be configured to communicate
via offline and online wireless communication with networks, such as the
Internet, an Intranet, and/or a wireless network, such as a cellular telephone
network, a wireless local area network (WLAN), personal area network,
and/or a metropolitan area network (MAN). The wireless communication may
use any of a plurality of communication standards, protocols and
technologies, such as Global System for Mobile Communications (GSM),
Enhanced Data GSM Environment (EDGE), wideband code division multiple
access (W-CDMA), code division multiple access (CDMA), LTE, time division
multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (such as IEEE
802.11, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and/or any other IEEE
802.11 protocol), voice over Internet Protocol (VoIP), Wi-MAX, Internet-ofThings (IoT) technology, Machine-Type-Communication (MTC) technology, a
protocol for email, instant messaging, and/or Short Message Service (SMS).
[059] The application interface 410 may be configured as a medium
for a user (such as, the tester, a subject matter expert, and the software
developer) to interact with the AI based test automation system 102. The
application interface 410 may be configured to have a dynamic interface that
may change in accordance with preferences set by the user and configuration
of the AI based test automation system 102. In some embodiments, the
application interface 410 may correspond to a user interface of one or more
applications installed on the AI based test automation system 102. In
accordance with an embodiment, application under test may be connected to
a test framework of a software using an application-specific API layer for the
test framework. The application interface 410 may facilitate automated tests
that are a sequence of events to control the application under test through
the API layer.
Docket No: IIP-HCL-P0043
-18-
[060] The database 412 may include suitable logic, circuitry, and/or
interfaces that may be configured to store program instructions executable by
the processor 402, the processing module 414, the extraction module 416,
and the transformation module 418, operating systems, and/or applicationspecific information, such as logs and application-specific databases. The
database 412 may include a computer-readable storage media for carrying
or having computer-executable instructions or data structures stored thereon.
Such computer-readable storage media may include any available media that
may be accessed by a general-purpose or special-purpose computer, such
as the processor 402, the processing module 414, the extraction module 416,
and the transformation module 418.
[061] The database 412 may store received test case document data.
In accordance with an embodiment, the test case document data may include
one or more test case documents. A test case document may include a
plurality of test cases, each further comprising one or more test steps. In
accordance with an embodiment, the database 412 may store training data
associated with machine learning models. The database 412 may generally
be stored in the memory 404 and may be accessed for transformation of the
test case documents into a pre-defined action driven template.
[062] In accordance with an embodiment, the database 412 may
include an application persistency which stores a plurality of application
events that occur internally during an execution of a software application
under test. In accordance with an embodiment, the database 412 may store
data for instantiating application events during an automation test for software
testing.
[063] By way of example, and not limitation, the database 412 may
use computer-readable storage media that includes tangible or non-transitory
computer-readable storage media including, but not limited to, Compact Disc
Read-Only Memory (CD-ROM) or other optical disk storage, magnetic disk
storage or other magnetic storage devices (e.g., Hard-Disk Drive (HDD)),
flash memory devices (e.g., Solid State Drive (SSD), Secure Digital (SD)
Docket No: IIP-HCL-P0043
-19-
card, other solid state memory devices), or any other storage medium which
may be used to carry or store particular program code in the form of
computer-executable instructions or data structures and which may be
accessed by a general-purpose or special-purpose computer. Combinations
of the above may also be included within the scope of computer-readable
storage media.
[064] The processing module 414 may include suitable logic,
circuitry, and/or interfaces that may be configured to process the test case
document to extract one or more individual test steps corresponding to each
of the one or more test steps in each of the plurality of test cases. Each of the
one or more individual test steps may include at least one action word. In
accordance with an embodiment, an action word may correspond to any
actions extracted from a test step. Further, such extracted action words may
include ‘Control’ type action words, ‘Control text’ type action words, and
‘Event’ type action words. In accordance with an embodiment, the processing
module 414 may be configured to identify at least one of the one or more
individual test steps as a recurring individual test step. In accordance with an
embodiment, the processing module 414 may be configured to identify at
least one of the one or more individual test steps as a conditional individual
test step. The conditional individual test step may control a flow of execution
of the one or more individual test steps. In accordance with an embodiment,
the processing module 414 may be configured to identify at least one of the
one or more test steps as a compound test step, indicative of two or more
individual test steps.
[065] The extraction module 416 may include suitable logic, circuitry,
and/or interfaces that may be configured to extract one or more action words
from the each of the one or more individual test steps, using a first trained
machine learning model. In accordance with an embodiment, the first trained
machine learning model may correspond to, but not limited to, a Named Entity
Recognition (NER) model and a Natural language Processing (NLP) model.
The extraction module 416 may be configured to extract one or more
Docket No: IIP-HCL-P0043
-20-
additional action words from the each of the one or more individual test steps,
using a combination of a rule-based engine and a second trained machine
learning model. In accordance with an embodiment, the second trained
machine learning model may correspond to, but not limited to, an Association
Rule Learning (ARL) model, rule-based machine learning model and/or a
combination of the ARL model and the rule-based machine learning model.
The one or more additional action words may be different from the one or
more action words extracted by the first trained machine learning model.
[066] The transformation module 418 may include suitable logic,
circuitry, and/or interfaces that may be configured to transform the each of
the one or more individual test steps into a pre-defined action driven template
based on the one or more action words. The pre-defined action driven
template may correspond to an input for an action driven test automation
framework for software testing. In accordance with an embodiment, the
transformation module 418 may be configured to transform each of one or
more individual test steps into a pre-defined action driven template based on
the one or more additional action words.
[067] FIG. 5 is a block diagram that illustrates exemplary operations
for transforming a test case document to an action driven template for
software testing in accordance with an embodiment of the disclosure. FIG. 5
is explained in conjunction with elements from FIG. 1, FIG. 3A to FIG. 4.
[068] With reference to FIG. 5, there is shown a block diagram 500 of
exemplary operations of the AI based test automation system 502 for
transforming the test case document to a pre-defined action driven template
for software testing, as described herein. Further, there is shown input (test
case documents) 504, test step cleaning 506, segmentation model 508,
Recur algorithm 510, conditional algorithm 512, tokenization 514, an NER
model 516, an ARL model 518, extracted entity for repeat algorithm 520,
standardization 522, and output (pre-defined action driven template) 524.
[069] With reference to FIG. 5, the NER model 516 may correspond
to the first trained machine learning model and the ARL model 518 may
Docket No: IIP-HCL-P0043
-21-
correspond to the second trained machine learning model as described in
description of FIG. 1 and may be, for example, modelled on a deep neural
network architecture with multiple stages. The functions of the AI based test
automation system 502 are same as the AI based test automation system
102 and the AI based test automation system 304.
[070] The test case documents may be received by the AI based test
automation system 502 as an input from the server 104. Each of the test case
documents may include a plurality of test cases and each of the plurality of
test cases may further include one or more test steps. In accordance with an
embodiment, the test case document may further include test data and
expected results for each of the one or more test steps in each of the plurality
of test cases. The pre-defined action driven template may include a test case
identification (test case ID), an individual test step identification (individual
test step ID), a control, a control text, an event, associated test data, and
associated expected results. The AI based test automation system 502 may
support standard test case document file formats such as, but not limited to,
xlsx, .docx, .pdf or any similar format.
[071] Typically, AI frameworks for software testing may face
challenges associated with processing of test case documents (such as, the
test case documents 504) for various reasons. Such reasons may include
that the test cases documents do not have granular details on test steps and
English language may restrict the testers and/or the software developers to
write test steps in a certain style during development of the test cases that
differ from an actual order of execution. In certain scenarios, the test step
may demand complexity in writing to meet requirements of design objectives.
In certain other scenarios, the presence of conjunctions or prepositions in a
test step may require action to be transferred to all segmented phrases. The
AI based test automation system 502 may overcome the afore-mentioned
challenges by processing the test case documents 504 using the processing
module 414.
Docket No: IIP-HCL-P0043
-22-
[072] The AI based test automation system 502 may be configured to
perform the test step cleaning 506. The processing module 414 may be
configured to extract and clean the test step details from the test case
document, including test steps with conjunctions and prepositions. There are
multiple ways where multiline steps may be written by testers and software
developers. The processing module 414 may have the capability to process
the test case documents (such as the test case document 300B as shown in
FIG. 3B) in any other formats. In other words, the processing module 414
may be configured to process the test case document 504 to extract one or
more individual test steps corresponding to each of the one or more test steps
in each of the plurality of test cases. Each of the one or more individual test
steps may include at least one action word. In accordance with an
embodiment, an action word may correspond to any kind of action words
extracted from a test step. Such extracted action words may be ‘Control’ type
action words, ‘Control text’ type action words, and ‘Event’ type action words.
[073] In certain scenarios, the testers and/or the software developers
may combine and write the test steps indicative of multiple actions, referred
as compound test steps. However, an action driven test automation
framework used by the AI based test automation system 502 may execute
one individual test step at a time. Therefore, segmentation model 508 may
be used by the processing module 414 to segment a compound test step into
two or more individual test steps.
[074] In accordance with an embodiment, the processing module 414
may be configured to identify at least one of the one or more test steps as a
compound test step, indicative of two or more individual test step. The
processing module 414 may be configured to segment the compound test
step into the two or more individual test steps and to reorder the two or more
individual test steps in an order of precedence, using a trained deep learningbased segmentation model 508. In accordance with another embodiment,
Part of Speech (POS) tagger may also be used, alone or in combination, with
the segmentation model 508 for capturing the two or more action words from
Docket No: IIP-HCL-P0043
-23-
the compound test step. The two or more actions may generally indicate
presence of two or more individual test steps.
[075] The processing module 414 may be configured to identify at
least one of the one or more individual test steps as a recurring individual test
step. In accordance with an embodiment, the processing module 414 may be
configured to determine a number of times the recurring individual test step
iterates using the recur algorithm 510. This simplifies the test case creation
by reducing the number of test steps and the overall effort for the tester. The
recur algorithm 510 may be capable of handling consecutive recurring
individual test steps in the test case document 504.
[076] Therefore, the AI based test automation system 502 makes the
recurring individual test steps simple and seamless to the AI based test
automation system 502. In accordance with an embodiment, the tester may
provide a list of recurring individual test steps along with number of times they
need to recur, through the user device 106, via the communication network
108. In accordance with an embodiment, the tester may update test data from
different sources for a recurring individual test step for every iteration.
[077] The AI based test automation system 502 may be configured to
parse through the test case and select the test steps that are to be repeated.
The AI based test automation system 502 may process the selected recurring
individual test step by adding recur identification (id), iteration id to the
corresponding test step id to make the test step id unique. This helps the
tester to track every recurring individual test step along with designated test
data using a unique id marking algorithm. In accordance with an embodiment,
the AI based test automation system 502 may parse and process recurring
individual test step by varying test data sources at each stage of processing.
[078] In some cases, specific scenario may need to be executed and
validated in the test case document. Therefore, instead of creating a new test
case for every such scenario, the processing module 414 may be configured
to identify at least one of the one or more individual test steps as a conditional
individual test step. In accordance with an embodiment, the conditional
Docket No: IIP-HCL-P0043
-24-
individual test step may control a flow of execution of the one or more
individual test steps. This may help simplify the software testing. The
processing module 414 may be configured to parse through test steps and to
identify action words that indicate that the test step has a conditional phrase.
Once identified, the processing module 414 may search for the scenario
where the condition satisfies, and corresponding test steps may be
considered for processing. The selected test steps may be part of the predefined action driven template.
[079] After segmentation, tokenization 514 may separate text of the
segmented test steps (individual test steps) into smaller units called tokens.
Tokenization may be important for modeling individual test steps to obtain
tokens that are then used to prepare a vocabulary. The vocabulary may refer
to tokenized test steps that are passed as inputs to the NER model 516.
[080] NLP based text classification may be used for a wide variety of
tasks, such as, but not limited to, sentiment analysis, topic detection, and
intent identification. Unlike a general convention in NLP analysis, the
processing module 414 may be configured to process every single test step
individually than processing the entire test case document because there is
no contextual dependency between two successive test steps. Therefore,
segmenting and processing the test steps individually as individual test steps
may be more prudent than processing the compound test steps.
[081] The extraction module 416 may be configured to extract one or
more action words from the each of the one or more individual test steps,
using a first trained machine learning model (also referred as the NER model
516). The test case document may vary with given test data. Therefore,
classification may be done with the help of NER tags based on content that
groups the test data to relevant action words. For example, in a web
application testing, when the individual test step is ‘Click on Login’, then ‘Click’
may be grouped as an action word. The NER model 516 may be configured
to classify and tag action words in the individual test step. In accordance with
an embodiment, the NER model 516 may be trained as per the requirement
Docket No: IIP-HCL-P0043
-25-
of design objective. In accordance with an embodiment, POS tagger and
dependency parser may also be used by the AI based test automation system
502 to classify the text in the test individual steps.
[082] In accordance with an embodiment, the processing module 414
may be configured to retrain the NER model 516 for incorporating different
variants of the test case document. The AI based test automation system 502
may use processed test cases or any new additional test cases can be
incorporated to the training corpus, which can be then used for updating the
NER model 516. Such processed test cases or new additional test cases may
be stored in the database 412. The AI based test automation system 502 may
also keep a track of a list of action words recognized by the action driven test
automation framework. In accordance with an embodiment, the AI based test
automation system 502 may add and update the list of recognized action
words when any new action words need to be added.
[083] In accordance with an embodiment, the extraction module 416
may be configured to extract one or more additional action words from the
each of the one or more individual test steps, using a combination of a rulebased engine and a second trained machine learning model (also referred as
the ARL model 518). The one or more additional action words may be
different from the one or more action words extracted by the first trained
machine learning model (the NER model 516). In accordance with an
embodiment, the NER model 516 outputs the classified data. The classified
data from the NER model 516 may be used by the extracted entity 520.
[084] The ARL model 518 may be used to counter the scenarios
when the NER classification fails to capture action word(s) from the test step.
The ARL model 518 may be trained on same test case documents that are
used for training the NER model 516. The ARL model 518 may be split into
two parts. Firstly, a rule generating component of the ARL model 518 may
focus on association rules whose right-hand-side is restricted to a
classification class attribute. A subset of such rules may be referred as a class
association rules (CARS). This rule generating component may be based on
Docket No: IIP-HCL-P0043
-26-
an apriori algorithm. Secondly, a classifier may satisfy a user-specified
minimum support and minimum confidence constraint. The ARL model 518
may be invoked at a post processing stage when some of the entities in the
pre-defined action driven template are empty.
[085] The ARL model 518 may capture the action words missed by
the NER model 516. This is facilitated by the rule generating component of
the ARL model 518 that makes multiple passes over the test steps to yield
the most frequent rules and rule items. Therefore, the classifier makes a
prediction based on the most frequent occurring event for a respective test
step.
[086] In accordance with an embodiment, extracted entity 520 may
be received from the recurring individual test steps (from 510) and the
conditional individual test steps (from 512) and from the NER model (from
516). Such extracted entity 520 may be sent to the ARL model 518. In
accordance with an embodiment, the individual test steps were labelled into
their corresponding entities.
[087] A post-processing stage may be important to extract action
words from the test steps for test automation in software testing. In
accordance with an embodiment, classified data from the NER model 516
may be populated to a pre-defined action driven template. In accordance with
an embodiment, the ARL model 518 may be invoked at the post processing
stage when some of the entities in the pre-defined action driven template are
empty for populating action words missed by the NER model 516 to the predefined action driven template.
[088] At standardization 522, the transformation module 418 may be
configured to validate entities for the pre-defined action driven template, in
order to meet action driven test automation framework requirements. The
entities may act as an input for the action driven test automation framework
for execution. The action driven test automation framework may have its own
libraries to perform actions. Thus, a new API may be developed and
incorporated to the action driven test automation framework.
Docket No: IIP-HCL-P0043
-27-
[089] Classifying and grouping action words of similar meaning may
be a difficult task. Therefore, the post-processing stage may resolve issues
by changing entity into pre-defined action driven template. In certain
scenarios, there is a possibility to get some of the entities in the pre-defined
action driven template to be empty where the ARL model 518 may facilitate
filling of empty entities in the pre-defined action driven template. The
populated template with entities may be shared to a user for final review
before test execution by the action driven test automation framework.
Therefore, the transformation module 418 may be configured to transform
each of the one or more individual test steps into a pre-defined action driven
template 524 based on the one or more action words. The pre-defined action
driven template may correspond to an input for an action driven test
automation framework for software testing.
[090] FIG. 6A - 6C illustrates segmentation of compound test steps
using AI based test automation system, in accordance with an embodiment
of the disclosure. With reference to FIG. 6A, there is shown a block diagram
600A with the input (test case document) 504 and the segmentation model
508 as described in description for FIG. 5. For example, the input test case
document 504 includes a sample test step “select size of shirt from size
dropdown”. The processing module 414 may be configured to identify the
sample test step as a compound test step, indicative of two or more actions
from word “from” in the sample test step “select size of shirt from size
dropdown”.
[091] In accordance with an embodiment, the processing module 414
may be configured to segment the compound test step “select size of shirt
from size dropdown” into two or more individual test steps, namely, S1 and
S2. In accordance with an embodiment, the processing module 414 may be
configured to reorder the two or more individual test steps S1 and S2 in an
order of precedence as shown in the FIG. 6A, using a trained deep learningbased segmentation model 508.
Docket No: IIP-HCL-P0043
-28-
[092] FIG. 6B - 6C illustrate tabular representations 600B and 600C
for sample test case document and processed output as a pre-defined action
driven template using segmentation, in accordance with an embodiment of
the disclosure.
[093] In most cases, the testers or the software developers may
combine and write test steps with multiple actions. The action driven test
automation framework may execute one action at a time. The segmentation
model 508 may support the action driven test automation framework by
segmenting the compound test steps into two or more individual test steps
and reordering the two or more individual test steps, based on order of
precedence.
[094] In the tabular representation 600B, in “S.No. 1”, to capture
multiple actions in a single test step (select size of “shirt” from size dropdown),
Select size dropdown and select shirt size are combined using “from”. The
segmentation of the test steps may allow the tester or the software developer
to use “FROM, “AND” and “UNDER” as part of a test step to combine multiple
actions. Therefore, the segmentation model 508 may facilitate the creation of
the test steps with multiple actions. The test steps may be written with
punctuations or conjunctions to include multiple actions within the same test
step. This helps in reducing the overall number of test steps.
[095] In the tabular representation 600C, the test step (select size of
“shirt” from size dropdown) may be segmented into two with unique test IDs
(S3_TC_01_001_001 and S3_TC_01_001_002). Therefore, tabular
representation 600C (pre-defined action driven template) indicates the ability
of segmentation model in retrieving actions from complex test steps. The
segmentation of the compound test steps may preserve the order of
precedence of multiple actions.
[096] FIG. 7A - 7B illustrate tabular representations 700A and 700B
for sample test case document and processed output as a pre-defined action
driven template, in accordance with an embodiment of the disclosure.
Docket No: IIP-HCL-P0043
-29-
[097] The tabular representation 700A shows a sample test case
document with test step, test data and expected result. The AI based test
automation system 502 may identify action words from a test step. In case of
domain-based multiple words or jargons, use of quotes for capturing may be
recommended, for example: “Keep me signed in” as shown in fourth test step
in the tabular representation 700A.
[098] The tabular representation 700B shows sample processed
output template (pre-defined action driven template) that is customizable as
per the action driven test automation framework requirements. In accordance
with an embodiment, by default, it will have Test Case ID, Test Step Id to
differentiate the test case and test step numbering in the document. The
extracted action words may be classified to Control, Control text, Event and
Data. The action driven test automation framework may use the pre-defined
action driven template directly for executing the test case and does not
generate any scripts in background.
[099] FIG. 8A - 8B illustrate tabular representations 800A and 800B
for sample test case document with grouped test steps and processed output
as a pre-defined action driven template, in accordance with an embodiment
of the disclosure.
[0100] The tabular representation 800A shows that the test steps may
be grouped or compounded together for simplicity. The AI based test
automation system 502 may have the capability to process existing/legacy
test case documents. The sample test case input provided in the tabular
representation 800A is a typical legacy test case document with diversity
among the test case documents.
[0101] Further with the implementation of features like test step
segmentation, the AI based test automation system 502 may successfully
segment compounded test steps into multiple sub steps
(S2_TC_Test2_002_001 and S2_TC_Test2_002_002) as shown in the
tabular representation 800B. In such cases, the AI based test automation
system 502 may identify compound test steps and ensures that proper action
Docket No: IIP-HCL-P0043
-30-
words are transferred to sub steps (also referred to as individual test steps)
based on the compound test step.
[0102] FIG. 9A – 9D illustrate tabular representations 900A to 900D for
sample test case document with recurring test steps and processed output
as a pre-defined action driven template, in accordance with an embodiment
of the disclosure.
[0103] The tabular representation 900A shows the recurring test step
in a test case document. Based on business demands and project practices,
the AI based test automation system may support the presence of multiple
recurring test steps with different ways to provide varying test data for each
iteration. The example in the tabular representation 900A is one such way for
using recurring test steps. This shows how consecutive recurring test steps
are executed along with data provided in the test data column for iteration.
[0104] The tabular representation 900B shows the processed output
as a pre-defined action driven template for the test case document having
recurring test steps in the tabular representation 900A. The AI based test
automation system 502 may identify recurring test steps with varying the test
data at each execution. The AI based test automation system 502 may also
parse test data when provided via test data or part of the recurring test steps
that helps in better test management by making the test case document more
dynamic for test execution. Similarly, an example in the tabular
representation 900C is a second way for using recurring test steps in the test
case document. The tabular representation 900D shows the processed
output as a pre-defined action driven template for the input test case
document having recurring test steps in the tabular representation 900C.
[0105] FIG. 10A – 10B illustrate tabular representations 1000A to
1000B for sample test case document with conditional test steps and
processed output as a pre-defined action driven template respectively, in
accordance with an embodiment of the disclosure.
[0106] The tabular representation 1000A shows the conditional test
step in a test case document. In accordance with an embodiment, conditional
Docket No: IIP-HCL-P0043
-31-
test step segmentation may facilitate creation of multiple branches of a same
test case. As a result, the tester or the software developer may control the
flow of test execution of the test steps. With presence of action words, such
as, “go to”, “if”, “else” in the test case document, the AI based test automation
system 502 may decide the flow of execution of the test steps in the test case
document. The tabular representation 1000B shows the processed output as
a pre-defined action driven template for the input test case document having
conditional test steps in the tabular representation 1000A.
[0107] FIG. 11 is a flowchart that illustrates an exemplary method for
transforming a test case document to an action driven template for software
testing, in accordance with an embodiment of the disclosure. With reference
to FIG. 11, there is shown a flowchart 1100. The operations of the exemplary
method may be executed by any computing system, for example, by the AI
based test automation system 102 of FIG. 1. The operations of the flowchart
1100 may start at 1102 and proceed to 1104.
[0108] At 1102, a test case document comprising a plurality of test
cases may be received. In accordance with an embodiment, the processing
module 414 may be configured to receive a test case document comprising
a plurality of test cases. Each of the plurality of test cases may further
comprise one or more test steps. The test case document may further
comprise test data and expected results for each of the one or more test steps
in each of the plurality of test cases.
[0109] At 1104, the test case document may be processed to extract
one or more individual test steps corresponding to each of the one or more
test steps in each of the plurality of test cases. In accordance with an
embodiment, the processing module 414 may be configured to process the
test case document to extract one or more individual test steps corresponding
to each of the one or more test steps in each of the plurality of test cases.
Each of the one or more individual test steps may include at least one action
word. In accordance with an embodiment, an action word may correspond to
any kind of action words extracted from a test step. Such extracted action
Docket No: IIP-HCL-P0043
-32-
words may include ‘Control’ type action words, ‘Control text’ type action
words, and ‘Event’ type action words.
[0110] In accordance with an embodiment, the processing module 414
may be configured to identify at least one of the one or more individual test
steps as a recurring individual test step. In accordance with an embodiment,
the processing module 414 may be configured to determine a number of
times the recurring individual test step iterates.
[0111] In accordance with another embodiment, the processing
module 414 may be configured to identify at least one of the one or more
individual test steps as a conditional individual test step. The conditional
individual test step may control a flow of execution of the one or more
individual test steps. In accordance with yet another embodiment, to process
the test case document to extract the one or more individual test steps, the
processing module 414 may be configured to identify at least one of the one
or more test steps as a compound test step, indicative of two or more
individual test steps.
[0112] In accordance with an embodiment, the processing module 414
may be configured to segment the compound test step into the two or more
individual test steps and reorder the two or more individual test steps in an
order of precedence, using a trained deep learning-based segmentation
model.
[0113] At 1106, one or more action words may be extracted from the
each of the one or more individual test steps, using a first trained machine
learning model. In accordance with an embodiment, the extraction module
416 may be configured to extract the one or more action words from the each
of the one or more individual test steps, using the first trained machine
learning model.
[0114] In accordance with an embodiment, the extraction module 416
may be configured to extract one or more additional action words from the
each of the one or more individual test steps, using a combination of a rulebased engine and a second trained machine learning model. The one or more
Docket No: IIP-HCL-P0043
-33-
additional action words may be different from the one or more action words
extracted by the first trained machine learning model.
[0115] At 1108, each of the one or more individual test steps may be
transformed into a pre-defined action driven template based on the one or
more action words. In accordance with an embodiment, the transformation
module 418 may be configured to transform each of the one or more
individual test steps into a pre-defined action driven template based on the
one or more action words. The pre-defined action driven template may
correspond to an input for an action driven test automation framework for
software testing. In accordance with an embodiment, transforming each of
one or more individual test steps into a pre-defined action driven template
may be based on the one or more additional action words.
[0116] In accordance with an embodiment, transforming the recurring
individual test step may further comprises updating test data associated with
the recurring individual test step for each iteration in the pre-defined action
driven template. The pre-defined action driven template comprises a test
case identification (test case ID), an individual test step identification
(individual test step ID), a control, a control text, an event, associated test
data, and associated expected results. In accordance with an embodiment,
transforming the conditional individual test step may further comprise
applying the flow of execution of the one or more individual test steps in the
pre-defined action driven template.
[0117] Furthermore, one or more computer-readable storage media
may be utilized in implementing embodiments consistent with the present
disclosure. A computer-readable storage medium refers to any type of
physical memory on which information or data readable by a processor may
be stored. Thus, a computer-readable storage medium may store instructions
for execution by one or more processors, including instructions for causing
the processor(s) to perform steps or stages consistent with the embodiments
described herein. The term “computer-readable medium” should be
understood to include tangible items and exclude carrier waves and transient
Docket No: IIP-HCL-P0043
-34-
signals, i.e., be non-transitory. Examples include random access memory
(RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard
drives, CD ROMs, DVDs, flash drives, disks, and any other known physical
storage media.
[0118] It will be appreciated that, for clarity purposes, the above
description has described embodiments of the disclosure with reference to
different functional units and processors. However, it will be apparent that any
suitable distribution of functionality between different functional units,
processors or domains may be used without detracting from the disclosure.
For example, functionality illustrated to be performed by separate processors
or controllers may be performed by the same processor or controller. Hence,
references to specific functional units are only to be seen as references to
suitable means for providing the described functionality, rather than indicative
of a strict logical or physical structure or organization.
[0119] Although the present disclosure has been described in
connection with some embodiments, it is not intended to be limited to the
specific form set forth herein. Rather, the scope of the present disclosure is
limited only by the claims. Additionally, although a feature may appear to be
described in connection with particular embodiments, one skilled in the art
would recognize that various features of the described embodiments may be
combined in accordance with the disclosure.
[0120] Furthermore, although individually listed, a plurality of means,
elements or process steps may be implemented by, for example, a single unit
or processor. Additionally, although individual features may be included in
different claims, these may possibly be advantageously combined, and the
inclusion in different claims does not imply that a combination of features is
not feasible and/or advantageous. Also, the inclusion of a feature in one
category of claims does not imply a limitation to this category, but rather the
feature may be equally applicable to other claim categories, as appropriate.
CLAIMS
What is claimed is:
1. A method for transforming a test case document to an action driven
template for software testing, the method comprising:
receiving (1102), by an AI based test automation system (102), a test
case document comprising a plurality of test cases, each further comprising
one or more test steps;
processing (1104), by the AI based test automation system (102), the
test case document to extract one or more individual test steps
corresponding to each of the one or more test steps in each of the plurality
of test cases, wherein each of the one or more individual test steps includes
at least one action word;
extracting (1106), by the AI based test automation system (102), one
or more action words from the each of the one or more individual test steps,
using a first trained machine learning model; and
transforming (1108), by the AI based test automation system (102),
each of the one or more individual test steps into a pre-defined action driven
template based on the one or more action words, wherein the pre-defined
action driven template corresponds to an input for an action driven test
automation framework for software testing.
2. The method of claim 1,
wherein processing (1104) the test case document further
comprises:
identifying at least one of the one or more individual test steps
as a recurring individual test step; and
determining a number of times the recurring individual test
step iterates; and
wherein transforming (1108) the recurring individual test step further
comprises:
Docket No: IIP-HCL-P0043
-36-
updating test data associated with the recurring individual test
step for each iteration in the pre-defined action driven template.
3. The method of claim 1,
wherein processing (1104) the test case document further
comprises:
identifying at least one of the one or more individual test steps
as a conditional individual test step, wherein the conditional individual
test step controls a flow of execution of the one or more individual
test steps; and
wherein transforming (1108) the conditional individual test step
further comprises:
applying the flow of execution of the one or more individual
test steps in the pre-defined action driven template 524.
4. The method of claim 1, wherein processing (1104) the test case
document to extract the one or more individual test steps comprises:
identifying at least one of the one or more test steps as a compound
test step, indicative of two or more individual test steps, and
segmenting the compound test step into the two or more individual
test steps and reordering the two or more individual test steps in an order of
precedence, using a trained deep learning based segmentation model.
5. The method of claim 1, further comprising:
extracting one or more additional action words from the each of the
one or more individual test steps, using a combination of a rule based
engine and a second trained machine learning model, wherein the one or
more additional action words is different from the one or more action words
extracted by the first trained machine learning model; and
Docket No: IIP-HCL-P0043
-37-
transforming each of one or more individual test steps into a predefined action driven template based on the one or more additional action
words.
6. The method of claim 1, wherein the test case document further comprises
test data and expected results for each of the one or more test steps in each
of the plurality of test cases, and wherein the pre-defined action driven
template comprises a test case identification (test case ID), an individual
test step identification (individual test step ID), a control, a control text, an
event, associated test data, and associated expected results.
7. A system (102) for transforming a test case document to an action driven
template for software testing, the system comprising:
a processor (402); and
a memory (404) communicatively coupled to the processor, wherein the
memory (404) stores processor-executable instructions, which, on
execution, causes the processor (402) to:
receive (1102) a test case document comprising a plurality of
test cases, each further comprising one or more test steps;
process (1104) the test case document to extract one or more
individual test steps corresponding to each of the one or more test
steps in each of the plurality of test cases, wherein each of the one
or more individual test steps includes at least one action word;
extract (1106) one or more action words from the each of the
one or more individual test steps, using a first trained machine
learning model; and
transform (1108) each of the one or more individual test steps
into a pre-defined action driven template based on the one or more
action words, wherein the pre-defined action driven template
corresponds to an input for an action driven test automation
framework for software testing.
Docket No: IIP-HCL-P0043
-38-
8. The system of claim 7,
wherein to process (1104) the test case document, the processorexecutable instructions further cause the processor (402) to:
identify at least one of the one or more individual test steps as
a recurring individual test step; and
determine a number of times the recurring individual test step
iterates; and
wherein to transform the recurring individual test step, the processorexecutable instructions further cause the processor (402) to:
update test data associated with the recurring individual test
step for each iteration in the pre-defined action driven template.
9. The system of claim 7,
wherein to process (1104) the test case document, the processorexecutable instructions further cause the processor (402) to:
identify at least one of the one or more individual test steps as
a conditional individual test step, wherein the conditional individual
test step controls a flow of execution of the one or more individual
test steps; and
wherein to transform the conditional individual test step, the
processor-executable instructions further cause the processor (402) to:
apply the flow of execution of the one or more individual test
steps in the pre-defined action driven template.
10. The system of claim 7, wherein to process (1104) the test case
document to extract the one or more individual test steps, the processorexecutable instructions further cause the processor (402) to:
identify at least one of the one or more test steps as a compound test
step, indicative of two or more individual test steps, and
Docket No: IIP-HCL-P0043
-39-
segment the compound test step into the two or more individual test
steps and reorder the two or more individual test steps in an order of
precedence, using a trained deep learning based segmentation model.
11. The system of claim 7, wherein the processor-executable instructions
further cause the processor (402) to:
extract one or more additional action words from the each of the one
or more individual test steps, using a combination of a rule based engine
and a second trained machine learning model, wherein the one or more
additional action words is different from the one or more action words
extracted by the first trained machine learning model; and
transform each of one or more individual test steps into a pre-defined
action driven template based on the one or more additional action words.
12. The system of claim 7, wherein the test case document further
comprises test data and expected results for each of the one or more test
steps in each of the plurality of test cases, and wherein the pre-defined
action driven template comprises a test case identification (test case ID), an
individual test step identification (individual test step ID), a control, a control
text, an event, associated test data, and associated expected results.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 202111007227-IntimationOfGrant06-11-2024.pdf | 2024-11-06 |
| 1 | 202111007227-STATEMENT OF UNDERTAKING (FORM 3) [20-02-2021(online)].pdf | 2021-02-20 |
| 2 | 202111007227-REQUEST FOR EXAMINATION (FORM-18) [20-02-2021(online)].pdf | 2021-02-20 |
| 2 | 202111007227-PatentCertificate06-11-2024.pdf | 2024-11-06 |
| 3 | 202111007227-Written submissions and relevant documents [24-10-2024(online)].pdf | 2024-10-24 |
| 3 | 202111007227-REQUEST FOR EARLY PUBLICATION(FORM-9) [20-02-2021(online)].pdf | 2021-02-20 |
| 4 | 202111007227-PROOF OF RIGHT [20-02-2021(online)].pdf | 2021-02-20 |
| 4 | 202111007227-Correspondence to notify the Controller [15-10-2024(online)].pdf | 2024-10-15 |
| 5 | 202111007227-POWER OF AUTHORITY [20-02-2021(online)].pdf | 2021-02-20 |
| 5 | 202111007227-FORM-26 [15-10-2024(online)].pdf | 2024-10-15 |
| 6 | 202111007227-US(14)-HearingNotice-(HearingDate-18-10-2024).pdf | 2024-09-23 |
| 6 | 202111007227-FORM-9 [20-02-2021(online)].pdf | 2021-02-20 |
| 7 | 202111007227-FORM 18 [20-02-2021(online)].pdf | 2021-02-20 |
| 7 | 202111007227-CORRESPONDENCE [05-04-2022(online)].pdf | 2022-04-05 |
| 8 | 202111007227-FORM 1 [20-02-2021(online)].pdf | 2021-02-20 |
| 8 | 202111007227-DRAWING [05-04-2022(online)].pdf | 2022-04-05 |
| 9 | 202111007227-FIGURE OF ABSTRACT [20-02-2021(online)].jpg | 2021-02-20 |
| 9 | 202111007227-FER_SER_REPLY [05-04-2022(online)].pdf | 2022-04-05 |
| 10 | 202111007227-DRAWINGS [20-02-2021(online)].pdf | 2021-02-20 |
| 10 | 202111007227-OTHERS [05-04-2022(online)].pdf | 2022-04-05 |
| 11 | 202111007227-DECLARATION OF INVENTORSHIP (FORM 5) [20-02-2021(online)].pdf | 2021-02-20 |
| 11 | 202111007227-FER.pdf | 2022-01-17 |
| 12 | 202111007227-COMPLETE SPECIFICATION [20-02-2021(online)].pdf | 2021-02-20 |
| 13 | 202111007227-DECLARATION OF INVENTORSHIP (FORM 5) [20-02-2021(online)].pdf | 2021-02-20 |
| 13 | 202111007227-FER.pdf | 2022-01-17 |
| 14 | 202111007227-DRAWINGS [20-02-2021(online)].pdf | 2021-02-20 |
| 14 | 202111007227-OTHERS [05-04-2022(online)].pdf | 2022-04-05 |
| 15 | 202111007227-FER_SER_REPLY [05-04-2022(online)].pdf | 2022-04-05 |
| 15 | 202111007227-FIGURE OF ABSTRACT [20-02-2021(online)].jpg | 2021-02-20 |
| 16 | 202111007227-DRAWING [05-04-2022(online)].pdf | 2022-04-05 |
| 16 | 202111007227-FORM 1 [20-02-2021(online)].pdf | 2021-02-20 |
| 17 | 202111007227-CORRESPONDENCE [05-04-2022(online)].pdf | 2022-04-05 |
| 17 | 202111007227-FORM 18 [20-02-2021(online)].pdf | 2021-02-20 |
| 18 | 202111007227-FORM-9 [20-02-2021(online)].pdf | 2021-02-20 |
| 18 | 202111007227-US(14)-HearingNotice-(HearingDate-18-10-2024).pdf | 2024-09-23 |
| 19 | 202111007227-FORM-26 [15-10-2024(online)].pdf | 2024-10-15 |
| 19 | 202111007227-POWER OF AUTHORITY [20-02-2021(online)].pdf | 2021-02-20 |
| 20 | 202111007227-PROOF OF RIGHT [20-02-2021(online)].pdf | 2021-02-20 |
| 20 | 202111007227-Correspondence to notify the Controller [15-10-2024(online)].pdf | 2024-10-15 |
| 21 | 202111007227-Written submissions and relevant documents [24-10-2024(online)].pdf | 2024-10-24 |
| 21 | 202111007227-REQUEST FOR EARLY PUBLICATION(FORM-9) [20-02-2021(online)].pdf | 2021-02-20 |
| 22 | 202111007227-REQUEST FOR EXAMINATION (FORM-18) [20-02-2021(online)].pdf | 2021-02-20 |
| 22 | 202111007227-PatentCertificate06-11-2024.pdf | 2024-11-06 |
| 23 | 202111007227-STATEMENT OF UNDERTAKING (FORM 3) [20-02-2021(online)].pdf | 2021-02-20 |
| 23 | 202111007227-IntimationOfGrant06-11-2024.pdf | 2024-11-06 |
| 1 | 202111007227E_12-01-2022.pdf |