Geração Automática de Dados e Tratamento de Não Executabilidade no Teste Estrutural de Software

  • Paulo Marcos Siqueira Bueno UNICAMP
  • Mario Jino UNICAMP

Resumo


A tool and techniques are presented for test data generation and infeasibility identification in structural software testing technique. The tool is based on: the Dynamic Technique; search using Genetic Algorithms; and reuse of solutions through Case-Based Reasoning. The objective is to automatically generate input data which execute complete paths in a program and identify path infeasibility when this is the case; this is done through the Potential Infeasibility Dynamic Identification Heuristic proposed. An experiment shows the validity of the developed solutions and the benefit of using the tool. Results attained indicate that, despite the general undecidability of the problems, partial solutions can be useful for software testing practice.

Palavras-chave: test data generation, dynamic technique, path infeasibility, genetic algorithms, case-based reasoning

Referências

A. Aamodt and Plaza E. Case-based reasoning: Foundational issues, methodological variations, and system approaches. AICom - Artificial Intelligence Communications, Vol. 7(1):39-59, 1994.

R. Bodík, R. Gupta, and M. L. Soffa. Refining data flow information using infeasible paths. Software Engineering Notes, Vol. No 22(6):361-377, Novembro 1997.

M.L. Chaim. POKE-TOOL Uma Ferramenta para Suporte ao Teste Estrutural de Programas Baseado em Análise de Fluxo de Dados. Dissertação de Mestrado, DCA/FEEC/Unicamp, Campinas SP, Brazil, Abril 1991.

L. Clarke. A system to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering, Vol. SE-2(3):215-222, Setembro 1976.

R. Ferguson and B. Korel. The chaining approach for software test data generation. ACM Transactions on Software Engineering and Methodology, 5(1):63-86, Janeiro 1996.

I. Forgács and A. Bertolino. Feasible teste path selection by principal slicing. Software Engineering Notes, Vol. No 22(6):378-394, Novembro 1997.

F.G. Frankl. The use of Data Flow Information for the Selection and Evaluation of Software Test Data. PhD Thesis, Department of Computer Science, New York University, New York, U.S.A., Outubro 1987.

M. J. Gallagher and V. N. Narasimham. Adtest: A test data generation suite for ada software systems. IEEE Transactions on Software Engineering, Vol. 23(8):473-484, Agosto 1997.

D. E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley Publishing Company, Inc, University of Alabama, 1989.

N. Gupta, A. P. Mathur, and M. L. Soffa. Automated test data generation using an iterative relaxation method. Foundations of Software Engineering, Vol. No 11:231-244, Novembro 1998.

W.E. Howden. Symbolic testing and dissect symbolic evaluation system. IEEE Transactions on Software Engineering, Vol. SE-3(4):266-278, Julho 1977.

B. F. Jones, H. H. Sthamer, and D. E. Eyres. Automatic structural testing using genetic algorithms. Software Engineering Journal, pages 299-306, Setembro 1996.

J. L. Kolondner. Case-Based Reasoning. Morgan Kaufmann Publishers, 1993.

B. Korel. Automated software test data generation. IEEE Transactions on Software Engineering, Vol. SE-16(8):870-879, Agosto 1990.

D. B. Leake. Case-Based Reasoning Experiences, Leassons and Future Directions. AAAI Press - The MIT Press, Menlo Park, CA 94025, 1996. Collection: 17 articles.

J.C. Maldonado. Critérios Potenciais Usos: Uma Contribuição ao Teste Estrutural de Software. Tese de Doutorado, DCA/FEEC/Unicamp, Campinas SP, Brazil, Julho 1991.

N. Malevris, D.F. Yates, and A. Veevers. Predictive metric for likely feasibility of program paths. Information and Software Technology, Vol. 32(2):115-118, Março 1990.

C. C. Michael, G. E. McGraw, M. A. Schatz, and Walton C. C. Genetic Algorithms for Dynamic Test-Data Generation. Technical Report RSTR-003-97-11, RST Corporation: Suite 250, 21515 Ridgetop Circle Sterling, CA 20166, Maio 1997. (at http://www.rstcorp.com/paper-subject.html).

W. Miller and D. L. Spooner. Automatic generation of floating-point test data. IEEE Transactions on Software Engineering, Vol. SE-2(3):223-226, Setembro 1976.

L.M. Peres. Estudo de Estratégias de Seleção de Caminhos para Satisfação de Critérios de Teste Estrutural. Dissertação de Mestrado, DCA/FEEC/Unicamp, Campinas SP, 1997. (em elaboração).

A.M.A. Price and J.S. Herbert. Estratégia de geração de dados de teste baseada na análise simbólica e dinâmica do programa. In XI Simpósio Brasileiro de Engenharia de Software, pages 397-411. Fortaleza , Brazil, Novembro 1997.

C.V. Ramamoorthy, F. H. Siu-Bun, and W.T. Chen. On automated generation of program test data. IEEE Transactions on Software Engineering, Vol. SE-2(4):293-300, Dezembro 1976.

M. Srinivas and Patnaik L. M. Genetic algorithms: A survey. IEEE Computer, 27(6):17-26, Junho 1994.

S.R. Vergilio. Caminhos Não Executáveis: Caracterização, Previsão e Determinação para Suporte ao Teste de Programas. Dissertação de Mestrado - DCA/FEEC/Unicamp, Campinas SP, Brazil, Janeiro 1992.

Michalewicz Zbigniew. Genetic Algorithms + Data Strutures = Evolution Programs. Springer Verlag, North Carolina USA, 3rd edition, 1996.
Publicado
13/10/1999
Como Citar

Selecione um Formato
BUENO, Paulo Marcos Siqueira; JINO, Mario. Geração Automática de Dados e Tratamento de Não Executabilidade no Teste Estrutural de Software. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 13. , 1999, Florianópolis/SC. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1999 . p. 276-291. DOI: https://doi.org/10.5753/sbes.1999.23929.