Engenharia de Software

Documentos relacionados
ENGENHARIA DE SOFTWARE O QUE SÃO TESTES? TESTES TESTES TESTES 26/08/2014. São pontuais; São previsíveis; São finitos;

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

Teste de Software. Planejamento de Teste. Rosemary Silveira Filgueiras Melo

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Verificação, Validação e Teste de Software

Engenharia de Software

Teste de Software. Professor Maurício Archanjo Nunes Coelho

Estágio II. Aula 02 Conceitos de Teste de Software. Prof. MSc. Fred Viana

Teste de Software. Karen Frigo Busolin Novembro / 2010

Introdução a Teste de Software

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

Teste de Software: conceitos, técnicas e benefícios

1. A principal razão de dividir o processo de teste em tarefas distintas é:

ENGENHARIA DE SOFTWARE

Estágio II. Aula 01 Qualidade de Software. Prof. MSc. Fred Viana

Análise e Projeto Orientado a Objetos

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

Plano de Testes VideoSystem

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

- 8ª Lista de Exercícios -

Community. .com. Introdução ao T D

TS02. Teste de Software INTRODUÇÃO AO PROCESSO DE TESTE DE SOFTWARE. COTI Informática Escola de Nerds

Engenharia de Software

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

TESTES DE SOFTWARE Lista de Exercício 02. Luiz Leão

Introdução aos Testes de Software

Teste de Software. Estratégias de Teste. Rosemary Silveira Filgueiras Melo

Organização para Realização de Teste de Software

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de:

Verificação e Validação (V & V)

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

Guia do Processo de Teste Metodologia Celepar

3. Engenharia dos requisitos de software

Teste de Software Intermediário

Unidade 4 Teste na Implantação do Sistema

Teste de Software Básico

TESTES DE SOFTWARE. Profa. Maria Auxiliadora

Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses:

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

ENGENHARIA DE SOFTWARE. Aula 12 Testes de software

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Sistema de Controle de Pedidos SISCOP. SISCOP Sistema de Controle Pedidos RT002 Incluir Ponto Remoto Estratégia de Testes. Versão 2.

SISCOP Sistema de Controle Pedidos RT003 Incluir Produto Estratégia de Testes

QUALIDADE DE PRODUTO DE SOFTWARE

Processos de Validação e Verificação do MPS-Br

Verificação e Validação

Plano de testes. Norma ANSI/IEEE para Documentação de Teste de Software define plano de testes como:

Engenharia de Software

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira

Qualidade de software. Prof. Emiliano Monteiro

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Engenharia de Software

5 Mini Casos. 5.1.Campos Numéricos Interface e Especificação

Testes de Software. Prof. Edjandir C. Costa

Teste de Software. Roberta Coelho

Especificação do Caso de Uso

QUALIDADE DE SOFTWARE

JUnit. Facilitando o desenvolvimento e execução de testes unitários em código java. Peterson Rodrigues

ISO/IEC 12207: Verificação, Validação e Testes

ISO/IEC 12207: Manutenção

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

SSC 0721 Teste e Validação de Software

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES

Teste de Software. Introdução. Teste de SW -Introdução. Verificação e Validação

Processo de desenvolvimento de sistema de informação - DSI

Estratégias de Testes Parte I

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Testar: impossível. Jorge Diz Globalcode. Agile Brazil 2010 Slide 1

Engenharia de Software II

6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES?

Engenharia de Software

Análise e Projeto de Sistemas I

QUALIDADE DE SOFTWARE. Prof. Emiliano Monteiro

Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS

Programação Orientada a Objetos

Engenharia de Software.

Capítulo 8 Teste de Software 1

2. Quais dos seguintes testes não é um teste do tipo funcional?

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA ESPECIFICAÇÕES DE REQUISITOS E VALIDAÇÃO DE SISTEMAS

Infinity LTDA. Gerenciamento de Planos Corporativo de Celulares. Plano de Teste

