Escolar Documentos
Profissional Documentos
Cultura Documentos
Departamento de Computação
Bacharelado em Ciência da Computação
Encontrar bugs!
Conteúdo
●
Terminologia
Terminologia
(ERRO)
●
Trata-se da interpretação incorreta de um requisito
error
Fonte: S. L. Pfleeger. Engenharia de Software: Teoria e Prática. Segunda edição, São Paulo: Prentice Hall, 2004
Terminologia
(FALTA)
●
Trata-se da codificação de um erro
fault/defect/bug
Fonte: S. L. Pfleeger. Engenharia de Software: Teoria e Prática. Segunda edição, São Paulo: Prentice Hall, 2004
Terminologia
(Falha)
●
Inabilidade de um software realizar uma função de
acordo com o requisitado, devido a alguma falta
failure/problem
Fonte: S. L. Pfleeger. Engenharia de Software: Teoria e Prática. Segunda edição, São Paulo: Prentice Hall, 2004
Terminologia (Falha)
Nota importante
●
A documentação de requisitos pode conter
defeitos
●
Uma falha indica que um software não está
atuando como requerido, embora possar estar
atuando conforme o especificado
Conteúdo
●
Terminologia
●
Motivação
Por que efetuar teste de software?
●
Falhas de software podem causar danos a
empresas, pessoas, sociedade
Exemplo
●
Em maio de 2015, um bug de software causou a
morte de quatro tripulantes da aeronave A400M da
Airbus, em um vôo de teste em Sevilha
●
O bug causou uma falha nas unidades de controle de
três dos quatro motores da aeronave, fazendo com
que eles desligassem logo após a decolagem
Fonte: https://www.theguardian.com/technology/2015/may/20/airbus-issues-alert-software-bug-fatal-plane-crash
Por que efetuar teste de software?
●
Falhas de software podem causar danos às
empresas, pessoas, sociedade
●
Testar a qualidade do código desenvolvido é
fundamental para a evolução de suítes de teste
Nota. Escrever código de teste é desafiador!
Conteúdo
●
Terminologia
●
Motivação
●
Contextualização
Como contextualizar teste de software
em nossa disciplina?
(1) Como desenvolvedor, é tua
responsabilidade garantir a qualidade do que
você desenvolve
(2) Testes são apenas ferramentas para apoiar
você com tal responsabilidade
(3) Se você seguir um determinado conjunto de
técnicas, você pode testar teu código de forma
sistemática e efetiva
Teste de software na prática
(na visão do desenvolvimento ágil)
Fonte: https://shorturl.at/jltTU
Leitura Recomendada
●
M. Aniche. Effective Software Testing. A developer’s
guide. Manning Publications, 2022