Metodologia de testes Nome: Gustavo G. Quintão

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto de Sistemas I
Advertisements

Sistemas Operacionais
Curso Superior de Engenharia Elétrica
Introdução a Algoritmos
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Adélia Barros Testes de Software Adélia Barros
Fundamentos de Engenharia de SW
Débora da Silva Orientadora: Maria Inés Castiñeira
Teste de Software.
Profa. MS.Sandra Regina Costa Antico Setembro/2010
Tópicos Motivação para teste Por que algumas empresas não testam
Teste de software Professor: Sílder Lamas Vecchi.
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
1 PROJETO DE INTERFACE - Projeto de Interfaces entre componentes do software - Projeto de Interfaces entre software e outros produtores e consumidores.
Avaliação de Sistemas Operacionais
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
GERENCIAMENTO DE REDES
Técnicas de Teste de Software
Abordagem Estratégica ao Teste de Software
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Requisitos Funcionais e Não-Funcionais/ Documento de Requisitos
Projeto Final - APGS Adriana P. de Medeiros
TSDD Teste de segurança durante o desenvolvimento.
Testes – visão geral Vanilson Burégio.
Sistemas Operacionais I
Introdução aos conceitos de Teste de Software
Engenharia de Usabilidade
Seminário de Engenharia de Usabilidade
REDUNDÂNCIA POR SOFTWARE
Prof.Alfredo Parteli Gomes
Introdução a Computação Trabalho Final PUC Minas – São gabriel
Treinamento do Microsoft® Access® 2010
Sistemas Distribuídos
Carlos Oberdan Rolim Ciência da Computação
Sistemas Operacionais
Paulo Silva Tracker Segurança da Informação
Arquitetura Cliente /Servidor
Modelos de Processo de Software
Professor: Márcio Amador
Sistemas Distribuídos
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
SISTEMAS OPERACIONAIS I
Teste de Software Conceitos iniciais.
Sistemas operacionais
Testes de Software AULA 02 Eduardo Silvestri
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Engenharia de Software II
Gestão de defeitos.
Introdução a Teste de Software
Testes de Software AULA 03 Eduardo Silvestri
Laboratório de Programação
Automação de Testes de Software
Sistema de Gerenciamento de uma Fábrica de Bebidas
Base de Conhecimento em Teste de Software Gestão de Defeitos
Planejamento e Gerência de Projeto Plácido Antonio de Souza Neto
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
Instrutor: Objetivos:.
Engenharia de Software
Serviços de rede e internet Jackson Eduardo da Silva.
Qualidade de Produtos de Software
Sobre a Prime Control A Prime Control é um Centro de Excelência em Qualidade de Software. Nossa missão é desenvolver, aperfeiçoar e realizar serviços.
Engenharia de Software
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
SIACWeb Estrutura dos WebServices Junho, SIACWeb – Momentos previstos em pauta 09:20 1. Expor os ws criados; 2. documentação dos ws (padrões utilizados);
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Transcrição da apresentação:

Metodologia de testes Nome: Gustavo G. Quintão C o m p u t a ç ã o M ó v e l Metodologia de testes Nome: Gustavo G. Quintão

O laboratório possui vários programas em desenvolvimento e precisamos garantir o bom funcionamento dos mesmos. A metodologia de testes em desenvolvimento busca garantir o bom funcionamento dos programas aqui desenvolvidos em várias frentes diferentes. Os testes devem ser atrelados ao desenvolvimento de forma a evitar atrasos na entrega do software. Essa abordagem é possível pela independência entre os tipos de testes.

Definir uma metodologia de testes que garanta a boa qualidade dos programas desenvolvidos no laboratório. A metodologia aqui definida visa garantir: Acurácia dos algoritmos implementados. Persistência dos dados correta. Boa usabilidade. Escalabilidade. Integração com hardware.

Definir uma metodologia de testes que além de atender os requisitos anteriores possa ser executada de modo a evitar atrasos na entrega do software. Testar os principais componentes do software de modo independente e e garantir que os mesmos continuem funcionando corretamente de forma integrada. Desenvolver documentos de requisitos e casos de testes que cubram todas as necessidades do programa.

Segue agora uma descrição da metodologia de testes. Cada “módulo” pode e deve ser feito em momentos diferentes do desenvolvimento, mas nem todos os módulos serão aplicados a todos os projetos. Os módulos de teste são: Processamento de dados Usabilidade Escalabilidade Integração com Hardware Usuários finais

Processamento de dados Objetivo: Garantir a acurácia dos algoritmos implementados e a correta persistência dos dados. Quem executa: Equipe de teste e a de desenvolvimento caso a equipe de testes detecte erro. Quando executar: Sempre que uma nova função for implementada. Inclui duas sub-rotinas de testes: Acuraria e Persistência.

