Caminhos Não Executáveis na Automação das Atividades de Teste
Resumo
No caso geral, não é possível determinar (é indecidível) se um dado caminho através de um programa é ou não executável; a existência de caminhos não executáveis traz muitos problemas para a automatização das atividades de teste. Esses problemas são discutidos, mais especificamente dentro do contexto da ferramenta de testes POKE-TOOL, que apóia a aplicação dos Critérios Potenciais Usos - uma família de critérios de teste baseados em análise de fluxo de dados. Um "benchmark" foi realizado utilizando-se a POKE-TOOL. As principais causas de não executabilidade dos caminhos encontrados nas rotinas do “benchmark são descritas. Foi estudado o relacionamento entre o número de predicados de um caminho e sua executabilidade. Outro resultado do “benchmark” foi ressaltar a relevância da heurística proposta por Frankl [FRA87] para determinação de não executabilidade. Adicionalmente, são descritas duas extensões para esta heurística e outros recursos para tratamento de caminhos não executáveis (como exemplo a eliminação de padrões de não executabilidade). Esses recursos foram incorporados à ferramenta POKE-TOOL, com o objetivo de reduzir o custo e esforço das atividades de teste.
Referências
F.G.Frankl, E.J.Weyuker, "Data Flow Testing In the Presence of Unexecutable Paths", In Proc. Workshop on Software Testing, Banff, Canada, pp 4-13, Jul. 1986.
F.G.Frankl, "The use of Data Flow Information for the Selection and Evaluation of Software Test Data," Ph.D Dissertation, New York, Oct. 1987.
D.Hedley e M.A.Hennell, "The Causes and Effects of Infeasible Paths In Computer Programs", Proc. 8th. ICSE London, UK (1985) pp 259-266.
B.W.Kernighan e P.J.Plauger, Software Tools In Pascal. Addison-Wesley Publishing Company, Reading, Massachusetts, 1981.
A.Mayhauser, Software Engineering - Methods and Management, Academic Press Inc, USA, 1990.
J.C.Maldonado, M.LChaim, M.Jino, "Seleção de Casos de Testes Baseada nos Critérios Potenciais Usos", II Simpósio Brasileiro de Engenharia de Sotware, Canela, RS, Brasil, Out. 1988, pp. 24-35.
J.C.Maldonado, "Critérios Potenciais "Usos: Uma Contribuição ao Teste Estrutural de Software", Tese de Doutorado, DCA/FEE/UNICAMP Campinas-SP, Brasil, Julho 1991.
J.C.Maldonado, M.L.Chaim, S.R.Vergilio, M.Jino, "Critérios Potenciais Usos: Uma Contribuição para a Atividade de Garantia de Qualidade de Software", In Proc. Workshop em Avaliação de Qualidade de Software, COPPE/UFRJ, Rio de Janeiro, RJ, Brasil, Malo 1991.
N.Malevris, D.F.Yates, A.Veevers, "Predictive Metric for Likely Feasibility of Program Paths". Information and Software Technology, Vol.32, No.2, March 1990.
G.J.Myers, "The Art of Software Testing", Wiley, 1979.
S.Rapps, E.J.Weyuker, "Data Flow Analysis Techniques for Test Data Selection", In Proc. Int. Conf. Software Eng., Tokio, Japão,Set 1982.
S.Rapps, E.J.Weyuker, "Selecting Software Test Data Using Data Flow Information," IEEE, Trans. Sofware Eng., Vol. SE - 11,pp. 367-375, Apr 1985.
S.R.Vergilio, "Caminhos Não Executáveis: Caracterização, Previsão Determinação para Suporte ao Teste de Programas", Tese de Mestrado DCA/FEE/UNICAMP, Campinas -SP Janeiro 1992.
E.J.Weyuker, "The Complexity of Data Flow Criteria for Test Data Selection," Information Processing Letters, Vol. 19, N. 12, pp 121-128, Feb. 1990.
E.J.Weyuker, "The Cost of Data Flow Testing: An Empirical Study", IEEE Trans. Soft. Eng., Vol. SE-16, No 2, Feb. 1990, pp.121-128.