Prof. Emiliano S. Monteiro

DICIONÁRIO DA ESTRUTURA ANALÍTICA DO PROJETO - SISCOP. Data Versão Descrição Autor

Técnicas de teste de software

Prof. Luiz A. Nascimento

Teste de Software: Teste Funcional. Simone Senger Souza ICMC/USP

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Testes de software - Teste funcional

Teste de software. Engenharia de software Profª karine sato da silva

MÓDULO 16 PLANEJAMENTO DE CONSTRUÇÃO, TESTES E DOCUMENTAÇÃO DO SISTEMA

InfoMix Tecnologia. SYSFARM Sistema de Gerenciamento de Farmácias UC003 Manter Produto Caso de Testes. Versão 1.00

30% a 50% dos custos desenvolvimento A complexidade torna impossível teste completo (cobertura total) Mas...

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Transcrição:

Engenharia de Software Prof. Raquel Silveira O que são testes? Teste é um processo de avaliar um sistema ou um componente de um sistema para verificar se ele satisfaz os requisitos especificados ou identificar diferenças entre resultados esperados e obtidos. [ANSI/IEEE Standard 729,1983] Processo de executar um programa com objetivo de encontrar erros. [Myers, 1979] São pontuais; Antigamente... São previsíveis; São finitos; Testes não verificam completamente a saída de um programa, pois as entradas são infinitas. No passado, a tarefa de efetuar testes em software era considerada secundária. Os testes eram feitos por desenvolvedores. Os usuários eram envolvidos para aprovar o resultado dos testes ou para gerar massa de dados. Atualmente... Naturalmente o assunto não é tão simples Empresas tem visto a atividade de teste como prioritária para a maior qualidade de suas aplicações. Não testar o software pode gerar perdas financeiras e de imagem irreparáveis. Complexidade das aplicações que estão cada vez mais distribuídas. Erros nem sempre são óbvios; Erros diferentes podem ter a mesma manifestação; Saber que um programa não está correto não necessariamente é saber como corrigir o erro. 1

Verificação = Validação? Onde o teste de software influencia no desenvolvimento da aplicação - Nós construímos o sistema correto? VERIFICAÇÃO - Nós construímos corretamente o sistema? VALIDAÇÃO Onde o teste de software influencia no desenvolvimento da aplicação Falhas no Software 1/3 das falhas de software poderiam ser evitadas com teste; Aproximadamente 50% das falhas só são encontradas em produção. Falhas custam caro - Segundo uma pesquisa do Departamento de Comércio dos EUA, publicada em 2002, falhas de software são tão comuns e tão danosas que se estima que causem prejuízo anual de mais de 60 bilhões de dólares para a economia americana. 2

Você confia no que faz? Cliente: Isso aqui não está funcionando! Programador: Mas como?! Na minha máquina estava funcionando até ontem. Garanta o seu trabalho, seja profissional Errado -Num mundo capitalizado não há tempo para teste; -O cliente não quer saber como é feito, ele quer que funcione. Realidade -O cliente não quer saber se X virou Y. Ele quer que o problema não aconteça e se acontecer seja corrigido rapidamente. -Não se consegue qualidade e confiabilidade sem teste. Pré-Conceitos O testador é um inimigo do desenvolvedor; A equipe de teste pode ser montada com os desenvolvedores menos qualificados, pois qualquer um pode testar sistemas; Geralmente temos as seguintes situações: Depois eu escrevo o plano de testes... Vamos deixar os testes para a próxima fase... Na minha máquina funcionou... Temos que entregar o produto na semana que vem... Profissionais em teste de software Fases do teste de software 3