Processamento de dados - Acurácia Tem como objetivo garantir o correto processamento de dados pelo algoritmo de forma que a saída do mesmo sempre corresponda a esperada para a entrada dada. O teste é tão bom quanto os casos de testes elaborados para o mesmo. Todas as entradas possíveis tem de ser previstas no documento de casos de teste. O teste é dividido em duas etapas, testes Caixa Preta e testes Caixa Branca.

Processamento de dados - Acurácia Tipos de teste: Caixa Preta: Fornece a entrada e observa a saída sem conhecimento do algoritmo. Pode ser automatizado. O teste tem sucesso quando a saída corresponde a esperada para a entrada dada. Caixa Branca: Utilizada para descobrir onde está o erro do algorítimo. Observa-se a execução e descobre-se onde está o erro de processamento. Só será executado quando o teste Caixa Preta resultar em falha.

Processamento de dados - Acurácia Roteiro de testes: Quem faz: Responsável pelo projeto Como: Com base nos documentos de Caso de Uso. Deve cobrir todas as possibilidades do caso de uso. Definição de Casos de Teste Quem faz: Equipe de teste O que faz: Executa os casos de teste e verifica se ouve sucesso ou falha (pode automatizar). Marca sucesso ou falha, e em caso de falha passa para o responsável os dados do teste. Execução dos testes Caixa Preta Quem faz: Equipe de desenvolvimento O que faz: localiza no algorítimo o ponto de falha. Marca os dados para correção e repassa para o responsável. Execução dos testes Caixa Branca

Processamento de dados - Persistência Tem como objetivo garantir a correta persistência dos dados processados seja em banco de dados externo ou em arquivo local. Busca verificar a persistência, a recuperação de dados, o tratamento de falta de conexão e a possibilidade de corrompimento de dados. Executar sempre que dados precisarem ser persistidos e/ou recuperados. Tem como objetivo garantir a correta persistência dos dados processados seja em banco de dados externo ou em arquivo local. Busca verificar a persistência, a recuperação de dados, o tratamento de falta de conexão e a possibilidade de corrompimento de dados.

Processamento de dados - Persistência Roteiro de testes: Persistência em arquivos. Verificar se o arquivo foi gravado corretamente. Verificar se o arquivo pode ser recuperado pelo programa. Verificar possibilidade de corrompimento de dados devido a interrupções inesperadas.

Processamento de dados - Persistência Roteiro de testes: Persistência em Banco de Dados. Verificar possíveis erros de conexão Verificar tratamento de erros de conexão Verificar se os dados foram persistidos corretamente Verificar se os dados podem ser recuperados corretamente Verificar se houve corrupção dos dados (principalmente em servidor externo) Legenda: Sempre executar Sevidor externo

Usabilidade Objetivo: Garantir que o usuário consiga usar o programa, e possa aprender a fazê-lo com facilidade. Quem executa: Equipe de teste em conjunto com possíveis usuários. Quando executar: Sempre que uma nova versão for ser liberada.

Usabilidade Critérios que serão avaliados: Facilidade de aprendizado. Rapidez na realização da tarefa proposta. Baixa necessidade de refazer algo devido a erros. Acessibilidade. Avaliação baseada em Passeio Cognitivo. As etapas do roteiro seguinte podem ser automatizadas de modo a focar a entrevista com o usuário na sua experiencia em si.

Usabilidade Roteiro de testes: Fornecer a tarefa a ser executada. Computar passos necessários para execução da tarefa. Verificar necessidade de refazer passos e pontos de Ambiguidade. Verificar tempo médio de execução. Fazer entrevista com o Usuário.

Integração com o Hardware Objetivo: Garantir que o programa tenha boa integração com o hardware e não faça uso danoso do sistema. Quem executa: Equipe de teste. Quando executar: Sempre que uma nova versão for ser liberada.

Integração com o Hardware Sempre testar o uso de processador, memória, rede e bateria (em caso de aplicações móveis). Tais dados podem ser obtidos através de chamadas ao S.O. O uso do hardware deve ocorrer de modo a não prejudicar o sistema como um todo. Software para sistemas embarcados necessitam de testes específicos de integração de modo a cobrir todas as interfaces que o hardware hospedeiro provê.

Escalabilidade Objetivo: Descobrir a carga máxima de requisições que o servidor suporta de modo a poder dimensionar corretamente o mesmo para o uso que o software fará dele. Quem executa: Equipe de teste. Quando executar: Sempre que uma nova versão for lançada.

Escalabilidade Executar várias requisições simultâneas as servidor de modo a descobrir a sua carga máxima, tempo médio de resposta e tempo médio de resposta em situação de estresse. Essas informações podem ser uteis para dimensionar o servidor e fornecer parâmetros para otimização das requisições que o software faz ao servidor.

A metodologia de testes consegue cumprir bem o seu papel, dependendo somente da boa documentação do programa, e de que a equipe de testes consiga prever, através dos casos de uso, todas as possibilidades do programa. Os testes só terão sucesso quando os casos de uso e teste são bem definidos, para isso é necessário um bom documento de levantamento de requisitos do projeto.