Académique Documents
Professionnel Documents
Culture Documents
SISTEMAS
O que um determinado produto apresenta para considerarmos
que o mesmo tem qualidade?
Pensem em um carro, quais aspectos definem um carro de
qualidade?
O QUE É
QUALIDADE?
QUALIDADE É UM CONCEITO RELATIVO. DIVERSOS
ASPECTOS SÃO LEVADOS EM CONTA. NO CASO DE UM
AUTOMÓVEL, FATORES COMO CONFORTO, SEGURANÇA,
DESEMPENHO, BELEZA E CUSTO TÊM ESTREITA RELAÇÃO
COM A QUALIDADE.
Qualidade está fortemente relacionada à conformidade com os
requisitos. Mas, o que é “conformidade em relação a
requisitos”?
O QUE É
QUALIDADE? observado x especificado
Prevenir defeitos
TESTES DE SOFTWARE: PRÉ-CONCEITOS
TESTES DE SOFTWARE: PRÉ-CONCEITOS
TESTES DE SOFTWARE: PRÉ-CONCEITOS
DIMENSÕES DA
QUALIDADE
CARACTERÍSTICAS DE BONS TESTADORES
Aprendizado contínuo;
Capacidade analítica (ler nas entrelinhas, ter opinião forte, compreender os requisitos);
Boa comunicação
Criativo
Perfeccionista
Observador
Detalhista
CARREIRA
Tester (Testador) – é a posição de entrada na área. O Tester é responsável pela execução dos testes,
que em muitas vezes incluem as seguintes atividades: testar configurações de hardware e software,
executar scripts simples de teste, reproduzir e reportar bugs.
Analista de Teste – é o profissional responsável pela modelagem e elaboração dos casos de teste e
pelos scripts de teste. Em algumas vezes, ele também é o responsável pela execução de testes mais
específicos.
Analista de Automação de Teste – é o cargo mais recente da área de Testes. O Analista de
Automação de Teste é um profissional que tem como objetivo principal, buscar a automatização de
testes, sempre que ela for possível e viável.
Arquiteto de Teste – é o responsável pela montagem da infra-estrutura de teste, monta o ambiente
de teste, escolhe as ferramentas de teste e capacita a equipe para executar seu trabalho nesse
ambiente de teste. É uma função que exige um bom conhecimento em hardware e redes para projetar
ambiente de testeque seja o mais próximo do de produção.
Líder de Teste – é o profissional responsável pela condução dos testes e pela equipe de Testes.
Geralmente é um profissional com alto grau de conhecimento em ciclos de vida de testes, automação
de testes, ambientes de testes e documentação de testes.
Gerente de Teste – o Gerente de Teste tem como função primordial o gerenciamento do projeto de
teste a ser realizado no produto a ser testado. Suas qualificações e competências se assemelham a um
gerente de projetos típico:
elaborar o plano do projeto de teste, aquisição de novos recursos, orçamento, riscos, prazos, elaboração de
relatórios, limitações do escopo do projeto de teste e outras atividades gerenciais como constante
comunicação com sua equipe, controle e monitoração das atividades, geração de métricas para alimentar
indicadores, etc.
CERTIFICAÇÕES
QUANDO É IMPORTANTE TESTAR?
QUANDO É IMPORTANTE TESTAR?
PROCESSO DE TESTE NO MODELO
CASCATA
PROCESSO DE TESTE HOJE
VERIFICAÇÃO X VALIDAÇÃO
Diagrama de Pareto
Diagrama de causa e efeito (ou Diagrama de Ishikawa)
Histograma
FERRAMENTAS Folhas de verificação
DA QUALIDADE
Gráficos de dispersão
Fluxograma
Cartas de Controle.
MAS COMO A QUALIDADE PODE SER
AVALIADA?
A figura ao lado mostra os
fatores de qualidade
propostos por McCall
(1977).
• O código é testado.
NORMAS DE QUALIDADE DO PRODUTO
DE SOFTWARE
RESUMO
ISO/IEC
Empresas de qualquer segmento que implantam uma norma ISO da série 9000
passam a ser reconhecidas como empresas organizadas, que têm seus processos
bem estabelecidos e padronizados. Dessa família de normas, as mais
importantes são:
1. ISO 9001: é a mais completa, pois abrange todo o ciclo de vida de um
produto ou serviço e inclui requisitos para garantir a qualidade em todas
as etapas do processo.
2. ISO 9002: possui requisitos para garantir a qualidade na produção, na
instalação e em serviços associados.
3. ISO 9003: foca apenas a garantia da qualidade em inspeções e ensaios
finais de produtos.
NORMA 9001
NORMA ISO/IEC 9126
NORMA ISO/IEC 9126
Ela apresenta três diferentes visões possíveis para se alcançar um software de qualidade:
Visão do usuário – diz respeito ao atendimento das expectativas do usuário, para quem o
software será desenvolvido. Essa visão está associada às funcionalidades, ao
desempenho e à facilidade de uso.
Visão do gerente de desenvolvimento – diz respeito a uma visão mais abrangente, que
busca medir a qualidade geral do software em desenvolvimento.
NORMA ISO/IEC 14598
A norma ISO/IEC 14598 deve ser usada em conjunto com a ISO/IEC 9126 e
tem como objetivo a avaliação dos produtos de software.
NORMA ISO/IEC 12119
Na dimensão de processos:
Processos de Gestão: Processos de Recursos e Infraestrutura:
Alinhamento aos objetivos estratégicos da Gestão de RH;
organização; Treinamento;
Estabelecimento de práticas de gestão em geral, e Gestão do conhecimento;
especialmente gestão de projeto;
Infraestrutura: Recursos materiais, ambiente de
Gestão da qualidade;
trabalho, ferramentas;
Gestão de riscos;
Medição;
Processos de Reuso:
Processos de Melhoria de Processos: Gestão de Ativos
Definição de processos; (Componentes/módulos/informações) suscetíveis
Avaliação de processos: Avaliar como os processos de reuso;
estão contribuindo para a organização alcançar seus Gestão do programa de Reuso: Estratégia,
objetivos; definição de domínios, procedimentos, melhoria;
Melhoria de processos: Comprometimento, priorização,
gestão das ações de melhoria;
NORMA ISO/IEC 15504 (SPICE)
Nível 1 - Inicial: imaturidade organizacional; os processos são improvisados e geralmente não são
seguidos; compromissos de prazo e custo não são cumpridos; o planejamento não é feito com base
em estimativas; as qualidades, procedimentos e conhecimentos pertencem às pessoas e não aos
projetos; as chances de sucesso dependem das habilidades pessoais dos gerentes e desenvolvedores;
Nível 2 - Gerenciado: políticas e procedimentos para gerenciar o desenvolvimento de software estão
definidas e são obedecidas; o planejamento é baseado em estimativas e na experiência anterior de
outros projetos; os projetos utilizam processos definidos, usados, disseminados, documentados,
medidos e fiscalizados com rotinas de melhoria; os processos afetados são puramente gerenciais (não
técnicos) e pertencem aos projetos e não às pessoas;
Nível 3 - Definido: os processos utilizados são estabelecidos e padronizados em toda a organização;
processos técnicos passam a ser considerados ao lado dos processos gerenciais; tanto os processos
gerenciais quanto os técnicos passam a ser repetidos; os processos pertencem a organização e não
mais aos projetos;
NÍVEIS DE MATURIDADE - CMMI
Clientes e
Sucesso depende muito do esforço funcionários
heróico das pessoas Pouca insatisfeitos
repetibilidade
VOCÊ ESTARIA SATISFEITO COM UM
NÍVEL DE QUALIDADE DE 99,9%?
Aspectos Fundamentais
Na visão do contratante
Auxilia a definição de critérios para seleção e descredenciamento de fornecedores
Auxilia a definição de processos de acompanhamento do progresso e desempenho dos
fornecedores nas etapas de desenvolvimento, entrega e pós-entrega dos produtos
Auxilia a definição de critérios para avaliação e aceitação dos produtos entregues pelo
fornecedor
GESTÃO DA QUALIDADE
Mito: Criar programas é uma arte que não pode seguir regras, normas ou padrões.
Causas:
• Produtos de software são complexos.
• Software não tem produção em série. Custo está no projeto e desenvolvimento.
• Software não se desgasta.
• Software é invisível. Sua representação em grafos e diagramas não é precisa.
• A Engenharia de Software ainda não está madura, é uma tecnologia em evolução.
• Não há um acordo entre os profissionais sobre o que é qualidade de software.
TESTES DE SOFTWARE
TESTE DE SOFTWARE
Planejamento
Nesta fase é elaborada a Estratégia de Teste e o Plano de Teste, em cima dos requisitos.
Preparação
O objetivo desta fase é preparar o Ambiente de Teste (equipamentos, pessoal, ferramentas de automação,
massa de testes) para que os testes sejam executados conforme planejados.
Especificação
Nesta fase temos as seguintes atividades: Elaborar/ Revisar casos de testes e Elaborar/ Revisar roteiros de
testes.
Execução
Os testes são executados e os resultados obtidos são registrados.
Entrega
Esta é a última fase do ciclo de vida de testes, onde o projeto é finalizado e toda documentação é finalizada
e arquivada.
TESTE DE SOFTWARE
ARTEFATOS
Teste de Unidade
Também conhecida como teste unitário ou teste de módulo, é a fase em que se testam as menores
unidades de software desenvolvidas (pequenas partes ou unidades do sistema).[10] O universo alvo
desse tipo de teste são as subrotinas, métodos, classes ou mesmo pequenos trechos de código.
Assim, o objetivo é o de encontrar falhas de funcionamento dentro de uma pequena parte do sistema
funcionando independentemente do todo.Teste de Integração
Identificar erros associados às interfaces entre os módulos do software
Teste de Integração
Na fase de teste de integração, o objetivo é encontrar falhas provenientes da integração interna dos
componentes de um sistema. Geralmente os tipos de falhas encontradas são de transmissão de
dados. Por exemplo, um componente A pode estar aguardando o retorno de um valor X ao executar
um método do componente B; porém, B pode retornar um valor Y, gerando uma falha. O teste de
integração conduz ao descobrimento de possíveis falhas associadas à interface do sistema. Não faz
parte do escopo dessa fase de teste o tratamento de interfaces com outros sistemas (integração
entre sistemas).
FASES (OU NÍVEIS) DE TESTE
Teste de Sistema
Na fase de teste de sistema, o objetivo é executar o sistema sob ponto de vista de seu usuário final,
varrendo as funcionalidades em busca de falhas em relação aos objetivos originais. Os testes são
executados em condições similares – de ambiente, interfaces sistêmicas e massas de dados – àquelas
que um usuário utilizará no seu dia-a-dia de manipulação do sistema. De acordo com a política de
uma organização, podem ser utilizadas condições reais de ambiente, interfaces sistêmicas e massas
de dados.
Teste de Aceitação
Geralmente, os testes de aceitação são realizados por um grupo restrito de usuários finais do
sistema, que simulam operações de rotina do sistema de modo a verificar se seu comportamento
está de acordo com o solicitado. Teste formal conduzido para determinar se um sistema satisfaz ou
não seus critérios de aceitação e para permitir ao cliente determinar se aceita ou não o sistema.
Validação de um software pelo comprador, pelo usuário ou por terceira parte, com o uso de dados ou
cenários especificados ou reais. Pode incluir testes funcionais, de configuração, de recuperação de
falhas, de segurança e de desempenho.
FASES OU NÍVEIS DE TESTES
TESTE DE SOFTWARE
Garante que um ou mais componentes combinados (ou unidades) funcionam. Podemos dizer que um teste de integração é
Teste de Integração
composto por diversos testes de unidade
Teste Operacional Garante que a aplicação pode rodar muito tempo sem falhar.
Teste Positivo-negativo Garante que a aplicação vai funcionar no “caminho feliz” de sua execução e vai funcionar no seu fluxo de exceção.
Teste de regressão Toda vez que algo for mudado, deve ser testada toda a aplicação novamente.
Não se está preocupado com o código, cada saída indesejada é visto como um erro. Testar as funcionalidades,
Teste de caixa-preta
requerimentos, regras de negócio presentes na documentação. Validar as funcionalidades descritas na documentação (pode
(funcional)
acontecer de a documentação estar inválida)
Teste caixa-branca
O objetivo é testar o código. Às vezes, existem partes do código que nunca foram testadas.
(estrutural)
RESUMO DOS TIPOS DE TESTES DE SOFTWARE
Teste de Interface (ou Teste de Verifica se a navegabilidade e os objetivos da tela funcionam como especificados e se atendem
Usabilidade) da melhor forma ao usuário.
Teste de Performance Verifica se o tempo de resposta é o desejado para o momento de utilização da aplicação.
Testa se a solução será bem vista pelo usuário. Ex: caso exista um botão pequeno demais para
Teste de aceitação do usuário executar uma função, isso deve ser criticado em fase de testes. (aqui, cabem quesitos fora da
interface, também).
Testar a quantidade de dados envolvidos (pode ser pouca, normal, grande, ou além de grande)
Teste de Volume
durante muito tempo de uso.
RESUMO DOS TESTES DE SOFTWARE
Documento Uso
Utilizado na tarefa de planejamento para execução do teste, no qual
Plano de Teste serão identificadas as funcionalidade a serem testadas com ênfase
nas datas, pessoas envolvidas e riscos.
Refina a abordagem apresentada no Plano de Teste, que além de
Especificação de Projeto de Teste identificar os casos e os procedimentos de teste, se existirem,
apresenta os critérios de aprovação.
Identifica os casos de teste com os dados de entrada, resultados
Especificação de Caso de Teste
esperados, ações e condições gerais pra a execução do teste.
Documento Uso
Especificação de
Procedimento de Identifica quais serão os passos para executar os casos de teste.
Teste
Composto por 4 documentos: Diário de Teste, Relatório de Incidente de Teste,
Relatórios de Teste
Relatório-Resumo de Teste e Relatório de Encaminhamento de Item de Teste.
Diário de Teste: Exibe registros cronológicos dos dados relevantes relacionados com a execução dos teste.
Relatório de Incidente de Teste: Documenta qualquer evento que ocorra durante a atividade de teste e
que necessite de análise depois.
Relatório-Resumo de Teste: Resumo dos resultados das atividades de teste
Relatório de Encaminhamento de Item de Teste: identifica os itens encaminhados para teste no caso de
equipes distintas serem responsáveis pelas tarefas de desenvolvimento e de teste.
A) PLANO DE TESTE