teste de software conceitos iniciais. teste de software o que é teste de software?

30
Teste de Software Conceitos iniciais

Upload: internet

Post on 22-Apr-2015

166 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Teste de Software

Conceitos iniciais

Page 2: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Teste de Software

O que é Teste de Software?

Page 3: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Teste de Software “O teste do software é a investigação do

software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos.”

Page 4: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Teste de Software Avaliar se o software está fazendo o que

deveria fazer, de acordo com os seus requisitos, e avaliar se o software não está fazendo o que não deveria fazer;

Processo de executar um programa ou sistema com a intenção de encontrar defeitos;

Qualquer atividade que a partir da avaliação de um atributo ou capacidade de um programa ou sistema seja possível determinar se ele alcança os resultados desejados.

Page 5: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Teste de Software Muitas outras definições poderiam ser ainda

citadas, mas em essência, teste de software é o processo que visa a sua execução de forma controlada, com o objetivo de avaliar o seu comportamento baseado no que foi especificado.

Page 6: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Propósito O propósito dos testes de software é descobrir

e corrigir os problemas e com isto melhorar a sua qualidade. O quanto se quer melhorar dependerá de quanto se deseja investir;

A qualidade do software depende também do investimento feito no processo de testes. Um software mal testado poderá custar caro (e muito) para a organização.

Page 7: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Teste de Software

Visão histórica

Page 8: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Demonstração (década de 70) Garantir que o produto funciona; Testes feitos pelos desenvolvedores.

Page 9: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Detecção (década de 80/90) Garantir que o produto atende aos requisitos; Testes feitos pelos desenvolvedores e

usuários.

Page 10: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Prevenção (década de 90/00) Garantir que o produto funciona, atende aos

requisitos e não tem defeitos; Testes feitos pelos desenvolvedores, usuários

e testadores.

Page 11: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Teste de Software

Conceitos

Page 12: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Validação A execução dos testes é considerada um tipo

de validação. Na prática, não se pode testar um programa

completamente e garantir que ele ficará livre de “bugs”. É quase impossível testar todas as possibilidades de formas e alternativas de entrada de dados, bem como testar as diversas possibilidades e condições criadas pela lógica do programador.

Page 13: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Verificação Dentro do processo de teste existem também as

técnicas de verificação, tais como: inspeção, revisão de produtos e orientações. Estas técnicas baseadas em reuniões e “check-lists” servem para identificar defeitos de elaboração, descumprimento de padrões e das boas práticas;

Devem ser realizados em documentos produzidos, planos, códigos, especificações, requisitos etc., preferencialmente antes da execução dos testes. Estas técnicas, usadas de forma combinada com os testes, aumentam sensivelmente a qualidade final dos softwares desenvolvidos.

Page 14: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Verificação x Validação As áreas de processo Verificação e Validação são

aquelas dentro do contexto do próprio objetivo da área de teste. Verificação cobre os testes unitários, de integração e de sistemas. Validação cobre os testes de aceitação. Neste último caso é importante evidenciar que a equipe de testes participa também dos testes de aceitação.

É importante lembrar que o teste de sistema repete também o teste de integração executado com um nível de detalhes maior. Além disso temos o contexto das inspeções e revisões que são feitas pela equipe de teste de software nos seus próprios artefatos ou nos artefatos criados pela equipe de desenvolvimento.

Page 15: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Verificação x Validação Verificação: Estamos construindo certo o

produto? Validação: Estamos construindo o produto

certo?

Page 16: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

O Processo de Teste O processo de teste deve basear-se em uma

metodologia aderente ao processo de desenvolvimento, em pessoal técnico qualificado, em ambiente e ferramentas adequadas;

A metodologia de teste deve ser o documento básico para organizar a atividade de testar aplicações no contexto da empresa.

Page 17: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Ciclo de vida de um processo de testes

PlanejamentoPlanejamento

PreparaçãoPreparação

Procedimentos iniciais

Procedimentos iniciais

Especificação

Especificação ExecuçãoExecução EntregaEntrega

Page 18: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Procedimentos iniciais Elaboração do documento Guia Operacional de

