Você está na página 1de 10

PleTes - Plataforma Educativa pra Teste de Software: um estudo

empírico.
Lucas Santos, Fischer Ferreira, Anderson Barbosa, Felipe Almeida, Andesson Sousa
{lucassantos,fischerjonatas}@ufc.br
{anderson.barbosa,felipe.almeida,andesson.sousa}@uninta.edu.br
Sobral, Ceará, BR
RESUMO dos fundamentos da testagem, aliada a habilidades práticas para
A testagem de software é uma atividade essencial para a garantia da sua aplicação eficaz [10].
qualidade do software. No entanto, seu ensino pode ser um desafio, Nesse contexto, é crucial destacar que os estudantes muitas vezes
pois requer a compreensão de conceitos complexos e a aplicação se deparam com desafios substanciais ao tentar criar conjuntos
de técnicas práticas. Este trabalho apresenta uma plataforma edu- de testes abrangentes. A capacidade de formular casos de teste
cacional que aborda os desafios do ensino de testagem de software. que sejam tanto rigorosos quanto representativos dos cenários
A plataforma adota uma abordagem lúdica e envolvente, combi- reais de uso é uma habilidade complexa que demanda prática e
nando elementos de entretenimento com objetivos educacionais. orientação [10]. Além disso, a interpretação dos resultados obtidos
Isso torna o aprendizado mais motivador e eficaz, permitindo que durante a execução dos testes também representa um ponto de
os alunos absorvam conceitos complexos de testagem de software interesse crítico. Os alunos precisam ser capazes de discernir entre
de forma mais rápida e eficiente. A plataforma foi validada em um resultados esperados e anomalias que podem indicar potenciais
estudo com estudantes de cursos de computação e profissionais falhas ou áreas de aprimoramento no código.
atuantes na área de testagem de software. Foi realizado uma análise Outro aspecto relevante é a integração de tecnologias inovadoras
qualitativa para validar a ferramenta e abordagem proposta com no processo de ensino de testagem de software. O uso de platafor-
estudantes de graduação e pós-graduação de cursos da área de com- mas educacionais que incorporam análise de testes mutantes e
putação no nordeste do Brasil. Foi realizada uma análise qualitativa assistência de IA é um exemplo notável nesse sentido [18, 20, 26].
para validar as funcionalidades da ferramenta, bem como alinhar Tais avanços oferecem aos alunos a oportunidade de vivenciar um
às expectativas de alunos de cursos da área de computação. aprendizado mais dinâmico e interativo, permitindo a aplicação
prática dos conhecimentos adquiridos. Além disso, essa abordagem
CCS CONCEPTS inovadora não apenas beneficia os estudantes, mas também propor-
ciona aos professores insights valiosos sobre o progresso individual
• Social and professional topics → Computing education.
dos alunos e áreas que necessitam de aprimoramento no processo
de ensino [4].
PALAVRAS-CHAVE
Este trabalho se concentra em aprimorar a formação educacio-
Educação de computação, Brasil, EduComp nal oferecida, propondo uma plataforma inovadora que combina a
análise de testes mutantes com a assistência de IA [15]. A análise
1 INTRODUÇÃO de testes mutantes, uma técnica notavelmente eficaz, implica na
A testagem de software é um dos pilares da engenharia de software, introdução controlada de "mutantes"no código-fonte, simulando
desempenhando um papel crítico na garantia da qualidade e con- potenciais falhas, sendo então os casos de teste empregados para
fiabilidade de sistemas de software. Com o crescente aumento da identificar tais alterações. Não obstante, a aplicação prática dessa
dependência da sociedade em sistemas computacionais, a demanda técnica pode ser desafiadora para estudantes.
por profissionais qualificados em testagem de software nunca foi A necessidade de incorporar abordagens educacionais mais di-
tão alta. No entanto, o ensino eficaz dessa disciplina é um desafio nâmicas e abrangentes para a testagem de software é respaldada
constante enfrentado por instituições de ensino em todo o mundo. pelas diretrizes estabelecidas por entidades respeitáveis, como a
Os cursos de testagem de software representam uma vertente ACM (Association for Computing Machinery) e outros órgãos en-
essencial no ensino de desenvolvimento de programas [2, 11, 23]. carregados da definição de ementas em Ciência da Computação e
Esses cursos, em geral, adotam uma abordagem equilibrada entre a áreas afins. Tais instituições reconhecem a crescente complexidade
teoria e a prática, com foco na habilidade de conceber casos de teste e importância da testagem de software no processo de desenvolvi-
capazes de identificar falhas no código-fonte [2]. No entanto, esse mento de software. Portanto, a introdução de métodos pedagógicos
processo de aprendizado demanda uma compreensão aprofundada que promovam uma compreensão mais sólida e prática dessa disci-
plina é crucial para formar profissionais qualificados e preparados
Fica permitido ao(s) autor(es) ou a terceiros a reprodução ou distribuição, em parte ou
no todo, do material extraído dessa obra, de forma verbatim, adaptada ou remixada, bem
para os desafios do mercado de trabalho na área de Tecnologia da
como a criação ou produção a partir do conteúdo dessa obra, para fins não comerciais, Informação[9, 12].
desde que sejam atribuídos os devidos créditos à criação original, sob os termos da Além disto, é fundamental destacar que a integração da análise
licença CC BY-NC 4.0.
EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line)
de testes mutantes com a assistência de IA representa um passo
© 2023 Copyright mantido pelo(s) autor(es). Direitos de publicação licenciados à significativo rumo à modernização do ensino de testes de soft-
Sociedade Brasileira de Computação (SBC). ware [12, 19, 25].. Essa abordagem não apenas capacita os alunos
EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line) -

