Вы находитесь на странице: 1из 12

Porque necessrio testar?

- Aumento da complexidade dos sistemas computacionais; - Riscos de perdas financeiras; - Prover maior qualidade e satisfao dos usurios; - Riscos vida humana; - Riscos de desastres ambientais.

O que Teste / Objetivos


- Teste = Investigao do software a fim de fornecer informaes sobre a sua qualidade em relao ao contexto que ele deve operar; - As atividades so realizadas no mbito de um projeto de desenvolvimento; Objetivos: - Encontrar defeitos; - Ganhar confiana sobre o nvel de qualidade; - Prover informaes para tomada de deciso; - Prevenir defeitos.

Erro / Engano

Defeito / Bug

Falha
- Cdigo defeituoso executado, visvel ao cliente, insatisfao de qualidade;

- Ao humana errada, equvoco.

- Produzido pelo erro humano (nos requisitos, especificao do projeto, - Pode ser causada tambm por cdigo, lgica, documentao estado). condies ambientais e mau uso do sistema pelas pessoas.

Erro >>> Defeito / Bug >>> Falha

Princpios Gerais do Teste


1. Teste demostra a presena de defeitos 2. Teste exaustivo impossvel;

Fundamentos do Processo de Teste


1. Planejamento e Controle; 2. Anlise e Modelagem;

3. Teste antecipado; 3. Implementao e Execuo; 4. Agrupamento de Defeitos (Bug clustering); 4. Avaliao do Critrio de Sada e Relatrios; 5. Paradoxo do Pesticida; 5. Atividades de Encerramento de Teste. 6. Teste depende do contexto; 7. Iluso da Ausncia de Defeitos.

Psicologia do Teste
- Ser portador de ms notcias e ainda sim ter de ser otimista com respeito ao sucesso do projeto.

Modelos de Desenvolvimento de Software


- Modelo V, Modelo Iterativo / Incremental; - Norma IEEE 12207 Processos de Ciclo de Vida de Software; - composta por processos bsicos do ciclo de vida, processos e apoio, processo do ciclo de vida organizacional; - Maturidade CMMI: processo de maturidade da empresa em nveis: Inicial, Gerenciado, Definido, Gerenciado Quantativamente, Otimizado.

Verificao
- Se refere somente uma fase do processo de desenvolvimento; - Assegura que a sada de uma fase particular est correta e completa, de acordo com sua especificao; - Procura bugs nos entregveis da fase;

Validao
- Avaliao dos resultados de desenvolvi-me, de acordo com os requisitos originais; - Procura bugs no sistema, baseado nos entregveis da fase; - Estamos construindo o sistema certo?

- Estamos construindo o sistema corretamente?

Nveis de Testes
Teste de Componentes - Drivers / stubs; - Perfil desenvolvedor; - Ambiente de desenvolvimento; - Os testes de componentes ocorrem com acesso direto ao cdigo; - Verifica o funcionamento do software atravs de mdulos, objetos, classes, e so testados separadamente; - A correo geralmente realizada no momento da identificao do defeito, e no h documentao ou registros formais de incidentes; - TDD (Test Driven Development). - Perfil desenvolvedor e testadores independentes; - Ambiente de desenvolvimento; - Testa-se a interface entre os componentes, interaes de diferentes partes de um sistema; - Testar a integrao realizado aps testes de componentes e pode ser feito depois do teste de sistemas (verificar as interaes entre diferentes sistemas); Estratgias: - Big Bang: tudo junto; - Bottom-up: drivers; - Top-down: stubs; - Backbone: drivers / stubs, baseado em risco. - Perfil usurios finais; - Perfil testadores independentes; - Refere-se ao comportamento de todo o sistema, definido pelo escopo do projeto; - O ambiente de teste deve simular ao mximo o ambiente de produo; - Podem ser baseados em: especificao de riscos, ou requisitos, processos de negcios e casos de uso. - Frequentemente de responsabilidade do usurio; - Estabelecer confiana no sistema; - No objetiva achar defeitos; Formas de teste de aceite: - Teste de aceite do usurio; - Teste operacional de aceite; - Teste de aceite de contrato e regulamento; - Alfa (casa desenvolvida) e Beta (casa usurio) Teste. Teste de Integrao - Drivers / stubs; Teste de Sistema Teste de Aceite

