Você está na página 1de 28

Qualidade e Testes de

Softwares
Curso Técnico em
Desenvolvimento de Sistemas
Objetivo da aula
● Apresentação da disciplina em detalhes
● Conhecer os aspectos históricos da qualidade de software
● Entender qual a necessidade de se realizar testes de software
● Entender porque é importante desenvolvermos software com
qualidade
Crise do software
● A crise do software foi um termo utilizado nos anos 1970,
quando a engenharia de software era praticamente
inexistente.
Crise do software
● O termo expressava as dificuldades do desenvolvimento
de software frente ao rápido crescimento da demanda por
software, da complexidade dos problemas a serem
resolvidos e da inexistência de técnicas estabelecidas para
o desenvolvimento de sistemas que funcionassem
adequadamente ou pudessem ser validados.
Crise do software - problemas
● As causas da crise do software estão ligadas a
complexidade do processo de software e a relativa
imaturidade da engenharia de software como profissão.
● A crise se manifesta de várias formas:
○ Projetos estourando o orçamento
○ Projetos estourando o prazo
○ Software de baixa qualidade
○ Software muitas vezes não satisfaz os requisitos
○ Projetos ingerenciáveis e código difícil de manter
Crise do software - E hoje?
● A maior parte dos projetos continuam com estes problemas
ainda na atualidade, assim pode se dizer que a crise
continua vigente ainda na atualidade.
Crise do software - E hoje?
● A maior parte dos projetos continuam com estes problemas
ainda na atualidade, assim pode se dizer que a crise
continua vigente ainda na atualidade.
Como definir qualidade?
● Qualidade é um termo que pode ter diferentes
interpretações.
● O que chamamos de qualidade, em qualquer situação,
depende de alguns fatores, que, se modificados, podem
alterar a nossa percepção da qualidade.
Como definir qualidade? Exemplo restaurante
● Para mim um restaurante de qualidade, por exemplo, tem de
possuir bom atendimento, refeições saborosas e bem feitas,
tem de possuir um ambiente organizado e higiênico.

● Agora, dependendo da
pessoa, a noção de qualidade
de um restaurante pode ser
bem diferente da minha.
Como definir qualidade? Exemplo carro
O que um determinado
produto apresenta para
considerarmos que o mesmo
tem qualidade?
Como definir qualidade? Exemplo carro
Diversos aspectos são levados
em conta:
No caso de um automóvel,
fatores como conforto,
segurança, desempenho,
beleza e $$ tem estreita
relação com a qualidade.
Como definir qualidade? Exemplo smartphone
O que um smartphone
apresenta para considerarmos
que o mesmo tem qualidade?
Como definir qualidade?
● Tendo-se em vista essa variabilidade, a ASQ (American
Society for Quality – Sociedade Americana para a
Qualidade), apresenta o seguinte conceito:
Como definir qualidade?
● “Qualidade – Um termo subjetivo, para o qual cada pessoa,
ou setor, tem a sua própria definição.
● Em sua utilização técnica, a qualidade pode ter dois
significados:
○ As características de um produto ou serviço, que dão
suporte (ou sustentação), à sua habilidade em satisfazer
requisitos especificados ou necessidades implícitas;
○ Um produto ou serviço livre de deficiências.”
Qualidade de software - Motivação
● O principal objetivo da Engenharia de Software é ajudar a
produzir software de qualidade.
● Empresas que desenvolvem software de qualidade são mais
competitivas.
● Empresas que utilizam software de alta qualidade podem,
em geral, oferecer um melhor serviço a um preço mais
competitivo.
A qualidade depende do ponto de vista
Definição de Qualidade de Software
“Conjunto de características a serem satisfeitas em um
determinado grau, de modo que o software satisfaça às
necessidades de seus usuários”
O que o cliente deseja?
● Atendimento aos requisitos
especificados.
● Defeito zero.
● Alto desempenho.
● Baixo custo.
● Desenvolvimento rápido.
● Facilidade de uso.
● Eficiência nos serviços associados.
● Inovação.
Bugs históricos
Vídeo: Bugs incríveis | Nerdologia Tech

Disponível em: https://youtu.be/t3v5r_SV4z0?si=vzm2qX4sBpDnDmOc


Por que testar?
No processo de desenvolvimento de
um software, a equipe está exposta a
inúmeras situações:
● Ambiente de trabalho
● Ferramentas utilizadas
● Complexidade do projeto
● Prazo de entrega
● Pressão exercida sobre os
membros da equipe
Consequências…
● O ser humano está sujeito a cometer um ERRO (engano);
● O que produz um DEFEITO (“BUG”) no código ou
documento;
● Se um defeito no código for executado, o sistema irá
apresentar uma FALHA.
“Quanto” custam os bugs?
● Perda financeira
○ 1994: divisão de números com ponto flutuante no Pentium;
○ Custou meio bilhão de dólares a Intel.
● Perda de imagem
○ Clientes que deixam de comprar os produtos devido a falhas
anteriores.
● Perda de vidas
○ 1985-1987: Máquina de radioterapia Therac-25;
○ Vários pacientes mortos devido a alta radiação;
○ Funcionários com sequelas.
“Quanto” custam os bugs?
O que é teste de software?
● Testar é o processo de executar um programa ou sistema com a
intenção de encontrar defeitos (Myers, 1979)

● Testar é qualquer atividade que, a partir da avaliação de um


atributo ou capacidade, permita determinar se o programa ou
sistema obtém os resultados desejados (Hetzel, 1988)

● Testar é verificar se o software está fazendo o que deveria


fazer, de acordo com seus requisitos, e se não está fazendo o
que não deveria fazer (Rios, Cristalli, Moreira e Souza, 2003)
Testar é…
● Detectar defeitos
● Verificar se o software é executado de forma controlada e está
fazendo o que deveria fazer
● Executar o software com o objetivo de fazê-lo falhar ou apresentar
um resultado diferente do esperado
● Verificar se os requisitos foram satisfeitos
Testar não é…
● Provar que o software não tem defeitos
● Um processo burocrático
● Atividade limitada a seguir um roteiro
● Uma atividade destrutiva
Testar é IMPORTANTE porque…

…reduz os riscos de falhas ocorrerem em ambiente de


produção!
Atividade
1. Defina o que é qualidade de software.
2. Quais os principais problemas associados ao desenvolvimento de
software?
3. Quais as motivações para o desenvolvimento de software com
qualidade?
4. O que são testes de software?
5. Qual a importância de se realizar testes de software?

Você também pode gostar