a compreenderem e aplicarem a técnica de forma mais eficaz, mas sem comprometer a estabilidade do sistema existente. Portanto, os
também os expõe a tecnologias de vanguarda que estão moldando o testes de software não são apenas uma etapa isolada no processo de
cenário atual da indústria de desenvolvimento de software. Portanto, desenvolvimento, mas sim um componente integral para garantir a
ao alinhar o conteúdo educacional com as tendências e necessidades qualidade e confiabilidade de qualquer solução de software.
da indústria, podemos preparar os futuros profissionais de forma
mais abrangente e competitiva.
A plataforma proposta oferece aos estudantes a oportunidade 2.2 Análise por teste mutante
de criar casos de teste e submetê-los para avaliação em relação A análise por teste mutante é uma técnica poderosa e fundamen-
aos mutantes gerados. Além disso, um assistente de IA inteligente tal na avaliação da eficácia dos conjuntos de testes em um ambi-
sugere casos de teste e implementação de testes simples, oferecendo ente de desenvolvimento de software. Essa abordagem consiste
orientação personalizada. Isso não apenas reforça o aprendizado teó- na introdução controlada de mutações, ou pequenas alterações no
rico, mas também proporciona aos alunos uma experiência prática código-fonte do programa, para verificar se os testes existentes são
valiosa. sensíveis o suficiente para detectar tais modificações. Se os testes
Este trabalho também pode beneficiar professores e pesquisado- forem capazes de identificar as mutações, isso indica uma cober-
res da área, permitindo que eles monitorem o progresso dos alunos tura adequada e confiança na robustez do código. No entanto, se
de maneira eficiente, identifiquem áreas de dificuldade e ajustem as mutações passarem despercebidas, isso sugere a necessidade de
seus métodos de ensino de acordo. Ao fornecer uma visão detalhada aprimorar os testes existentes para garantir uma cobertura mais
do desempenho dos alunos, os professores podem oferecer orienta- completa e eficaz. A análise por teste mutante desempenha um
ção direcionada, adaptando o ensino para atender às necessidades papel crucial na garantia da qualidade do software, ao fornecer uma
individuais. métrica objetiva e quantificável da eficácia dos testes.
No restante deste artigo, será detalhada a arquitetura da plata- Além disso, a análise por teste mutante também serve como uma
forma, será discutida a implementação da análise de testes mutantes ferramenta valiosa para a identificação de áreas de fragilidade no
e a assistência de IA, e serão exploradas as implicações pedagógicas código. Ao criar mutações deliberadas, os desenvolvedores podem
dessa abordagem inovadora. Acredita-se que a plataforma tem o po- avaliar quais partes do código são mais suscetíveis a erros e exi-
tencial de revolucionar o ensino de testagem de código, capacitando gem atenção adicional durante o processo de teste. Essa técnica
os alunos a se tornarem profissionais competentes na garantia da não apenas aprimora a confiabilidade do software, mas também
qualidade de software. ajuda a direcionar os esforços de teste para as áreas mais críticas e
vulneráveis, otimizando assim o processo de garantia da qualidade.
2 FUNDAMENTAÇÃO TEÓRICA Portanto, a análise por teste mutante é uma prática essencial para
equipes de desenvolvimento de software que buscam criar sistemas
Esta seção aborda o referencial teórico utilizado para embasar o es- robustos e confiáveis.
tudo. A seção aborda os conceitos de testes de software, análise por
teste mutante, o uso de inteligências artificiais e do Chat GPT, além
do cenário do ensino de testes no Brasil e os trabalhos relacionados. 2.3 O uso de Inteligências Artificiais e o
ChatGPT
2.1 Testes de Software A integração do ChatGPT na educação abre um vasto leque de
Os testes de software são uma etapa crítica no ciclo de desenvolvi- possibilidades para aprimorar o processo de aprendizado. Este mo-
mento de qualquer aplicativo ou sistema[13, 14, 22]. Essa prática delo de linguagem avançado pode atuar como um tutor virtual,
consiste na execução controlada de programas ou partes de có- proporcionando suporte individualizado e respostas instantâneas
digo com o objetivo de avaliar sua funcionalidade[1], identificar às dúvidas dos alunos. Além disso, o ChatGPT pode ser programado
possíveis falhas e garantir que o software atenda aos requisitos es- para oferecer feedback específico em tarefas práticas, fornecendo
tabelecidos. Existem diversas abordagens de teste, incluindo testes orientação valiosa durante exercícios e projetos [15].
unitários, que examinam componentes individuais do código, testes Além do ChatGPT, as Inteligências Artificiais (IAs) de modo geral
de integração, que avaliam a interação entre diferentes partes do têm o potencial de revolucionar a educação ao combinar o ensino
sistema, e testes de aceitação, que verificam se o software atende teórico e prático. Elas podem simular ambientes de aprendizado
às expectativas dos usuários finais. Por meio dessas verificações autênticos, permitindo que os alunos pratiquem habilidades em um
sistemáticas, os testes de software desempenham um papel crucial contexto controlado e seguro. As IAs também têm a capacidade de
na garantia da qualidade e confiabilidade de sistemas, contribuindo personalizar o currículo de acordo com as necessidades individuais
para a redução de erros e a entrega de produtos mais robustos e dos estudantes, adaptando-se ao ritmo de aprendizado de cada
eficazes. um. Com essa capacidade de adaptação, as IAs proporcionam uma
Além disso, os testes de software desempenham um papel fun- experiência de aprendizado mais eficaz e eficiente, ao mesmo tempo
damental na detecção e correção de falhas antes que um programa que oferecem uma variedade de recursos e materiais didáticos para
seja disponibilizado ao público. Essa prática ajuda a evitar custos enriquecer o processo educacional. Em conjunto, a utilização de IAs
e complicações significativos associados à correção de problemas na educação promove uma abordagem mais dinâmica e envolvente
após o lançamento. Além disso, os testes são essenciais para a ma- para a aquisição de novas habilidades, promovendo a formação de
nutenção e evolução contínua do software, uma vez que permitem profissionais mais capacitados e preparados para os desafios do
que novas funcionalidades sejam introduzidas de forma segura e mundo atual.
PleTes - Plataforma Educativa pra Teste de Software: um estudo empírico EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line)

