| Peer-Reviewed

Behavior-Driven Quality First Agile Testing for Cloud Service

Received: 25 April 2021    Accepted: 24 June 2021    Published: 29 June 2021
Views:       Downloads:
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.

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), 2024. Published by Science Publishing Group

Keywords

Cloud Service, REST API, Domain Specific Language, QF-Test BDD, GraphWalker, Model Path Validation

References
[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).
Cite This Article
  • 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

    Copy | Download

    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

    Copy | Download

    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

    Copy | Download

  • @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}
    }
    

    Copy | Download

  • 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  - 

    Copy | Download

Author Information
  • School of Computing, Ethiopian Institute of Technology (EiT-M), Mekelle University, Mekelle, Ethiopia

  • School of Computing, Ethiopian Institute of Technology (EiT-M), Mekelle University, Mekelle, Ethiopia

  • Sections