Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Fundamentos do Teste de 
Software
Processo de Software
Conforme Pressman 2011, um processo é um conjunto de atividades, ações e 
tarefas que são realizadas no desenvolvimento de um produto de trabalho.
Contudo, é importante frisar que este processo não é uma receita de como 
desenvolver um sistema, e sim, uma abordagem que permite aos 
desenvolvedores escolher qual
conjunto de atividades, tarefas e ações é o mais adequado para construção de 
um determinado produto.
Metodologia Genérica sugerida por Presman:
Comunicação: entre partes interessadas para definir características do 
sistema;
Planejamento: informações, orçamento, prazos, etc;
Modelagem: modelo do sistema para melhor identificar as necessidades;
Construção: codificação e testes;
Emprego: entregue ao usuário final, que fornece feedback sobre o sistema;
As atividades podem ser executadas várias vezes, produzindo um incremento de 
software a cada iteração ou ciclo de atividades;
Todos os processos devem incluir 4 atividades basicas:
 Especificação de software;
 Projeto e implementação de software;
 Validação de software;
 Evolução de software.
Existem também as atividades de apoio, fornecendo suporte ao logo do projeto;
Fundamentos do Teste de Software 1
Especificação de Software
Também chamada de Engenharia de Requisitos.
Compreensão e definição dos serviços requisitados do sistema e identificação de 
restrições relativas à operação e ao desenvolvimento do software.
Pode ser formada por várias atividades, dentro delas:
Estudo de viabilidade
Elicitação e análise de requisitos
Especificação dos requisitos
Validação dos requisitos
Não necessariamente essas etapas ocorrem de forma sequencial.
Projeto e Implementação de software
Conversão de uma especificação do sistema em um sistema executável.
Dentre as atividades executadas, podemos destacar: projeto de arquitetura, de 
interface, de componentes e de bancos de dados.
Validação de Software
Mostrar que um software se adequa às suas especificações ao mesmo tempo que 
satisfaz as especificações do cliente do sistema.
São realizados diferentes tipos de testes, como testes de desenvolvimento (cada 
componente é testado individualmente), testes de sistemas (integração) e testes 
de aceitação (dados reais fornecidos pelos clientes).
A realização de testes é intercalada com o processo de desenvolvimento.
Evolução de Software
O desenvolvimento de software é um processo evolutivo.
Sistemas estão em constante evolução.
Modelos de processos de software
Fundamentos do Teste de Software 2
Temos alguns modelos, dentre eles: 
o modelo em cascata
encadeamento entre etapas
etapas bem definidas
é preciso que os requisitos estejam bem definidos
só conheceremos uma versão operacional do sistema ao final
pode ser utilizado quando:
requisitos fixos
etapas podem ocorrer de forma linear
o desenvolvimento incremental
 desenvolver uma versão inicial do software, obter um feedback e 
continuar por meio da criação de várias versões até que um sistema 
adequado seja desenvolvido.
custo de mudanças é reduzido
problema:
As constantes alterações tendem a corromper a estrutura do sistema, 
fazendo com que incorporar futuras mudanças seja cada vez mais 
difícil e oneroso
Geralmente a documentação não é tão boa
a engenharia de software orientada a reuso
reutilização de partes de código
Qualidade de Software
Atributos de qualidade de software:
Fundamentos do Teste de Software 3
Dependendo do tipo de aplicação a ser desenvolvida, pode-se priorizar atributos 
mais importantes em detrimento de outros
Garvin 1987 propõe oito dimensões ou categorias de qualidade: desempenho, 
recursos, confiabilidade, conformidade, durabilidade, facilidade de manutenção, 
estética e percepção.
Fatores de qualidade de McCall
Dilema da Qualidade
Se produzimos um sistema de software de péssima qualidade, perdemos porque 
ninguém irá querer comprá- lo. Se, por outro lado, gastamos um tempo infinito, 
um esforço extremamente grande e grandes somas de dinheiro para construir um 
software absolutamente perfeito, então isso levará muito tempo para ser
completado, e o custo de produção será tão alto que iremos à falência. Ou 
perdemos a oportunidade de mercado ou então simplesmente esgotamos todos
os nossos recursos. Dessa maneira, os profissionais desta área tentam encontrar 
Fundamentos do Teste de Software 4
aquele 
meio- termo mágico onde o produto é suficientemente bom para não ser
rejeitado logo de cara, como, por exemplo, durante uma avaliação, mas também 
não é o objeto de tamanho perfeccionismo e trabalho que levaria muito tempo 
ou que custaria demasiadamente para ser finalizado.
 PRESSMAN, 2011, p. 365