2.4 Cenário do Ensino de Testes em EvoSuite pode ainda servir de apoio pedagógico, indicando novos
universidades federais no Brasil cenários de teste e formas de testar trechos de código com os quais
o estudante tenha dificuldade.
Em um estudo anterior[OMITIDO PARA REVISÃO DOUBLE-BIND],
O estudo "ProTesters: a board game for teaching the testing pro-
ao realizar uma análise de ementas de cursos de computação ofere-
cess"de Gonçalves et al. (2022) [17] trata das questões referentes
cidos pelas universidades federais brasileiras que dentre 143 uni-
as motivações do estudante e utiliza abertamente estratégias de
versidades federais consultadas somente 44 (30,7%) incluem alguma
gamificação para ensinar testagem de software. Em contraste com o
disciplina dedicada ao tema de testagem de software. As demais 99
presente trabalho, que segue uma metodologia de teste de software
universidades, correspondentes a 69,3% das universidades federais,
com elementos lúdicos, preparando os alunos para um ambiente
que possuem cursos de computação não oferecem uma disciplina
de desenvolvimento semelhante ao que encontrarão na indústria
específica de teste de software [19, 25]. Uma lista das universidades
de software, enquanto o motiva a explorar eventuais casos de teste
federais, juntamente com os respectivos cursos de teste de software
com suporte da assistente por IA. O estudo "How do students test
está disponível no site deste trabalho 1 . Esta lacuna no currículo de
software units?"de Bijlsma et al. (2021) [6] busca lidar com estu-
muitas instituições pode impactar diretamente na preparação dos
dantes recém-formados em cursos de computação, explorando seus
egressos para lidar com testes na indústria de software [9, 12].
conhecimentos e vivências, visando entender as abordagens que
Desenvolver materiais e objetos para o ensino de testagem de
eles podem seguir ao criar testes.
software passa a ter um papel crucial no desenvolvimento de futu-
Em geral, os artigos relacionados ao ensino de teste de software
ros egressos, mais capacitados, e também impacta na garantia da
e ferramentas de automação buscam apresentar soluções eficazes
qualidade dos produtos de software oferecidos no mercado [11]. Os
para o ensino desses tópicos, contribuindo para a formação de pro-
testes desempenham um papel crítico no ciclo de desenvolvimento,
fissionais melhor preparados para atuar na área de desenvolvimento
assegurando a detecção de defeitos, a aderência aos requisitos e
e testagem de software [11, 23, 24]. O trabalho atual se mantém
a robustez do software [1]. Ao elaborar materiais focados nesse
alinhado a esta proposta, utilizando a plataforma PleTes como
domínio, torna-se possível abordar de maneira mais aprofundada
uma ferramenta de ensino de testes de software, fornecendo uma
uma ampla gama de técnicas de teste, estratégias de validação e
abordagem diferenciada e explorando a geração de dicas de testes e
ferramentas disponíveis, capacitando os estudantes com conheci-
mesmo fragmentos de código via inteligência artificial.
mentos específicos e atualizados. Além disso, ao direcionar o ensino
para essa área, as instituições de ensino e as empresas do setor
contribuem para a formação de uma cultura de qualidade, promo- 3 ARQUITETURA E FERRAMENTAL
vendo a redução de erros, o aumento da satisfação do cliente e, A aplicação desenvolvida para testes de software apresenta uma
consequentemente, fortalecendo a competitividade e confiabilidade arquitetura robusta e utiliza diversas tecnologias que se integram
da indústria de software [12, 19, 25]. harmoniosamente para fornecer uma experiência eficaz aos usuá-
rios. Este artigo explora os principais elementos dessa arquitetura
2.5 Trabalhos relacionados e as tecnologias escolhidas para cada componente.
Benitti e Draylson [5] discutem a criação de materiais didáticos
e o desenvolvimento de metodologias de ensino que abordem de 3.1 Interface e usabilidade da ferramenta
forma clara e objetiva os fundamentos de teste, fazendo uso de A interface da ferramenta PleTes, exibida na figura 1 para o ensino
mecanismos de automação buscando apresentar soluções eficazes de teste de software é intuitiva e bem organizada, proporcionando
para o ensino destes tópicos. Já o trabalho atual tem como propósito uma experiência fluida aos usuários. Na seção lateral esquerda, os
desenvolver uma plataforma para auxliar no processo de ensino- usuários encontram uma série de chips que representam diferen-
aprendizagem de testagem de software. O trabalho busca fornecer tes arquivos e funcionalidades. Ao clicar nesses chips, os arquivos
aos envolvidos uma abordagem inovadora, permitindo que explo- específicos correspondentes são abertos, facilitando a navegação e
rem novos cenários de testes e descubram formas adicionais de o acesso rápido às informações necessárias. Já na parte principal
testar trechos de código, fazendo uso de elementos de inteligência do site, localizada à direita, destaca-se um editor de código fonte
artificial, expandindo o leque de oportunidades do estudante. baseado no renomado Mônaco Editor. Essa poderosa ferramenta
O trabalho de Corte et al [8] discute o uso do software Prog- oferece uma ambiente de desenvolvimento robusto e amigável, que
Test para automatizar a avaliação de trabalhos de programação possibilita aos alunos trabalharem em seus códigos de forma eficaz
e de testes de software. Embora a ferramenta ProgTest seja ca- e produtiva. Além disso, nessa mesma área, são disponibilizados
paz de avaliar a qualidade do código e dos testes submetidos pelos botões de ação que permitem salvar, compilar e executar o código,
alunos, ela pode não ser suficiente para ajudá-los a identificar os proporcionando uma experiência completa de desenvolvimento.
cenários de teste adequados para o código em questão. Em con- No centro da interface, encontra-se um prompt interativo, onde
traste, o trabalho atual utiliza o EvoSuite para apoiar os alunos os alunos podem solicitar ajuda de uma assistente de IA. Esta as-
na identificação desses cenários de teste. O EvoSuite é capaz de sistente é capaz de gerar dicas de código pertinentes e esclarecer
gerar automaticamente casos de teste de alta qualidade, permitindo dúvidas relacionadas à plataforma e ao processo de teste de soft-
que os desenvolvedores tenham uma suíte de testes automatizados ware. Essa funcionalidade adiciona um elemento valioso de suporte
inicial com baixo custo. Este relato de experiência investiga se o e orientação, auxiliando os alunos a superarem obstáculos e apri-
morarem suas habilidades no teste de software. Com uma interface
1 https://organizationstart.github.io/first/ tão bem projetada e funcionalidades tão bem integradas, a PleTes
EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line) -

Figura 1: Interface da plataforma PleTes