Modelo de integração entre os processos de desenvolvimento e teste Categorias de teste Teste de caixa branca (White box) Teste de caixa preta (Black box) Teste de Caixa Branca Testes de unidade de código; Testam parte da solução; São escritos e mantidos pelo programador e devem estar sempre atualizados. Teste de Caixa Branca Quando construímos um teste de unidade, o principal desafio é isolar a classe ou trecho de código que está sendo testado, para que nenhuma outra classe do sistema seja envolvida no teste e influencie no resultado esperado. Cobertura dos testes Cobertura dos testes Dificilmente consegue-se 100% de cobertura de testes. Quanto maior cobertura dos testes na aplicação, maior a confiabilidade nas alterações e novos recursos. Aplicações cobertas por bons testes propiciam: -Facilidade de manutenção; - Menos problemas e relação de custos em manutenção. 4

Testes de caixa preta Testes funcionais e de aceitação; Testes de integração; Testam a solução completa. Princípios de qualidade e controle de qualidade Suportabilidade Supportability Funcionalidade Functionality FURPS Desempenho Perfomance Usabilidade Usability Confiabilidade Reliability Funcionalidade De acordo com a especificação funcional. - Teste funcional; - Teste de regressão; - Teste de volume; - Teste de segurança. Usabilidade Confiabilidade Facilidade de uso do sistema pelos usuários. - Teste de interface; - Teste de usabilidade. Confiabilidade do sistema, a permanência de operação, a integridade dos dados, a confiabilidade da estrutura e da aplicação. - Teste de integridade; - Teste de estrutura; - Teste de estresse; - Smoke teste. 5

Desempenho Suportabilidade Velocidade de processamento da informação. - Teste de avaliação de desempenho; - Teste de contenção; - Teste de carga; - Perfil de desempenho. Capacidade do programa de funcionar em diversos ambientes diferentes. - Teste de configuração; - Teste de instalação. de software Um cliente de vendas contrata uma empresa de teste para validar seu site, que será lançado ao público. Um dos requisitos é efetuar o login no seu software utilizado usuário e senha. O cliente especifica o seguinte requisito: Efetuar o login na aplicação com um login válido e senha de, no mínimo 6 (seis) caracteres. O primeiro passo da área de teste é criar um Plano de Teste que irá ter, dentre outros, os seguintes itens: - Requisitos que serão testados; - Técnicas utilizadas; - Documentos utilizados; - Cronograma; - Recursos. 6

O passo após criar o Plano de Teste é criar o(s) caso(s) de teste que deve conter: - Passos - Resultados esperados - Ambiente onde será testado - Pré-condições - Massa de dados O caso de uso apresenta o seguinte fluxo de exceção: Senha Inválida 1. Este fluxo inicia no passo 3 do sub-fluxo Efetuar Login, quando o usuário informa uma senha com a quantidade de caracteres menor que 6. 2. O sistema exibe a seguinte mensagem: Senha inválida.. 3. O usuário confirma o recebimento da mensagem. 4. O caso de uso retorna ao passo 2 do Fluxo Básico. Exemplo de um caso de teste: Título: Senha Inválida Ambiente: Windows XP Pré-Condições: - Possuir um usuário válido. Passo 1. O usuário inicia a aplicação. 2. O usuário preenche os campos Login e Senha conforme as idéias de teste. Resultado Esperado Verificar se os campos são preenchidos corretamente. 3. O usuário seleciona Efetuar Login. Verificar se quando o usuário informa uma senha menor que 6 caracteres, o sistema exibe a mensagem: Senha inválida.. 4. O usuário confirma a mensagem. Do requisito do cliente, podemos criar as seguintes idéias de teste: Com os casos de teste criados, podemos executá-los na aplicação. Após a execução de todos os testes e correção dos defeitos, o sistema pode ser entregue ao cliente. Caso ocorra algum erro, reportamos um defeito com os seguintes dados: Sumário Passo para reprodução Severidade Ambiente Testes são necessários! É preciso verificar o código, sempre; É preciso garantir que os requisitos estão implementados (e corretos); É preciso ter segurança para realizar alterações; É preciso ser criativo para explorar o máximo possível com os testes. Não é aconselhado usar testes mentirosos. 7