O dilema de qualidade leva à discussão sobre o custo da qualidade. Pressman 
2011 explica que o custo da qualidade inclui todos os custos necessários para a 
busca de qualidade, assim como os custos causados pela falta dela. Este custo 
pode ser dividido em:
custos associados à prevenção
 atividades de gerenciamento, de atividades técnicas, de planejamento de 
testes e o custo de todo o treinamento associado a essas
atividades.
custos de avaliação
coleta de dados
avaliação de métricas
testes
depuração 
custos de falhas
podem ser custo de falhas internas se ocorrem quando se detecta erros 
em um produto antes de ele ser entregue, e externo se for após a entrega 
do sistema.
Garantia de Qualidade de Software
Pressman 2011 classifica o grupo de SQA como “um serviço de defesa do 
cliente, pois as pessoas que realizam a SQA devem examinar o software sob o 
ponto de vista do cliente .ˮ
Espectro de preocupações e atividades relevantes para a garantia da qualidade:
Padrões
Fundamentos do Teste de Software 5
Revisões e auditoria
revisões encontram erros
auditoria investiga se as diretrizes de qualidade estão sendo seguidas
Testes
garantir que sejam planejados e conduzidos adequadamente.
coleta e análise de erros/defeitos
Gerenciamento de mudanças
Educação
fundamental para melhores práticas
Gerência dos fornecedores
caso seja obtido software de um fornecedor externo
Administração da Segurança
Proteção
avaliar o impacto de falhas
Administração de riscos
A garantia da qualidade de software é composta por uma série de tarefas 
associadas a dois elementos: engenheiros de software e o grupo de SQA. 
Enquanto os engenheiros tratam da qualidade por meio da aplicação de medidas 
e métodos técnicos, o grupo de garantia de qualidade tem a responsabilidade 
pelo planejamento, supervisão, manutenção de registros, análise e relatórios 
relativos a mesma.
Metas e atributos de qualidade de software:
Fundamentos do Teste de Software 6
Observe que erros e defeitos são tratados como coisas distintas. O defeito é uma 
deficiência mecânica ou algorítmica que se ativado pode levar a um erro 
NAKAGAWA, 2015.
estratégia para a estatística da garantia da qualidade mais utilizada na indústria 
atual, conforme Pressman 2011, é denominada Seis Sigma, que define três 
etapas essenciais:
 Definir as necessidades do cliente e os artefatos passíveis de entrega, bem 
como as
metas de projeto utilizando métodos bem definidos da comunicação com o 
cliente.
 Medir o processo existente e seu resultado para determinar o desempenho da
qualidade atual (reunir métricas para defeitos).
 Analisar as métricas para defeitos e determinar as poucas causas vitais.
Caso já exista gestão de qualidade, e seja necessário um aperfeiçoamento, a 
estratégia Seis Sigma sugere duas etapas adicionais: melhorar o processo por 
meio da eliminação das causas fundamentais dos defeitos e controlar o processo 
para garantir que trabalhos futuros não reintroduzam as causas dos defeitos. 
Pressman 2011 destaca que este método é conhecido como método DMAIC 
Fundamentos do Teste de Software 7
(Definir, Medir, Analisar, Aperfeiçoar
e Controlar).
Tempo médio entre falhas = tempo médio para falhar + tempo médio para reparar
Pode apresentar 2 problemas:
 Esta medida projeta um períodoentre falhas, mas não fornece uma projeção 
da taxa de falhas.
 Pode ser mal interpretada como sendo tempo de vida médio, muito embora 
