Buscar

Práticas de Testes Ágeis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 113 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 113 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 113 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Práticas e Técnicas de 
Testes Ágeis
Delmar de Castro Mehret Filho
SUPDE/DECTA
Testes Ágeis
● São práticas de testes de acordo com os princípios do 
desenvolvimento ágil e que permeiam todo o ciclo de 
desenvolvimento, constituindo uma atividade constante do 
projeto e não uma fase
● Testes são imprescindíveis ao desenvolvimento de software
– Produto de software que não seja construído sob 
constante verificação da sua eficácia e eficiência é um 
produto inacabado!
● Os testadores tanto zelam pela qualidade externa e visão do 
cliente como atuam na construção da qualidade interna definida 
pelo time
● É fundamental balancear o uso dos diversos níveis e tipos de 
testes através de práticas, técnicas e ferramentas de apoio
Estratégia de Teste Ágil
Estratégia de Teste Ágil
Tipos de Testes
Testes Manuais Funcionais
● Indispensáveis ao projeto:
– Fornecem a primeira validação do atendimento aos 
requisitos funcionais e não-funcionais do sistema
– Consideram fatores subjetivos como a experiência do 
usuário, interface do sistema, ...
– Variação no fluxo de execução das funcionalidades
– Aceitação do usuário
Testes Manuais Funcionais - Projeto
● Casos de Uso
– Derivação de casos de teste a partir das regras e fluxos 
de execução descritos no requisito
Testes Manuais Funcionais - Projeto
● Casos de Uso
– Derivação de casos de teste a partir das regras e fluxos 
de execução descritos no requisito
Testes Manuais Funcionais - Projeto
● Histórias de Usuário
– Descrição geral dos objetivos de uma funcionalidade do 
ponto de vista do usuário
– http://wiki.cta.serpro/index.php/User_Stories_e_Ce%C
3%A1rios_de_Uso
Testes Manuais Funcionais - Projeto
● Cenários de Uso
– Descrição que contém atores, as informações por trás 
deles, informações sobre o seu ambiente, os seus 
objetivos e sequências de ações e eventos
– Pode incluir também os obstáculos, contingências e 
êxitos dos atores
– http://wiki.cta.serpro/index.php/User_Stories_e_Ce%C
3%A1rios_de_Uso
Testes Manuais Funcionais - Projeto
● Especificação por Exemplos
– Abordagem colaborativa para definição de requisitos e 
testes funcionais orientados ao negócio para produtos de 
software baseados na captura e ilustração de requisitos 
usando exemplos realísticos ao invés de afirmações 
abstratas
Testes Manuais Funcionais - Projeto
● BDD (Behaviour Driven Development):
– O BDD é uma técnica de desenvolvimento de software 
onde os programadores desenvolvem o sistema guiados 
por comportamentos (testes de aceitação)
– Os comportamentos são descritos em uma linguagem 
natural similar a linguagem do negócio, a qual deve ser 
facilmente entendida pelo cliente e demais membros do 
time
Testes Manuais Funcionais - Projeto
Tipos de Testes
Testes Exploratórios
● Aprendizado, criação e execução de um teste ao 
mesmo tempo
● Normalmente o testador não tem informações 
detalhadas sobre o que vai testar e como vai testar:
– Baseia-se na experiência, assim como no conhecimento 
adquirido sobre o sistema durante a execução do teste
– A partir dessa perspectiva, podemos afirmar que o teste 
exploratório:
– É uma atividade iterativa e empírica de exploração 
que exige idas e vindas num processo de 
investigação contínuo
– A intuição, a criatividade e a experiência do 
testador são indispensáveis para garantir a 
eficiência do teste
Testes Exploratórios
● Características:
– Não são ad-hoc e nem criados com antecedência
– Não segue um roteiro rígido (segue guias e diretrizes)
– Baseado em pensamento estruturado e exploração livre
– Adaptativo e flexível
– Enfoca o aprendizado em paralelo
– A execução do teste é guiada/aprimorada com base em 
execuções anteriores
– Exige profissionais experientes
– Expande o escopo dos testes tradicionais baseados em 
roteiros (introduz variação aos casos de testes)
– Fluxo imediato de feedback (e correção de curso)
– Amplifica a cobertura dos testes
Testes Exploratórios
● O oráculo é o Testador:
– A experiência afeta diretamente a qualidade do teste
– Criatividade
– Observação cuidadosa
– Metódico
– Pensamento crítico
– Aprendizado rápido
– Intuição e Improviso
– Auto-gerenciamento
– Ideias diversificadas: baseia na sua experiência, mas usa 
heurísticas, checklists, diretrizes e técnicas formais (classes 
de equivalência, valores limítrofes, tabelas de decisão, 
diagramas de estado, fluxogramas, etc)
– Recursos: usa ferramentas de apoio
Testes Exploratórios
Ferramentas?
Testes Exploratórios
● Algumas referências:
● Ferramenta para gravação de vídeos:
– http://www.debugmode.com/wink/
● Algumas heurísticas para testes exploratórios em 
aplicações web
– http://voce.serpro/04151765905/blog/algumas-heuristicas
-para-testes-exploratorios-em-aplicacoes-web
Tipos de Testes
Testes de Acessibilidade
● “A construção de sítios acessíveis é uma exigência do decreto 
5.296, publicado em dezembro de 2004, que torna obrigatória a 
acessibilidade nos portais e sítios eletrônicos da administração 
pública na rede mundial de computadores para o uso das 
pessoas com necessidades especiais, garantindo-lhes o pleno 
acesso aos conteúdos disponíveis”
● “O Modelo de Acessibilidade de Governo Eletrônico (e-MAG), 
consiste em um conjunto de recomendações a ser considerado 
para que o processo de acessibilidade dos sítios e portais do 
governo brasileiro seja conduzido de forma padronizada e de 
fácil implementação"
● Para conhecer vários conceitos básicos relacionados a 
acessibilidade e o e-MAG, recomenda-se fortemente a leitura 
do documento de Modelo de Acessibilidade do e-MAG
Testes de Acessibilidade
● Algumas referências:
– https://www.w3.org/WAI/ER/tools/
– http://www.utad.pt/wai/wai-pageauth.html
– http://www.acessibilidadelegal.com/13-validacao.php
– http://wiki.cta.serpro/index.php/Roteiro_para_Avalia
%C3%A7%C3%A3o_de_Acessibilidade
– http://wiki.cta.serpro/index.php/Checklist_para_Aval
ia%C3%A7%C3%A3o_de_Acessibilidade
Tipos de Testes
Testes de Usabilidade
● Teste de Usabilidade tem por objetivo verificar a facilidade que o software 
ou site possui de ser claramente compreendido e manipulado pelo usuário
● Verifica se o sistema utiliza manuais, ajuda, assistentes eletrônicos, ...
● Para avaliar a usabilidade de um sistema podemos aplicar uma metodologia 
chamada Avaliação Heurística, definida por Nielsen e Molich (1994), onde 
são abordadas 10 questões:
– Visibilidade do status do sistema
– Compatibilidade entre o sistema e o mundo real
– Controle e liberdade para o usuário
– Consistência e padrões
– Prevenção de erros
– Reconhecimento em lugar de lembrança
– Flexibilidade e eficiência de uso
– Projeto minimalista e estético
– Auxiliar os usuários a reconhecer, diagnosticar e recuperar erros
– Ajuda e documentação
Testes de Usabilidade
● Algumas referências:
● Heurísticas de Nielsen:
– http://wiki.cta.serpro/index.php/Heur%C3%ADsticas_de_
Nielsen
● Lista de verificação para Testes de Usabilidade:
– http://wiki.cta.serpro/index.php/Lista_de_Verifica%C
3%A7%C3%A3o_de_Usabilidade
Tipos de Testes
Testes de Segurança
● Avaliar as vulnerabilidades em aplicações e serviços 
frente a diferentes tipos de ataques de segurança – 
como ataques de negação de serviço ou ataque man-
in-the-middle – e descobrir novas vulnerabilidades 
antes que sejam exploradas por atacantes
● COGSI – Coordenação Geral de Gestão da 
Segurança da Informação
● http://cogsi.serpronet.serpro/conteudo/institucional
● Norma SG 021
● http://sinor.portalcorporativo.serpro/documento.php?
cod=MzAxODk
=
Testes de Segurança
● Vulnerabilidades a serem verificadas (Norma SG 021):
– Injeção de código (SQLinjection, Xpath injection, XML 
injection, command injection, LDAP injection, ...)
– Forçar a execução de códigos ou requisições no lado 
cliente (cross site scripting, cross frame scripting, cross 
site request forgery, click injection, ...)
– Listar, acessar e/ou alterar dados não autorizados
– Quebrar os algoritmos criptográficos utilizados pela 
aplicação
– Comprometer senhas, chaves ou tokens de sessão
– Visualizar o tráfego de informações privadas
– Alterar o conteúdo e/ou layout da aplicação
– Redirecionar vítimas para sites maliciosos
RQM
● Rational Quality Manager (RQM)
● Registro das atividades de testes por projeto do 
sistema:
– Plano de Testes, Casos de Teste, Resultados e 
Relatórios
● Integração com o módulo de requisitos (RM):
– Usa requisitos registrados
– Fornece casos de teste (validado por)
● Integração com o módulo de gestão (CCM):
– Usa planos de desenvolvimento e defeitos
Fonte: https://jazz.net/wiki/bin/view/Main/RqmApi
RQM
PSDS RQM
Planejar e Acompanhar Testes - Criar e Preencher o Plano de Teste
- Aprovar Plano
Projetar Testes - Criar e preencher os Casos de Teste
Implementar Testes - Criar Scripts de Teste
Executar Testes - Executar Casos de Teste
- Relatar Defeitos
- Acompanhar Defeitos
Avaliar Resultados de Testes - Visualizar Resultado dos Casos de Teste
- Gerar Relatórios (Elaborar e Manter)
- Visualizar Artefatos
RQM
RQM
● Algumas referências:
● Material de treinamento:
– http://portal.alm.serpro.gov.br/materiais-de-treinamento/r
qm
● Mentores de ferramentas:
– http://portal.alm.serpro.gov.br/mentores-de-ferramentas
/copy4_of_rqm
Automação de Testes
● Prós:
– Testes de regressão (refatorações e novas 
implementações)
– Integração contínua
– Feedback rápido (tempo de execução)
– Confiabilidade do software
– …
● E Contras (?):
– Manutenção
Automação de Testes
● Quando automatizar testes
– Sempre que possível!
– Funcionalidades principais do sistema
– Alto volume de refatorações
● Indefinições de requisitos
● Arquitetura
– Atividades repetitivas nos testes manuais
– Complexidade de fluxos, regras, cálculos...
Automação de Testes
● Automação nos diferentes níveis e tipos de teste
● Paradigmas de automação de testes:
– Testes caixa preta
– Testes caixa branca
Tipos de Testes
Testes Unitários
● O desenvolvedor também é responsável pelos testes:
– Testam sob a perspectiva do código (método por 
método) com o objetivo de prevenir e detectar defeitos
– Garantir a qualidade de cada unidade do código 
individualmente
– Unidade, neste contexto, deve ser entendida como o 
menor trecho de código de um software que pode ser 
testado, podendo ser uma função ou procedimento em 
linguagens de programação procedurais ou métodos de 
classes em linguagens orientadas a objetos
– São utilizados casos de testes criados a partir:
● Das classes de equivalência, ou seja, o conjunto de estados 
válidos e inválidos para as condições de entrada
● Da análise dos valores limites, ou seja, entradas e saídas que 
estão nas extremidades destas classes
Testes Unitários
● Benefícios:
– Feedback imediato ao desenvolvedor
– Segurança em mudanças e refatorações através dos 
testes de regressão
– Ajudam na identificação e isolamento de defeitos
– Em conjunto com plugins de cobertura fornecem uma 
visualização das áreas do software cobertas por testes
– Fornecem um exemplo executável de como funciona o 
código (ou como deveria funcionar)
● TDD (Test Driven Development)
– Escrita dos testes antes da implementação do código:
● Direcionam como o código deverá ser estruturado
● Irão assegurar o comportamento adequado do código
– Nenhum código vai para produção sem ter pelo menos 
um teste associado a ele
– Facilita o rastreamento de erro caso uma mudança 
ocasione um problema
– Facilita refatoração
– Você só implementa o mínimo que deve ser 
implementado, sem código em excesso
Testes Unitários
Testes Unitários
● TDD (Test Driven Development)
● JUnit
– Framework opensource, integrado ao Eclipse, com 
suporte à criação de testes automatizados na linguagem 
de programação Java
– Facilita a criação de código para a automação de testes 
unitários com apresentação dos resultados
– Possibilita verificar se cada método de uma classe 
funciona da forma esperada, exibindo possíveis erros ou 
falhas, podendo ser utilizado tanto para a execução de 
baterias de testes como para extensão
Testes Unitários
● JUnit
● Principais Facilidades
– Permite criação de testes unitários para métodos 
pertencentes a uma classe
– Permite a definição e execução de um conjunto de testes 
unitários – Suites de Teste
– Permite a execução de teste com relato de problemas 
ocorridos e onde especificamente ocorreram os erros
– Uma vez escritos, os testes são executados rapidamente 
sem que, para isso, seja interrompido o processo de 
desenvolvimento
– Facilmente integrável com as IDEs Java já existentes 
(Eclipse, Netbeans, JBuilder, ...)
Testes Unitários
Testes Unitários
● Mock
– É uma simulação do objeto real
● Implementa a interface e o comportamento do objeto 
real identicamente para viabilizar testes
– Também validam se o código que os utiliza está correto
● Para passar da validação do mock, outros objetos devem 
chamar os métodos corretos, com os parâmetros 
esperados, na ordem esperada
● Um objeto de teste que simplesmente substitui um 
objeto real sem promover tal verificação não é um 
mock e sim um stub
Testes Unitários
Classe Testada
Classe Referenciada 
pela
Classe Testada
Testes Unitários
Classe Testada Interface
Implementação
da
Interface
Mock
Object
Testes Unitários
● Razões para utilizar Mock
– Ajuda no desacoplamento de código
– Verifica a utilização de código de outro objeto
– Direcionamento de código de teste
– Testes mais rápidos
– Simula interação com dispositivos externos e remotos
– Protela a implementação de classes
– Isolamento de testes
– Utilização e refinamento de interface
– Testa situações incomuns difíceis de reproduzir
Testes Unitários
● EasyMock
● Foi o primeiro gerador dinâmico de objetos mock, aliviando 
os utilizadores manuais, ou a geração de código para eles:
– Criação dinâmica de objetos Mock
– Especifica os valores retornados por casos de teste
– Define apenas o que é necessário
– Código mais légivel
– Pode necessitar de refatoramento no código
– Não simula métodos estáticos e final
Testes Unitários
● JMockit
– Permite que os desenvolvedores escrevam testes 
unitários e de integração
– Os testes podem ser facilmente escritos com mock final, 
classes e métodos, métodos estáticos, construtores, e 
assim por diante; não há limitações
– API de simulação simples e consistente
– Não há métodos especiais ou anotações que devem ser 
usados no código de teste, com exceção daqueles que 
realmente fazem sentido
Testes Unitários
● EasyMock x JMockit
– O EasyMock (o mesmo é verdadeiro para a maioria dos 
frameworks de simulação) não simula métodos static ou 
final, podendo apenas simular métodos públicos
– Muitos métodos estáticos no sistema:
● Problema de arquitetura?
● Refatoração?
● Bibliotecas externas?
– JMockit é uma pequena estrutura que pode ajudar 
nesses casos
● Permite substituir os métodos dinamicamente com novas 
definições
● Permite redefinir métodos privados, static, final e 
construtores sem argumentos
Testes Unitários
Testes Unitários
Testes Unitários
Testes Unitários
Testes Unitários
● EclEmma
– Plugin para o Eclipse que mede e apresenta a cobertura 
de testes em percentual
– Os testes são executados no próprio Eclipse e a 
apresentação dos trechos cobertos e descobertosé 
integrada ao editor Java
– Não requer modificações nos projetos ou qualquer outra 
configuração (não-invasivo)
Testes Unitários
● Algumas referências:
● DECTA Ágil – Testes Unitários
– http://voce.serpro/articles/public/0108/5950/DECTA-TV-Te
stesUnit_rios.pdf
● Boas práticas em Testes Unitários:
– http://voce.serpro/siscoaf2/blog/testes-unitarios-boas-prat
icas
● Orientações para Testes Unitários:
– http://wiki.cta.serpro/index.php/Orienta%C3%A7%C3%
B5es_para_Testes_Unit%C3%A1rios
Tipos de Testes
● Testes que são executados em uma combinação de 
componentes
– Verifica-se a corretude desses componentes em conjunto
– Assegura-se que as interfaces entre eles funcionam de 
forma prevista e que os dados estão sendo processados 
conforme especificado
– Unidades, Componentes, Sub-sistemas, API / WEB Services, 
Hardware, Banco de dados
– Teste de baixo nível dos componentes e APIs internas do 
sistema sem acesso a interface gráfica
Testes de Integração
Testes de Integração
● DbUnit
– Extensão do JUnit direcionado para projetos de banco de 
dados que, entre outras coisas, coloca seu banco de 
dados em um estado conhecido entre as execuções de 
testes
– O banco pode ser populado com dados antes dos testes 
unitários serem executados
– O banco pode retornar para o estado anterior ao teste 
unitário
Testes de Integração
Testes de Integração / Funcionais
● SoapUI
● Ferramenta open source escrita em Java cuja principal 
função é consumir e testar web services
● Dentre as suas principais características, podemos destacar 
as seguintes:
– Importação e geração automática das requisições descritas no 
WSDL
– Gerenciamento de múltiplos endpoints para cada web service
– Validação das respostas (asserções) de um web service
– Testes funcionais, carga e stress
– Execução de diversos testes em paralelo
– Criação de mock para testes de web service
– Suporta criação de testes complexos utilizando scripts Groovy
Testes de Integração / Funcionais
● SoapUI
● Para iniciar o teste de um web service com o SoapUI, 
basta criar um novo projeto e informar o endereço do 
WSDL:
Testes de Integração / Funcionais
● SoapUI
● O SoapUI disponibilizará uma request com os dados 
necessários para serem informados no web service. Os 
campos aparecem com um ponto de interrogação:
Testes de Integração / Funcionais
● SoapUI
● Execução e resultados obtidos:
Testes de Integração / Funcionais
● SoapUI
● É possível criar uma suíte de testes, onde será 
possível observar o resultado da execução de todos os 
testes, ou analisar os detalhes de cada um deles:
Testes de Integração / Funcionais
● SoapUI
● Exemplo de asserção de um teste que falhou:
Testes de Integração / Funcionais
Testes de Integração / Funcionais
● SoapUI
● Algumas referências:
– http://www.soapui.org/
– http://supst.serpronet.serpro/conteudo/produtos-e-servi
cos/framework-e-componentes/web-services/
Tipos de Testes
Testes de Integração / Funcionais
● Arquitetura REST
– Representational State Transfer
– Arquitetura utilizada para criação de APIs
– Trabalha, geralmente, sobre o protocolo HTTP/HTTPS 
usando métodos GET, POST, PUT, DELETE, OPTIONS, 
PATCH e HEAD
– Utiliza respostas no formato JSON ou XML
– Demoiselle 2.5
● HTML + REST
● Validação dos serviços que a aplicação expõe para outros 
sistemas (integração) e que são consumidos pelas telas do 
próprio software (funcional)
Testes de Integração / Funcionais
● Arquitetura REST
– Como testar manualmente:
● Curl em sistemas Unix
● Plugins para navegadores: RESTClient, Poster, ...
– RestAssured:
● Biblioteca Java para simplificar testes de serviços baseados em 
REST
● Compatível com os principais métodos
● Possui mecanismos de validação de esquema, corpo e 
cabeçalho de requisições
● Utiliza a sintaxe de especificação por exemplos, o Given-When-
Then, muito conhecida em testes dirigidos por comportamento 
(BDD)
● https://code.google.com/p/rest-assured/
Testes de Integração / Funcionais
Testes de Integração / Funcionais
● RestAssured + Demoiselle Behave
Testes de Integração / Funcionais
● RestAssured + Demoiselle Behave
– Passos para execução das chamadas REST
Testes de Integração / Funcionais
● RestAssured + Demoiselle Behave
– Passos para execução das chamadas REST
Testes de Integração / Funcionais
● RestAssured + Demoiselle Behave
– Cenários de reuso (passo a passo)
Testes de Integração / Funcionais
● RestAssured + Demoiselle Behave
– Passos de negócio (testes)
Testes de Integração / Funcionais
● RestAssured + Demoiselle Behave
– Configuração e execução dos testes
Tipos de Testes
Testes Funcionais Automatizados
● Demoiselle Behave (http://www.dbehave.com/)
● Framework de integração de ferramentas para uso de 
técnicas de Desenvolvimento Orientado a Comportamento – 
Behaviour-Driven Development (BDD)
● Além de uma ferramenta BDD
– Abstração de ferramentas BDD
● JBehave
– Abstração de ferramentas de automação de testes
● WebDriver
● Fest
– Abstração de ferramentas de gestão de testes
● RQM
● Subprojeto do Framework Demoiselle
Testes Funcionais Automatizados
Testes Funcionais Automatizados
Testes Funcionais Automatizados
● Passos de negócio (testes)
Testes Funcionais Automatizados
● Cenários de reuso (passo a passo)
Testes Funcionais Automatizados
● Passos de negócio + Cenários de reuso
Testes Funcionais Automatizados
Testes Funcionais Automatizados
● Desktop (Fest)
Testes Funcionais Automatizados
● Web (Selenium WebDriver)
Testes Funcionais Automatizados
Testes Funcionais Automatizados
● Desktop (Fest)
– Seleção do Driver
Testes Funcionais Automatizados
● Desktop (Fest)
– Frame principal da aplicação
Testes Funcionais Automatizados
● Desktop (Fest)
– Configuração e execução
Testes Funcionais Automatizados
● Web (Selenium WebDriver)
– Seleção do Driver
Testes Funcionais Automatizados
● Web (Selenium WebDriver)
– Configuração e execução
Testes Funcionais Automatizados
Testes Funcionais Automatizados
● Registro dos casos de teste e resultados no RQM
Testes Funcionais Automatizados
● Registro dos casos de teste e resultados no RQM
Testes Funcionais Automatizados
● Relatórios JBehave
Testes Funcionais Automatizados
● Relatórios JBehave
Testes Funcionais Automatizados
● Relatórios JBehave
Tipos de Testes
Testes Não Funcionais
● JMeter
● Software open-source, 100% escrito em Java, mantido pelo 
grupo Jakarta Apache, que tem a capacidade de executar 
planos de testes configurados através da sua ferramenta 
gráfica
● Pode ser utilizado para teste de performance de aplicativos, 
simulando uma determinada demanda
● Também é possível adaptá-lo para testes de caixa preta
Testes Não Funcionais
● JMeter
● Requisição HTTP
Testes Não Funcionais
● JMeter
● Resposta de requisição HTTP com asserções
Testes Não Funcionais
● JMeter
● Exemplo de relatório de consulta a um banco de dados
Testes Não Funcionais
● JMeter
● Exemplo de relatório estatístico
Tipos de Testes
Ambiente de Integração Contínua
● Jenkins (http://jenkins.aic.serpro/)
– Ambiente AICAT
– Slaves dedicados a execução de testes automatizados
– Registro dos resultados no RQM e geração de relatórios
– Qualquer pessoa pode disparar os testes
– Possibilidade de disparar, antes da execução dos testes 
funcionais automatizados, o job responsável por gerar e 
publicar a build do sistema a ser testado
Ambiente de Integração Contínua
● Jenkins (http://jenkins.aic.serpro/)
Ambientede Integração Contínua
● Jenkins (http://jenkins.aic.serpro/)
Radar de Práticas SUPDE
http://10.200.118.38/techradar/examples/
Tipos de Testes
Conclusão
● A qualidade interna do código deve favorecer a resposta rápida 
à mudanças, acelerando a identificação de falhas no ciclo de 
desenvolvimento. Isso só é possível com o uso frequente de 
testes (desde os unitários até os funcionais de sistema), tanto 
para atuar na prevenção de defeitos (já que os testes guiam o 
desenvolvimento) como para proporcionar a velocidade 
adequada na detecção de falhas
● Com o código sendo construído desde o início com qualidade, 
os testes exploratórios e de aceitação deverão, oportunamente, 
levantar as possíveis falhas de negócio que poderiam 
comprometer o produto
● É fundamental balancear o uso dos diversos níveis de testes!
Obrigado!
Delmar de Castro Mehret Filho
SUPDE/DECTA/DE9CT
delmar.mehret@serpro.gov.br
#41 8584
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71
	Slide 72
	Slide 73
	Slide 74
	Slide 75
	Slide 76
	Slide 77
	Slide 78
	Slide 79
	Slide 80
	Slide 81
	Slide 82
	Slide 83
	Slide 84
	Slide 85
	Slide 86
	Slide 87
	Slide 88
	Slide 89
	Slide 90
	Slide 91
	Slide 92
	Slide 93
	Slide 94
	Slide 95
	Slide 96
	Slide 97
	Slide 98
	Slide 99
	Slide 100
	Slide 101
	Slide 102
	Slide 103
	Slide 104
	Slide 105
	Slide 106
	Slide 107
	Slide 108
	Slide 109
	Slide 110
	Slide 111
	Slide 112
	Slide 113

Continue navegando