Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

DETALHAMENTO COMPLETO DO CONTEÚDO – Testes Automatizados (Prof. Marcelo Fantinato – Univesp)
🟦 1. Contexto da Aula
A aula faz parte do módulo sobre Entrega Contínua, composta por três partes correlacionadas:
· Testes automatizados (aula atual)
· Entrega contínua
· Práticas associadas a pipelines e qualidade
O professor destaca que testes automatizados são fundamentais para entregar software continuamente de forma rápida, segura e confiável.
🟦 2. Por que automatizar testes?
✔️ 2.1. Aumento de produtividade
· Testes automáticos executam em segundos/minutos.
· Elimina repetição manual.
· Permite executar testes com maior frequência.
· Isso acelera o desenvolvimento e libera o time para tarefas mais complexas.
✔️ 2.2. Aumento da qualidade
· Como a execução é rápida, é possível: 
· Rodar mais testes;
· Validar mais cenários;
· Encontrar mais falhas;
· Corrigir problemas cedo no ciclo.
· Resultado: qualidade significativamente maior.
🟦 3. Mito: “Automação de testes custa muito caro”
O professor explica:
✔️ Sim, existe um custo inicial elevado
· Testadores especializados: Engenheiros de automação.
· Planejamento dos testes.
· Criação dos scripts automatizados.
· Manutenção dos testes.
✔️ Mas esse custo se paga rapidamente
· Quanto mais vezes o teste automatizado é executado, menor o custo por execução.
· Executar 100, 200 ou 300 vezes compensará o esforço inicial.
❌ Quando NÃO compensa automatizar
· Quando o teste não será executado repetidamente.
· Ou quando o software/teste muda tanto que exige reescrita constante do script.
🟦 4. Quais testes automatizar?
✔️ Regra geral: Automatizar “quase tudo”
· Cada caso de teste idealmente deve ser automatizado.
· Porque isso maximiza produtividade e qualidade.
❌ Exceções – testes que não devem ser automatizados
4.1. Testes exploratórios
· Executados apenas uma vez.
· O testador interage livremente com o sistema buscando comportamentos inesperados.
· Automatizar não faz sentido, pois não haverá repetição.
4.2. Testes que dependem de criatividade humana
· Usabilidade
· UX
· Avaliação subjetiva
🟦 5. Atividades que podem ser automatizadas
✔️ 5.1. Geração automática ou semiautomática de casos de teste
Ferramentas podem:
· Sugerir dados de entrada;
· Gerar combinações estruturadas;
· Basear-se em critérios estruturais e funcionais previamente estudados.
Isso reduz o esforço manual do analista.
✔️ 5.2. Execução automatizada dos casos de teste
É onde está o maior benefício:
· Execução rápida
· Menor custo operacional
· Possibilidade de integração com pipelines (CI/CD)
· Resultados objetivos e rastreáveis
✨ A diferença está no nível do teste:
🟦 6. Automação por níveis de teste
🟩 6.1. Teste de Unidade
· Feito pelo próprio desenvolvedor.
· Ferramentas: JUnit (Java).
· Para cada classe do sistema, cria-se uma classe de teste correspondente.
· Uso de drivers, stubs, mocks para simular dependências.
Objetivos:
· Verificar comportamento isolado.
· Garantir pequenas partes do sistema antes de integrar.
🟩 6.2. Teste de Integração
· Faz uso de ferramentas de unidade, mocks e automação parcial.
· Verifica o comportamento entre módulos.
🟦 6.3. Teste de Aceitação / Sistema
· Executado do ponto de vista do usuário final.
· O analista de testes projeta cenários.
· Testadores executam manualmente ou engenheiros de automação criam scripts.
Ferramentas: Selenium
· Funciona com captura e repetição (record/playback).
· Primeira execução é manual → a ferramenta grava um script.
· Depois, o script pode ser executado quantas vezes quiser.
· Na prática, é necessário editar o script: 
· adicionar verificações (asserts);
· adicionar pontos de prova;
· ajustar interações dinâmicas.
🟦 7. Ambientes e ecossistemas de automação
Além das ferramentas específicas, há ambientes completos, que funcionam como “suites de automação”, oferecendo:
· Banco de dados de casos de teste
· Gestão de resultados e históricos
· Relatórios de cobertura
· Relatórios de falhas
· Modelagem, simulação e análise
· Painéis para acompanhar execuções
Esses ambientes permitem:
· Saber quantos casos passaram/falharam
· Ver a cobertura do código
· Integrar com pipelines de entrega contínua
🟦 8. Referências citadas na aula
1. Pressman & Maxim – Engenharia de Software (10ª edição, 2021)
2. Humble & Farley – Continuous Delivery: Como entregar software de forma rápida e confiável
Apesar de não ser um livro dedicado a testes, o segundo aborda automação como componente essencial da entrega contínua.
🟩 Resumo Final (bem direto)
	Tópico
	Essência
	Por que automatizar?
	Produtividade + Qualidade
	O custo é alto?
	Sim, mas se paga rapidamente
	Automatizar o quê?
	Quase tudo, exceto testes exploratórios
	Geração automática?
	Pode ser automatizada/semi-automatizada
	Execução automática?
	Maior ganho (rápida, repetitiva, confiável)
	Teste de unidade
	Automatizado pelo desenvolvedor (JUnit)
	Teste de aceitação
	Ferramentas como Selenium (record/playback)
	Ambientes de automação
	Relatórios, cobertura, banco de dados de testes

Mais conteúdos dessa disciplina