3. Agenda
1. Apresentação da teoria de Teste de Software;
2. Como são conhecidos esses profissionais;
3. Principais atividades;
4. Tipos de testes;
5. Teste manual x Teste automatizado;
6. Ferramentas;
7. Dinâmica;
8. Mercado de trabalho.
4. O que é Teste de Software?
O Teste de Software é um processo que faz parte do desenvolvimento
de software, e tem como principal objetivo revelar falhas/bugs para
que sejam corrigidas até que o produto final atinja a qualidade
desejada / acordada.
5. Como são conhecidos os profissionais
de testes ?
Profissionais que trabalham com testes (denominados analistas de
testes, técnicos de testes, homologador, ou simplesmente testes)
estão habituados a realizar uma bateria de testes de diferentes
naturezas e propósitos, envolvendo não apenas os testes
funcionais da aplicação.
6. Principais Atividades
● Avaliação de projeto técnico;
● Verificações em outros documentos Funcionais;
● Testes de performance e capa;
● Avaliação de interface;
● Avaliação da especificação de requisitos.
7. Principais tipos de testes
● 1. Teste de Configuração
Testa se o software funciona no hardware a ser instalado.
● 2. Teste de Instalação
Testa se o software instala como planejado, em diferentes
hardwares e sob diferentes condições, como pouco espaço de
memória, interrupções de rede, interrupções na instalação etc.
● 3. Teste de Integridade
Testa a resistência do software à falhas (robustez).
8. ● 4. Teste de Segurança
Testa se o sistema e os dados são acessados de maneira segura,
apenas pelo autor das ações.
● 5. Teste Funcional
Testa os requisitos funcionais, as funções e os casos de uso. “A
aplicação faz o que deveria fazer?”
● 6. Teste de Unidade
Testa um componente isolado ou classe do sistema.
9. ● 7. Teste de Integração
Testa se um ou mais componentes combinados funcionam de
maneira satisfatória. Há quem diga que o teste de integração é
composto por vários testes de unidade.
● 8. Teste de Volume
Testa o comportamento do sistema operando com o volume
“normal” de dados e transações envolvendo o banco de dados
durante um longo período de tempo.
● 9. Teste de Performance
Teste de carga. Testa o software sob as condições normais de
uso. Ex.: tempo de resposta, número de transações por minuto,
usuários simultâneos etc.
10. ● 10. Teste de Usabilidade
Teste focado na experiência do usuário, consistência da interface,
layout, acesso às funcionalidades etc.
● 11. Testes de Caixa Branca e Caixa Preta
Basicamente, teste de caixa branca envolve o código e o de
caixa-preta, não.
● 12. Teste de Regressão
Reteste de um sistema ou componente para verificar se alguma
modificação recente causou algum efeito indesejado, além de,
certificar se o sistema ainda atende os requisitos.
● 13. Teste de Manutenção
Testa se a mudança de ambiente não interferiu no funcionamento
do sistema.
11. A importância de identificar problemas
críticos no início dos testes
O custo de correção de um bug aumenta até mais de 100x quando
corrigido nas fases finais de desenvolvimento, quando comparado ao
custo de corrigir a mesma falha em fases iniciais.
Por reconhecer este fato e por entender a relevância dos testes no
processo de desenvolvimento, muitas empresas, profissionais e equipes
optam por um método de desenvolvimento denominado TDD (Test Driven
Development) – Desenvolvimento Orientado a Testes.
A ideia é que funcionalidades de testes sejam escritas antes mesmo do
desenvolvimento das funcionalidades do sistema.
12. Manual X Automatizado
Testes de Software manuais
Os testes manuais, como o próprio nome já diz, são realizados por seres
humanos através de casos de testes que possuem o passo a passo para
obter o resultado esperado. No teste manual não há auxílio de nenhuma
ferramenta ou mesmo um script automatizado para execução dos
testes.
Testes de Software automatizados
Os testes automatizados são executados com a ajuda de ferramentas e
frameworks que geram um script com elementos de entrada e saída que
ao ser dentro do escopo de teste define se o mesmo passou ou falhou.