não seja esse o significado.
É importante notar que o tempo médio entre falhas não se baseia em tempo de 
relógio tradicional e sim, em tempo de CPU.
Ainda é preciso também desenvolver uma medida de disponibilidade de software, 
que segundo Pressman 2011, é a probabilidade de que um programa esteja 
operando de acordo com os requisitos em um dado momento.
Processos de Testes de Software
O projeto de software possui 4 atividades fundamentais: especificação, projeto e 
implementação, validação e evolução do software. O teste de software está 
incluído da etapa de validação.
O primeiro desafio é fazer com que o processo de teste e o de desenvolvimento 
sejam executados paralelamente desde o início do ciclo de vida do software.
Ciclo de vida do processo de teste
Fundamentos do Teste de Software 8
As etapas podem variar, de acordo com a metodologia escolhida.
A distribuição dos tempos estimados para cada uma das etapas de acordo com 
Eliza e Lagares 2012 são:
 Planejamento  10% do tempo.
 Projeto  40% do tempo.
 Execução  45% do tempo.
 Entrega  5% do tempo.
As atividades que são executadas durante o planejamento são:
 Definição do escopo dos testes.
 Definição dos métodos e técnicas de teste;.
 Planejamento das atividades de teste.
 Planejamento do ambiente de testes.
 Designação dos recursos envolvidos no teste.
 Definição dos riscos do projeto de teste.
 Definição das métricas para monitoramento e controle dos testes.
O ambiente de teste é toda a infraestrutura em que o teste será executado. 
Permite proporcionar, em condições conhecidas e controladas, a realização de 
testes.
Durante o estágio de projeto, as seguintes atividades são executadas:
 Identificação dos requisitos planejados.
 Elaboração e revisão dos casos de teste.
 Elaboração dos scripts de teste.
 Preparação do ambiente de teste.
 Preparação da gestão de defeitos.
 Refino das estimativas de teste.
 Preparação da massa de teste.
 Acompanhamento dos riscos do projeto de teste.
É preciso verificar se o ambiente está propício e estável para que os testes sejam 
executados com sucesso.
As atividades que ocorrem durante o processo de execução de testes são:
 Execução dos casos de teste.
 Execução dos scripts de teste.
 Gestão de defeitos.
 Atualização da massa de teste.
Fundamentos do Teste de Software 9
 Avaliação do plano de teste.
 Avaliação dos resultados do teste.
 Formalização da evidência dos testes.
Por fim, temos a última etapa do ciclo, na qual verifica-se os objetivos de testes 
foram alcançados e se os testes foram executados conforme o projeto, para que 
seja feita a entrega do sistema. Nesta etapa também são realizados os testes de 
aceitação, a partir dos quais o usuário valida se o software desenvolvido atende 
ao que foi solicitado.
As atividades executadas durante a última etapa do ciclo são:
 Elaboração e análise dos indicadores de teste.
 Elaboração do sumário de teste.
 Entrega do sistema para o cliente.
• 
Apoio ao cliente na execução dos testes de aceitação.
• 
Gestão de defeitos.
Para cada uma das etapas do ciclo de vida do processo de teste são produzidos 
artefatos, que têm o propósito de registrar e acompanhar a evolução do projeto e 
verificar se os resultados obtidos estão de acordo com o que foi especificado.
Conforme Eliza e Lagares 2012, o artefato de caso de teste estabelece o que 
será testado no sistema, listando um número adequado de testes que englobe as 
principais funcionalidades do software. Um caso de teste possui basicamente a 
seguinte estrutura:
 Título – define o que será executado no caso de teste.
 Pré-condição – estado obrigatório do sistema antes do início do teste.
Fundamentos do Teste de Software 10
 Passos ou roteiro – ações que deverão ser executadas para verificar se o 
software
cumpre com o que foi especificado.
 Resultado esperado – o que se deseja obter ao final da execução do roteiro do 
caso
de teste.
Não necessariamente haverá uma pessoa da equipe para cada papel.
Fundamentos do Teste de Software 11

Mais conteúdos dessa disciplina