PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5 Prof. MARCELO VASQUES [email protected] AULA 1 – Prof. MARCELO VASQUES 1 OBJETIVOS DA AULA Conhecer as atividades de Testes do processo de desenvolvimento Entender as necessidades da etapa de teste na melhoria da qualidade do sistema Analisar os diversos tipos de testes 2 AS FASES DO PROCESSO Concepção Requisitos Implementação Implantação Testes Análise Desenho Manutenção 3 O CICLO DE VIDA Concepção Requisitos Análise Desenho Testes • Implementação Onde estão os erros? Implantação Manutenção 4 1ª. DEFINIÇÃO DE TESTE • A fase de teste tem como objetivo detectar possíveis defeitos ou erros que possam surgir NA da fase de implementação. • Nessa fase, DE TESTES deve-se coletar os resultados e analisá-los E CONSERTÁ-LOS antes de sua implantação. • Fase fundamental, muitas vezes rel2gada a segundo plano ou mesmo esquecida Incremento na QUALIDADE, na medida em que avaliamos sob várias óticas. 5 1ª. DEFINIÇÃO DE TESTE 6 FASE: TESTES • Objetivo: encontrar erros não descobertos – Bem sucedido: Acha erro não previsto – É preciso usar o produto • Análise e verificação de componentes do sistema. todos os – Validar se estão em conformidade com os requisitos anteriormente definidos. – Para uma melhor analise, o teste deve ser feito por uma equipe independente, diferente da equipe desenvolvedora. 7 MODALIDADES DE TESTES • Classificação quanto ao uso do código – Testes estáticos ou Verificações • ANTES da implementação • Inspeções, revisões, auditorias • Testes nas fases iniciais – qualidade • Qualidade no processo – Testes dinâmicos ou Validações • DURANTE OU APÓS a implementação • Precisa de parte ou todo sistema encarnado • Qualidade no produto 8 MODALIDADES DE TESTES Concepção Requisitos Análise Desenho TESTES DINÂMICOS • EXECUÇÃO TESTES ESTÁTICOS • REVISÕES • AUDITORIAS TESTES ESTÁTICOS • REVISÃO DE CÓDIGO Implementação Testes • Onde estão os erros? Manutenção Implantação 9 MODALIDADES DE TESTES • Classificação quanto objetivo – Teste de Unidade (programação) • Em Unidades de programas. • Busca de Erros nos programas individuais – Teste de Integração (prog / testes) • Identificar erros na integração dos diversos módulos, já testados individualmente – Teste de Validação (testes) • Realizado após a integração de TODOS os módulos • Antes de IMPLANTAR 10 ESTRATÉGIAS DE TESTES • TESTE DA CAIXA PRETA (+ simples) – Não considera a forma como implementado – detalhes internos – Objetivo: esta • o sw produz os resultados esperados? • Os requisitos estão sendo atendidos? – Vantagem: não requer conhecimento técnico da tecnologia empregada ou da implementação aplicada requer profissional menos capacitado. 11 ESTRATÉGIAS DE TESTES • TESTE DA CAIXA BRANCA (+ Complexos) – Baseados na arquitetura interna do software. • Verificação de código – Objetivo: identificar defeitos nas estruturas internas do sw, através da simulação que “testem” toda a estrutura usada na codificação – Desvantagem: requer conhecimento técnico da tecnologia empregada pelo software e arquitetura interna da solução requer profissional BEM capacitado. Difíceis de serem implementados. – Vantagem: eficientes na detecção de erros. • Casos de testes que cubram TODAS possibilidades 12 TESTE DE UNIDADE 1ª. Etapa do processo de validação. Testa UMA unidade: modulo/classe Objetivo: garantir a qualidade dos software, componentes do individualmente, avaliando: Estrutura interna usar estratégia de caixa branca Se a unidade atende aos requisitos – usar testes da caixa preta 13 TESTE DE INTEGRAÇÃO Natural continuidade dos testes de Integração Verificar a compatibilidade da nova unidade com as demais, já prontas. Verificar se Juntas e integradas, as unidades funcionam e realizam o trabalho que o sistema precisa. Cuidado: alteração de componentes. Geralmente aplica-se estratégia da caixa preta, testando as interfaces entre as unidades, que se integram 14 TESTES DE SISTEMAS (VALIDAÇÃO) Estágio mais complexo da validação Validam a solução como um todo. Aqui: as falhas individuais já estão sanadas (espera-se). Ambiente (Hw, SO, rede e etc) bem próximo da realidade da operação). Testar: integração com sistemas externos, dispositivos físicos (hw) Dificuldade: vislumbrar os vários cenários de uso. Várias tipos: stress, volume, performance 15 TESTES DE ACEITE Homologação: interna e externa Último estágio do processo de validação último processo formal de detecção de erros no sistema. Uso por clientes e usuários validarem as funcionalidades Usuários interagem com sistema completo. Reduz o risco da entrega 16 IMPORTANTE Planejar os testes Documentar os testes Validar ao longo do processo. Não “queimar” etapas de testes Equipe especializada: Preferencialmente: não ser equipe de desenvolvimento 17