In a recent testing software system, with cloud implementation a cloud service abstraction allows providing high-level ubiquitous language (UL) compositions through behavior-driven step-wise agile cycles. By adapting this UL the instantiated behaviors simplify the demand in software quality through mechanisms to cope with complex digital transformation and evolution. However, in such a context, testing becomes challenging quality engineering. As a result, it poses a threat to the services on a cloud as the access to its source codes rely on these abstractions. The aim is to introduce a way by strictly focusing on a black box approach. One way is to realize the client-side continuous Quality First (QF)-Test behavior-driven development (BDD). On this point, a meta-model helps to transform the RESTful cloud specification through domain specific language (DSL) while accommodating a low-level details on a test coverage report. By using features from the user stories the Gherkin BDD styles enable the meta-model which creates the instances of DSL to implement the runnable test steps on a cucumber framework. Each step is designed in a GraphWalker through modeling a context finite machine via a model visual editor, and generates the dependency test model paths. As an evaluation, the QF-Test executes the required steps given by data-driven elements for creating run-log trace analysis. As a comparison, the Jenkins framework is configured to build the QF-Test node of test suites for generating the behavior-driven and continuous integration test report. Moreover, the steps with the keywords are automated to verify the GraphWalker test cases through traversing the paths generated. As a case application, a sample REST API mobility service instance is considered.
Published in | Software Engineering (Volume 9, Issue 1) |
DOI | 10.11648/j.se.20210901.12 |
Page(s) | 9-35 |
Creative Commons |
This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited. |
Copyright |
Copyright © The Author(s), 2021. Published by Science Publishing Group |
Cloud Service, REST API, Domain Specific Language, QF-Test BDD, GraphWalker, Model Path Validation
[1] | Wolde, Behailu Getachew, and Abiot Sinamo Boltana. "Behavior-Driven Re-engineering for Testing the Cloud." In 2020 Seventh International Conference on Software Defined Systems (SDS), pp. 75-82. IEEE, 2020. |
[2] | Ahmed, Anastasia. "Unit test automation with Jenkins-CI tool." (2015). |
[3] | “Automate your API tests with Postman,” accessed on: Sep. 14, 2019. [Online]. Available: https://www.postman.com/automatedtesting, 2019. |
[4] | Bashir, Raja Sehrab, Sai Peck Lee, Saif Ur Rehman Khan, Victor Chang, and Shahid Farid. "UML models consistency management: Guidelines for software quality manager." International Journal of Information Management 36, no. 6, 2016. |
[5] | Blokland, Kees, Jeroen Mengerink, and Martin Pol. Testing cloud services: how to test SaaS, PaaS & IaaS. Rocky Nook, Inc., 2013. |
[6] | Bussenot, Robin, Hervé Leblanc, and Christian Percebois. "Orchestration of Domain Specific Test Languages with a Behavior Driven Development approach." In 2018 13th Annual Conference on System of Systems Engineering (SoSE), pp. 431-437. IEEE, 2018. |
[7] | Castanier, Raphaël, and Lars Gustafsson. "How to Test Using Jenkins?." |
[8] | Cetinkaya, Deniz, and Alexander Verbraeck. "Metamodeling and model transformations in modeling and simulation." In Proceedings of the 2011 Winter Simulation Conference (WSC), pp. 3043-3053. IEEE, 2011. |
[9] | Chelimsky, David, Dave Astels, Bryan Helmkamp, Dan North, Zach Dennis, and Aslak Hellesoy. "The RSpec book: Behaviour driven development with Rspec." Cucumber, and Friends, Pragmatic Bookshelf 3 (2010): 25. |
[10] | Cicchetti, Antonio, Davide Di Ruscio, and Alfonso Pierantonio. "A metamodel independent approach to difference representation." J. Object Technol. 6, no. 9 (2007): 165-185. |
[11] | Graham, Dorothy, Erik Van Veenendaal, and Isabel Evans. Foundations of software testing: ISTQB certification. Cengage Learning EMEA, 2008. |
[12] | Gutiérrez, Javier J., Isabel Ramos, Manuel Mejías, Carlos Arévalo, Juan M. Sánchez-Begines, and David Lizcano. "Modelling Gherkin Scenarios Using UML." (2017). |
[13] | "GraphWalker, Modeling Syntax When Using yEd," accessed on: Nov. 14, 2019. [Online]. Available: https://graphwalker.github.io/, 2019. |
[14] | Haver, Thomas. "Cucumber 3.0 and Beyond." |
[15] | Höfer, C. N., and Georgios Karagiannis. "Cloud computing services: taxonomy and comparison." Journal of Internet Services and Applications 2, no. 2 (2011): 81-94. |
[16] | Hoisl, Bernhard, and Stefan Sobernig. "Consistency Rules for UML-based Domain-specific Language Models: A Literature Review." In ACES-MB&WUCOR@ MoDELS, pp. 29-36. 2015. |
[17] | Iborra, Andres, Diego Alonso Caceres, Francisco J. Ortiz, Juan Pastor Franco, Pedro Sanchez Palma, and Barbara Alvarez. "Design of service robots." IEEE Robotics & Automation Magazine 16, no. 1 (2009): 24-33. |
[18] | Javier Luis C´anovas Izquierdo and Jordi Cabot, 2014. Composing jsonbased web apis. In International Conference on Web Engineering, pages 390–399. Springer, 2014. [17] Izquierdo, Javier Luis Cánovas, and Jordi Cabot. "Composing JSON-based web APIs." In International Conference on Web Engineering, pp. 390-399. Springer, Cham, 2014. |
[19] | ”Converting JSON to POJOs Using Java,” accessed on: April 08, 2020. [online]. Available: https://dzone.com/articles/convertingjson-to-pojos-using-java, 2020. |
[20] | ”Generate Plain Old Java Objects from JSON or JSONSchema,” accessed on: Aug. 18, 2019. [online]. Available: http://www.jsonschema2pojo.org/, 2019. |
[21] | Kahani, Nafiseh, and James R. Cordy. "Comparison and evaluation of model transformation tools." Queen's University, Kingston, Tech. Rep. (2015). |
[22] | Kozlovics, Sergejs. "Models and Model Transformations Within Web Applications." In International Baltic Conference on Databases and Information Systems, pp. 53-67. Springer, Cham, 2016. |
[23] | Kramer, Max Emanuel. Specification languages for preserving consistency between models of different languages. Vol. 24. KIT Scientific Publishing, 2019. |
[24] | Kuryazov, Dilshodbek, and Alexander Sandau. "Vertical prototype documentaion." Unpublished, 16 November 2017. |
[25] | Kuryazov, Dilshodbek, Andreas Winter, and Alexander Sandau. "Sustainable Software Architecture for NEMo Mobility Platform.", http://www.se.uni-oldenburg.de/documents/kuryazovWinterSandau2018.pdf, 2018. |
[26] | Leblebici, Erhan. "Inter-Model Consistency Checking and Restoration with Triple Graph Grammars." PhD diss., Technische Universität, 2018. |
[27] | Mayer, Thomas, Falk Pappert, Oliver Rose, and Neubiberg Germany München. "A Natural-language-based Simulation Modelling Approach." Simulation in Production and Logistics (2015): 661-670. |
[28] | Meacham, Sofia, Vaclav Pech, and Detlef Nauck. "Classification Algorithms Framework (CAF) to Enable Intelligent Systems Using JetBrains MPS Domain-Specific Languages Environment." IEEE Access 8 (2020): 14832-14840. |
[29] | Mell, Peter, and Tim Grance. "The NIST definition of cloud computing." (2011). |
[30] | ”Drawing UML with PlantUML:PlantUML Language Reference Guide, version: 1.2019.9,” accessed on: March. 14, 2020. [online]. available: https://github.com/plantuml, 2019. |
[31] | Pyshkin, Evgeny, Maxim Mozgovoy, and Mikhail Glukhikh. "On requirements for acceptance testing automation tools in behavior driven software development." In Proceedings of the 8th Software Engineering Conference in Russia, 2012. |
[32] | ”Quality First Software GmbH, Version 4.7.1”, accessed on: May 15, 2020. [online]. Available: https://archive.qfs.de/qftest/manual_ en.pdf, 2020. |
[33] | Rüther, Jan. "A feature model for web testing tools." (2015). |
[34] | Alexander Sandau. "NEMo Technical Specification Document: Interface Description NEMo planning System, version: 0.3.2." Unpublished, 27 November 2018. |
[35] | Schlegel, Christian, Andreas Steck, and Alex Lotz. "Model-driven software development in robotics: Communication patterns as key for a robotics component model." Introduction to Modern Robotics (2011): 119-150. |
[36] | Sharma, Tushar, Pratibha Mishra, and Rohit Tiwari. "Designite: A software design quality assessment tool." In Proceedings of the 1st International Workshop on Bringing Architectural Design Thinking into Developers' Daily Activities, pp. 1-4. 2016. |
[37] | Silva, Thiago Rocha. "Definition of a behavior-driven model for requirements specification and testing of interactive systems." In 2016 IEEE 24th International Requirements Engineering Conference (RE), pp. 444-449. IEEE, 2016. |
[38] | Sivanandan, Sandeep. "Agile development cycle: Approach to design an effective Model Based Testing with Behaviour driven automation framework." In 20th Annual International Conference on Advanced Computing and Communications (ADCOM), pp. 22-25. IEEE, 2014. |
[39] | Sneed, Harry M., and Chris Verhoef. "Measuring test coverage of SoA services." In 2015 IEEE 9th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Environments (MESOCA), pp. 59-66. IEEE, 2015. |
[40] | Vivanti, Mattia, Andre Mis, Alessandra Gorla, and Gordon Fraser. "Search-based data-flow test generation." In 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE), pp. 370-379. IEEE, 2013. |
[41] | Volter, Markus. "From programming to modeling-and back again." IEEE software 28, no. 6 (2011): 20-25. |
[42] | Wolde, Behailu Getachew, and Abiot Sinamo Boltana. "Combinatorial Testing Approach for Cloud Mobility Service." In Proceedings of the 2019 2nd Artificial Intelligence and Cloud Computing Conference, pp. 6-13. 2019. |
[43] | Yau, Stephen, and Ho An. "Software engineering meets services and cloud computing." Computer 44, no. 10 (2011): 47-53. |
[44] | Russell, Stuart, and Peter Norvig. "Artificial intelligence: a modern approach." (2002). |
APA Style
Behailu Getachew Wolde, Abiot Sinamo Boltana. (2021). Behavior-Driven Quality First Agile Testing for Cloud Service. Software Engineering, 9(1), 9-35. https://doi.org/10.11648/j.se.20210901.12
ACS Style
Behailu Getachew Wolde; Abiot Sinamo Boltana. Behavior-Driven Quality First Agile Testing for Cloud Service. Softw. Eng. 2021, 9(1), 9-35. doi: 10.11648/j.se.20210901.12
AMA Style
Behailu Getachew Wolde, Abiot Sinamo Boltana. Behavior-Driven Quality First Agile Testing for Cloud Service. Softw Eng. 2021;9(1):9-35. doi: 10.11648/j.se.20210901.12
@article{10.11648/j.se.20210901.12, author = {Behailu Getachew Wolde and Abiot Sinamo Boltana}, title = {Behavior-Driven Quality First Agile Testing for Cloud Service}, journal = {Software Engineering}, volume = {9}, number = {1}, pages = {9-35}, doi = {10.11648/j.se.20210901.12}, url = {https://doi.org/10.11648/j.se.20210901.12}, eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.se.20210901.12}, abstract = {In a recent testing software system, with cloud implementation a cloud service abstraction allows providing high-level ubiquitous language (UL) compositions through behavior-driven step-wise agile cycles. By adapting this UL the instantiated behaviors simplify the demand in software quality through mechanisms to cope with complex digital transformation and evolution. However, in such a context, testing becomes challenging quality engineering. As a result, it poses a threat to the services on a cloud as the access to its source codes rely on these abstractions. The aim is to introduce a way by strictly focusing on a black box approach. One way is to realize the client-side continuous Quality First (QF)-Test behavior-driven development (BDD). On this point, a meta-model helps to transform the RESTful cloud specification through domain specific language (DSL) while accommodating a low-level details on a test coverage report. By using features from the user stories the Gherkin BDD styles enable the meta-model which creates the instances of DSL to implement the runnable test steps on a cucumber framework. Each step is designed in a GraphWalker through modeling a context finite machine via a model visual editor, and generates the dependency test model paths. As an evaluation, the QF-Test executes the required steps given by data-driven elements for creating run-log trace analysis. As a comparison, the Jenkins framework is configured to build the QF-Test node of test suites for generating the behavior-driven and continuous integration test report. Moreover, the steps with the keywords are automated to verify the GraphWalker test cases through traversing the paths generated. As a case application, a sample REST API mobility service instance is considered.}, year = {2021} }
TY - JOUR T1 - Behavior-Driven Quality First Agile Testing for Cloud Service AU - Behailu Getachew Wolde AU - Abiot Sinamo Boltana Y1 - 2021/06/29 PY - 2021 N1 - https://doi.org/10.11648/j.se.20210901.12 DO - 10.11648/j.se.20210901.12 T2 - Software Engineering JF - Software Engineering JO - Software Engineering SP - 9 EP - 35 PB - Science Publishing Group SN - 2376-8037 UR - https://doi.org/10.11648/j.se.20210901.12 AB - In a recent testing software system, with cloud implementation a cloud service abstraction allows providing high-level ubiquitous language (UL) compositions through behavior-driven step-wise agile cycles. By adapting this UL the instantiated behaviors simplify the demand in software quality through mechanisms to cope with complex digital transformation and evolution. However, in such a context, testing becomes challenging quality engineering. As a result, it poses a threat to the services on a cloud as the access to its source codes rely on these abstractions. The aim is to introduce a way by strictly focusing on a black box approach. One way is to realize the client-side continuous Quality First (QF)-Test behavior-driven development (BDD). On this point, a meta-model helps to transform the RESTful cloud specification through domain specific language (DSL) while accommodating a low-level details on a test coverage report. By using features from the user stories the Gherkin BDD styles enable the meta-model which creates the instances of DSL to implement the runnable test steps on a cucumber framework. Each step is designed in a GraphWalker through modeling a context finite machine via a model visual editor, and generates the dependency test model paths. As an evaluation, the QF-Test executes the required steps given by data-driven elements for creating run-log trace analysis. As a comparison, the Jenkins framework is configured to build the QF-Test node of test suites for generating the behavior-driven and continuous integration test report. Moreover, the steps with the keywords are automated to verify the GraphWalker test cases through traversing the paths generated. As a case application, a sample REST API mobility service instance is considered. VL - 9 IS - 1 ER -