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