user story test cases. It shall also be relevant to
automate processes for TSL test case generation and
we consider the following transformations: generate
TSL test cases from equivalent RSL requirements
specifications; and directly from existant systems and
databases, namely adopting model-driven reverse
engineering techniques like we researched recently
(Reis and Silva, 2017). Futhermore, it shall be
important the automatic execution of tests namely
with their integration with external test frameworks.
At this point in time, the developed TSL State
Machine Support Tool generates test cases based on
a Switch-0 coverage, it would also be interesting to
implement algorithms based on other coverage
criteria (e.g., Switch-1 or Switch-2). Aside from that,
one could explore the possibility of more automated
processes, for instance: the generation of domain
analysis test data by combinatorial generation of
values for each attribute (e.g., constrains on possible
attribute values) and extraction of test scenarios based
on the varies flows expressed by Use Cases.
The generated tests specified in TSL can be
executed manually by a tester to exercise the SUT and
discover possible errors in the system. It would be
interesting for further research to explore the
integration of TSL files, of real developed systems,
with test frameworks to provide automatic execution
of those tests. For example, exploration of tools such
Cucumber
3
or Specflow
4
which enables the automatic
execution of tests in a plain-text language called
Gherkin. Cucumber is a popular tool employed in
various languages including Java, JavaScript, and
Python. Meanwhile, Specflow is an open source
solution for .NET projects. This way it would be
possible to provide an oracle for the tests, determining
whether they passed or failed.
ACKNOWLEDGEMENTS
This work was partially supported by national funds
under FCT projects UID/CEC/50021/2013.
REFERENCES
Bettini, L., 2016. Implementing Domain-Specific
Languages with Xtext and Xtend. Packt Publishing Ltd.
Buuren, Robin A. ten. Domain-Specific Language Testing
Framework. (October), 2015.
Fagan, Michael E., 2001. Advances in software inspections.
In Pioneers and Their Contributions to Software
3
https://cucumber.io/
Engineering: sd&m Conference on Software Pioneers,
Springer.
Ferreira, D., Silva, A. R., 2012. RSLingo: An information
extraction approach toward formal requirements
specifications, Proceedings of MoDRE’2012, IEEE CS.
Ferreira, D., Silva, A. R., 2013. RSL-PL: A Linguistic
Pattern Language for Documenting Software
Requirements, in Proceedings of RePa’13, IEEE CS.
Ferreira, D., Silva, A. R., 2013a. RSL-IL: An Interlingua
for Formally Documenting Requirements, in Proc. of
the of Third IEEE International Workshop on Model
Driven Requirements Engineering, IEEE CS.
Ibe, Marcel, 2013. Decomposition of test cases in model-
based testing, in CEUR Workshop Proceedings.
King, Tariq, 2014. Functional Testing with Domain-
Specific Languages.
Kovitz, B. 1998. Practical Software Requirements: Manual
of Content and Style. Manning.
Monteiro, T., Paiva, A.C.R., 2013. Pattern Based GUI
Testing Modeling Environment, Sixth International
Conference on Software Testing, Verification and
Validation (ICST) Workshops Proceedings.
Morgado, I., Paiva, A.C.R., 2017. Mobile GUI testing,
Software Quality Journal, pp.1-18.
Paiva, A.C.R. (1997). Automated Specification-based
Testing of Graphical User Interfaces, Ph.D. thesis,
Faculty of Engineering, Porto University, Porto,
Portugal.
Reis, A., Silva, A. R., 2017. XIS-Reverse: A Model-Driven
Reverse Engineering Approach for Legacy Information
Systems, Proceedings of MODELSWARD’2017,
SCITEPRESS.
Ribeiro, A., Silva, A. R., 2014. XIS-Mobile: A DSL for
Mobile Applications, Proceedings of the 29th Annual
ACM Symposium on Applied Computing (SAC).
Ribeiro, A., Silva, A. R., 2014a. Evaluation of XIS-Mobile,
a Domain Specific Language for Mobile Application
Development, Journal of Software Engineering and
Applications, 7(11), pp. 906-919.
Rodrigo M. L. M. Moreira, Ana C. R. Paiva, Miguel
Nabuco, and Atif Memon, 2017. Pattern-based GUI
testing: bridging the gap between design and quality
assurance. Software Testing, Verification and
Reliability Journal, 27(3):e1629–n/a.
Savic, D., et al, 2015. SilabMDD: A Use Case Model
Driven Approach, ICIST 2015 5th International
Conference on Information Society and Technology.
Silva, A. R., 2015. Model-Driven Engineering: A Survey
Supported by a Unified Conceptual Model, Computer
Languages, Systems & Structures 43 (C), 139–155.
Silva, A. R., 2015a. SpecQua: Towards a Framework for
Requirements Specifications with Increased Quality, in
Lecture Notes in Business Information Processing
(LNBIP), LNBIP 227, Springer.
Silva, A. R., et al, 2015. A Pattern Language for Use Cases
Specification, in Proceedings of EuroPLOP’2015,
ACM.
4
http://specflow.org/
Towards a Test Specification Language for Information Systems: Focus on Data Entity and State Machine Tests
223