Utilização do Algoritmo de QSM para automação de testes a partir de cenários Gherkin
Resumo
Um dos desafios presentes no desenvolvimento de software é a representação de requisitos de forma clara e intuitiva, por um lado, e ao mesmo tempo viabilizar produtividade no desenvolvimento e testes de sistemas - o que implica o uso intensivo de automação. Para facilitar este trabalho, diversas técnicas são utilizadas, por exemplo, a escrita de requisitos em linguagens como Gherkin e a criação de modelos formais. Neste trabalho, buscamos unir as vantagens oferecidas por ambas as técnicas por meio da proposta de um mo- delo para geração automatizada de scripts de teste. Este modelo contempla a geração de Máquinas de Estados Finitos (MEFs), a partir de cenários Gherkin, utilizando o algoritmo Query-driven State Merging (QSM). A partir da MEF ge- rada, utilizamos técnicas de Teste Baseado em Modelos (Model-based Testing - MBT) para gerar um conjunto robusto de casos de teste, a partir dos quais geram-se scripts de teste, de forma também automática. Para o desenvolvimento deste trabalho, nos baseamos em uma revisão de literatura, e posteriormente va- lidamos o modelo proposto por meio de um exemplo de uso. Neste exemplo de uso percebe-se a viabilidade da utilização deste modelo e a contribuição para academia e para indústria.
Referências
Dupont, P., Lambeau, B., Damas, C., and Lamsweerde, A. v. (2008). The qsm algorithm and its application to software behavior model induction. Applied Artificial Intelligence, 22(1-2):77–115.
El-Far, I. K. and Whittaker, J. A. (2002). Model-based software testing. Encyclopedia of Software Engineering.
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 Proceedings of the IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops.
Fujiwara, S., Khendek, F., Amalou, M., Ghedamsi, A., et al. (1991). Test selection based on finite state models. IEEE Transactions on Software Engineering, 17(6):591–603.
Li, N., Escalona, A., and Kamal, T. (2016). Skyfire: Model-based testing with cucumber. In Proceedings of the IEEE International Conference on Software Testing, Verification and Validation, pages 393–400.
Seijas, P. L., Thompson, S., and Francisco, M. A´ . (2016). Model extraction and test generation from junit test suites. In Proceedings of the 11th International Workshop on Automation of Software Test, pages 8–14. ACM.
Sivanandan, S. and B, Y. C. (2014). Agile development cycle: Approach to design an effective model based testing with behaviour driven automation framework. In Proceedings of the 20th Annual International Conference on Advanced Computing and Communications.
Wynne, M., Hellesoy, A., and Tooke, S. (2017). The Cucumber Book: Behaviour-Driven Development for Testers and Developers. Pragmatic Programmers. Pragmatic Bookshelf.