Uma Experiência no Ensino de Inspeção e Teste de Software
Resumo
A percepção de que inspeção e teste são atividades indispensáveis no desenvolvimento de software tem provocado um crescimento significativo na demanda por pessoal capacitado na área. Entretanto, apesar de algumas iniciativas serem identificadas, o meio academico não tem conseguido atender satisfatoriamente a demanda existente, principalmente no Brasil. No caso do ICMC-USP, duas disciplinas voltadas ao ensino de inspeção e teste são oferecidas aos alunos de graduação – SCE-221: Verificação, Validação e Teste de Software e SCE-702: Teste e Inspeção de Software. Este trabalho visa a descrever a experiência de ensino conduzida no contexto dessas disciplinas. A proposta adotada envolve a utilização de um módulo educacional na área de inspeção e teste aliada à condução de um estudo experimental abordando a aplicação prática dos conceitos, técnicas e critérios vistos durante as aulas. A efetividade do aprendizado alcançado é medida com respeito ao uso das técnicas de V&V, sendo considerados o numero médio de casos de teste gerados, o grau de cobertura obtido e a quantidade de defeitos identificados pelos alunos.
Palavras-chave:
Inspeção e Teste de Software, Experiência no Ensino, Técnicas de V&V
Referências
Barbosa, E. and Maldonado, J. (2006a). An integrated content modeling approach for educational modules. In IFIP 19th World Computer Congress – International Confe-rence on Education for the 21st Century, pages 17–26, Santiago, Chile.
Barbosa, E. and Maldonado, J. (2006b). Towards the establishment of a standard process for developing educational modules. In 36th Annual Frontiers in Education Conference (FIE 2006), San Diego, CA. CD-ROM.
Basili, V., Green, S., Laitenberger, O., Shull, F., Sorumgaard, S., and Zelkowitz, M. (1996). The Empirical Investigation of Perspective Based Reading. Empirical Soft-ware Engineering - An International Journal, 1(2):133–164.
Basili, V. and Selby, R. W. (1987). Comparing the Effectiveness of Software Testing Strategies. IEEE Transactions on Software Engineering, SE-13(12):1278–1296.
Basili, V. R., Shull, F., and Lanubille, F. (1999). Building Knowledge Through Families of Experiments. IEEE Transactions on Software Engineering, 25(4):456–473.
Chaim, M. L. (1991). PokeTool – Uma ferramenta para suporte ao teste estrutural de pro-gramas baseado em analise de fluxo de dados. Master’s thesis, DCA/FEEC/UNICAMP, Campinas, SP.
Delamaro, M. E., Maldonado, J. C., and Mathur, A. P. (2001). Interface mutation: An ap-proach for integration testing. IEEE Transactions on Software Engineering, 27(3):228–247.
DeMillo, R. A., Lipton, R. J., and Sayward, F. G. (1978). Hints on test data selection: Help for the practicing programmer. IEEE Computer, 11(4):34–43.
Dick, W., Carey, L., and Carey, J. O. (2001). The Systematic Design of Instruction. Longman, 5 edition.
Doria, E. S. (2001). Replicação de experimentos em engenharia de software. Master’s thesis, ICMC-USP, Sao Carlos, SP.
DSI/CGSA (2002). Qualidade e produtividade no setor de software brasileiro: 2001. Revista do SEPIN/MCT. Brasília, DF.
Frankl, F. G. (1987). The Use of Data Flow Information for the Selection and Evaluation of Software Test Data. PhD thesis, University of New York, NY.
Guzdial, M., Rick, J., and Kehoe, C. (2002). Beyond adoption to invention: Teacher-created collaborative activities in higher education. Journal of the Learning Sciences.
Maidantchik, C. L. L. and Rocha, A. R. (2002). Managing a worldwide software process. In Workshop on Global Software Development – International Conference on Software Engineering (ICSE 2002), Orlando, FL.
Maldonado, J. C. (1991). Criterios Potenciais Usos: Uma Contribuição ao Teste Estru-tural de Software. PhD thesis, DCA/FEEC/UNICAMP, Campinas, SP.
Maldonado, J. C., Carver, J., Shull, F., Fabbri, S. C. P. F., Doria, E., Martimiano, L. A. F., Mendonça, M., and Basili, V. R. (2006a). Perspective-based reading: A replicated experiment focused on individual reviewer effectiveness. Empirical Software Engine-ering, 11(1):119–142.
Maldonado, J. C., Fabbri, S. C. P. F., Mendonc ̧a, M., Doria, E., Martimiano, L. A. F., and Carver, J. (2006b). Comparing code reading and testing criteria. In ISESE 2006 - International Symposium on Empirical Software Engineering, pages 42–44, Rio de Janeiro.
Myers, G. J. (1978). A Controlled Experiment in Program Testing and Code Walkthough Inspections. Communications of the ACM, pages 760–768.
Myers, G. J., Sandler, C., Badgett, T., and Thomas, T. M. (2004). The Art of Software Testing. John Wiley & Sons, 2nd. edition.
Novak, J. D. (1990). Concept mapping: A useful tool for science education. Journal of Research in Science Teaching, 27:937–949.
Turine, M. A. S., Oliveira, M. C. F., and Masiero, P. C. (1997). Designing structured hypertext with HMBS. In VIII International ACM Hypertext Conference (Hypertext 97), pages 241–256, Southampton, UK.
Wohlin, C., Runeson, P., Host, M., Ohlsson, M. C., Regnell, B., and Wesslen, A. (2000). Experimentation in Software Engineering: an Introduction. Kluwer Academic Pu-blisher.
Barbosa, E. and Maldonado, J. (2006b). Towards the establishment of a standard process for developing educational modules. In 36th Annual Frontiers in Education Conference (FIE 2006), San Diego, CA. CD-ROM.
Basili, V., Green, S., Laitenberger, O., Shull, F., Sorumgaard, S., and Zelkowitz, M. (1996). The Empirical Investigation of Perspective Based Reading. Empirical Soft-ware Engineering - An International Journal, 1(2):133–164.
Basili, V. and Selby, R. W. (1987). Comparing the Effectiveness of Software Testing Strategies. IEEE Transactions on Software Engineering, SE-13(12):1278–1296.
Basili, V. R., Shull, F., and Lanubille, F. (1999). Building Knowledge Through Families of Experiments. IEEE Transactions on Software Engineering, 25(4):456–473.
Chaim, M. L. (1991). PokeTool – Uma ferramenta para suporte ao teste estrutural de pro-gramas baseado em analise de fluxo de dados. Master’s thesis, DCA/FEEC/UNICAMP, Campinas, SP.
Delamaro, M. E., Maldonado, J. C., and Mathur, A. P. (2001). Interface mutation: An ap-proach for integration testing. IEEE Transactions on Software Engineering, 27(3):228–247.
DeMillo, R. A., Lipton, R. J., and Sayward, F. G. (1978). Hints on test data selection: Help for the practicing programmer. IEEE Computer, 11(4):34–43.
Dick, W., Carey, L., and Carey, J. O. (2001). The Systematic Design of Instruction. Longman, 5 edition.
Doria, E. S. (2001). Replicação de experimentos em engenharia de software. Master’s thesis, ICMC-USP, Sao Carlos, SP.
DSI/CGSA (2002). Qualidade e produtividade no setor de software brasileiro: 2001. Revista do SEPIN/MCT. Brasília, DF.
Frankl, F. G. (1987). The Use of Data Flow Information for the Selection and Evaluation of Software Test Data. PhD thesis, University of New York, NY.
Guzdial, M., Rick, J., and Kehoe, C. (2002). Beyond adoption to invention: Teacher-created collaborative activities in higher education. Journal of the Learning Sciences.
Maidantchik, C. L. L. and Rocha, A. R. (2002). Managing a worldwide software process. In Workshop on Global Software Development – International Conference on Software Engineering (ICSE 2002), Orlando, FL.
Maldonado, J. C. (1991). Criterios Potenciais Usos: Uma Contribuição ao Teste Estru-tural de Software. PhD thesis, DCA/FEEC/UNICAMP, Campinas, SP.
Maldonado, J. C., Carver, J., Shull, F., Fabbri, S. C. P. F., Doria, E., Martimiano, L. A. F., Mendonça, M., and Basili, V. R. (2006a). Perspective-based reading: A replicated experiment focused on individual reviewer effectiveness. Empirical Software Engine-ering, 11(1):119–142.
Maldonado, J. C., Fabbri, S. C. P. F., Mendonc ̧a, M., Doria, E., Martimiano, L. A. F., and Carver, J. (2006b). Comparing code reading and testing criteria. In ISESE 2006 - International Symposium on Empirical Software Engineering, pages 42–44, Rio de Janeiro.
Myers, G. J. (1978). A Controlled Experiment in Program Testing and Code Walkthough Inspections. Communications of the ACM, pages 760–768.
Myers, G. J., Sandler, C., Badgett, T., and Thomas, T. M. (2004). The Art of Software Testing. John Wiley & Sons, 2nd. edition.
Novak, J. D. (1990). Concept mapping: A useful tool for science education. Journal of Research in Science Teaching, 27:937–949.
Turine, M. A. S., Oliveira, M. C. F., and Masiero, P. C. (1997). Designing structured hypertext with HMBS. In VIII International ACM Hypertext Conference (Hypertext 97), pages 241–256, Southampton, UK.
Wohlin, C., Runeson, P., Host, M., Ohlsson, M. C., Regnell, B., and Wesslen, A. (2000). Experimentation in Software Engineering: an Introduction. Kluwer Academic Pu-blisher.
Publicado
01/06/2007
Como Citar
BARBOSA, Ellen F.; SOUZA, Simone R. S.; DOMINGUES, André L. S.; CHAN, Alessandra; HÖHN, Erika N.; MALDONADO, José C..
Uma Experiência no Ensino de Inspeção e Teste de Software. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 6. , 2007, Porto de Galinhas.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2007
.
p. 309-324.
DOI: https://doi.org/10.5753/sbqs.2007.15584.