Aquila: uma Linguagem de Domínio Específico para Teste Baseado em Modelos para Projetos Ágeis
Resumo
A aplicação da técnica de Teste Baseado em Modelos (Model-based Testing - MBT) pode trazer diversos benefícios para a melhoria da qualidade de software. Usualmente MBT é aplicado apenas em modelos tradicionais de ciclo de vida de desenvolvimento de software e.g. Cascata, sendo que poucos trabalhos exploram a sua aplicação no contexto de equipes ágeis. Desta forma, neste trabalho apresenta-se uma Linguagem de Domínio Específico, denominada Aquila, que foi projetada para modelagem de testes funcionais em equipes ágeis. Aquila é uma extensão da Linguagem de Domínio Específico Domain-Specific Language (DSL) Gherkin, aonde novas palavras chaves, relacionadas a testes funcionais, são adicionadas para permitir a geração automatizada de scripts. Neste trabalho apresentamos uma revisão de literatura, a arquitetura da linguagem Aquila e um exemplo de uso da aplicação desta DSL.
Referências
Bernardino, M., Zorzo, A. F., and Rodrigues, E. M. (2016). Canopus: A domain-specific language for modeling performance testing. In 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST).
Bouquet, F., Grandpierre, C., Legeard, B., and Peureux, F. (2008). A test generation solution to automate software testing.
Domingues, A., Rodrigues, E. M., and Bernardino, M. (2016). Autofun: An automated model-based functional testing tool. In Proceedings of the 1st Brazilian Symposium on Systematic and Automated Software Testing. ACM.
Dwarakanath, A., Era, D., Priyadarshi, A., Dubash, N., and Podder, S. (2017). Accelerating test automation through a domain specific language. In Software Testing, Verification and Validation (ICST), 2017 IEEE International Conference on.
El-Far, I. K. and Whittaker, J. A. (2001). Model-based software testing. Encyclopedia of Software Engineering.
Elallaoui, M., Nafil, K., and Touahni, R. (2015). Automatic generation of uml sequence diagrams from user stories in scrum process. In Intelligent Systems: Theories and Applications (SITA), 2015 10th International Conference on, pages 1–6. IEEE.
Entin, V., Winder, M., Zhang, B., and Christmann, S. (2011). Combining model-based and capture-replay testing techniques of graphical user interfaces: An industrial approach. In Proceedings of the IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.
Entin, V., Winder, M., Zhang, B., and Christmann, S. (2012). Introducing modelbased testing in an industrial Scrum project. In Proceedings of the 7th International Workshop on Automation of Software Test.
Entin, V., Winder, M., Zhang, B., and Claus, A. (2015). A process to increase the model quality in the context of model-based testing. In Software Testing, Verification and Validation Workshops (ICSTW), 2015 IEEE Eighth International Conference on.
Fowler, M. and Highsmith, J. (2001). The agile manifesto. Software Development, 9(8):28–35.
ISTQB, I. S. T. Q. B. Syllabi. http://www.istqb.org/downloads/syllabi.html. acessado em11/06/2017.
Jalalinasab, D. and Ramsin, R. (2012). Towards model-based testing patterns for enhancing agile methodologies. In SoMeT.
Katara, M. and Kervinen, A. (2006). Making model-based testing more agile: a use case driven approach. In Proceedings of the Haifa Verification Conference.
Lasalle, J., Peureux, F., and Fondement, F. (2011). Development of an automated mbt toolchain from uml/sysml models. Innovations in Systems and Software Engineering, 7(4).
Li, N., Escalona, A., and Kamal, T. (2016). Skyfire: Model-based testing with cucumber. In Software Testing, Verification and Validation (ICST), 2016 IEEE International Conference on.
Neighbors, J. M. (1984). The draco approach to constructing software from reusable components. IEEE Transactions on Software Engineering, SE-10(5):564–574.
Rodrigues, E. M., de Oliveira, F. M., Costa, L. T., Bernardino, M., Zorzo, A. F., Souza, S. d. R. S., and Saad, R. (2015). An empirical comparison of model-based and capture and replay approaches for performance testing. Empirical Software Engineering, 20(6).
Rodrigues, E. M., Viccari, L. D., Zorzo, A. F., and Gimenes, I. (2010). PLeTs - Test automation using software product lines and model based testing. In Proceedings of the 22nd International Conference on Software Engineering and Knowledge Engineering.
Utting, M., Perrone, G., Winchester, J., Thompson, S., Yang, R., and Douangsavanh, P. (2007). The modeljunit model-based testing tool. acessado em 11/06/2017.
Van Deursen, A., Klint, P., Visser, J., et al. (2000). Domain-specific languages: An annotated bibliography. Sigplan Notices, 35(6):26–36.
VersionOne (2017). State of agile report. http://stateofagile.versionone.com/. acessado em 11/06/2017.