proporciona um ambiente de aprendizado eficaz e agradável para o cliente desfrute de uma interação contínua e eficiente com a plata-
estudantes interessados no campo de teste de software. forma. O uso do protocolo REST também confere à plataforma uma
alta flexibilidade, tornando-a capaz de se adaptar a uma variedade
3.2 Arquitetura da plataforma PleTes de necessidades e requisitos específicos dos usuários.
Além disso, a plataforma emprega o Dockerode para se comu-
A base da aplicação reside na utilização da linguagem de progra- nicar de forma direta com o Docker Engine localizado no servidor.
mação Java para a criação e execução de testes. A escolha dessa Esse mecanismo é essencial para a gestão eficiente de contêineres e
linguagem se deve à sua ampla adoção na indústria de desenvol- a execução de operações vitais no ambiente de desenvolvimento.
vimento de software e à sua capacidade de oferecer uma sintaxe Ao tirar pleno partido da capacidade do Dockerode para interagir
clara e concisa. Além disso, a gestão de dependências e a automa- com o Docker Engine local, a plataforma assegura uma execução
ção do processo de compilação são facilitadas pelo uso do Maven. suave de processos, garantindo a estabilidade e a confiabilidade das
Essa ferramenta proporciona uma estrutura organizada e eficiente operações realizadas no servidor.
para gerenciar os projetos, garantindo a coesão e a consistência do Essa integração meticulosa de mecanismos, baseada na comuni-
código. cação REST para interação com a API da OpenAI e na utilização do
O backend da aplicação é construído com NodeJS, uma plata- Dockerode para comunicação com o Docker Engine local, confere
forma amplamente reconhecida por sua escalabilidade e eficiência à plataforma uma base tecnológica sólida. Dessa forma, ela se des-
na execução de código JavaScript no servidor. Complementando taca como uma ferramenta robusta e altamente adaptável, capaz de
o NodeJS, a plataforma Docker é adotada como ambiente de exe- atender às exigências dinâmicas do desenvolvimento de software
cução. Isso proporciona um ambiente isolado e consistente para de forma eficaz e eficiente.
a aplicação, garantindo que o código seja executado de maneira
previsível em diferentes ambientes. No frontend, a escolha recai 3.4 Estrutura do Prompt para a IA
sobre o ReactJS, uma biblioteca JavaScript renomada pela criação de
interfaces de usuário interativas e reativas. Além disso como uma
forma de superar os desafios técnicos da implementação foi ado- Role Content
tado um provedor de computação em nuvem o ambiente da AWS System generate a JUnit test case for the received source code
(Amazon Web Services), por simplificar e agilizar a infraestrutura e Assistant this is a sample generated from the provided input
implementação da ferramenta e suas componentes. User [input]
Tabela 1: Estrutura de Prompt para a API do GPT
3.3 Mecanismos de integração da aplicação
A plataforma adota uma abordagem sofisticada de integração, ope-
rando por meio de dois principais mecanismos de comunicação. A tabela 1 apresenta a estrutura do prompt empregada para a
Primeiramente, utiliza o protocolo REST para estabelecer uma co- API do ChatGPT. Cada interação é delineada por um papel especí-
nexão fluida entre o cliente e a API da OpenAI. Essa integração fico (Role) e o conteúdo associado a esse papel (Content). O início
permite uma troca de dados eficaz e em tempo real, garantindo que da interação se dá com um comando do sistema, responsável por
PleTes - Plataforma Educativa pra Teste de Software: um estudo empírico EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line)

Figura 2: Diagrama de sequência do software ProTEST

instruir o modelo (System), o qual é seguido por uma resposta do JUnit existente, que é então enviado de volta à API. A API repassa
assistente (Assistant). Essa resposta oferece uma amostra gerada a esse sumário ao Frontend, fornecendo assim um resumo do estado
partir da entrada previamente fornecida. Por fim, o usuário (User) dos testes JUnit.
desempenha seu papel ao fornecer a entrada de texto, que serve Simultaneamente, a API também solicita ao Docker Engine um
como contexto essencial para a geração da resposta pelo modelo. sumário do Pitest existente. Esse resumo é, em seguida, transmi-
Esta estrutura facilita a comunicação entre o sistema e o usuário, tido ao Frontend, permitindo uma visão abrangente do estado dos
estabelecendo uma interação fluida e eficaz com a API do ChatGPT. testes realizados com o Pitest. Com o código-fonte em mãos, o
O uso dessa estrutura de prompt é fundamental para orientar Frontend requisita dicas de código à API. Esta, por sua vez, estabe-
a interação entre o sistema e o modelo de linguagem da API do lece uma conexão com a OpenAI para acionar o ChatGPT e gerar
GPT. O papel do sistema é fornecer uma instrução clara e direta uma sugestão de código, acompanhada de uma breve explicação.
sobre o que se espera que o modelo realize, neste caso, a geração A OpenAI retorna a dica de código e a explicação para a API, que
de um caso de teste JUnit com base no código-fonte recebido. A por sua vez envia essas informações de volta ao Frontend, forne-
resposta subsequente do assistente apresenta uma amostra gerada cendo ao usuário uma valiosa orientação para o desenvolvimento
a partir da entrada fornecida, oferecendo ao usuário um exemplo do código. Este fluxo integrado e eficaz permite que o Frontend e a
prático do que pode ser obtido. Por fim, o usuário contribui com sua API interajam harmoniosamente, aproveitando tanto os recursos
própria entrada de texto, que serve como contexto para o modelo internos quanto os serviços externos para oferecer uma experiência
compreender e gerar a resposta desejada. Essa estrutura padroni- de desenvolvimento mais rica e produtiva.
zada facilita a comunicação entre o sistema e o usuário, resultando
em uma experiência mais eficiente e produtiva na geração de casos
de teste JUnit.
3.6 Análise de dados
Foram conduzidas entrevistas com o propósito de validar a eficá-
3.5 Fluxo de utilização da ferramenta cia da ferramenta de ensino de testes junto a um grupo composto
O fluxo de utilização é descrito na figura 2, começando com a ve- por cinco estudantes e profissionais atuantes na área. Durante as
rificação da disponibilidade da API pelo Frontend, assegurando sessões, as funcionalidades e a interface da ferramenta foram apre-
que a comunicação possa ser estabelecida. Uma vez confirmada a sentadas, permitindo que os participantes a explorassem e interagis-
funcionalidade, o Frontend solicita o código-fonte à API. A API, por sem. Subsequentemente, foram recolhidas as opiniões e feedbacks
sua vez, interage com o Docker Engine para obter um sumário do dos participantes, abordando tanto eventuais problemas quanto
EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line) -

possíveis melhorias. Ademais, buscou-se identificar os pontos de 3.8 Questões da entrevista


