Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista,...

32
Automação de Testes de Software Minicur so

Transcript of Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista,...

Page 1: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Automação de Testes de Software

Minicurso

Page 2: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Ministrantes

• Arllen LiraDesenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT;

• Edgar LopesTrainee Tester, Fábrica de Software PRODAM;

• Luana LobãoDesenvolvedora, INdT.

Page 3: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Roteiro

• Introdução;

• Verificação e Validação

• Processo de Teste

• Testes Funcionais;

• Testes Não-funcionais;

• Conclusão

Page 4: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Introdução

Por que testar software?

A resposta mais simples sobre o porque de se testar software é que A resposta mais simples sobre o porque de se testar software é que os desenvolvedores são incapazes de construir software livre de os desenvolvedores são incapazes de construir software livre de defeitos. (MAIDASANI 2007).defeitos. (MAIDASANI 2007).

O que é defeito?

Então...

Page 5: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

ISO 9126

Por que testar software?

Page 6: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Introdução

O que é defeito?

•Um defeito é um estado indesejável. Para definir o que é um defeito no sistema, devemos primeiro definir os estados desejáveis.

Como definir os estados desejáveis de um sistema?

Então...

Page 7: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Introdução

Análise de requisitos

•No âmbito da engenharia, um Requisito consiste da definição documentada de uma propriedade ou comportamento que um produto ou serviço particular deve atender.

•Podemos entender requisito como uma função, restrição ou propriedade que deve ser fornecida, encontrada ou atendida para satisfazer às necessidades do usuário do sistema. (Descreve um serviço ou uma limitação)

•A especificação de requisitos tem como objetivo obter produtos de software de melhor qualidade que satisfaçam às reais necessidades dos clientes dentro de prazo e orçamento adequados.

Page 8: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Introdução

Análise de requisitos

•Requisitos Funcionais;

Descrevem as funcionalidades do sistema desejadas pelos clientes ou seja O QUE se espera que o software faça.

•Requisitos Não - Funcionais;

São as qualidades e restrições globais do sistema relacionados com manutenção, uso, desempenho, custo, interface, etc...

Page 9: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Análise de requisitosExemplos de Requisitos Funcionais – Grupos de Usuários:

ID RF_02

Requisito Post de Arquivo

Descrição Arquivos podem ser postados e salvos para que outros usuários possam recuperá-los.

Restrições: Somente Material Acadêmico pode ser postados.

O post é de responsabilidade do próprio usuário.

Proprietário do grupo poderá excluir o arquivo mesmo não sendo responsável pelo POST.

Pré-requisito: Usuários precisa ter o cadastro ativo para efetuar postagens de arquivos.

Postagem autorizada somente após validação por imagem CAPTCHA. (RNF_SEG_03)

Page 10: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Análise de requisitos

ID RNF_SEG_03

Requisito Usar CAPTCHA para validação de postagem de arquivo.

Exemplos de Requisitos Não Funcionais – Grupos de Usuários

ID RNF_U_01

Requisito As páginas devem ser visualizadas na resolução mínima de 1024 x 768 respeitando as proporções de visualização.

Usabilidade

Segurança

ID RNF_U_02

Requisito A Aplicação deve funcionar sem apresentar erros nos navegadores Moozila Firefox e Internet Explorer 7.

Page 11: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Análise de requisitos

ID RNF_P_01

Requisito As respostas das requisições efetuadas pelo usuário não podem ultrapassar 10 segundos.

Exemplos de Requisitos Não Funcionais – Grupos de Usuários

Performance

Instalação

ID RNF_INS_01

Requisito O nome do banco de dados a ser utilizado deverá ser “dbgrupo”.

Page 12: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Análise de requisitos

Overview

Produto

Features

Casos de Uso

Requisitos

1...n1...n1...n 1

Page 13: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Verificação x Validação

Verificação: Construimos o produto de forma correta?

> Garante a qualidade do software na produção e manutenção;

Verificação: Construimos o produto de forma correta?

> Garante a qualidade do software na produção e manutenção;

Validação: O que foi entregue atende as expectativas? Construimos o produto certo?Validação: O que foi entregue atende as expectativas? Construimos o produto certo?

Page 14: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Processo de Teste

• Planejamento;• Ciclo, estratégia, ferramentas, bugtracking;

• Especificação;• Suíte de Teste, Casos de Teste;

• Execução;• Script de teste;

•Análise de resultados• Relatório de execução (bugs);

Page 15: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

TestLink

Page 16: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Bugtracking

Page 17: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Mantis

Page 18: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais

Caixa Branca

•Testes de caixa branca são testes que se executam em um aplicativo com o conhecimento do funcionamento do código;

•Podem ser aplicados em testes de;

-Testes de Unidade;

-Teste de Integração;

-Teste de Regressão.

Page 19: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais

Automação em testes de Caixa Branca

Exemplos:

•Testes de funções com JUnit;

•Self-test de formulários com Java Script.

Page 20: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais

Automação em testes de Caixa BrancaTestando uma função com a ferramenta JUnit na IDE Eclipse:

Preparando o ambiente...

1. Baixar a versão atual do JUnit disponível em http://www.junit.org/ ;

Page 21: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais – Caixa Branca2. Adicionar os *.jars do Junit no classpath do Eclipse

Page 22: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais – Caixa Branca3. Criar um diretório onde serão armazenados os testes automatizados.

Page 23: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais – Caixa Branca4. Selecione uma classe com o(s) método que será testado

Page 24: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais – Caixa Branca4. Crie um caso de teste com JUnit na classe selecionada.

Page 25: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais – Caixa Branca5. Crie um caso de teste com JUnit na classe selecionada.

Page 26: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais – Caixa Branca6. Selecione os métodos da sua classe que serão testados.

Page 27: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais – Caixa Branca7. Implementar o script de teste...

Page 28: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais

Caixa Preta

• O Objetivo é garantir que todos os requerimentos ou comportamentos da aplicação estejam corretos;

• Testes se concentram nos requisitos funcionais do software;

Page 29: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Funcionais

Automação em testes de Caixa Preta

Preparando o ambiente...

1. Baixar a versão atual do Selenium Core, RC e IDE disponíveis em http://seleniumhq.org/download/;

Page 30: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.
Page 31: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Não FuncionaisPerformance

•Teste de Desempenho;

•Teste de Carga;

•Teste de Stress.

O teste de performance é uma classe de testes implementada e executada para caracterizar e avaliar o desempenho relacionado a características do objetivo do teste, como perfis de andamento, fluxo de execução, tempos de resposta, confiabilidade e limites operacionais. Vários tipos de testes de performance, cada um concentrado em um objetivo do teste diferente, são implementados durante todo o ciclo de vida de desenvolvimento do software. São eles:

Page 32: Automação de Testes de Software Minicurso. Ministrantes Arllen Lira Desenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT; Edgar.

Testes Não Funcionais

Automação em Testes de Performance com Jmeter

Test performance