Testes (GOT), ou seja, o estabelecimento de um acordo entre as partes envolvidas no projeto de teste (usuário, desenvolvimento, teste e produção) para a definição dos seguintes assuntos: objetivo do projeto de teste, pessoal a ser envolvido (desenvolvimento, equipe de testes e usuários), as responsabilidades de cada um, o plano preliminar de trabalho, a avaliação dos riscos, os níveis de serviço acordados e qualquer item considerado relevante pelo responsável das atividades de teste para garantir o sucesso do projeto.

Page 19: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Planejamento Elaboração e revisão da Estratégia de Testes

e do Plano de Teste.

Page 20: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Preparação Preparação do ambiente de teste, incluindo

equipamentos, rede, pessoal, software e ferramentas.

Page 21: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Especificação Elaboração e revisão dos Casos de Teste,

“scripts” ( no caso de uso de ferramentas de automação de testes) e dos Roteiros de Teste e execução dos testes de verificação da documentação do sistema (testes estáticos).

Page 22: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Execução Execução dos testes planejados conforme os

Casos de Teste, “scripts” (no caso de uso de ferramentas de automação de testes) e dos Roteiros de Teste com os correspondentes registros dos resultados obtidos.

Page 23: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Entrega Conclusão do processo de testes com a

entrega do sistema para o ambiente de produção.

Page 24: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Processos de Teste x DesenvolvimentoProcesso de Teste

Desenvolvimento

Ações requeridas

Verificação/ Validação

Planejamento Planejamento do projeto de desenvolvimento

Integração dos planos

Preparação da estratégia de testes e planos de testes

Verificação (revisões/ inspeção)

Especificação Projeto lógico e Físico

Revisão dos planos de testes

Elaboração e revisão dos casos de teste e dos roteiros de teste

Atualização do plano do projeto de desenvolvimento

Verificação (revisões/ inspeção)

Page 25: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Processos de Teste x DesenvolvimentoProcesso de Teste

Desenvolvimento

Ações requeridas

Verificação/ Validação

Execução Construção Busca de defeitos e correções

Validação (testes) e Verificação (revisões/ inspeção)

Execução Implantação Busca de defeitos e correções

Validação (testes) e Verificação (revisões/ inspeção)

Page 26: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

Processos de Teste x Desenvolvimento Como regra geral, os planejadores de projetos

de desenvolvimento de sistemas devem considerar “50% a 75% do custo de desenvolvimento para as atividades de garantir que os programas funcionarão satisfatoriamente nos termos das suas especificações funcionais e não funcionais e dentro do ambiente estabelecido na entrega, através do apropriado processo de depuração, testes e atividades de verificação”

Page 27: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

A importância dos testes Quanto mais tarde um defeito for identificado

mais caro fica para corrigi-lo e mais ainda, os custos de descobrir e corrigir defeitos no software aumentam exponencialmente na proporção que o trabalho evolui através das fases do projeto de desenvolvimento;

Um outro aspecto que devemos considerar é o papel dos testes na manutenção dos sistemas. Uma grande parcela do orçamento de TI das organizações é dedicada à manutenção dos softwares após eles entrarem em produção;

Page 28: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

A importância dos testes A maioria dos testes feitos durante a

manutenção são os mesmos que foram feitos durante o desenvolvimento. Neste momento devem ser aplicados os Regressão, preferencialmente se automatizados, todas as vezes que os programas mudarem;

Quanto melhores forem os testes feitos durante o desenvolvimento, menores serão os custos de manutenção;

Page 29: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

A importância dos testes As manutenções solicitadas pelos usuários são

fontes de novos defeitos, inclusive gerando problemas em partes do programa que não foram modificados. Para identificar estas situações, sempre devem ser aplicados os Testes de Regressão completos, evitando testar apenas as modificações realizadas;

Certos testes, tais como o de carga em ambiente Web, só podem ser realizados com auxilio de ferramentas de automação de testes, pois possuem a capacidade de simular o ambiente real, muito difícil de ser realizado por pessoas;

Page 30: Teste de Software Conceitos iniciais. Teste de Software O que é Teste de Software?

A importância dos testes Quanto mais especializada e independente a

equipe de testes, tanto melhor será a qualidade do sistema e menor o custo total.