Using an Incremental Testing Strategy to Improve Students’ Perception of Software Quality
Resumo
Teaching software testing should include a broad view of the main techniques, criteria, and tools. In general, students have few opportunities to test their code-projects suitably during the undergraduate course and, therefore, teaching software testing in practice is crucial to students recognize the advantages and limitations of different testing techniques. This paper reports the experience of teaching software testing in practice, with students applying an incremental testing strategy to validate their software projects. Students selected a software project developed during their undergraduate and an incremental testing strategy, including testing criteria learned in the class. The students should choose the testing techniques, apply them and write a report with the results and perceptions. Through this experience, it was possible to show to the students, in practice, the importance of combining more than one technique during the software testing activity.
Palavras-chave:
software testing, software testing teaching, education
Referências
Andrade, S. A., Oliveira Neves, V., and Delamaro, M. E. (2019). Software testing education: dreams and challenges when bringing academia and industry closer together. In XXXIII Brazilian Symposium on Software Engineering, pages 47–56. ACM
Bijlsma, A., Doorn, N., Passier, H., Pootjes, H., and Stuurman, S. (2020). How do students test software units? In https://arxiv.org/abs/2102.09368.
Clarke, P. J., Davis, D., King, T. M., Pava, J., and Jones, E. L. (2014). Integrating testing into software engineering courses supported by a collaborative learning environment. ACM Transactions on Computing Education (TOCE).
Coutinho, E. F., Santos, I., Moreira, L. O., and Bezerra, C. I. (2019). A report on the teaching of software ecosystems in software engineering discipline. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, pages 130–139. ACM
Edwards, S. H. (2003). Teaching software testing: automatic grading meets test-first coding. In Conference on Object Oriented Programming Systems Languages and Applications: Companion of the 18 th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Fraser, G., Gambi, A., Kreis, M., and Rojas, J. M. (2019). Gamifying a software testing course with code defenders. In 50th ACM Technical Symposium on Computer Science Education, pages 571–577
Lauv°as Jr, P. and Arcuri, A. (2018). Recent trends in software testing education: a systematic literature review. In Norsk IKT-konferanse for forskning og utdanning
Lemos, O. A. L., Ferrari, F. C., Silveira, F. F., and Garcia, A. (2015). Experience report: Can software testing education lead to more reliable code? In IEEE 26th International Symposium on Software Reliability Engineering (ISSRE), pages 359–369
Offutt, J., Li, N., Ammann, P., and Xu,W. (2011). Using abstraction and web applications to teach criteria-based test design. In 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T), pages 227–236. IEEE.
Paschoal, L. N., Turci, L. F., Conte, T. U., and Souza, S. R. (2019). Towards a conversational agent to support the software testing education. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, pages 57–66
Santos, I., Furlanetti, A. B., Melo, S. M., de Souza, P. S. L., Delamaro, M. E., and Souza, S. R. (2020). Contributions to improve the combined selection of concurrent software testing techniques. In Proceedings of the 5th Brazilian Symposium on Systematic and Automated Software Testing, pages 69–78
Smith, J., Tessler, J., Kramer, E., and Lin, C. (2012). Using peer review to teach software testing. In Proceedings of the ninth annual international conference on International computing education research, pages 93–98
Strauss, A. and Corbin, J. (2007). Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. SAGE Publications, 3rd edition
Wong, W. E., Bertolino, A., Debroy, V., Mathur, A., Offutt, J., and Vouk, M. (2011). Teaching software testing: Experiences, lessons learned and the path forward. In 24th IEEE Conference on Software Engineering Education and Training, pages 530–534
Bijlsma, A., Doorn, N., Passier, H., Pootjes, H., and Stuurman, S. (2020). How do students test software units? In https://arxiv.org/abs/2102.09368.
Clarke, P. J., Davis, D., King, T. M., Pava, J., and Jones, E. L. (2014). Integrating testing into software engineering courses supported by a collaborative learning environment. ACM Transactions on Computing Education (TOCE).
Coutinho, E. F., Santos, I., Moreira, L. O., and Bezerra, C. I. (2019). A report on the teaching of software ecosystems in software engineering discipline. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, pages 130–139. ACM
Edwards, S. H. (2003). Teaching software testing: automatic grading meets test-first coding. In Conference on Object Oriented Programming Systems Languages and Applications: Companion of the 18 th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Fraser, G., Gambi, A., Kreis, M., and Rojas, J. M. (2019). Gamifying a software testing course with code defenders. In 50th ACM Technical Symposium on Computer Science Education, pages 571–577
Lauv°as Jr, P. and Arcuri, A. (2018). Recent trends in software testing education: a systematic literature review. In Norsk IKT-konferanse for forskning og utdanning
Lemos, O. A. L., Ferrari, F. C., Silveira, F. F., and Garcia, A. (2015). Experience report: Can software testing education lead to more reliable code? In IEEE 26th International Symposium on Software Reliability Engineering (ISSRE), pages 359–369
Offutt, J., Li, N., Ammann, P., and Xu,W. (2011). Using abstraction and web applications to teach criteria-based test design. In 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T), pages 227–236. IEEE.
Paschoal, L. N., Turci, L. F., Conte, T. U., and Souza, S. R. (2019). Towards a conversational agent to support the software testing education. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, pages 57–66
Santos, I., Furlanetti, A. B., Melo, S. M., de Souza, P. S. L., Delamaro, M. E., and Souza, S. R. (2020). Contributions to improve the combined selection of concurrent software testing techniques. In Proceedings of the 5th Brazilian Symposium on Systematic and Automated Software Testing, pages 69–78
Smith, J., Tessler, J., Kramer, E., and Lin, C. (2012). Using peer review to teach software testing. In Proceedings of the ninth annual international conference on International computing education research, pages 93–98
Strauss, A. and Corbin, J. (2007). Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. SAGE Publications, 3rd edition
Wong, W. E., Bertolino, A., Debroy, V., Mathur, A., Offutt, J., and Vouk, M. (2011). Teaching software testing: Experiences, lessons learned and the path forward. In 24th IEEE Conference on Software Engineering Education and Training, pages 530–534
Publicado
20/07/2021
Como Citar
SANTOS, Italo; MORI, Allan; SOUZA, Simone R. S..
Using an Incremental Testing Strategy to Improve Students’ Perception of Software Quality. In: WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO (WEI), 29. , 2021, Evento Online.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2021
.
p. 181-190.
ISSN 2595-6175.
DOI: https://doi.org/10.5753/wei.2021.15909.