In order to answer these questions, we are
proposing a model-driven framework to generate test
cases suitable for GUI-based testing from the
requirements provided as user stories.
Our proposal is as follows:
a. We derived a task-based test model based on
ConcurTaskTree (Paterno, Mancini, and
Meniconi 1997) by parsing the user stories to
describe the test scenarios with abstract test
cases.
b. The concrete test cases are generated
semiautomatic from the test scenarios.
c. Once the user stories are modified, a new set
of test cases could be generated again.
d. At last, the test cases are transformed into test
script in Sikulix
1
language that is a
standardized test language for GUI-based
testing.
The rest of this paper is structured in 5 sections.
Section 2 introduces the related works. Section 3
presents the background about user stories, task-
based test model and the language used for
automating the GUI scripting. Section 4 shows how
the test cases are generated. In section 5, the
conclusions and future work are summarized.
2 RELATED WORK
In the requirements engineering field, several
techniques for testing requirements had been
proposed. Specifically, we consider GUI-based
testing to check if the requirements previously
defined in the software development life cycle have
been included in the software product already
implemented. In this context, we describe several
works reported by related literature.
In the context of the generation of test cases from
agile user stories, Rane (Rane et al. 2017) have
developed a tool to derive test cases from natural
language requirements automatically by creating
UML activity diagrams. However, their work
requires of the Test Scenario Description and
Dictionary to execute the test case generation process.
The authors developed a tool that uses NLP
techniques to generate functional test cases from the
free-form test scenario description automatically.
Elghondakly et al. (Elghondakly, Moussa, and
Badr 2015) proposed a requirement based testing
approach for automated test generation for Waterfall
and Agile models. This proposed system would parse
1
http://sikulix.com/
functional and non-functional requirements to
generate test paths and test cases. The paper proposes
the generation of test cases from Agile user stories but
does not discuss any implementation aspects such as
the techniques for parsing, or the format of the user
stories that are parsed. This implementation does not
follow a model based approach.
Finsterwalder, M. (Finsterwalder 2001), in his job
reports how he is using automated acceptance tests
for interactive graphical applications. However,
according to the author, it is difficult to automate tests
that involve GUI intensive interactions. To test the
application in its entirety, tests should actually
exercise the GUI of the application and verify that the
results are correct. In extreme programming (XP), the
customer writes down small user stories to capture the
requirements. For each user story the customer
specifies acceptance tests as well. These tests are
implemented and run frequently during the
development process.
Tao, C. et al. (Tao, Gao, and Wang 2017) proposes
a novel approach to mobile application testing based
on natural language scripting. A Java-based test script
generation approach is developed to support
executable test script generation based on the given
natural language-based mobile app test operation
script. According to the authors, a unified automation
infrastructure is not offered with the existing test tools.
In order to deal with the massive multiple mobile test
running, there is a lack of well-defined mobile test
scripting method. Therefore, test automation central
control is needed to support behaviour-based testing or
scenario-based testing at multiple levels.
Ramler et al. (Ramler, Klammer, and Wetzlmaier
2019), describe the introduction of Model-based
Testing (MBT) for automated GUI testing in three
industry projects from different companies. Each of
the projects already had automated tests for the GUI
but they were considered insufficient to cover the
huge number of possible scenarios in which a user can
interact with the system under test (SUT). MBT was
introduced to complement the existing tests and to
increase the coverage with end-to-end testing via the
GUI.
Kamal (Medhat Kamal, Darwish, and Elfatatry
2019) presents a test-case generation model to build a
testing suite for webpages using its HTML file. The
proposed model has two branches. The first one
focuses on generating test cases for each web-element
individually based on its type. The other branch
focuses on generating test cases based on different
paths between web-elements in the same webpage.