Teste e Qualidade de Software
Teste e Qualidade de Software
Teste e Qualidade de Software
FICHA CATALOGRÁFICA
2023 by Editora Edufatecie. Copyright do Texto C 2023. Os autores. Copyright C Edição 2023 Editora Edufatecie.
O conteúdo dos artigos e seus dados em sua forma, correção e confiabilidade são de responsabilidade exclusiva
dos autores e não representam necessariamente a posição oficial da Editora Edufatecie. Permitido o download da
obra e o compartilhamento desde que sejam atribuídos créditos aos autores, mas sem a possibilidade de alterá-la
de nenhuma forma ou utilizá-la para fins comerciais.
AUTORA
Professora Esp. Janaina Aparecida de Freitas
Prezado (a) aluno (a), se você se interessou pelo assunto desta disciplina, isso
já é o início de uma grande jornada que vamos trilhar juntos a partir de agora. Proponho,
junto com você, construir nosso conhecimento sobre os principais conceitos a respeito da
qualidade de software e teste de software.
É importante entender as definições teóricas sobre o que é qualidade de software e
porque ela é importante para a empresa e para os usuários e como está presente no nosso
cotidiano e também entender a sua importância na Engenharia de Software.
Na unidade I começaremos a nossa jornada pelos conceitos sobre qualidade, e
entenderemos como ela é o resultado de atividades que foram realizadas no processo de
desenvolvimento, pois quando o cliente solicita um software, faz-se necessário garantir que
o software atenda a essa necessidade. Também falaremos sobre os conceitos de qualidade
de processo x qualidade de produto x qualidade de software e processos de gerência da
qualidade de software.
Já na unidade II vamos ampliar nossos conhecimentos básicos sobre as
métricas de software e conhecer os principais frameworks usados para as métricas de
produto. Também iremos conhecer as métricas usadas para o modelo de requisitos e para o
modelo projeto de software e entender sobre os fundamentos da revisão de software, além
de conceitos básicos usados na garantia de qualidade de software e seus elementos.
Nas unidades III e IV, vamos tratar sobre teste de software e todo o seu processo.
Começamos com os conceitos básicos sobre Teste de software e seus objetivos para
entender como funciona o processo do Ciclo de Vida do Teste de Software. E ampliando nosso
conhecimento, vamos entender as técnicas de teste de software que podem ser aplicadas
neste processo e quais as principais ferramentas para automatizar os testes de software.
E para finalizar, conhecer os conceitos sobre o processo de teste de software e
como funciona um ambiente de teste de software e como é o trabalho em equipe. Além
de aprofundar os conhecimentos sobre as métricas e medição que são usadas no teste
de software e como é a gerência de risco em teste de software e a sua importância para
as empresas.
Aproveito para reforçar o convite a você, para junto conosco percorrer esta jornada
de conhecimento e multiplicar os conhecimentos sobre tantos assuntos abordados em
nosso material. Esperamos contribuir para seu crescimento pessoal e profissional.
4
SUMÁRIO
UNIDADE 1
Qualidade de Software
UNIDADE 2
Métricas de Qualidade de Software e Técnicas
de Garantia de Qualidade de Software
UNIDADE 3
Introdução ao Teste de Software
UNIDADE 4
Processo de Teste de Software
1
......................
......................
......................
......................
......................
......................
......................
......................
UNIDADE
QUALIDADE DE SOFTWARE
Plano de Estudos
● Conceitos fundamentais sobre a Qualidade de Software.
● Importância da Qualidade de Software na Engenharia de Software.
● Conceitos sobre Qualidade, Qualidade de Processos e Qualidade
de Produto.
● Processos de Gerência da Qualidade de Software.
Objetivos da Aprendizagem
● Conceituar e contextualizar sobre a Qualidade de Software;
................
................
................
................
................
................
................
Você já pensou em quantos produtos ou serviços fazem parte do seu dia a dia?
Quando você adquire esses produtos ou serviços, espera que tenham qualidade e não
apresentem defeitos. É neste momento que te convido a pensar sobre o significado da
palavra “qualidade” e como ela está presente em nossas vidas.
Nessa primeira unidade pretendo que você compreenda os conceitos sobre quali-
dade, o porquê ela é importante para a empresa e para os usuários e como está presente
no nosso cotidiano.
No primeiro tópico da nossa unidade vamos conceituar e contextualizar sobre a
Qualidade de Software. Ela é o resultado de atividades que foram realizadas no processo
de desenvolvimento, pois quando o cliente solicita um software, faz-se necessário garantir
que o software atenda a essa necessidade.
No segundo tópico vamos compreender a importância da Qualidade de Software
na Engenharia de Software. Vamos entender que a qualidade está relacionada com as
necessidades de cada cliente, podendo ser influenciada por fatores como cultura, tipo de
produto ou de serviço prestado, percepções e necessidades de cada usuário.
No terceiro tópico vamos entender os conceitos que envolvem a Qualidade,
a Qualidade de Processos e a Qualidade de Produto. Aprenderemos que o produto
desenvolvido deverá ser avaliado, analisando se o que foi produzido está de acordo com
as necessidades explícitas e implícitas do cliente.
No quarto e último tópico vamos compreender sobre os processos da Gerência da
qualidade de software. O gerenciamento da qualidade busca assegurar que o produto de software
satisfaça as necessidades do cliente, envolvendo todas as atividades do desenvolvimento por
todo o seu ciclo de vida e para Implementar se usa políticas e procedimentos com atividades de
melhoria contínua de processos realizadas durante todo o projeto.
1
TÓPICO
Nesse sentido, a qualidade do software pode ser medida de acordo com o quanto
ela está em conformidade com o que o cliente solicitou.
E os desenvolvedores de software concordam que um software de alta qualidade
é um objetivo importante para as empresas desenvolvedoras. E como definir a qualidade
de software? Em linhas gerais, para Pressman e Maxim (2016, p. 415) a "qualidade de
software pode ser definida de como uma gestão de qualidade efetiva aplicada de modo a
criar um produto útil que forneça valor mensurável para aqueles que o produzem e para
aqueles que o utilizam".
Entretanto, o termo qualidade de software possui várias definições na literatura. A
seguir algumas que são bem utilizadas:
2
TÓPICO
IMPORTÂNCIA DA QUALIDADE DE
SOFTWARE NA ENGENHARIA DE SOFTWARE
.
.....
.....
.....
Quando você usa um produto ou serviço, espera que ele tenha qualidade e não
apresente defeitos. É neste momento que devemos pensar sobre o significado da palavra
qualidade e como ela está presente no nosso cotidiano.
E para as empresas, com a crescente competitividade no mercado, as empresas
de TI se obrigam cada vez mais a desenvolver produtos com qualidade para oferecer a
seus clientes. E a qualidade hoje deixou de ser um diferencial e passou a ser um pré-
requisito básico para qualquer produto ou serviço. E pensando sobre essa informação, qual
a importância da qualidade de software na Engenharia de Software?
Para responder essa pergunta vamos pensar em um software com qualidade, onde
tem a satisfação total do cliente, é de fácil manutenção e não tem possíveis falhas. Esse
cenário é o ideal e, por isso, a qualidade de software mostra a sua grande importância no
processo de desenvolvimento, já que a sua função é garantir que o software seja entregue
ao cliente atendendo a todas as suas expectativas e necessidades e que mesmo sem
saber, o cliente receberá um produto com qualidade (SOMMERVILLE, 2018).
E outro ponto para responder a pergunta é que a disseminação do uso do software
em todas as áreas de negócio, aumentou a importância da qualidade de software. E na
medida em que ocorre essa disseminação do uso de software, por exemplo, por sistemas
complexos, a qualidade se torna um fator essencial no desenvolvimento dele. Existem
algumas razões que devemos considerar, com relação a qualidade de software.
Mas será que temos mais razões ou pontos a considerar na importância da qualidade
de software na Engenharia de Software? Sim, uma das razões é que precisamos pensar na
qualidade de software na visão de quem usa, o usuário e o papel dele no desenvolvimento
do software é importantíssimo para o sucesso do produto.
Você já parou para pensar que cada usuário tem desejos e necessidades diferentes
em relação ao mesmo tipo de produto de software? E, neste momento, temos que pensar
qual a melhor forma de atender a esses desejos e interesses. Portanto, é importante que
você considere que o usuário tem o direito de participar e opinar durante o processo de
desenvolvimento do software. E isso tem permitido que as empresas desenvolvedoras de
software diminuam custos, ampliem as equipes de teste, garantam melhor qualidade para
terem maiores lucros (PRESSMAN; MAXIM, 2016).
Outra razão a considerar é a importância dos requisitos na qualidade de software.
Você já pensou por que é tão difícil entender, claramente, o que o cliente necessita? O que
ele deseja? E para responder a esta pergunta precisamos ter em mente que entender os
requisitos de um cliente é uma das tarefas mais difíceis enfrentadas por um engenheiro
de software. Além das muitas dificuldades para fazer o levantamento das necessidades e
desejos do cliente e para entender as informações por ele transmitidas, o sistema muda ao
longo do projeto. É importante que o levantamento de requisitos seja realizado de forma
3
TÓPICO
Fonte: a autora.
Para Pressman e Maxim (2016) a qualidade vem sendo cada vez mais difundida
nas empresas e a sua busca faz com que o mercado fique cada vez mais competitivo. E de
acordo com a NBR ISO 9000 (2005) temos que a qualidade é “o grau no qual um conjunto
de características inerentes satisfaz aos requisitos” e que o produto ou serviço atenderá a
esses requisitos especificados.
Mas como reconhecer se o produto ou serviço tem qualidade? Responder
a esta pergunta não é algo tão simples quanto se imagina. Você sabe o que é qualidade
ao ver e, mesmo assim, é algo difícil de ser definido ou de mensurar. Entretanto, temos
algumas maneira de identificar e definir, se algo tem qualidade (quadro 3):
Fonte: a autora.
1
TÓPICO
PROCESSOS DE GERÊNCIAS DA
QUALIDADE DE SOFTWARE
.
.....
.....
.....
Em controle de qualidade temos que ter modelos que são revistos de modo a
garantir que sejam completos e consistentes. Além de ter o código inspecionado de modo
a revelar e corrigir erros antes dos testes começarem.
Para Pressman e Maxim (2016, p. 428) pode-se aplicar uma “série de etapas
de teste para descobrir erros na lógica de processamento, na manipulação de dados e
na comunicação da interface”. Também pode-se usar uma combinação de medições e
feedback que permite que se ajuste o processo quando qualquer um desses artefatos deixe
de atender às metas estabelecidas para a qualidade.
E sobre a garantia da qualidade, ela tem como objetivo fornecer ao pessoal técnico
e administrativo os dados necessários sobre a qualidade do produto e, com isso, ganhando
entendimento e confiança de que as ações para atingir a qualidade desejada do produto
estão funcionando. Esses dados fornecidos são de responsabilidade do gerenciamento,
que trata dos problemas e aplica os recursos necessários para resolver os problemas de
qualidade (PRESSMAN; MAXIM , 2016).
Fonte: Pressman, Roger, S. e Bruce R. Maxim. Engenharia de software. (9ª edição). Grupo A, 2021. (p.
365).
Fonte: Pressman, Roger, S. e Bruce R. Maxim. Engenharia de software. (9ª edição). Grupo A, 2021.
Até mais!
Resenha: artigo que fala sobre a exigência e a competitividade que estão se tornando
um desafio para a produção de produtos de boa qualidade nos tempos atuais. Sendo assim a
alta em criatividade e investimento faz com que seus produtores tenham que ter qualidade e
eficiência. Para o processo de um produto de software existem requisitos básicos para uma boa
qualidade, como por exemplo: bom desempenho, adaptável às necessidades específicas, fácil
de usar e sem defeitos. O artigo tem como objetivo mostrar que com um bom gerenciamento
de projeto com prazo e cronogramas desde o começo até o final da produção tende a ter
qualidade, pois é fundamental que o software seja eficaz, confiável e siga as exigências.
Plano de Estudos
● Conceitos básicos sobre Métricas de Qualidade
de Software e framework para Métricas de Produtos de
Software.
● Métricas para o modelo de Requisitos e para o modelo
projeto de software e Revisão de Software.
● Conceitos básicos da Garantia de Qualidade de Software.
● Elementos da Garantia da Qualidade de Software.
................
................
................
................
................
................
................
Objetivos da Aprendizagem
● Entender os conceitos básicos sobre as métricas de software e
expor os frameworks para métricas de produto;
● Compreender as métricas para o modelo de requisitos e para o
modelo projeto de software e entender os fundamentos da revisão de
Software;
● Entender os conceitos básicos usados na garantia de qualidade
de software;
● Conhecer os elementos trabalhados na garantia da qualidade
de software.
INTRODUÇÃO
Olá aluno (a), seja bem-vindo (a) ao estudo sobre métricas de qualidade de software
e técnicas de garantia de qualidade de software.
Nesta unidade iremos começar a entender a importância das métricas de software
para a qualidade do produto. Quando usamos produtos ou serviços, espera-se que tenham
qualidade e não apresentem defeitos. E podemos melhorar essa qualidade medindo o
software. E por que medir? Para obter o controle do projeto e, com isso, poder gerenciá-lo.
Medimos e avaliamos o software para estimar se estamos perto ou longe dos objetivos que
foram definidos no projeto, como cronograma, custos, compatibilidade com os requisitos,
qualidade etc.
Durante o ciclo de vida de um software são produzidos muitos elementos
qualitativos. E as métricas podem ser usadas na análise, projeto, codificação e teste para
serem conduzidas de forma mais objetiva e avaliadas de maneira mais quantitativa.
No primeiro tópico da nossa unidade vamos entender os conceitos básicos sobre as
métricas de software e depois expor os frameworks para métricas de produto. As métricas
de software ajudam a equipe de software a visualizar o projeto e seus artefatos criados,
assim como na implementação do software, focando nos atributos específicos e no código
para criar software com mais qualidade.
No segundo tópico vamos compreender as métricas para o modelo de requisitos
e para o modelo projeto de software e entender os fundamentos da revisão de Software.
Na fase de levantamento de requisitos, as métricas de produto proporcionam informações
sobre a qualidade do modelo de análise e temos um modelo de requisitos que é onde os
requisitos são formulados e onde se estabelece a base para o projeto de software. As
métricas de projeto da arquitetura possuem foco na arquitetura do software e na eficácia
dos módulos e componentes presentes dentro da arquitetura.
No terceiro tópico vamos entender os conceitos básicos usados na garantia de
qualidade de software. A garantia e controle da qualidade são atividades essenciais para
qualquer empresa que desenvolve produtos e com o tempo passando, o controle de
qualidade tornou-se uma atividade importante de ser realizada e, muitas vezes, por outras
pessoas e não por aquelas que constroem o produto.
No quarto e último tópico vamos conhecer os elementos trabalhados na garantia da
qualidade de software. Ela possui várias preocupações e atividades que se concentram na
1
TÓPICO
Para você entender melhor sobre métricas, vou apresentar alguns conceitos que
serão fundamentais para se entender o conteúdo a ser tratado. No contexto da Engenharia
de Software, poderemos encontrar os termos medidas, métricas e indicadores:
Fonte: a autora.
Fonte: a autora.
Muitas métricas utilizadas satisfazem os atributos citados, mas uma ou outra podem
não satisfazer, e isso não é um sinal para a rejeição dela.
Fonte: a autora.
2
TÓPICO
Uma vez entendidos os dados, podemos utilizar a fórmula FP para calcular o ponto de função:
Onde temos: os Fi que são os fatores de ajustes de valores que são baseados em
respostas para algumas questões.
A seguir, uma imagem que exemplifica como computar os pontos de função.
Quando se realiza uma revisão de softwares, deve-se planejar o que fazer, o que
deve ser revisado e quais serão os resultados esperados. Pode-se usar checklists para a
organização e execução das análises, para que tudo seja controlado e, com isso, gerar
documentos que informem o que foi revisado e alterado.
3
TÓPICO
É muito comum imaginar que é possível trocar o prazo e as vezes, o custo, por
qualidade. E em muitos casos, é possível reduzir prazos e custos através da redução dos
requisitos de um software. E quanto à qualidade? Ela é consequência de muitos processos
e pessoas envolvidas nestes processos e das tecnologias usadas. A qualidade do produto
é complexa quando pensamos nesses fatores, e por isso é mais difícil controlar o nível de
qualidade do produto do que controlar os requisitos deste produto.
Para Pressman e Maxim (2016), a garantia da qualidade e o controle da qualidade
são atividades essenciais para qualquer empresa que desenvolve produtos. Conforme o
tempo foi passando, muitas técnicas de produção em massa tornaram-se comuns, e o
controle de qualidade tornou-se uma atividade importante de ser realizada, muitas vezes
por outras pessoas e não por aquelas que constroem o produto.
De acordo com ZANIN et al (2018), a garantia da qualidade de software (Quality
Assurance) são as atividades que dão suporte aos processos estabelecidos de forma
contínua e que visam fornecer confiabilidade a esses processos. Eles estão em contínua
revisão, melhoria e adaptação para desenvolver softwares que atendam às necessidades
e requisitos estipulados pelo cliente.
SGA - Software Quality Assurance (garantia de qualidade de software) é o nome
dado ao processo para garantir a qualidade de um software e que possui uma série planejada
de atividades de apoio que auxiliam na confiança ao software.
A garantia da qualidade de software (SQA) conforme Pressman e Maxim (2016, p.
449) abrange:
4
TÓPICO
ELEMENTOS DA GARANTIA DA
QUALIDADE DE SOFTWARE
.
.....
.....
.....
Pressman, Roger, S. e Bruce R. Maxim. Engenharia de software. (9ª edição). Grupo A, 2021.
Fonte: ZANIN, Aline; JÚNIOR, Paulo A P.; ROCHA, Breno C.; et al. Qualidade de software. Grupo A, 2018.
Até mais!
FILME/VÍDEO
Título: A Teoria de tudo
Ano: 2014
Sinopse: Baseado na biografia de Stephen Hawking, o filme
mostra como o jovem astrofísico (Eddie Redmayne) fez
descobertas importantes sobre o tempo, além de retratar o seu
romance com a aluna de Cambridge Jane Wide (Felicity Jones)
e a descoberta de uma doença motora degenerativa quando
tinha apenas 21 anos.
Plano de Estudos
● Conceitos básicos sobre Teste de Software.
● Ciclo de Vida do Teste de Software.
● Técnicas de Teste de Software.
● Ferramentas para automatização de Teste de Software.
Objetivos da Aprendizagem
................
................
................
................
................
................
................
1
TÓPICO
1
TÓPICO
Quanto antes os testes de software se iniciarem, mais fácil será corrigir os defeitos
encontrados e com custo reduzido. Por isso, de acordo com Lamounier (2021, p. 6), “adicionar
testes de softwares ao ciclo de vida de um sistema (requisitos, projeto, codificação, testes
e manutenção) se torna cada vez mais importante do que testá-lo quando o projeto já se
encontra pronto, em sua versão final”.
O processo de teste, assim como o processo de desenvolvimento do software,
tem um ciclo de vida que procura assegurar que o software atenda todos os requisitos e
objetivos de qualidade. As etapas/fases do Ciclo de Vida de Teste de Software são:
1. Planejamento: onde são elaboradas as estratégias de teste e o plano de teste
a serem utilizados. Essa etapa deve permanecer ativa até que o projeto seja concluído.
2. Preparação: onde é preparado o ambiente de teste, como equipamentos,
pessoal, ferramentas de automação, base de testes, para que os testes possam ser
executados conforme foram planejados.
3. Especificação: onde as atividades de elaboração e revisão dos casos de
testes e roteiros de testes são elaborados à medida que a equipe de desenvolvimento libera
os módulos ou partes para o teste.
4. Execução: onde são executados os testes planejados e os resultados obtidos
são registrados.
5. Entrega: onde o projeto é finalizado e toda documentação é finalizada e arquivada.
Podem ser encontradas outras fases/etapas para o Ciclo de Vida de testes, mas
a estrutura básica consiste sempre nesta, ela deve ser baseada e compatível com a
Normalmente, um software tem que passar por alguns estágios de testes, como:
(I) testes em desenvolvimento onde o sistema é testado durante o desenvolvimento para
descobrir bugs e defeitos, (II) testes de release, onde a equipe de teste independente testa
uma versão completa do sistema antes que ele seja liberado para o cliente para ver se ele
atende ao que foi solicitado, (III) testes de usuário onde os usuários ou potenciais usuários
do um sistema testam o sistema em seu próprio ambiente (SOMMERVILLE, 2018, p. 146).
O processo de teste envolve uma mistura de testes manuais e automatizados.
3
TÓPICO
A análise de valor limite é uma técnica que também tem por objetivo primário
reduzir o número de casos de testes. Ela é uma evolução natural da técnica de Partição de
Classe de Equivalência e nos leva à ideia de que muitos problemas podem estar "ao redor"
da fronteira das classes descobertas, ou seja, o maior número de erros possa estar nas
fronteiras.
Vamos a um exemplo: Um campo de entrada referente a data de nascimento
aceita valores de 1860 até 2860. Utilizando a análise do valor limite, o teste usaria quais valores?
Os valores seriam: 1859, 1860, 2860,2861
● 1859 = valor limite mínimo inválido
● 1860 = valor limite mínimo válido
● 2860 = valor limite máximo válido
● 2861 = valor limite máximo inválido
●
Exemplificando:
● Números inteiros: limite = 16; abaixo = 15; acima = 17.
● Números reais: limite = 5,00; abaixo = 4,99; acima =5,01.
4
TÓPICO
Infelizmente, falhas e erros em software são mais comuns do que deveriam ser.
Os bugs fazem com que a empresa desenvolvedora perca a confiança do cliente e custam
muito dinheiro. Afinal, é preciso corrigir o bug e recuperar o tempo perdido do cliente que
ficou parado enquanto o sistema não funcionava.
Você deve estar pensando: “Por que os sistemas apresentam tantos bugs assim?”.
Um dos principais motivos é a falta de testes, ou seja, os sistemas nem sempre são testados
devido aos atrasos no cronograma e, em outros casos, as equipes de software geralmente
não gostam de fazer (ou não fazem) os devidos testes. Outro motivo é que pedir para um
ser humano testar todo o sistema é impossível e ele vai levar muito tempo para isso.
Para resolver esse problema, colocamos a máquina testar, ou seja, escrever um
programa que teste o sistema de forma automática. Uma máquina com certeza executaria
o teste muito mais rápido do que uma pessoa e não ficaria cansada ou cometeria erros. Um
teste automatizado é muito parecido com um teste manual, só que a máquina através de
um script que fará os testes.
Imagine que você está testando manualmente a funcionalidade de cadastro de
produtos em uma aplicação web. Você executaria três passos diferentes:
1. Pensaria em um cenário positivo e negativo para testar.
2. Após montar o cenário, executará a ação que quer testar.
3. Por fim, verificaria se o sistema se comportou da maneira que esperava.
Os tipos de Testes que podem ser automatizados são: testes unitários, funcio-
nais, de carga e desempenho, teste de segurança e inspeção automática de código fonte.
Será que a máquina testa tudo? Infelizmente, testar todas as combinações é impossível,
pois se tentarmos fazer isso, acabamos escrevendo muitos testes e com isso dificultamos
a manutenção da bateria de testes, sem contar que às vezes o cronograma está atrasado.
O ideal é escrever apenas um único teste para cada possível cenário diferente. A forma de
fazer isso é aplicar as estratégias e técnicas de modelagem de teste de software e utilizar
as ferramentas para a automação de testes de software.
A seguir, alguns exemplos de ferramentas para auxiliar na automatização dos testes
de software existentes no mercado:
Fonte: a autora.
Lamounier, Stella Marys D. Teste e controle de software: técnicas e automatização. Disponível em: Minha
Biblioteca, Editora Saraiva, 2021.
Lamounier, Stella Marys D. Teste e controle de software: técnicas e automatização. Disponível em: Minha
Biblioteca, Editora Saraiva, 2021.p. 6.
FILME/VÍDEO
Título: O Dilema das Redes
Ano: 2020
Sinopse: é um dos principais filmes quando se fala em
tecnologia. Nele é mostrado como os “donos das tecnologias das
redes sociais” têm o controle total da maneira que pensamos,
agimos e vivemos através de algoritmos, e com isso, estão
reprogramando toda uma geração.
Plano de Estudos
• Conceitos sobre o Processo de Teste de Software.
• Ambiente de Teste de Software e Trabalho em Equipe.
• Métricas e Medição para Teste de Software.
• Gerência de Risco em Teste de Software.
Objetivos da Aprendizagem
................
................
................
................
................
................
................
1
TÓPICO
1
TÓPICO
Fonte: a autora.
3
TÓPICO
● Quantidade de falhas;
● Tempo gasto com teste (por fase);
● Esforço gasto com teste (por fase);
● Natureza das causas das falhas (artefato do processo de desenvolvimento);
● Distribuição de falhas por item de teste;
● Modos de observação das falhas (durante os testes ou após a entrega);
● Categoria das falhas (gravíssima, grave, normal, leve);
● Tempo para corrigir o defeito que originou uma falha;
● Esforço para corrigir o defeito que originou uma falha.
O ideal é que as métricas de teste sejam identificadas quando se inicia o projeto. Elas
devem ser quantificáveis, que possam ser coletadas facilmente, que sejam simplificadas
para que todos entendam e que tenham um propósito.
As métricas que forem sendo coletadas devem ser exploradas durante o andamento
do projeto e devem ser guardadas para uso no futuro em outras estimativas de projetos
novos. Assim, como temos diferentes empresas com diferentes projetos e processos de
desenvolvimento, todos adaptáveis, também temos diferentes métricas para medir e avaliar
a qualidade de software.
4
TÓPICO
Já parou para pensar que qualquer empresa corre riscos todos os dias, se em
algum momento seus computadores e sistemas pararem de funcionar ou um site fora do
ar? Tudo isso pode trazer muitos prejuízos para ela.
Para uma empresa, temos o risco relacionado à dependência de equipamentos e
também da ocorrência de erros de software. Hoje, devido a esses problemas que podem
surgir, as empresas passaram a investir para evitar riscos de defeitos em seus softwares,
criando planos de contingência para contornar os problemas (PRESSMAN; MAXIM, 2016).
Nem sempre podemos aliar um risco a uma perda, pois um risco pode estar sempre
presente, mas nem sempre gera uma perda. Existem riscos que sempre se transformam
em perdas, por exemplo, um avião sempre corre risco de cair, mas a perda só existirá
se isso ocorrer. Ou seja, o risco é uma probabilidade de ocorrência de uma perda para a
empresa (RIOS, 2013).
Vamos a alguns conceitos usados no gerenciamento de riscos: (PRESSMAN;
MAXIM, 2016):
● Risco: é a probabilidade de insucesso, de malogro de determinada coisa,
em função de acontecimentos eventuais, incertos, cuja ocorrência não depende,
exclusivamente, da vontade dos interessados. Uma perda grande para a empresa.
● Análise de Risco: é a avaliação dos recursos de informação, seus controles
e suas vulnerabilidades.
● Ameaça: é a capacidade de alguém explorar a vulnerabilidade de um sistema.
● Vulnerabilidade: é uma falha de projeto, implementação ou programação.
● Controle: maneira de reduzir as causas de riscos.
Uma lembrança importante que o testador deve sempre manter em mente ao fazer
a sua análise de riscos é que eles mudam com o tempo por diversos fatores. Caso o
sistema precise voltar a ser testado após as mudanças, em decorrência de alterações é
necessário que os riscos também tenham que sofrer uma manutenção. Neste caso, uma
nova estratégia de testes deve ser planejada.
FILME/VÍDEO
Título: O Quinto Poder
Ano: 2014
Sinopse: Ao fundar o polêmico site WikiLeaks, Julian Assange
conta com o apoio do amigo Daniel Domscheit-Berg. O objetivo
da página é fornecer uma plataforma para que denunciantes,
anonimamente, exponham segredos do governo e crimes
corporativos. Com o crescimento do site, a dupla logo passa a
dar mais furos noticiosos do que a mídia convencional. O grau
de influência de Assange aumenta e a relação entre os dois
amigos acaba bastante abalada.
GONÇALVEZ, Priscila de F.; BARRETO, Jeanine dos S.; ZENKER, Aline M.; et al. Testes
de software e gerência de configuração. Grupo A, 2019. E-book. ISBN 9788595029361.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788595029361/. Acesso
em: 07 dez. 2022.
IEEE, The Institute of Electrical and Electronics Engineers. IEEE Std 829: Standard for
Software Test Documentation. New York: IEEE Computer Society, September, 1998.
PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de software. (9ª edição). Grupo A,
2021.
90
PRESSMAN, Roger S; Maxim, Bruce R. Engenharia de software: Uma abordagem profis-
sional. 8. ed. – Porto Alegre: AMGH, 2016.
RIOS, Emerson. MOREIRA, Trayahú, Teste de Software, 3ª Ed. Alta Books, Rio de
Janeiro, 2013.
SOMMERVILLE, Ian. Engenharia de Software, São Paulo: Pearson Prentice Hall, 2011.
ZANIN, Aline; JÚNIOR, Paulo A P.; ROCHA, Breno C.; et al. Qualidade de software. Grupo
A, 2018.
91
CONCLUSÃO GERAL
Prezado (a) aluno (a),
92
ENDEREÇO MEGAPOLO SEDE
Praça Brasil , 250 - Centro
CEP 87702 - 320
Paranavaí - PR - Brasil
TELEFONE (44) 3045 - 9898