Fronteiras da Engenharia de Software

Logo

um podcast de divulgação científica

[Host: Adolfo Neto (UTFPR)]{.mark}

[Co-host: Ingrid Nunes (UFRGS)]{.mark}

Equipe: Danilo Ribeiro (Zup), Leonardo Fernandes (IFAL), Fabio Petrillo (Univ. Quebec), Gustavo Pinto (UFPA)

Script do Episódio

Parte 1: Apresentação [5 min, estimativa]

[[ADOLFO] Hoje no Fronteiras da Engenharia de Software vamos conversar com Simone Souza, professora do ICMC USP. O tema do episódio de hoje será Teste de Software.]{.mark}

[[ADOLFO] Tudo bem, Simone? Você pode se apresentar para as pessoas que nos escutam?]{.mark}

Parte 2 - Tema do Episódio [20 min, estimativa]

[[INGRID]]{.mark} Simone, de forma geral qualquer pessoa que começa a programar começa a testar aquilo que programa, ou seja, executar aquilo que programou. Porém, pensando no contexto da engenharia de software, ou seja, o desenvolvimento de software de forma organizada e sistemática, como podemos definir teste de software e quais os principais conceitos associados?

[[ADOLFO]]{.mark} E como teste de software aparece no desenvolvimento de software? Em que momento temos que pensar nisso, principalmente se estamos falando de desenvolvimento de software ágil? E quais são os papeis envolvidos?

[[INGRID]]{.mark} Existem diversas formas de classificar teste de software, correto? Podemos pensar no que estamos testando (apenas uma classe ou o sistema como um todo), se usamos ou não o código para elaborar os casos de teste, ou que aspecto estamos testando (como funcionalidade ou performance, por exemplo). Você poderia explicar essas formas de classificação e como elas se relacionam?

(vou fazer um pequeno corte aqui, se der - Adolfo)

[[ADOLFO]]{.mark} Um ponto-chave em teste de software é a elaboração de casos de teste e saber o quão bons eles são. O que seria um bom caso de teste e como elaboramos bons casos de teste? Isso depende de um projeto em questão, empresa, ou existe uma definição geral?

[[INGRID]]{.mark} Hoje em dia, quando falamos em teste de software em projetos, é muito comum ouvir falar de automação dos testes. Isso implica conhecer todo um ferramental de apoio. Você poderia nos dar uma visão geral do que pode ser automatizado e das ferramentas usadas para isso?

[[ADOLFO]]{.mark} Existem alguns termos no contexto de teste que são bem recorrentes, tais como: teste de regressão, teste de desempenho, e teste de stress. Além disso, em pesquisa na área de testes, temos também teste de mutação. O que significam esses termos? Por exemplo, teste de desempenho e teste de stress normalmente são confundidos entre si.

[[INGRID]]{.mark} Nossa discussão está focada em testes. Porém, para definir o que testar é fundamental entender os requisitos do projeto, correto? O que você pode dizer a respeito disso? Como os requisitos devem ser expressos para que os casos de testes sejam elaborados?

Parte 3: Pesquisa

[[ADOLFO]]{.mark} Agora vamos falar de sua pesquisa. Nós falamos sobre técnicas de teste. Você tem alguns artigos que abordam a seleção de técnicas de teste. Um exemplo é um mapeamento sistemático publicado no Simpósio Brasileiro de Engenharia de Software. Quais são os achados dessa sua pesquisa?

[[INGRID]]{.mark} Você tem um artigo recente que trata de teste em programas onde ocorre execução em paralelo. Na realidade, existem vários artigos seus que focam em teste de aplicações concorrentes. Você poderia detalhar quais seriam os desafios nesse contexto e suas soluções propostas?

[[ADOLFO]]{.mark} Atualmente, muitos sistemas de software são concebidos com arquiteturas distribuídas e são hospedados na nuvem. Você já investigou a respeito? O que muda quando testamos sistemas com essas características?

Parte 4: Outras perguntas

[[INGRID]]{.mark} Você atua bastante também na área de educação em engenharia de software, em particular, para ensinar teste de software. Isso inclusive foi o tópico do nosso episódio 9, com Marco Tulio Valente. Você tem artigos que investigam como é a ensino de testes ou uso de gamificação para ensinar testes. Quais os seus conselhos para quem ensina testes com base na sua pesquisa e na sua experiência como educadora?

[[ADOLFO]]{.mark} Quais são os principais gaps entre o ensino de teste de software e o que a indústria deseja como profissional ?

Parte 5: Próxima Fronteira da ES [3 min, estimativa]

[[ADOLFO] Para você, qual é a próxima fronteira da engenharia de software? (pode ser algo que você acha que vai acontecer ou que você gostaria que acontecesse em nossa área)]{.mark}

Parte 6: Encerramento

[Adolfo agradece e passa para o(a) entrevistado(a).]{.mark}

[Ingrid fecha o episódio.]{.mark}

Texto para divulgação

Conversamos com Simone Souza, pesquisadora na Universidade de São Paulo.

Sites de Simone

Links Citados