Please use this identifier to cite or link to this item: http://hdl.handle.net/11422/23610
Type: Trabalho de conclusão de graduação
Title: Testes baseados em particionamento da entrada para plataforma de ensino de programação
Author(s)/Inventor(s): Silva, César Augusto Julio da
Advisor: Moreira, Anamaria Martins
Abstract: Ao longo da última década, ocorreu uma expansão na área de desenvolvimento de plataformas de ensino online. Dentre essas, uma que foi desenvolvida e está em uso por alunos da UFRJ é a Machine Teaching, focada no ensino de programação. Nela são disponibilizados problemas de programação em conjunto com seus respectivos testes, o que permite uma avaliação mais detalhada do desempenho dos alunos, automatização do processo de correção e um retorno imediato dos resultados. Um projeto final de curso recente focou em realizar uma comparação entre os testes já implementados pelos professores com testes modelados seguindo metodologias mais formais e consolidadas na área. Dentre essas, uma das metodologias aplicadas foi a de particionamento do espaço de entrada. O método de particionamento do espaço de entrada visa uma análise baseada em requisitos voltados para a entrada do programa, os quais os casos de testes tentam cobrir segundo um critério de cobertura determinado. Tal método permite uma aplicação em caixa-preta, onde o criador dos testes somente tem acesso às especificações do projeto. Uma segunda vantagem é que a justificativa de cada caso de teste depende somente das características das entradas do programa. Esse trabalho tem como objetivo uma nova análise dos particionamentos criados durante o projeto acima mencionado de forma a corroborar os seus resultados e a criação de um pequeno manual de recomendações para escrita dos enunciados e projeto de testes. O alcance de tais resultados foi obtido por meio de: obtenção dos problemas, soluções e códigos dos alunos, realização de uma nova análise dos exercícios usando método de particionamento do espaço de entrada, execução dos testes criados em conjunto com os da plataforma e os do projeto anterior, e extração e comparação dos dados obtidos. O projeto encontrou uma porcentagem mais alta de falhas nos testes baseado em particionamento de entrada do que os produzidos na plataforma em 28 dos 35 exercícios, com uma média de 3.82% e uma mediana de 1.31% de códigos que falharam somente nos testes novos em comparação a uma média de 1.00% e uma mediana de 0.16% que só falharam nos testes da Machine Teaching. Além disso, por meio de uma análise mais detalhada dos códigos dos alunos em conjunto com as falhas mais comuns em cada problema, foi criado um guia de dicas para criação de enunciado cujo objetivo é ajudar a evitar tais erros e uma lista de dicas para projeto de teste, com o objetivo de auxiliar na criação de casos de testes com uma cobertura melhor.
Keywords: Teste de software
Particionamento de entrada
Plataforma de ensino de programação
Software test
Input partitioning
Programming education platform
Subject CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Production unit: Instituto de Computação
Publisher: Universidade Federal do Rio de Janeiro
Issue Date: 17-Jul-2024
Publisher country: Brasil
Language: por
Right access: Acesso Aberto
Appears in Collections:Ciência da Computação

Files in This Item:
File Description SizeFormat 
CAJSilva.pdf580.02 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.