Uma Estratégia para Geração de Dados de Teste
Abstract
Software testing is one of the most expensive activity with respect to software quality. Test data generation in software testing is the most difficult task to be automated, once there is no algorithm to determine a set of values to execute a particular path in a program. Furthermore, there is no algorithm to determine whether this set exists, that is, whether the path is executable or not. This paper presents one strategy to reduce the effects of infeasible paths in test data generation. This strategy for some cases, permits to reduce effort with this paths and to minimize the number of paths executed. Also, describes how the execution of required paths for structural testing methods can reveal type of errors detected by other methods - for example functional testing methods. These aspects are discussed with examples.
References
Bicevks, J.; Borzovs, J.;Shaujums, U.; Zarins, A.; Miller, E., "SMOTL - A System to Construct Samples for Data Program Debugging", IEEE Trans. on Software Eng., 5(1), 60-66, Jan., 1979.
Bird, D.; Munoz, C., "Automatic Generation of Random Self-Checking Test Cases", IBM Syst. J., 22(3), 229-245, 1983.
Boyer, R.S.; Elspas, B.; Levitt, K.N., "Select - A Formal System for Testing and Debugging Programs by Symbolic Execution", SIGPLAN Notices, 10(6), 234-245, June, 1975.
Chaim, M.L., POKE-TOOL - Uma Ferramenta para Suporte ao Teste Estrutural de Programas Baseado em Análise de Fluxo de Dados. Tese de Mestrado, DCA/FEE/UNICAMP - Campinas, SP, Abril 1991.
Clarke, L., "A System to Generate Test Data and Symbolic Execute Programs", IEEE Trans. on Software Eng., SE-2(3), 215-222, Sept., 1976.
DeMillo, R.A.; Offutt J.; "Constraint-Based Automatic Test Data Generation", IEEE Trans. on Software Eng., 17(9), Sept., 1991.
Frankl, F.G., The Use of Data Flow Information for Selection and Evaluation of Software Test Data, PhD Dissertation, New York, Oct., 1987.
Herman, P.M., "Flow Analysis Approach to Program Testing", The Australian Computer Programs, Proc. 8th ICSE, London, UK, 1985.
Howden, W., "Methodology for The Generation of Program Test Data", IEEE Trans. on Comp., 24(5), May, 1975.
Howden, W., "Symbolic Testing and The DISSECT Symbolic Evaluation", IEEE Trans.on Software Eng., SE-4(4), 266-278, July, 1977.
Kernighan, B.W.; Plauger, P.J., Software Tools in Pascal. Addison-Wesley Publishing Company, Reading, Massachusetts, 1981.
Korel, B., "Automated Software Test Data Generation", IEEE Trans. on Software Eng., 6(8), 870-879, August, 1990.
Laski, J.W.; Korel, B., "A Data Flow Oriented Program Testing Strategy", IEEE Trans.on Software Eng., 9(3), 347-354, May, 1983.
Maldonado, J.C; Chaim, M.L.; Jino, M., Resultados do Estudo de uma Família de Critérios de Teste de Programas Baseada em Fluxo de Dados, Relatório Técnico - DCA/FEE/UNICAMP - RT/DCA-001/88 - Campinas, SP, Set., 1988.
Maldonado, J.C; Chaim, M.L.; Jino, M., "Seleção de Casos de Teste Baseada nos Critérios Potenciais Usos", II Simpósio Brasileiro de Engenharia de Software, Canela, RS, Out., 1988.
Maldonado, J.C., Critérios Potenciais Usos: Uma Contribuição ao Teste Estrutural de Software. Tese de Doutorado, DCA/FEE/UNICAMP - Campinas, SP, Julho 1991.
Malevris, N.; Yates, D.F.; Veevers, A., "Predictive Metric for Likely Feasibility of Program Paths" Information and Software Tochnolosv 29/9) March 1900.
Myers, G.J., The Art of Software Testing, Wiley, 1979.
Pressman, R.B., Software Engineering: a Practitioner's Approach, Third Edition, New York, McGraw-Hill, 1992.
Ramamoorthy, S.; Ho, F.S.; Chen, W.T., "On The Automated Generation of Program Test Data, IEEE Tran. on Software Eng,, SE-2(4), 293-300, Dec., 1976.
Rapps, S.; Weyuker, E.J., "Data Flow Analysis Techniques for Test Data Selection", in Proc. Int. Conf. Software Engineering, Tokyo, Sept., 1982.
Ural, U.; Yang, B., "A Structural Test Selection Criterion", Information Processing Leters, Jul., 1988.
Vergilio, S.R., Caminhos Não Executáveis: Caracterização, Previsão e Determinação para Suporte ao Teste de Programas. Tese de Mestrado, DCA/FEE/UNICAMP, Campinas, SP, Jan. 1992.
Vergilio, S.R.; Maldonado, J.C.; Jino, M. "Caminhos Não Executáveis na Automação das Atividades de Teste", VI Simpósio Brasileiro de Engenharia de Software, Gramado, RS, Nov. 1992.
Vergilio, S.R.; Maldonado, J.C; Jino, M., "Influência do Número de Predicados na Executabilidade de Um Caminho no Contexto de Teste Baseado em Fluxo de Dados", XIX Conferencia Latinoamericana de Informatica, Buenos Aires, Argentina, Março, 1993.
Weyuker, E.J., "The Cost of Data Flow Testing: An Empirical Study", IEEE Trans. on Software Eng. SE-16(2), 12-18, Feb., 1988.
White, L.J.; Cohen, E.L., "A Domain Strategy for Computer Program Testing", IEEE Trans. on Software Eng., 6(3), 247-257, May, 1980.
