AULA
ENGENHARIA DE TESTES DE SOFTWARE
@PROFCLOVESROCHA
Engenharia de Testes de
Software na Prática
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.
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.
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.
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.
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).
● 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.
● 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. 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.
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.
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.
Ferramentas de automação
Selenium
TestComplete
Telerik Test Studio
Robotium
Watir
HPE Unified Functional Testing
Dinâmica
Mercado de trabalho
Obrigado! Thank you!
Perguntas??? <?php
print("ACESSO AO MATERIAL");
@PROFCLOVESROCHA

Introdução à Engenharia de Testes de Software

  • 1.
    AULA ENGENHARIA DE TESTESDE SOFTWARE @PROFCLOVESROCHA
  • 2.
    Engenharia de Testesde Software na Prática
  • 3.
    Agenda 1. Apresentação dateoria 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 conhecidosos 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çãode 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 detestes ● 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. Testede 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. Testede 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. Testede 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 deidentificar 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 Testesde 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.
  • 14.
    Ferramentas de automação Selenium TestComplete TelerikTest Studio Robotium Watir HPE Unified Functional Testing
  • 15.
  • 16.
  • 17.
    Obrigado! Thank you! Perguntas???<?php print("ACESSO AO MATERIAL"); @PROFCLOVESROCHA