Tipos de Testes
Teste de funo (teste funcional) Teste de caractersticas do produto de software (testes no funcionais) - o teste de "como" o sistema trabalha; - Pode ser realizado em todos os nveis de teste; - Medir as caractersticas; - Modelo de qualidade: ISO 9126; Tcnicas de teste no funcional: - teste de performance; - teste de carga; - teste de estresse; - teste de usabilidade; - teste de interoperabilidade; - teste de manutenibilidade; - teste de confiabilidade; - teste de portabilidade. - Caixa-branca; - Pode ser feito em todos os nveis de teste; - Baseado na arquitetura do sistema. Teste de estrutura (teste estrutural) Teste relacionado a mudanas (teste de confirmao e regresso) - Teste de confirmao: certifica que um defeito encontrado foi realmente resolvido e removido; - Teste de regresso: teste repetido de um sistema, aps sua modificao, para descobrir a existncia de algum defeito que pode ser originado; - Realizado quando o software ou ambiente modificado; - Forte candidato a automao; - Podem ser realizados em todos os nveis de testes.

- Testes baseados nas funes descritas em documentos; - Pode ser realizado em todos os nveis de teste; - Considera o comportamento externo do software (caixapreta); Tcnicas de teste funcional: - teste de controle; - teste de interconexo; - teste paralelos; - teste de requisitos; - teste de regresso; - teste de suporte manual; - teste de tratamento de erros.

Norma ISO 9126 Caractersticas e Subcaractersticas de um software: (funcionalidade, confiabilidade, usabilidade, eficincia, manutenabilidade, portabilidade)

Teste de Manuteno
- Aps o sistema ser desenvolvido e estar disponvel em produo, o mesmo poder sofrer manutenes peridicas, seja para acrescentar melhorias, ou para corrigir defeitos no detectados anteriormente; - Alm de ser testada a modificao realizada no software, o teste de manuteno inclui testes massivos de regresso; - O escopo do teste est diretamente relacionado com os riscos que a verso de melhoria ou corretiva poder causar (Anlise de impacto); Motivos para manuteno: - Modificao: melhorias, correes de bugs, mudanas no ambiente operacional; - Migrao: um novo ambiente suportado; - Retirada: fim da vida de um subsistema ou troca de todos os gatilhos do sistema.

Teste Esttico
- No execuo de cdigo / sistema; - Podem ser manuais, revises em documentaes, ou automatizadas atravs da anlise esttica; - Tcnicas estticas encontram defeitos; - Ex.: Reviso, anlise esttica, auditoria, verificao requisitos.

Teste Dinmico
- Ocorre execuo do cdigo / sistema; - Tcnicas dinmicas exercitam defeitos e identificam falhas; - Ex.: Testes caixa-branca, testes caixa-preta.

Reviso e Processo de Teste


- Reviso uma tcnica esttica caracterizada por ser um processo manual (mas h ferramentas tambm); - Desejvel aplicao de revises sobre as documentaes produzidas ao longo do ciclo de vida do software. Benefcios da Reviso Papis na Reviso - Moderador (lder, conduz reunio de inspeo, no autor); - Deteco e correo antecipada de defeitos; - Reduo do tempo de desenvolvimento e maior produtividade do desenvolvedor; - Reduo do custo e tempo de teste; - Baratas e alto retorno de investimento; - Menos defeitos; - Melhoria na comunicao. - Revisor, inspetor (identifica e escreve os defeitos no item sob reviso); - Escrevente, secretrio, redator (coleta informao e documenta contedo da reunio); - Gerente (toma decises, analisa mtricas, determina objetivo reunio); 1. Planejamento; 2. Kick-off; 3. Preparao; 4. Encontro; 5. Retrabalho; Fases da Reviso

- Autor (pessoa que fez o documento a 6. Acompanhamento. ser revisado, responde questionamentos). OBS.: Uma pessoa pode ter vrios papis, depende do tipo de reviso.

Tipos de Reviso
Informal Revises Tcnicas Acompanhamento Inspeo

- Documentado; - Pode haver programao em pares ou um lder tcnico revisando a modelagem e o cdigo; - Documentao opcional; - Preparao dos revisores; - Dependendo do revisor, a importncia pode variar; - Principal propsito: Uma forma de obter algum benefcio a baixo custo; - til, barata, popular; - Pode ser usada no treinamento pessoal. - Elaborao do relatrio de reviso, contendo informaes sobre a lista de defeitos encontrados, se o software corresponde aos requisitos; - Pode variar informal/formal; - Principais propsitos: discusso, avaliar alternativas, encontrar defeitos, resolver problemas tcnicos e checar a conformidade. - Processo de deteco de defeitos; - Pode ser conduzido por um moderador (no autor) e uso de checklist (opcionais); - A reunio conduzida pelo autor; - Cenrios, grupos de discusso e exerccios prticos; - Sem restrio de tempo; - Opcionalmente h um redator; - Pode variar de informal para formal; - Principal propsito: aprendizagem, obteno de entendimento e encontrar defeitos. - Conduzida pelo moderador treinado (no autor); - Tipo de reviso mais formal; - Anlise por pares; - Utilizao de mtricas; - Processo formal baseado em check-list; - Entradas especificadas e critrios de sada para a aceitao do produto; - Acompanhamento formal; - Principal propsito: encontrar defeitos.

