Baixe o app para aproveitar ainda mais
Prévia do material em texto
AVALIAÇÃO DE SOFTWARE Aula Revisão - 2 Tema da Apresentação Casos de testes Testar o caminho de um programa ou verificar o cumprimento de um requisito específico. Conjunto de entradas de teste, condições de execução resultados esperados Início X=1 Y=2 Ler variável a; Ler variável b; C= c+1; Imprimir c; Programa A Caso de teste Tema da Apresentação Casos de testes Os casos de teste constituem a base do design e do desenvolvimento dos Scripts de Teste. Cada caso de teste reflete um cenário. A "profundidade" do teste é proporcional ao número de casos de teste, gerando maior confiança no processo de teste e na qualidade do produto. A escala do esforço de teste é proporcional ao número de casos de teste, é possível estimar com mais precisão a duração dos estágios subsequentes do ciclo de teste. Tema da Apresentação Abordagens dos casos de testes Os casos de teste são categorizados ou classificados pelo tipo ou requisito de teste ao qual estão associados: Positivo: Demonstrar que o requisito foi atendido, Negativo: Reflete condições inaceitáveis, anormais ou inesperadas Positivo Negativo Tema da Apresentação Abordagens dos casos de testes Requisitos (teste de caixa preta) Estrutura interna (teste de caixa Branca) Tema da Apresentação Métodos Caixa Preta para obtenção dos casos de Testes Métodos de decomposição de requisitos Métodos de Análise de Documentos Tema da Apresentação Métodos Caixa Branca para obtenção dos casos de Testes Cobertura de linha de código Cobertura de Caminhos Cobertura de desvios condicionais Cobertura de laços Tema da Apresentação Exemplo de caso de teste Caso de uso transferência Bancária Cenário: Doc para terceiros Passos: Consultar o saldo de origem; Consultar o saldo da conta de destino; Consultar novamente o saldo da conta de origem, verificando se o saldo inicial menos o valor transferido é igual ao saldo atual; Consultar o salda da conta de destino, verificando se o saldo acrescido do valor transferido é igual ao saldo atual. Tema da Apresentação Exemplo de caso de teste Caso de uso transferência Bancária Cenário: Doc para terceiros Possíveis casos de teste: CT01 – Preenchimento dos campos obrigatórios na tela de transferência; CT02 – Validação do CPF; CT03 – Conta destino inválida; CT04 – Transferência de valores negativos; Tema da Apresentação Aula Revisão 2 Avaliação de Software Teste de Validação Iniciam–se no final do teste de integração Os componentes individuais foram executados; O software está completo; Os erros de interface corrigidos. Tema da Apresentação Aula Revisão 2 Avaliação de Software Teste de Validação A validação do software se torna bem-sucedida quando o software: funciona de maneira adequadamente esperada pelo cliente, desta forma, é obtida por intermédio de uma série de testes que demonstram conformidade com os requisitos. Tema da Apresentação Aula Revisão 2 Avaliação de Software Fases dos testes de Validação Tema da Apresentação Aula Revisão 2 Avaliação de Software Testes de baixo nível Teste de Unidade Interface de módulo Estrutura de dados local Caminhos independentes da estrutura de controle Condições limite Caminhos de manipulação de erro Casos de testes deverão ser projetados para descobrir erros devido a computações errôneas, comparações incorretas ou fluxo de controle inadequado. Tema da Apresentação Aula Revisão 2 Avaliação de Software Fases dos testes de Validação Tema da Apresentação Aula Revisão 2 Avaliação de Software Testes de alto nível Testes de Sistema Comportamento de todo o sistema / produto definido pelo escopo de um projeto ou programa de desenvolvimento. Ambiente de teste deve corresponder o máximo possível ao objetivo final, ou o ambiente de produção Tema da Apresentação Aula Revisão 2 Avaliação de Software Testes de alto nível Testes de Sistema Realizado por uma equipe de teste independente, Tema da Apresentação Aula Revisão 2 Avaliação de Software Testes de alto nível Testes de Sistema Série de diferentes testes cuja finalidade é exercitar totalmente o sistema: Teste de recuperação Teste de segurança Teste de esforço (estresse) Teste de desempenho Tema da Apresentação Aula Revisão 2 Avaliação de Software Testes de alto nível Testes de Aceitação É impossível que se preveja como o cliente realmente usará um programa; Instruções de uso mal interpretadas; combinações estranhas de dados podem ser usadas; Saídas que pareciam claras ao analista podem ser ininteligíveis para um usuário em campo. Tema da Apresentação Aula Revisão 2 Avaliação de Software Testes de alto nível Testes de Aceitação Teste Alfa É conduzido na instalação do desenvolvedor por um grupo representativo de usuários finais. Teste Beta O teste Beta é conduzido nas instalações de um ou mais usuários finais e neste tipo de teste o desenvolvedor não deverá estar presente. Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambientes de testes A combinação entre os elementos de hardware (processadores, servidores, terminais) e software (sistema operacional, banco de dados), é chamada de infra-estrutura. Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambientes de testes Desta forma cada ciclo do processo de desenvolvimento de software de software (desenvolvimento, teste, homologação e produção) irá requer uma infra-estrutura diferenciada, isto é, de um ambiente distinto. Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambiente de desenvolvimento Este ambiente deverá fornecer toda a infra-estrutura necessária de hardware e software para o desenvolvimento de um novo software e deverá atender: Atender as necessidades da equipe de desenvolvimento. Atender as necessidades de teste da própria equipe de desenvolvimento. Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambiente de desenvolvimento Quais os testes que normalmente são aplicados neste ambiente? Teste de unidade Teste de integração Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambiente de teste e homologação Ambiente mais semelhante possível do ambiente de Produção Possibilitar o maior número de testes possíveis nas condições mais próximas de um ambiente real. Fornece toda a infra-estrutura necessário de hardware e software para a execução dos teste de requisitos do software e garante o ambiente ideal de simulação. Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambiente de teste e homologação Quem utiliza este ambiente? Equipe de teste independente Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambiente de teste e homologação Quais os testes que normalmente são aplicados neste ambiente? Nesse ambiente acontecem os testes de: Sistema e aceitação São realizados através da técnica da caixa-preta que não requerem um conhecimento interno do software. Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambiente de Produção Fornece toda a infra-estrutura necessária de hardware e software para a o produto desempenhe totalmente as funcionalidades paras quais foi projetado. Neste ambiente é garantido o controle do ambiente e segurança contra invasões. Trabalho da equipe de qualidade mensurado através dos erros identificados neste ambiente Tema da Apresentação Aula Revisão 2 Avaliação de Software Ambiente de Produção Quem utiliza este ambiente? No ambiente de Produção também são realizados testes de aceite, que neste caso será o Beta-teste. Neste tipo de teste apenas um grupo de usuários selecionados terá acesso a uma “nova versão” do produto (ainda sob acompanhamento da equipe de testes de software). Tema da Apresentação Aula Revisão 2 Avaliação de Software Equipe de teste Tema da Apresentação Automação de teste Tema da Apresentação Automação de teste Tema da Apresentação Ferramentas de teste automatizado de software As revisões e testes são instrumentos de controle de qualidadede um projeto. Ferramentas de Planejamento de testes Ferramentas de Modelagem e Automação Ferramentas de Suporte aos Testes Ferramentas de execução e conferência Ferramentas de Revisões e Inspeções Tema da Apresentação Ferramentas de teste automatizado de software Para um bom desempenho do processo de automatização estas ferramentas devem ser integradas entre si: Tema da Apresentação Ferramentas de Revisões e Inspeções Tema da Apresentação Ferramentas de Revisões e Inspeções Tema da Apresentação Documentação Fundamental na formalização do processo de qualidade. Possibilita que todos os envolvidos no processo possam acompanhar a evolução do trabalho Permite verificar em que condições as atividades foram executadas e quais defeitos foram identificados. Deve ter conteúdo claro e bem definido. Tema da Apresentação Documentação Tema da Apresentação Documentação São definidas as estratégias que tem como objetivo: Estabelecer o escopo definido de trabalho Organizar as atividades de levantamento Definir os riscos e suas contingências. Tema da Apresentação Documentação Tema da Apresentação Documentação Tema da Apresentação A norma IEEE 829 Tema da Apresentação Aula Revisão 2 Avaliação de Software Explorando o tema Não esqueça de consultar o material didático e a biblioteca virtual da Estácio! Tema da Apresentação Aula Revisão 2 Avaliação de Software Obrigada! Tema da Apresentação * * Nós vimos nas aulas anteriores que os métodos de verificação utilizam técnicas de testes estáticos pra avaliar a qualidade dos documentos gerados durante todas as etapas do desenvolvimento do software. Porém para avaliarmos a qualidade de um sistema, os testes não podem ser estáticos precisam ser dinâmicos, pois devemos submeter o software a determinadas condições de uso de forma a avaliar se o comportamento está de acordo com o esperado. Desta forma torna-se necessário a utilização de uma forma sistémica de trabalho com o objetivo de identificar o maio número possível de situações de testes. Isto é possível através da utilização de algumas técnicas para auxiliar na identificação dos diversos cenários de teste. * * Os casos de teste refletem os requisitos que devem ser averiguados. A verificação pode ser realizada de forma variada e por profissionais distintos. Torna-se fundamental para o sucesso do projeto selecionar os requisitos mais importantes e adequados para o teste, pois * * * * * * Não tem como obtermos um software de qualidade sem a existência de um processo de desenvolvimento que assegure o comportamento do software comparando-o com requisitos funcionais estabelecidos no projeto. Os testes da caixa preta, já estudados na aula 4, são uma abordagem complementar aos testes de caixa branca, com a finalidade de identificar um conjunto de situações que serão empregadas em forma de testes para a identificação de erros. É importante perceber que a variedade de cenários permitirá o maior conjunto de simulações que serão avaliadas e comparadas com os requisitos contratados, sendo então fundamental a utilização de métodos que permitam identificar o maior número de casos de testes, garantindo ampla variedade de cenários para a execução do sistema. * * * * * * * Testes de baixo Nível : Caracterizados por exigirem dos profissionais de testes um profundo conhecimento da estrutura interna do produto. Testes de Alto Nível : Caractetizan-se por não requerem esse conhecimento da estrutura interna, possibilitando testes com maior grau de abstração. * Interface de módulo é testada para assegurar que as informações fluam corretamente para dentro e para fora da unidade do programa que está sendo testada. A estrutura de dados local é examinada para garantir que os dados armazenados temporariamente mantenham sua integridade durante todos os passos na execução de um algoritmo. Todos os caminhos independentes da estrutura de controle são usados para assegurar que todas as instruções em um módulo tenham sido executadas pelo menos uma vez. As condições limite são testadas para garantir que o módulo opere adequadamente nas fronteiras estabelecidas para restringir ou limitar o processamento. Todos os caminhos de manipulação de erro são testados. Casos de testes deverão ser projetados para descobrir erros devido a computações errôneas, comparações incorretas ou fluxo de controle inadequado. * Testes de baixo Nível : Caracterizados por exigirem dos profissionais de testes um profundo conhecimento da estrutura interna do produto. Testes de Alto Nível : Caractetizan-se por não requerem esse conhecimento da estrutura interna, possibilitando testes com maior grau de abstração. * Não incremental (big-Bang): Neste tipo de abordagem todos os componentes são combinados com antecedência e o programa inteiro é testado de uma vez. Segundo Pressman, usualmente, o resultado desta abordagem é o caos, pois normalmente são encontrados muitos erros tornando a correção difícil, pois fica complicado isolar as causas dos erros. Uma vez corrigidos os erros, novos erros aparecem e o processo parece não ter fim. Incremental: Este tipo de abordagem é a antítese da abordagem big-bang. O programa é construído e testado em pequenos incrementos. Os erros são mais fáceis de isolar e corrigir e pode ser aplicada uma interface sistemática de testes. Neste contexto existem várias estratégias incrementais de integração: Integração descendente ou Top-down Integração ascendente ou Botton-up Teste de regressão Teste fumaça * Não incremental (big-Bang): Neste tipo de abordagem todos os componentes são combinados com antecedência e o programa inteiro é testado de uma vez. Segundo Pressman, usualmente, o resultado desta abordagem é o caos, pois normalmente são encontrados muitos erros tornando a correção difícil, pois fica complicado isolar as causas dos erros. Uma vez corrigidos os erros, novos erros aparecem e o processo parece não ter fim. Incremental: Este tipo de abordagem é a antítese da abordagem big-bang. O programa é construído e testado em pequenos incrementos. Os erros são mais fáceis de isolar e corrigir e pode ser aplicada uma interface sistemática de testes. Neste contexto existem várias estratégias incrementais de integração: Integração descendente ou Top-down Integração ascendente ou Botton-up Teste de regressão Teste fumaça * Série de diferentes testes cuja finalidade é exercitar totalmente o sistema: e que apesar de terem finalidades diferentes, todos funcionam no sentido de verificar se os elementos do sistema foram integrados adequadamente e executam as suas funções corretamente: Teste de recuperação Teste de segurança Teste de esforço (estresse) Teste de desempenho * Série de diferentes testes cuja finalidade é exercitar totalmente o sistema: e que apesar de terem finalidades diferentes, todos funcionam no sentido de verificar se os elementos do sistema foram integrados adequadamente e executam as suas funções corretamente: Teste de recuperação Teste de segurança Teste de esforço (estresse) Teste de desempenho * Teste Alfa É conduzido na instalação do desenvolvedor por um grupo representativo de usuários finais. O software é utilizado em um cenário natural e realizado em conjunto desenvolvedores e usuários, registrando os erros e os problemas de uso. Este tipo de teste normalmente é conduzido em um ambiente controlado. Teste Beta O teste Beta é conduzido nas instalações de um ou mais usuários finais e neste tipo de teste o desenvolvedor não deverá estar presente. O cliente registra todos os problemas encontrados durante o teste e vai relatando para o desenvolvedor em intervalos regulares. Com o resultado do teste beta, os desenvolvedores fazem as modificações necessárias e preparam a liberação do software para todos os clientes. Existem muitas empresas que colocam versões beta de seus softwares na internet para que os usuários possam fazer o teste com o novo produto que neste caso, aindanão foi lançado oficialmente. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar