Please use this identifier to cite or link to this item: http://hdl.handle.net/11422/23610
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorMoreira, Anamaria Martins-
dc.contributor.authorSilva, César Augusto Julio da-
dc.date.accessioned2024-09-05T17:26:51Z-
dc.date.available2024-09-07T03:00:17Z-
dc.date.issued2024-07-17-
dc.identifier.urihttp://hdl.handle.net/11422/23610-
dc.languageporpt_BR
dc.publisherUniversidade Federal do Rio de Janeiropt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectTeste de softwarept_BR
dc.subjectParticionamento de entradapt_BR
dc.subjectPlataforma de ensino de programaçãopt_BR
dc.subjectSoftware testpt_BR
dc.subjectInput partitioningpt_BR
dc.subjectProgramming education platformpt_BR
dc.titleTestes baseados em particionamento da entrada para plataforma de ensino de programaçãopt_BR
dc.typeTrabalho de conclusão de graduaçãopt_BR
dc.contributor.referee1Bastos, Daniel Chicayban-
dc.contributor.referee2Moraes, Laura de Oliveira Fernandes-
dc.description.resumoAo 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.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentInstituto de Computaçãopt_BR
dc.publisher.initialsUFRJpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.embargo.termsabertopt_BR
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.