Canopus: A Domain-Specific Modeling Language for Performance Testing
Resumo
Apesar de todos os esforc¸os para reduzir o custo do testes de software na fase de desenvolvimento, esta ainda é uma das fases mais caras. Para continuar a minimizar esses custos, neste artigo, propõe-se uma linguagem específica de domínio (Domain-Specific Language DSL), desenvolvida usando a ferramenta MetaEdit+, para modelar testes de desempenho para aplicações Web. A DSL, chamada Canopus, foi desenvolvida no contexto de uma colaboração entre a universidade e um laboratório de desenvolvimento de tecnologia de uma empresa de Tecnologia da Informação (TI). Apresenta-se, neste artigo, a visão geral da Canopus, incluindo: metamodelos, sua análise de domínio, um processo que integra a Canopus ao teste baseado em modelos, bem como sua aplicação a um estudo de caso industrial. Além disso, realizou-se um experimento empírico controlado para avaliar o esforço (tempo gasto), ao comparar Canopus com outra abordagem amplamente usada pela indústria UML.Referências
Bernardino, M., Rodrigues, E., and Zorzo, A. (2016a). Performance Testing Modeling: an empirical evaluation of DSL and UML-based approaches. In 31st ACM Symposium on Applied Computing, pages 1660–1665, New York, NY, USA. ACM.
Bernardino, M., Rodrigues, E., Zorzo, A., and Marchezan, L. (2017). A Systematic Mapping Study on Model-Based Testing: Tools and Models. IET Software.
Bernardino, M., Zorzo, A., and Rodrigues, E. (2016b). Canopus: A Domain-Specific Language for Modeling Performance Testing. In 9th International Conference on Software Testing, Verification and Validation, pages 157–167, Washington, DC, USA. IEEE.
Bernardino, M., Zorzo, A. F., Rodrigues, E., de Oliveira, F. M., and Saad, R. (2014). A Domain-Specific Language for Modeling Performance Testing: Requirements Analysis and Design Decisions. In 9th International Conference on Software Engineering Advances, pages 609–614, Wilmington, DE, USA. IARIA.
Bertolino, A. (2007). Software Testing Research: Achievements, Challenges, Dreams. In Future of Software Engineering, pages 85–103, Washington, DC, USA. IEEE.
El Ariss, O., Xu, D., Dandey, S., Vender, B., McClean, P., and Slator, B. (2010). A Systematic Capture and Replay Strategy for Testing Complex GUI Based Java Applications. In 7th International Conference on Information Technology: New Generations, pages 1038–1043, Washington, DC, USA. IEEE.
Erdweg, S. [et al.] (2013). The State of the Art in Language Workbenches. In Erwig, M., Paige, R., and Wyk, E., editors, Software Language Engineering, volume 8225, pages 197–217. Springer International Publishing.
Kelly, S. and Tolvanen, J.-P. (2007). Domain-Specific Modeling: Enabling Full Code Generation. John Wiley & Sons, New York, NY, USA.
Oates, B. J. (2006). Researching Information Systems and Computing. SAGE Publications, London, UK.
Utting, M. and Legeard, B. (2006). Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann, San Francisco, CA, USA.
Wohlin, C., Runeson, P., Ho¨st, M., Ohlsson, M. C., and Regnell, B. (2012). Experimentation in Software Engineering. Springer–Verlag, Berlin, Germany, 1st edition.
Woodside, M., Franks, G., and Petriu, D. C. (2007). The Future of Software Performance Engineering. In Future of Software Engineering, pages 171–187, Washington, DC, USA. IEEE.
Wynne, M. and Hellesøy, A. (2012). The Cucumber Book: Behaviour-Driven Development for Testers and Developers. The Pragmatic Bookshelf.
Yang, Y., He, M., Li, M., Wang, Q., and Boehm, B. (2008). Phase Distribution of Software Development Effort. In 2nd ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, pages 61–69, New York, NY, USA. ACM.
Yin, R. (2013). Case Study Research: Design and Methods. SAGE Publications, London, UK, 5th edition.
Bernardino, M., Rodrigues, E., Zorzo, A., and Marchezan, L. (2017). A Systematic Mapping Study on Model-Based Testing: Tools and Models. IET Software.
Bernardino, M., Zorzo, A., and Rodrigues, E. (2016b). Canopus: A Domain-Specific Language for Modeling Performance Testing. In 9th International Conference on Software Testing, Verification and Validation, pages 157–167, Washington, DC, USA. IEEE.
Bernardino, M., Zorzo, A. F., Rodrigues, E., de Oliveira, F. M., and Saad, R. (2014). A Domain-Specific Language for Modeling Performance Testing: Requirements Analysis and Design Decisions. In 9th International Conference on Software Engineering Advances, pages 609–614, Wilmington, DE, USA. IARIA.
Bertolino, A. (2007). Software Testing Research: Achievements, Challenges, Dreams. In Future of Software Engineering, pages 85–103, Washington, DC, USA. IEEE.
El Ariss, O., Xu, D., Dandey, S., Vender, B., McClean, P., and Slator, B. (2010). A Systematic Capture and Replay Strategy for Testing Complex GUI Based Java Applications. In 7th International Conference on Information Technology: New Generations, pages 1038–1043, Washington, DC, USA. IEEE.
Erdweg, S. [et al.] (2013). The State of the Art in Language Workbenches. In Erwig, M., Paige, R., and Wyk, E., editors, Software Language Engineering, volume 8225, pages 197–217. Springer International Publishing.
Kelly, S. and Tolvanen, J.-P. (2007). Domain-Specific Modeling: Enabling Full Code Generation. John Wiley & Sons, New York, NY, USA.
Oates, B. J. (2006). Researching Information Systems and Computing. SAGE Publications, London, UK.
Utting, M. and Legeard, B. (2006). Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann, San Francisco, CA, USA.
Wohlin, C., Runeson, P., Ho¨st, M., Ohlsson, M. C., and Regnell, B. (2012). Experimentation in Software Engineering. Springer–Verlag, Berlin, Germany, 1st edition.
Woodside, M., Franks, G., and Petriu, D. C. (2007). The Future of Software Performance Engineering. In Future of Software Engineering, pages 171–187, Washington, DC, USA. IEEE.
Wynne, M. and Hellesøy, A. (2012). The Cucumber Book: Behaviour-Driven Development for Testers and Developers. The Pragmatic Bookshelf.
Yang, Y., He, M., Li, M., Wang, Q., and Boehm, B. (2008). Phase Distribution of Software Development Effort. In 2nd ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, pages 61–69, New York, NY, USA. ACM.
Yin, R. (2013). Case Study Research: Design and Methods. SAGE Publications, London, UK, 5th edition.
Publicado
28/08/2017
Como Citar
BERNARDINO, Maicon; ZORZO, Avelino Francisco.
Canopus: A Domain-Specific Modeling Language for Performance Testing. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 16. , 2017, Rio de Janeiro.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2017
.
p. 400-414.
DOI: https://doi.org/10.5753/sbqs.2017.15120.