Você está na página 1de 15

Teste de Software

FUNDAMENTOS DE TESTE DE SOFTWARE

Departamento de Computação
Bacharelado em Ciência da Computação

Atualizado em Julho de 2022


Contexto

Testes fazem parte do processo de verificação
e validação de software (V&V)

Verificação: Estamos desenvolvendo o produto
corretamente?

Validação: Estamos desenvolvendo o produto
correto?

V&V ocorre em todas as fases de
desenvolvimento
Qual é a finalidade do teste de
software?

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: Prof. Tiago Massoni, UFCG

Fonte: https://shorturl.at/jltTU
Leitura Recomendada


M. Aniche. Effective Software Testing. A developer’s
guide. Manning Publications, 2022

Você também pode gostar