destaque da ferramenta em sua abordagem educacional. As questões abordadas durante a entrevista foram elaboradas de
Para a análise dos resultados obtidos, procedeu-se com a trans- modo a guiar o raciocínio do entrevistado acerca dos elementos
crição das respostas dos participantes. A equipe responsável pela pertinentes à ferramenta e às expectativas às quais o estudante
codificação das informações foi composta pelos autores. Este pro- possa vir a ter durante o processo de ensino-aprendizagem.
cesso englobou a identificação de temas e padrões emergentes,
proporcionando uma compreensão mais aprofundada das percep- (1) Antes de utilizar a plataforma PleTes, quais eram suas expec-
ções dos entrevistados sobre a ferramenta. A colaboração entre os tativas em relação ao aprendizado de testes de software?
membros da equipe desempenhou um papel crucial para garantir (2) O que você acredita serem os desafios comuns ao aprender
uma análise abrangente e rigorosa dos dados coletados. sobre testes de software?
(3) Quais são seus objetivos pessoais ao utilizar a plataforma
PleTes para aprender sobre testagem de software?
(4) Como você acha que a abordagem lúdica e envolvente da
plataforma pode influenciar sua experiência de aprendizado
em comparação com métodos tradicionais?
3.7 Entrevista com os estudantes e profissionais (5) Você tem alguma experiência prévia com atividades de testes
A entrevista com os estudantes desempenha um papel crucial na de software? Se sim, poderia compartilhar um pouco sobre
avaliação da eficácia da plataforma educativa PleTes para o ensino ela?
de testagem de software. As perguntas elaboradas têm o propósito (6) Quais são os principais conceitos ou técnicas de testagem de
de sondar as expectativas e percepções dos alunos antes e após a software que você espera aprender ou aprimorar utilizando
utilização da plataforma. Inicialmente, questiona-se sobre as expec- a plataforma PleTes?
tativas prévias dos estudantes em relação ao aprendizado de testes (7) Como você acha que a plataforma pode ajudá-lo a absorver
de software, proporcionando um ponto de partida para avaliar o e aplicar conceitos complexos de testagem de software de
impacto da plataforma no cumprimento dessas expectativas. Além forma mais eficiente?
disso, ao indagar sobre os desafios percebidos na aprendizagem de (8) Quais são suas expectativas em relação à interação com o
testagem de software, busca-se identificar as potenciais barreiras ChatGPT como parte do processo de aprendizado na plata-
que os estudantes podem enfrentar e que a plataforma pode ajudar forma PleTes?
a superar. (9) Você tem alguma preocupação ou dúvida específica sobre o
Ao abordar os objetivos pessoais dos alunos ao utilizar o PleTes, uso da plataforma ou sobre o aprendizado de testagem de
a entrevista busca compreender as metas individuais de aprendi- software em geral?
zado, o que é crucial para avaliar a eficácia da plataforma em atender (10) Após utilizar a plataforma, quais são suas expectativas em
às necessidades específicas de cada estudante. A discussão sobre a termos de habilidades e conhecimentos adquiridos na área
abordagem lúdica e envolvente introduz um elemento crucial, já de testes de software?
que visa entender como a metodologia da plataforma pode influen-
ciar a experiência de aprendizado dos alunos em comparação com 4 RESULTADOS
métodos de ensino mais tradicionais. Essa reflexão pode fornecer
Esta seção apresenta as respostas dadas pelos participantes, bem
insights valiosos sobre o potencial de inovação educacional na área
como suas percepções acerca da ferramenta e abordagens utilizadas
de testagem de software e sua aplicação em outros contextos peda-
e oportunidades de melhoria.
gógicos. Portanto, a entrevista com os estudantes se revela como
uma ferramenta essencial para aprofundar a compreensão sobre o
impacto da plataforma PleTes no processo de ensino e aprendizado 4.1 Respostas à entrevista
em testagem de software. As respostas dos participantes oferecem uma valiosa visão sobre as
Realizamos entrevistas para coleta de dados conduzidas online expectativas e percepções em relação à plataforma de ensino. Um
em outubro de 2023. Adotamos o conceito de Entrevista Focada [7]. ponto destacado é a apreciação pelo sistema de feedback, visto como
Esse tipo de entrevista enfatiza as respostas subjetivas e pessoais uma forma de recompensar o esforço dos alunos. Esta estratégia
dos entrevistados, onde o entrevistador se engaja em obter mais pode ser especialmente eficaz para estimular o engajamento dos
informações [3]. De acordo com Merriam [16], as entrevistas efe- estudantes com o conteúdo, pois proporciona uma sensação de
tivamente obtêm informações sobre coisas que não podem ser ob- progresso e reforça a importância do aprendizado contínuo.
servadas. Utilizamos entrevistas semiestruturadas com perguntas A interface intuitiva da ferramenta é outro ponto de destaque. Ao
abertas, pois esse método proporciona respostas mais ricas em com- empregar um editor de texto familiar, a plataforma facilita a adapta-
paração com entrevistas estruturadas [21]. Entrevistados: entramos ção dos usuários e permite uma transição suave para o ambiente de
em contato com cada participante por e-mail. Cada entrevista ocor- aprendizado. Além disso, a capacidade de fazer o upload de código
reu em uma sala privada de reuniões no Google. Neste trabalho, próprio é vista como uma funcionalidade valiosa, proporcionando
apresentamos a plataforma de ensino de testes, explicando o seu aos estudantes a oportunidade de aplicar o conhecimento adquirido
funcionamento e as saídas esperadas, assim como o auxílio do as- de maneira prática e personalizada.
sistente de IA. Validamos junto aos entrevistados quais elementos Houve também uma observação crítica sobre os feedbacks, indi-
podem necessitar de ajustes e quais atendem às suas expectativas. cando a possibilidade de incluir respostas mais abrangentes, como a
PleTes - Plataforma Educativa pra Teste de Software: um estudo empírico EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line)

