An Experience in Teaching Inspection and Software Testing

  • Ellen F. Barbosa USP
  • Simone R. S. Souza USP
  • André L. S. Domingues USP
  • Alessandra Chan USP
  • Erika N. Höhn USP
  • José C. Maldonado USP

Abstract


Inspection and testing are fundamental activities regarding software development, resulting in great demand for human resources in the area. However, although some initiatives can be identified, academia has not sufficiently answered such demand, mainly in Brazil. At ICMC-USP, two courses for teaching inspection and testing are offered to the undergraduate students – SCE-221: Verification, Validation and Software Testing and SCE-702: Testing and Software Inspection. This work aims at describing our learning experience conducted in the scope of these courses. The adopted approach involves the use of an educational module for inspection and testing allied to the conduction of an experimental study addressing the practical use of concepts, techniques and criteria explored during the semester. The learning effectiveness is measured in terms of the application of the V&V techniques, considering the average number of test cases generated, the coverage degree obtained and the number of defects revealed by the students.
Keywords: Software Inspection and Testing, Teaching Experience, V&V Techniques

References

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.
Published
2007-06-01
BARBOSA, Ellen F.; SOUZA, Simone R. S.; DOMINGUES, André L. S.; CHAN, Alessandra; HÖHN, Erika N.; MALDONADO, José C.. An Experience in Teaching Inspection and Software Testing. In: BRAZILIAN SOFTWARE QUALITY SYMPOSIUM (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.