Você está na página 1de 32

WBA0446_v1.

CASE
As principais ferramentas no
ciclo de desenvolvimento de
softwares
Teste de Software
Bloco 1
André Olímpio
O que é teste de software?

• Teste refere-se a toda e qualquer atividade desempenhada


para avaliar a qualidade de um produto ou serviço, por meio
da identificação de defeitos e problemas.

• Um teste de software consiste na verificação dinâmica do


comportamento de um programa, em um conjunto finito de
casos de teste.
Etapas do processo de testes de software

• Planejamento: elaboração de estratégia e plano de

teste, baseando-se em requisitos.

• Preparação: definição de recursos materiais e humanos

necessários para o ambiente de teste.


Etapas do processo de testes de software

• Especificação: elaboração/ revisão de


casos e roteiros de teste.

• Execução: aplicação prática do teste e


registro de resultados obtidos.

• Entrega: conclusão do processo de


teste.
Organização para testes de software
• Um processo de teste de software pode produzir
diversos artefatos que são a base de sua documentação.
• São eles:
• Caso.
• Roteiro.
• Script.
• Plano.
Verificação versus validação
• São procedimentos independentes, utilizados em
conjunto para verificar se uma funcionalidade atende aos
requisitos estabelecidos previamente.

Verificação: Validação:
conformidade com SOFTWARE
especificações aceite da
preestabelecidas. funcionalidade.
Organização para testes de software
• Caso de teste: trata-se de um conjunto de condições,
elaborado para identificar defeitos na estrutura interna do
software.

• Situações que exercitem adequadamente todas as


funcionalidades implementadas.
• Serve também para garantir que os requisitos sejam
plenamente atendidos.
Organização para testes de software

• Roteiro de teste: é uma maneira estruturada de realizar testes


manuais em softwares, definindo parâmetros e ações a serem
realizadas.

• Esse roteiro é elaborado a partir de documentos de


especificação de um caso de uso, como:
 Descrição das funcionalidades.
 Guia de interface.
 Modelagem do banco de dados.
Organização para testes de software

• Script de teste: é a combinação entre caso de teste, os


procedimentos e os dados gerados.

• Contém instruções detalhadas para cada coleção de casos


existentes em um processo.

• É a forma mais detalhada de se documentar um teste.


Organização para testes de software

• Plano de teste: é um documento que contém uma


abordagem sistemática para teste de software.

• Consiste em uma modelagem detalhada do fluxo de


trabalho durante o processo.

• É como se fosse um mapa do ambiente de testes.


Tipos de testes de software
Bloco 2
André Olímpio
Teste Alfa e Beta

• Alfa: é um tipo de teste realizado logo após o término do


desenvolvimento do software e anterior à sua implantação.

• Realizado pelos integrantes da equipe de desenvolvimento,


onde estes fazem entradas similares às que serão feitas em
ambiente de execução do software.
Teste Alfa e Beta

• Beta: realizado após o término do teste alfa, onde um


grupo restrito de usuários efetua uma bateria de ações no
software.
• Posteriormente, entrega um feedback dos resultados
obtidos.

• Não deve contar com a presença da equipe de


desenvolvimento.
Teste de caixa preta
• Avaliação do comportamento externo de um componente de
software, sem considerar o ambiente interno.

• Os dados de entrada são fornecidos, o teste é executado e o


resultado obtido é comparado a um outro previamente
conhecido.

• O ideal é que todas as entradas possíveis sejam testadas.


Teste de caixa branca

• Técnica de teste que utiliza a perspectiva interna de um


sistema para modelar os casos de teste.

• No teste de software, a perspectiva interna é constituída


pelo código fonte e demais itens do backend.

• No teste de hardware, cada ponto da arquitetura de


infraestrutura deve ser testado.
Teste de requisitos
• Um dos processos mais importantes da Engenharia de
Requisitos.
• Validação de requisitos em aspectos:
 Consistência.
 Precisão.
 Contextualização.
 Cumprimento.
 Análise.
Ferramentas CASE para
teste de software
Bloco 3
André Olímpio
Ambiente de teste de software
Plano de
automação de
testes.

Elaboração de
Apresentação de ambientes/
resultados. ferramentas para
automação.

Execução dos Construção os


scripts. scripts.
Selenium

• Ambiente integrado de desenvolvimento para scripts


de testes automatizados.

• Permite gravar, editar e depurar os testes para


aplicações desenvolvidas para plataforma Web.

• Plataforma: Windows, Linux e MacOS.


Selenium
• Versões:
• WebDriver: troca de dados baseada em navegador, utilizando
comandos de scripts.
• Selenium IDE: scripts para reprodução de erros, integrando
com tecnologias web diferentes.
• Selenium Grid: realização de testes em diferentes máquinas.

Documentação disponível em:


https://www.selenium.dev/documentation/en/guidelines_and_recommendations/improved_reporting/.
Acesso em: 7 ago. 2020.
Apache JMeter

• Ferramenta de teste utilizada para analisar e medir o


desempenho de diferentes serviços e produtos de
software.
• Open source.

• Interface de fácil utilização.

• Ótima documentação.

• Desenvolvido em linguagem Java.


Appium
• Scripts de testes para aplicações mobile em plataformas
Android e iOS.

• Open source.

• Multiplataforma.

• Testes de aplicativos nativos e de ambiente Web.

• Gera scripts aplicáveis em diferentes plataformas.


Cucumber
• Suíte de testes automatizados, utilizando conceitos
de metodologia ágil.

• Formato BDD (Behavior Driven Development).

• Desenvolvimento dirigido a comportamento.

• Favorece a colaboração entre desenvolvedores.


Robotium

• Estruturas de escrita de casos de teste automáticos


para aplicativos Android.

• Open source.

• Testes funcionais a nível de front-end.

• Código fonte em linguagem Java.


Teoria em Prática
Bloco 4
André Olímpio
Sistema: controle de fraudes em transações eletrônicas

• Aplicação Web para e-commerce.

• Falhas de conexão com alguns bancos após


ataque externo.

• Controle apresenta problemas.

• Comportamento incomum do sistema.


Norte para a resolução...

• Identificar as ferramentas CASE adequadas a serem


utilizadas.

• Criar os casos de testes.

• Criar o ciclo de execução para cada caso de teste.

• Identificar e definir o ambiente de teste deste controle.

• O controle deve identificar possíveis erros e fazer as devidas


correções.
Dica do Professor
Bloco 5
André Olímpio
Outra ferramenta CASE (Mockito)

• Open source.
• Desenvolvido em linguagem JAVA.
• Estrutura que permite a criação de testes
automatizados, com o objetivo de
desenvolvimento orientado a teste ou a
comportamento.
• Integração com o GitHub.
Referências

SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson


Education do Brasil, 2018.
FILHO, W. P. P. Engenharia de Software: projetos e processos. 4. ed. Rio
de Janeiro: LTC, 2019.
FABRIS, P. P. G.; PERINI, L. C. Processos de software. 1. ed. Londrina:
Editora e Distribuidora Educacional S.A., 2014.
Git How to: tutorial guiado de GIT. 2019. Disponível em
https://githowto.com/pt-BR. Acesso em: 11 ago. 2020.
Bons estudos!

Você também pode gostar