exibição do terminal de saída do JUnit e do Pitest. Essa sugestão de- elementos que podem facilitar o processo de aprendizado de testes
monstra um desejo de maior detalhamento e clareza nas avaliações, de software. No entanto, algumas sugestões foram levantadas em
o que pode enriquecer a experiência de aprendizado dos usuários. relação à função de sincronização do código fonte, indicando que
A sugestão de disponibilizar uma interface mobile é uma obser- ainda há espaço para melhorias na experiência do usuário.
vação pertinente. Ao oferecer portabilidade, a plataforma se torna Em suma, a percepção da interface da plataforma é geralmente
mais acessível e flexível, permitindo que os estudantes acessem o positiva, com destaque para a simplicidade e a inclusão de recursos
conteúdo de forma conveniente, independentemente do dispositivo como a numeração de passos e a assistência de IA. No entanto, o
utilizado. Esta melhoria potencializaria o alcance da plataforma e entrevistado identifica áreas específicas que podem ser aprimoradas,
atenderia a uma diversidade de perfis de usuários. como a responsividade em dispositivos móveis e a necessidade de
No geral, as respostas dos participantes fornecem valiosos in- uma documentação esclarecedora para garantir uma experiência
sights para aprimorar a plataforma de ensino. O feedback positivo de usuário mais eficaz, especialmente para aqueles que estão dando
sobre o sistema de feedback e a interface intuitiva ressalta pon- os primeiros passos na área de testes de software.
tos fortes a serem mantidos, enquanto as sugestões de melhorias
indicam áreas de oportunidade para otimizar a experiência de apren- 4.3 Percepção acerca do assistente de IA
dizado e tornar a plataforma ainda mais eficaz e acessível.a com os O assistente de IA revelou-se uma ferramenta extremamente valiosa,
alunos conforme relatado pelos participantes. Um dos pontos destacados
foi a sua capacidade de fornecer assistência em situações em que os
4.2 Percepção acerca da interface e fluxo de usuários se deparam com desafios de teste ou enfrentam dúvidas
sobre como acessar determinadas partes de código. Essa funcio-
utilização nalidade se mostrou particularmente útil para resolver impasses e
A percepção da interface e do fluxo de utilização da plataforma apre- fornecer orientação em cenários complexos de desenvolvimento.
senta uma mistura de impressões positivas e sugestões de melhorias. Além disso, o assistente de IA se revelou uma fonte eficaz de
Um dos entrevistados, que atua profissionalmente na área de testes inspiração para a criação de novos casos de teste e a exploração
de software, expressou seu apreço pela simplicidade da interface, de fluxos desconhecidos. Os participantes perceberam que a IA
ressaltando a numeração dos passos e a inclusão do assistente de tinha a capacidade de estimular a criatividade e promover uma
IA como elementos notáveis. Ao comentar sobre a acessibilidade abordagem mais abrangente na concepção de testes, o que é crucial
da plataforma em dispositivos móveis, ele observa que "ela funci- para garantir uma cobertura completa e eficaz, conforme relatou o
ona no dispositivo móvel também, como ela está hospedada na web". participante:
No entanto, ele também aponta para uma área de aprimoramento, "[...]já tive contato com o chatgpt e no meu uso ele
indicando que a responsividade pode ser otimizada. ajudou a levantar situações não mapeadas, cenários
O entrevistado destaca ainda a importância de uma documenta- mais elaborados de verificação, sugestões de abordagem
ção intuitiva e esclarecedora, especialmente para os iniciantes na que trouxeram ótimos resultados no meu uso. Creio que
área de testes de software. Ele compartilha uma preocupação sobre a seria a mesma experiência com o pletes."
usabilidade de ferramentas de teste, mencionando que já encontrou
situações em que "a ferramenta era muito completa, mas o usuário O participante destaca a sua experiência positiva ao utilizar o
não sabia que ela era completa porque ela não deixava claro o que ela ChatGPT, ressaltando que a ferramenta foi eficaz em identificar
poderia fazer". Nesse sentido, ele ressalta a relevância de elementos situações não previamente consideradas e em elaborar cenários de
que auxiliem na compreensão e no uso eficaz da plataforma. verificação mais complexos. Além disso, outro participante enfatiza
Outro entrevistado, desta vez aluno de pós-graduação, demons- que as sugestões de abordagem fornecidas pelo ChatGPT resultaram
trou uma visão positiva em relação à interface da ferramenta de em resultados muito satisfatórios. Ao expressar a crença de que
ensino de testes. Ele elogiou a disposição dos elementos na plata- teria uma experiência semelhante com o PleTes, o participante
forma, afirmando que "os botões estão bem sugestivos do que fazer". indica uma expectativa otimista em relação à utilidade e eficácia
Além disso, destacou a utilidade de atalhos funcionais no editor, dessa nova plataforma.
comparando-o favoravelmente ao Visual Studio Code. No entanto, "Essa plataforma oferece uma abordagem inovadora
ele mencionou uma leve confusão quanto à função de sincronização, para lidar com desafios no aprendizado de programa-
sugerindo que esse aspecto poderia ser mais esclarecido. ção. Ao disponibilizar orientações precisas sobre trechos
Quanto à assistência por IA na geração de código e sugestões de código complexos, seja diretamente ou por meio de
de testes, o entrevistado expressou entusiasmo. Ele viu grande assistência de IA, ela auxilia os alunos a superar blo-
potencial na capacidade da IA de fornecer cenários adicionais para a queios e avançar em seu processo de aprendizado. Isso é
criação de novos casos de teste, tornando os testes mais abrangentes especialmente valioso para evitar a frustração e desis-
e completos, além de poder esclarecer eventuais dúvidas acerca do tência, proporcionando uma experiência de aprendizado
código-fonte. mais eficaz e gratificante."
Em resumo, os entrevistados apreciaram a interface da ferra- Foi notável também o impacto da integração do chatGPT e outras
menta, elogiando sua praticidade e a integração do editor com a ferramentas semelhantes na plataforma. O entrevistado expressou
assistência de IA. Eles também viram benefícios significativos na surpresa ao descobrir as amplas capacidades que essa integração
abordagem da ferramenta para a geração de testes mais abrangen- possibilitava. A facilidade com que o assistente de IA foi incorporado
tes. Essas observações positivas indicam que a plataforma possui na plataforma e sua contribuição significativa para aprimorar a
EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line) -

