Aplicação de algoritmos evolutivos na geração automática de dados de teste de conformidade

  • Thaise Yano UNICAMP
  • Eliane Martins UNICAMP
  • Fabiano Luís de Sousa INPE

Resumo


Com o objetivo de reduzir custo e esforço no desenvolvimento de software, a geração automática de dados de teste tem sido considerada como uma importante atividade para auxiliar o processo de teste. Recentemente, houve um grande interesse sobre teste baseado em busca que procura aplicar técnicas de otimização na geração de dados de teste. Nesse contexto, pode-se encontrar diversos trabalhos que utilizam algoritmos evolutivos para o teste estrutural, porém poucos abordam o teste funcional. Dessa maneira, neste artigo é feita uma avaliação inicial da eficácia do algoritmo GEO, um algoritmo evolutivo recente, para gerar dados de teste de conformidade.

Referências

Abreu, B. T. (2006). Uma abordagem evolutiva para a geração automática de dados de teste. Master’s thesis, IC/Unicamp, Campinas, SP.

Bak, P. (1996). How nature works: the science of self-organized criticality. Springer-Verlag, New York.

Bak, P. and Sneppen, K. (1993). Punctuated equilibrium and criticality in a simple model of evolution. Physical Review Letters, 71(24):4083–4086.

Bertolino, A. (2007). Software testing research: Achievements, challenges, dreams. In FOSE ’07: 2007 Future of Software Engineering, pages 85–103, Washington, DC, USA. IEEE Computer Society.

Bochmann, G. and Petrenko, A. (1994). Protocol testing: Review of methods and relevance for software testing. In International Symposium on Software Testing and Analysis (ISSTA‘94), pages 109–124.

Boettcher, S. and Percus, A. G. (2001). Optimization with extremal dynamics. Physical Review Letters, 86:5211–5214.

Bourhfir, C., Dssouli, R., and Aboulhamid, E. M. (1996). Automatic test generation for EFSM-based systems. Technical Report IRO 1043, University of Montreal, Canada.

Davis, A. M. (1988). A comparison of techniques for the specification of external system behavior. Communications of the ACM, 31(9).

Derderian, K., Hierons, R., Harman, M., and Guo, Q. (2006). Automated Unique Input Output sequence generation for conformance testing of FSMs. The computer Journal, 49(3):331–344.

De Sousa, F. L. (2002). Otimização Extrema Generalizada: Um novo algoritmo estocástico para o projeto ótimo. PhD thesis, INPE, São José dos Campos, SP, Brasil.

De Sousa, F. L., Ramos, F. M., Paglione, P., and Girardi, R. M. (2003a). New stochastic algorithm for design optimization. AIAA Journal, 41(9):1808–1818.

De Sousa, F. L., Vlassov, V., and Ramos, F. M. (2003b). Generalized extremal optimization for solving complex optimal design problems. In GECCO ’03: Proceedings of the 2003 Genetic and Evolutionary Computation Conference, volume 2723 of Lecture Notes in Computer Science, pages 375–376.

De Sousa, F. L., Vlassov, V., and Ramos, F. M. (2004). Generalized extremal optimization: An application in heat pipe design. Applied Mathematical Modelling, 28(10):911–931.

Dssouli, R., Saleh, K., Aboulhamid, E., En-Nouaary, A., and Bourhfir, C. (1999). Test development for communication protocols: towards automation. Computer Networks, 31(17):1835–1872.

Fujiwara, S., Bochmann, G., Khendek, F., Amalou, M., and Ghedamsi, A. (1991). Test selection based on finite state models. IEEE Transactions on Software Engineering, 17(6):591–603.

Gallaher, M. P. and Kropp, B. M. (2002). Economic impacts of inadequate infrastructure for software testing. Technical Report RTI Project Number 7007.011 - NIST Planning Report 02-3, University of Montreal.

Galski, R. L., de Sousa, F. L., Ramos, F. M., and Muraoka, I. (2007). Spacecraft thermal design with the generalized extremal optimization algorithm. Inverse Problems in Science and Engineering, 15(1):61–75.

Geurts, W., Wijbrans, K., and Tretmans, J. (1998). Testing and formal methods - BOS project case study. In 6 th European International Conference on Software Testing, Analy-sis & (ReviewEuroSTAR’98), pages 215–229, Munich, Germany. Aimware, Mervue, Galway, Ireland.

Gill, A. (1962). Introduction to the Theory of Finite-State Machines. McGraw-Hill, New York.

Guo, Q., Hierons, R. M., Harman, M., and Derderian, K. (2004). Computing unique input/output sequences using genetic algorithms. In Petrenko, A. and Ulrich, A., editors, 3rd International Workshop on Formal Approaches to Testing of Software (FATES 2003), volume 2931 of Lecture Notes in Computer Science, pages 164–177. Springer.

Guo, Q., Hierons, R. M., Harman, M., and Derderian, K. (2005). Constructing multiple unique input/output sequences using metaheuristic optimisation techniques. IEE Proceedings — Software, 152(3):127–140.

Harman, M. (2007). The current state and future of search based software engineering. In Future of Software Engineering 2007. IEEE Computer Society.

Harman, M. and McMinn, P. (2007). A theoretical & empirical znalysis of evolutionary testing and hill climbing for structural test data generation. In ISSTA ’07: Proceedings of the 2007 international symposium on Software testing and analysis, pages 73–83, New York, NY, USA. ACM.

Harrold, M. J. (2000). Testing: a roadmap. In ICSE - Future of SE Track, pages 61–72.

Jones, B., Sthamer, H., Yang, X., and Eyres, D. (1995). The automatic generation of software test data sets using adaptive search techniques. In 3rd International Conference on Software Quality Management, pages 435–444, Seville, Spain.

Korel, B. (1990). Automated software test data generation. IEEE Trans. Softw. Eng., 16(8):870–879.

McMinn, P. (2004). Search-based software test data generation: a survey. Software Testing, Verification and Reliability, 14(2):105–156.

Michael, C., McGraw, G., and Schatz, M. A. (2001). Generating software test data by evolution. IEEE Transactions on Software Engineering, 27(12):1085–1110.

Offutt, A. J. (1991). An integrated automatic test data generation system. Journal of Systems Integration, 1(3-4):391–409.

Pargas, R. P., Harrold, M. J., and Peck, R. R. (1999). Test-data generation using genetic algorithms. The Journal of Software Testing, Verification and Reliability, 9(4):263–282.

Tracey, N., Clark, J., and Mander, K. (1998). Automated program flaw finding using simulated annealing. In ISSTA ’98: Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis, pages 73–81. ACM Press.

WAP Forum (2001). WAP wireless transaction protocol specification, wap-224-wtp-20010710-a.

Watkins, A. and Hufnagel, E. M. (2006). Evolutionary test data generation: a comparison of fitness functions: Research articles. Software Practice and Experience, 36(1):95–116.
Publicado
27/05/2008
YANO, Thaise; MARTINS, Eliane; SOUSA, Fabiano Luís de. Aplicação de algoritmos evolutivos na geração automática de dados de teste de conformidade. In: WORKSHOP DE TESTES E TOLERÂNCIA A FALHAS (WTF), 9. , 2008, Rio de Janeiro/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2008 . p. 31-44. ISSN 2595-2684. DOI: https://doi.org/10.5753/wtf.2008.23144.