Anlise Esttica
- Anlise esttica uma tcnica esttica caracterizada por ser um processo automatizado, executada por ferramentas; - Objetivo: encontrar defeitos no cdigo fonte do software e na modelagem; - Complexidade, Fluxo de Controle e de Dados, Compilador; - Ferramentas de anlise esttica so tipicamente usadas por desenvolvedores. Benefcios da Anlise Esttica - Deteco de defeitos antes da execuo do teste (cedo e barato); - Identificao de defeitos dificilmente encontrados por testes dinmicos; - Manutenabilidade melhorada do cdigo / projeto; - Preveno de defeitos se as lies forem aprendidas pelo desenvolvimento. Defeitos mais comuns descobertos por ferramentas de anlise esttica:

- Referncias a uma varivel com valor indefinido; - Cdigo morto; - Inconsistncias entre as interfaces dos mdulos e componentes; - Vulnerabilidade na segurana.

Tcnicas de Modelagem de Testes


Casos e Dados de Teste Categoria das tcnicas de modelagem de testes
Testes de Caixa-Preta - A estrutura interna do sistema desconsiderada. - Testa-se apenas o que visvel ao usurio. - Engloba tanto os testes funcionais como os no-funcionais. - Teste Baseado na Especificao: Derivar condies e casos de teste baseados na anlise da documentao. - Teste Baseado na Experincia: Derivar condies e casos de teste baseados na experincia, no conhecimento e na intuio do testador. Testes de Caixa-Branca - Baseado na estrutura interna do software / componente. - A extenso da cobertura de cdigo pode ser medida pelos casos de teste. - Nvel de componente: A estrutura o prprio cdigo. - Nvel de integrao: A estrutura pode ser uma rvore de chamadas. - Nvel de sistema: A estrutura pode ser a estrutura da pgina. - Teste Baseado na Estrutura

- Durante a modelagem so criados os casos de testes e os dados de testes. - Os casos de testes devem possuir as seguintes informaes: - Valores de entrada; - Pr-condies; - Resultados esperados (devem ser definidos antes da execuo dos testes); - Ps-condies; - O padro IEEE 829-1998 define a documentao.

Tcnicas baseadas em Caixa-Preta


Teste Baseado na Especificao
Partio de equivalncia - As entradas do sistema so divididas em grupos que tenham um comportamento familiar; - Pode ser um conjunto de dados vlidos, ou dados invlidos (rejeitados pelo sistema); Anlise do valor limite - Nos limites de uma partio de equivalncia onde existe maior probabilidade para identificar defeitos; - Valores mximos e mnimos / vlidos e invlidos;

Teste Baseado na Experincia - Usadas quando com pouca ou nenhuma documentao, e complementam os testes mais formais.

Teste Exploratrio - Testador controla a Tabela de deciso modelagem dos testes e - Podem ser usados para regras de negcio; utiliza informaes para - As condies de entradas so declaradas como verdadeiro ou falso; - Cada coluna possui uma regra de negcio que define uma nica combinao que resulta na execuo de modelar novos testes e melhores. aes;
- A tabela cria combinaes que geralmente no foram exercitadas durante os testes;

Suposio de Erro - A experincia do Teste de transio de estados testador utilizada para - Permite ao testador visualizar o software em termos de estado; antecipar possveis defeitos em um sistema Teste de caso de uso como resultado de erros - O caso de uso possui pr-condies que precisam ser garantidas que funcionem; - Testes baseados em casos de uso facilitam na descoberta de defeitos durante a utilizao do sistema no feitos.
mundo real.

Tcnicas baseadas em Caixa-Branca


Cobertura de Cdigo - Cobertura de Caminho (Declaraes) = Totais de caminhos. - Cobertura de Comando (Sentena) = todo comando executado (Quadrados e Losangos). - Cobertura de Desvio (Deciso) = todo desvio tomado em cada direo, Verdadeiro ou Falso (Quadrados, Losangos e Setas). - Cobertura de Condio = toda combinao de condies Verdadeira e Falsa analisadas (Tabela Verdade). - Cobertura de Lao = todos os caminhos de lao executados zero, uma e mltipla vezes. Complexidade Ciclomtica de McCabe - Mede complexidade do fluxo de controle. - Utilizado para estimar a testabilidade e manutenabilidade de uma parte do programa. - Maior o nmero da complexidade ciclomtica, mais complexo e difcil de testar o cdigo .

Вам также может понравиться