eficiência e a eficácia dos processos de teste demonstraram ser uma A tabela fornece uma representação visual e organizada das
revelação surpreendente para os usuários. interações com a IA e os benefícios correspondentes. Relacionando
Outro entrevistado, também aluno de pós-graduação, mencio- isso com as respostas dos entrevistados, podemos observar uma
nou sua curiosidade em relação a assistentes de geração de texto e congruência entre as percepções dos usuários e as capacidades
geração de código baseados em IA, como o GPT, e admitiu ter inte- identificadas na tabela. Isso destaca a utilidade e a eficácia da IA
ragido com eles por pura curiosidade. No entanto, ele não chegou a como uma ferramenta de apoio no processo de programação e
solicitar que a IA realizasse a refatoração de um trecho de código criação de testes.
ou a implementação de algum código específico.
Sobre a integração da IA na plataforma, ele mencionou: "Então, 5 DISCUSSÃO
mesmo que o retorno não seja exatamente o que é, pode ajudar a gente
As expectativas dos alunos em relação à plataforma PleTes abran-
a criar novos cenários para tornar o teste mais completo. Então, bem
gem uma variedade de perspectivas e metas de aprendizado. Inicial-
interessante esse tipo de abordagem da ferramenta." Essas citações
mente, muitos alunos esperam que a plataforma proporcione uma
destacam a importância da prática para o aprendizado efetivo e o
abordagem de ensino mais dinâmica e envolvente em comparação
potencial da IA para auxiliar na geração de cenários de teste mais
com métodos tradicionais. A incorporação de elementos lúdicos é
abrangentes.
percebida como um potencial motivador para absorver conceitos
Em resumo, o assistente de IA se destacou como um recurso
complexos de testagem de software de maneira mais eficaz. Além
altamente valioso para os participantes. Sua capacidade de orientar
disso, os estudantes demonstram grande interesse em aprimorar
em situações desafiadoras, estimular a criatividade na concepção de
suas habilidades práticas em testes de software, reconhecendo a
testes e surpreender os usuários com suas capacidades integradas na
importância fundamental desse conhecimento no desenvolvimento
plataforma demonstrou seu potencial para transformar e aprimorar
de software de alta qualidade. A interação com assistentes de IA
os processos de teste de forma significativa.
é vista como uma oportunidade valiosa para praticar a formula-
A tabela 2 elicita algumas das possibilidades levantadas pelos
ção de casos de teste e esclarecer dúvidas durante o processo de
entrevistados acerca das diversas formas de interação com a IA e os
aprendizado.
benefícios associados aos casos de uso em programação e criação
Por outro lado, os alunos também expressam expectativas rela-
de testes. A seguir, foram relacionados estes esses elementos com
cionadas à personalização do aprendizado. Eles buscam utilizar a
as respostas fornecidas pelos entrevistados:
plataforma PleTes para atender a suas necessidades individuais,
aprofundando-se em conceitos específicos de testagem de software
(1) Assistência em Desenvolvimento:
que possam ser relevantes para seus objetivos profissionais. Além
• Benefícios em Programação: Os entrevistados destacaram a
disso, muitos estudantes esperam que a plataforma forneça uma vi-
capacidade da IA de fornecer orientações e soluções para
são abrangente dos diferentes tipos de testes possíveis, capacitando-
desafios de codificação, alinhando-se com a capacidade da
os a explorar uma gama diversificada de cenários de teste. Eles estão
IA de auxiliar em situações de incerteza sobre como testar
ansiosos para adquirir um conjunto de habilidades robustas que
ou acessar um trecho de código.
possam aplicar não apenas na plataforma, mas também em suas
• Benefícios na Criação de Testes: Os entrevistados ressal-
futuras práticas de desenvolvimento de software. Em resumo, as
taram a capacidade da IA de estimular a criatividade na
expectativas dos alunos em relação à plataforma PleTes refletem
concepção de testes, o que corresponde à observação dos
um desejo de aprender de forma prática, interativa e personalizada,
entrevistados sobre a capacidade da IA de sugerir casos de
com um foco claro no desenvolvimento de habilidades essenciais
teste.
em testagem de software.
(2) Geração de Código:
• Benefícios em Programação: Os entrevistados destacaram
a habilidade da IA em criar trechos de código e otimizar 5.1 Limitações
processos, refletindo o benefício percebido pelos entrevis- A plataforma PleTes, apesar de ser uma ferramenta valiosa para
tados ao utilizarem a IA para implementar soluções em o ensino de testagem de software, apresenta algumas limitações a
seus projetos. serem consideradas. Uma delas está relacionada à quantidade de
• Benefícios na Criação de Testes: Embora não explicitamente abordagens empregadas. Embora a plataforma possa oferecer uma
mencionado, a geração de código também pode ser útil na variedade de cenários e desafios de testes, pode haver uma eventual
criação de scripts de teste automatizados. limitação na diversidade de situações que ela é capaz de simular.
(3) Análise Estática: Isso pode impactar a capacidade de os alunos explorarem todas as
• Benefícios em Programação: Os entrevistados podem ter nuances e complexidades da prática de testagem de software em si-
experimentado os benefícios da IA ao identificar erros de tuações extremamente específicas ou fora do escopo das simulações
sintaxe e receber sugestões de melhorias no código, o que oferecidas.
está alinhado com a capacidade da IA de realizar análise Além disso, é importante considerar possíveis barreiras peda-
estática. gógicas associadas ao uso da plataforma. Alguns alunos podem
• Benefícios na Criação de Testes: Embora não tenha sido enfrentar desafios ao adaptar-se ao ambiente virtual de aprendi-
diretamente mencionado, a IA pode ajudar na otimização zado, especialmente se não estiverem familiarizados com esse tipo
da cobertura de teste, o que é essencial para a criação de de plataforma educacional. Questões como a curva de aprendizado
testes eficazes. do uso da interface e a adaptação à interação com o ChatGPT podem
PleTes - Plataforma Educativa pra Teste de Software: um estudo empírico EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line)

Tipo de Interação Casos de Uso em Programação Criação de Testes


Auxilia em desafios de código Sugere casos de teste
Assistência em Desenvolvimento
Fornecimento de orientações para implementação Estimula criatividade na concepção
Criação de trechos de código Gera scripts de teste
Geração de Código
Otimização e automação de processos Facilita criação de testes automatizados
Identificação de erros de sintaxe Identificação de gaps na cobertura
Análise Estática
Sugestões de melhorias de código Otimização da cobertura de teste
Tabela 2: Formas de Interação com IA e Benefícios para Programação e Testes

