automação de testes de software minicurso. ministrantes arllen lira desenvolvedor especialista,...

Post on 22-Apr-2015

105 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Automação de Testes de Software

Minicurso

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.

Roteiro

• Introdução;

• Verificação e Validação

• Processo de Teste

• Testes Funcionais;

• Testes Não-funcionais;

• Conclusão

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...

ISO 9126

Por que testar software?

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...

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.

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...

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)

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.

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”.

Análise de requisitos

Overview

Produto

Features

Casos de Uso

Requisitos

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

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?

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);

TestLink

Bugtracking

Mantis

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.

Testes Funcionais

Automação em testes de Caixa Branca

Exemplos:

•Testes de funções com JUnit;

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

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/ ;

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

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

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

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

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

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

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

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;

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/;

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:

Testes Não Funcionais

Automação em Testes de Performance com Jmeter

Test performance

top related