representar desafios iniciais. Além disso, é importante garantir que de casos de teste de maneira guiada, o que pode ser crucial para
a plataforma seja acessível a todos os alunos, independentemente o desenvolvimento de habilidades práticas na área. Portanto, este
de suas habilidades técnicas ou níveis de experiência prévia em estudo não apenas beneficia o ensino de testagem de software,
testagem de software. Isso pode exigir um suporte adicional ou mas também contribui para a evolução da prática educacional em
materiais complementares para alunos que enfrentem dificuldades engenharia de software como um todo.
iniciais. Portanto, ao implementar a plataforma PleTes, é funda-
mental estar ciente dessas possíveis limitações e trabalhar para
mitigar quaisquer barreiras pedagógicas que possam surgir. REFERÊNCIAS
[1] P. Ammann and J. Offutt. 2016. Introduction to Software Testing (2 ed.). Cambridge
University Press.
6 CONSIDERAÇÕES FINAIS [2] M. Aniche, F. Hermans, and A. van Deursen. 2019. Pragmatic Software Testing
Este estudo sobre a plataforma educativa PleTes para teste de soft- Education. In Proceedings of the 50th ACM Technical Symposium on Computer
Science Education.
ware inaugura um campo promissor de pesquisa e desenvolvimento [3] M Bärring, D Näfors, D Henriksen, D Olsson, B Johansson, and U Larsson. 2017. A
na área de educação em testagem de software. Diversos desdobra- VSM Approach to Support Data Collection for a Simulation Model. In Proceedings
of the 2017 Winter Simulation Conference, WSC ’17. IEEE Press.
mentos futuros podem emergir deste trabalho, visando aprimorar [4] Joseph Beck, Beverly Woolf, and Carole Beal. 2000. ADVISOR: A machine learning
ainda mais o ensino e aprendizado dessa disciplina crucial na enge- architecture for intelligent tutor construction.
nharia de software. [5] F. B. V. Benitti. 2018. A Methodology to Define Learning Objects Granularity: A
Case Study in Software Testing. Informatics Educ. 17, 1–20.
Uma linha de pesquisa potencial diz respeito à expansão e adapta- [6] L. Bijlsma, N. Doorn, H. Passier, H. Pootjes, and S. Stuurman. 2021. How Do
ção da plataforma PleTes para diferentes contextos e públicos-alvo. Students Test Software Units?. In Proceedings of the 43rd International Confe-
Investigar a eficácia da plataforma em cenários diversos, como em rence on Software Engineering: Joint Track on Software Engineering Education and
Training.
cursos técnicos ou em ambientes de ensino à distância, pode propor- [7] Michael Bloor. 2001. Focus Groups in Social Research. Sage.
cionar uma compreensão mais abrangente de como a abordagem [8] C. K. D. Corte, A. C. Riestin, M. A. G. Silva, E. F. Barbosa, and Jose Carlos
Maldonado. 2007. PROGTEST: Ambiente para submissão e avaliação de trabalhos
lúdica pode ser otimizada para atender às necessidades educacionais práticos. In XVIII Simpósio Brasileiro de Informática na Educação (SBIE 2007)
específicas de diferentes grupos de estudantes. Workshop sobre Ambientes de Apoio à Aprendizagem de Algoritmos e Programação.
São Paulo, SP.
[9] S. H. Edwards. 2004. Using Software Testing to Move Students from Trial-and-
6.1 Trabalhos Futuros Error to Reflection-in-Action. SIGCSE Bull. 36, 1, 26–30.
[10] T. Ferreira, D. Viana, J. Fernandes, and R. Santos. 2018. Identifying Emerging
Além disso, a integração de métricas de desempenho e avaliação Topics and Difficulties in Software Engineering Education in Brazil. In Procee-
dentro da plataforma poderia aprimorar a capacidade de monito- dings of the XXXII Brazilian Symposium on Software Engineering. Association for
Computing Machinery, New York, NY, USA.
rar o progresso dos alunos de forma mais precisa. Isso permitiria [11] V. Garousi, A. Rainer, P. Lauvås, and A. Arcuri. 2020. Software-testing education:
aos educadores adaptar o conteúdo e as atividades com base no A systematic literature mapping. Journal of Systems and Software 165, 110570.
desempenho individual, personalizando ainda mais a experiência [12] B. Gopal, S. Cooper, J. Olmanson, and R. Bockmon. 2021. Student Difficulties in
Unit Testing, Integration Testing, and Continuous Integration: An Exploratory
de aprendizado. Pilot Qualitative Study. Psychology of Programming Interest Group.
Para os professores, este estudo oferece uma perspectiva ino- [13] D. Huizinga and A. Kolawa. 2007. Automated Defect Prevention: Best Practices in
Software Management.
vadora sobre como abordar o ensino de testagem de software de [14] M. Leppänen, S. Mäkinen, M. Pagels, V.-P. Eloranta, J. Itkonen, M. V. Mäntylä, and
maneira mais envolvente e eficaz. A aplicação bem-sucedida da pla- T. Männistö. 2015. The highways and country roads to continuous deployment.
taforma PleTes demonstra que métodos educacionais que combinam IEEE Software 32, 2, 64–72.
[15] Xiaolin Liu and Yaoqing Li. 2022. Redefining Teacher Qualification in the Artificial
entretenimento com objetivos pedagógicos podem ser altamente Intelligence Era: A Professional Capital Perspective. In Proceedings of the 5th
eficazes na transmissão de conceitos complexos, fornecendo um International Conference on Big Data and Education (Shanghai, China) (ICBDE
modelo valioso para a criação de ambientes de aprendizado mais ’22). Association for Computing Machinery, New York, NY, USA, 35–39.
[16] Sharan B Merriam and Elizabeth J Tisdell. 2015. Qualitative research: A guide to
dinâmicos e motivadores. design and implementation. John Wiley & Sons.
Aos alunos, essa pesquisa oferece uma abordagem mais interativa [17] G. G. Moreira, S. Reinehr, A. Malucelli, and F. Van Amstel. 2023. ProTesters: A
Board Game for Teaching the Testing Process. In Proceedings of the XXI Brazilian
e imersiva para a aprendizagem de testes de software. Ao utilizar a Symposium on Software Quality (Curitiba, Brazil) (SBQS ’22). Association for
plataforma PleTes, os estudantes são incentivados a explorar ativa- Computing Machinery, New York, NY, USA, Article 28, 9 pages.
mente os conceitos, promovendo uma compreensão mais profunda [18] Siobhan O’Connor. 2023. Corrigendum to “Open artificial intelligence platforms
in nursing education: Tools for academic progress or abuse?” [Nurse Educ. Pract.
e duradoura. Além disso, a interação com o ChatGPT proporciona 66 (2023) 103537]. Nurse Education in Practice 67, 103572.
uma oportunidade única para os alunos praticarem a formulação [19] L. Paschoal and S. Souza. 2018. A Survey on Software Testing Education in Brazil.
EduComp’23, Abril 24-29, 2023, Recife, Pernambuco, Brasil (On-line) -

[20] Parsa Rajabi, Parnian Taghipour, Diana Cukierman, and Tenzin Doleck. 2023. Científica e Tecnológica do IFPB 1.
Exploring ChatGPT’s Impact on Post-Secondary Education: A Qualitative Study. [24] D. Souza, J. C. Maldonado, and E. F. Barbosa. 2012. Aspectos de Desenvolvimento
In Proceedings of the 25th Western Canadian Conference on Computing Education e Evolução de um Ambiente de Apoio ao Ensino de Programação e Teste de
(Vancouver, BC, Canada) (WCCCE ’23). Association for Computing Machinery, Software. Brazilian Symposium on Computers in Education (Simpósio Brasileiro de
New York, NY, USA, Article 9, 6 pages. Informática na Educação - SBIE) 23, 1.
[21] Herbert J Rubin and Irene S Rubin. 2011. Qualitative Interviewing: The Art of [25] P. H. Valle, E. Barbosa, and J. Maldonado. 2015. CS curricula of the most relevant
Hearing Data. Sage. universities in Brazil and abroad: Perspective of software testing education. 62–
[22] M. Shahin, M. Ali Babar, and L. Zhu. 2017. Continuous Integration, Delivery 68.
and Deployment: A Systematic Review on Approaches, Tools, Challenges and [26] Liguo Zhang, Kefeng Fu, and Xiaolin Liu. 2022. Artificial Intelligence in Educa-
Practices. IEEE Access 5, 3909–3943. tion: Ethical Issues and Its Regulations. In Proceedings of the 5th International
[23] M. Silva, T. Rocha, and M. Perkusich. 2021. O ensino de engenharia de software Conference on Big Data and Education (Shanghai, China) (ICBDE ’22). Association
no nível superior: um mapeamento sistemático. Revista Principia - Divulgação for Computing Machinery, New York, NY, USA, 1–6.

Você também pode gostar