top of page

 

 

 

Definições de teste de Software:

Teste de Software

 

    Validar Aplicações para encontrar erros.

    Validar softwares para saber se estão de acordo com o documento especificado.

     Validar softwares para que os bugs sejam encontrados antes dos clientes, pois, quanto mais cedo encontrarmos erros, mais barato fica a correção

     É necessário em qualquer tamanho de sistema. Até em sistemas de pequeno e médio porte.

     Testes devem começar desde o início do projeto, para que a avaliação da documentação seja feita antes do desenvolvimento do software e nós evitaremos a programação de itens duvidosos.

     O teste de software faz parte do ciclo de desnv. do projeto de software, mas, dentro da equipe de teste, existe o processo de desenvolvimento de teste. Neste processo são produzidos os artefatos necessários para atender o projeto ou cliente.

     É preciso uma equipe treina para a realização do teste. Para testar não basta a visão do usuário, mas a visão técnica de como um campo deve se comportar e, principalmente de como NÃO deve se comportar.

     É preciso um profissional específico para a área, com conhecimento nas técnicas e tipos de teste para que a qualidade seja garantida.

     Desenvolvedor não testa software como a equipe de Teste. O teste de desnv é o unitário, onde ele debuga seu código e valida as funções do código.

 

VERIFICAÇÃO – De documentos – artefatos – UC, ERS, RGN

VALIDAÇÃO – De sistema – executar o teste das telas

 

 

Definições de teste Funcional – Caixa PRETA

 

Teste Funcional Caixa Preta

     Teste sem visão interna - acesso ao código

     Teste na visão do usuário

     Teste que precisa de documentação para comparação do que foi pedido com o que foi desenvolvido.

 

 

Definições de TIPOS de teste Funcional – Caixa PRETA

 

Teste Funcional/ Teste de Funcionalidade

     Dentro da Técnica de Teste Cx Preta, é o teste da funcionalidade do sistema - regra de negócio e principais funções do sistema

     Validação das Funcionalidades

 

Teste Funcional/ Teste Integração

     Dentro da Técnica de Teste Cx Preta, é o teste das partes que foram desenvolvidas separadamente e, integradas para que o sistema seja completo

    O sistema pode ser desenvolvido em Módulos, e, ao final de cada módulo, um novo grupo de telas são integradas. Este teste garante a integralidade entre as telas do sistema

 

Teste Funcional/ Teste Regressão

     Testar de Novo

     Validar se uma alteração ou correção não danificou o que já estava funcionando

     Muitas vezes poderá ser pontual, dependendo da urgência do projeto ou da decisão gerencial

     Pode ser automatizado, caso o código seja estável e  as variáveis não sejam modificadas após a alteração. 

    A automação de um teste de regressão serve para que ele seja executado mais rapidamente já que, a previsão é que não haja erros em telas que já passaram pelo teste e foram homologadas

    Automação de teste de regressão dentro do escopo caixa preta  - testes manuais -  não valida a estrutura interna - desempenho, performance, robustez, mas, ajuda:

           - Garantir que uma vez aquele script rodou e toda a tela funcionou

           - Ao salvar o script dos testes, e houver a necessidade de uma validação rápida para garantir o funcionamento, ele pode ser usado

 

Teste Funcional/ Teste Usabilidade

     Teste Manual - técnica caixa preta que valida fatores externos do sistema

     Expectativa do cliente quanto a navegabilidade do software

     Validação das ajudas contextuais do sistema - hint, labels, frases coerentes, apresentação de registros em grades de dados, leitura de registros em campos como combo boxes.

     Links que não tem marcação e podem gerar dúvidas ao usuário

 

 

Teste Funcional/ Teste Ortografia

    

Validação da ortografia do sistema. Nem sempre o erro é a palavra escrita incorretamente, mas, escrita de uma forma voltada pra TI e não para linguagem do usuário.

Um exemplo são os títulos das grades de dados que, vem geralmente: Tipo Aluno, e na verdade o correto é "Tipo de Aluno".

Pontuação das mensagens, acentuação.
  Validação de termos estrangeiros que, caso o sistema precise ter, é necessário a escrita correta.

 

Teste Funcional/ Teste Interface

     Validação da apresentação da tela do sistema. Validação do Layout.

     Títulos sobrepostos, Grade de dados com registros que não cabe na célula apresentada,

     Cores intercaladas na apresentação de uma grade de dados

 

 

Ferramentas pro teste Caixa Preta – automação dos testes manuais

 

Selenium

       Plugin do FireFox para automação de testes MANUAIS. Teste de aplicações WEB de  forma automatizada.

       Ferramenta que grava a ação do usuário e pode ser reproduzido novamente, automaticamente.

       Gera um script que pode ser alterado para que os valores das variáveis sejam alteradas de acordo com a necessidade do testador
      Ela aparece em três formas:
                   Selenium IDE, Selenium RC e Selenium Grid.
                   A IDE é um plugin para o navegador Firefox, bem prático e leve, com ele podemos criar e editar testes de forma bem simples.
                   O RC serve para rodar um grupo de testes de forma automática, e em navegadores diferentes de Firefox, por exemplo podemos rodá-los no Safari, podendo ser usada com linguagens de programação como Java, PHP, Python, etc, podendo também se rodada  em  navegadores distintos (sabemos que alguns navegadores se comportam de forma diferente com mesmas regras),
                 O Grid, que serve para paralelizar os testes, é bom para quando temos uma massa grande de testes e, quando rodada de forma linear, consome muito tempo para o término.
     Por que automatizar um teste Manual se é só ir lá e testar manualmente de novo? Por que usar o Selenium IDE?
              - Ter um script que comprova o funcionamento de uma tela/Funcionalidade com a massa de teste usada
              - Para agilizar testes de telas que não foram modificadas, mas que, é necessário validar se a funcionalidade não foi impactada por alterações em outras partes do sistema
                                 Massa de Dados: - Registros incluídos no sistema. Registros que são pesquisados, alterados e manipulados para execução de teste.

 

OUTROS:

Testes Funcionais em Aplicações WEB
Watir - http://wtr.rubyforge.org

BadBoy - http://www.badboy.com.au

actiWATE - http://www.actiwate.com

Canoo WEBTest - http://WEBtest.canoo.com

Apodora - http://www.apodora.org

 

 

Definição de Teste Caixa Preta – Syllabus

Resolvi fazer uma análise destes conceitos. E cheguei a conclusão do que já falei em sala, várias vezes....

Está escrito diferente, mas se, analisarmos palavra a palavra, vemos que é o que eu falei em uma linguagem mais, digamos, acessível. 

No Caixa Branca, ele explica o que é e quais as possibilidades de teste pra ele, sabemos inclusive que tem outros tipos.... e nem diz qual equipe que faz. É só conceito mesmo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Definições de TIPOS de teste Estrutural – Caixa BRANCA

 

 

Os testes estruturais, ou "testes caixa-branca" levam em consideração a estrutura do código fonte para identificar a implementação e se os diferentes caminhos estão sendo cobertos por algum tipo de teste. Assim, os testes serão elaborados para: testar as decisões logicas (verdadeiro/falso), testar os "loops" até o limite, as variáveis estáticas e dinâmicas, dentre outros.

O teste de caixa-branca não substitui o teste de caixa-preta, e vice-versa. Eles são utilizados em conjunto; cada um com um objetivo distinto.

 

Tipos de Teste caixa Branca:

Conformidade – valida padrões e procedimentos

Contingência – como o sistema se recupera após uma falha

Stress - limite de execução

Segurança – Acesso indevido

 

Teste de Desempenho

  • Contenção – demandas de vários atores ao mesmo tempo

  • Carga – valida limites operacionais com cargas de trabalho variáveis

  • Perfil de Desempenho -perfil de andamento do sistema – execução, acesso a dados e chamadas de função e de sistema. Identificar gargalos de desempenho e processos ineficientes

 

Teste de Confiabilidade

  • Integridade -Teste do sistema para resistência a falhas, valida a robustez do sistema.

  • Estrutura -adequação a seu designe sua formação, ex.: links conectados a páginas corretas, etc..

  • Stress -cargas de trabalho extremas

 

 

Teste de Suportabilidade

  • Configuração – sistema funciona em diferentes configurações de hardware e software

  • Instalação – sistema funciona em configurações diversas e sob diferentes condições – espaço insuficiente, interrupção de energia, etc.

 

Teste de Função

  • Valida as funções do sistema – unidades integradas, aplicativos e sistemas

 

Ferramentas pro teste caixa branca:


Testes de Desempenho
JMeter - http://jakarta.apache.org/jmeter

Tutorial para teste de performance: http://www.devmedia.com.br/usando-o-jmeter-para-teste-de-performance/20302

 

 

 

BUGS – REGISTRO E CLASSIFICAÇÃO

Quando um defeito pode ser detectado

 

Pode ser detectado através da análise dos documentos que foi elaborado para construção do sistema

Pode ser detectado através do teste de sistema – validando na visão do usuário

 

Defeito – passo processo ou definição de dados incorretos

Engano – Ação humana que produz um resultado incorreto

Falha -desvio entre o resultado/comportamento

 

Gestão de defeitos

Prevenção -planejamento de contingências

Linha de base entregável -baselines que estão prontas pra entrega

Identificação do defeito -técnicas necessárias para encontrar, reportar e classificar os defeitos

Solução do defeito -definição do processo de correção e classificação das prioridades

Melhoria do processo -análise de métricas

Relatório de gestão -relatórios com dados relevantes para acompanhar o progresso dos testes – Sumário de Teste

 

Ciclo de vida de um defeito

Encontrado pelo analista > classificado, registrado e atribuído > analisado pelo desenvolvedor > corrigido >devolvido para o reteste-status: resolvido>status: fechado ou reaberto

 

Ferramentas para Gestão de DEFEITOS

Gestão de Defeitos
Bugzilla - http://www.bugzilla.org

Mantis - http://www.mantisbt.org

Redmine - http://www.redmine.org

Jira - http://www.atlassian.com/software/jira

 

Classificação de BUGS

Gravidade:  (  )Travamento/Obstáculo(  )Grande (  )Pequeno (  )Mínimo

Prioridade:  (  )Baixa  (  )Normal (  )Alta  (  )Imediato/Urgente
  Categoria: (  )Funcionalidade  (  )Especificação  (  )Texto/Ortografia (  )Interface/Layout  (  )Usabilidade

 

 

Boas Práticas na descrição de um erro:

  • SEMPRE INCLUIR E EVIDÊNCIA: doc, ppt, jpg, etc...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Metodologia Ágil - Scrum

        Metodologia: Forma de executar os passos para desenvolver um projeto.

       Ágil: Agilidade no processo de desenvolvimento

       Scrum Master - papel de gerente

       PO Product Owner -  é o interessado - o cliente

       Backlog - Lista de atividades que a equipe deve fazer. quem prioriza é o PO

       Reunião Diária - daily meeting -  Reunião, em pé de 15 minutos, a equipe fala: o que fez, o que está fazendo e o que vai fazer

       Scrum - uma das metodologias ágeis que, foca na entrega do produto e não da documentação. A equipe ágil deve estar integrada para que as informações sobre o produto não se percam, já que, não há documentação das regas.

       A documentação criada é chamada de User Story - história do usuário, com um esboço do que o usuário quer

       O tempo de desenvolvimento é dividido em Sprints, que podem durar uma semana ou, no máximo, duas semanas.

       Vantagem do método ágil são entregas rápidas, frequentes e com a participação do usuário no processo de desenvolvimento.

       Desvantagem: os projetos perdem a rastreabilidade e as informações já que não é valorizada a documentação do sistema

       Utiliza como gerenciamento o quadro KanBan - quadro que contém três divisões:
                             A fazer - atividades selecionadas para a sprint

                              Em andamento - atividades que já estão sob responsabilidade de alguém da equipe

                              Feito - Tarefas finalizadas

        

Teste Ágil

        Teste que se adapta a metodologia ágil. A técnica de teste - cx branca ou cx preta será estipulada pela empresa que utiliza o método. Os tipos de teste são os mesmos pois, os sistemas, independente da metodologia, devem ser validados criteriosamente.
      

Perfil do testador no método Ágil

        Perfil Pró-Ativo e não Reativo

        Deve se adaptar a falta de documentação  procurar informações sobre o sistema para a validação - com usuários, analistas de sistemas, desenvolvedores auto gerenciamento - guardar as informações do resultado dos testes e das regras de negócios para um caso de manutenção

       Controle próprio das usas atividades, horário, entrega.

       Comprometimento.

 

 

 

 

Execução de Teste

        Todo o processo de teste converge para excelência da Execução do teste do sistema

        Validação do sistema de acordo com a técnica necessária

       Observação de um sistema na visão do usuário. Além dos bugs que ocorrem por que a documentação descreve uma coisa e a tela faz outra, a execução deve melhorar a vida do usuário, validar a navegabilidade, a apresentação dos registros, as expectativas do cliente.

       
        Executar teste - com técnica caixa preta -   Tipos de teste: Funcionalidade, Integração, Regressão, Usabilidade, Ortografia, Interface. Ir Além: Expertise do Testador de pensar em casos que não estão descritos.

 

        Executar teste -  com técnica caixa branca - tipos de teste e validações:  Carga, Estresse, Desempenho, Performance. Este tipo de teste depende um robô - ferramenta de automação e deve ter seu escopo definido pela equipe de requisitos e gerente de projetos. O teste caixa branca não é feito em todo o sistema mas nos itens mais críticos, como cálculos. O investimento em treinamento, ferramenta e infraestrutura é considerável e por isso, a decisão da empresa oferecer esse tipo de teste deve vir da necessidade do cliente e do projeto em questão.

 

  • No processo de teste devemos:

  • O software não está adequado para testes;

  • Recurso e prazos insuficientes;

  • Problemas importantes não serão revelados durante os testes;

  • Atenção com o que vai ser testado.

 
PREOCUPAÇÃO DO TESTADOR:
  • O software não está adequado para testes;

  • Recurso e prazos insuficientes;

  • Problemas importantes não serão revelados durante oS testes;

  • Atenção com o que vai ser testado.

 

 

 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
Descrição das Atividades
 
1)      Realizar Testes

De acordo com a abordagem definida no Plano de Teste, o Testador realiza os testes nos Builds aplicando os instrumentos específicos de cada abordagem descritos no Roteiro de Teste e seguindo o fluxo abaixo:

  • Será comunicado por meio de e-mail a disponibilização do build para a execução dos testes;

  • Inicia a execução dos testes, conforme o cronograma.

 

2)      Registrar Resultados dos Testes

 

O Testador registra o comportamento do Build frente aos testes realizados. Ao encontrar uma falha (Interno), o Testador deve registrá-lo na ferramenta de Controle de Defeito.

O Testador notifica o Gerente de teste e o Analista de Testes dos defeitos encontrados para que estes planejem as atividades de correção.

 

 

 

Analista de Qualidade - 

Independente das distribuições de papéis existentes dentro de uma equipe de testes, todos os profissionais envolvidos com a execução de testes são testadores e devem ter orgulho de serem assim chamados.

Todos possuem o mesmo comprometimento com a qualidade dos testes e dos produtos a serem entregues pela equipe, empresa ou instituição.

Todos os membros de uma equipe de teste devem ser capazes de planejar e executar teste no sistema com o objetivo de encontrar defeitos ou falhas.

 

“Não existe um bom analista, arquiteto, automatizador ou gerente de teste que não tenha sido antes um bom executor de teste (Testador)”

 

Habilidades

 

 

  • Detalhista

  • Atento

  • Criativo

  • Diplomático

  • Claro e objetivo na escrita

  • Possuidor de boa lógica

  • Insistente

  • Persistente

  • Paciente

  • Conhecedor da aplicação e regras do negócio

  • Conhecedor de ferramentas de teste

  • Conhecedor de métodos de teste

  • Investigativo

  • Não indutivo

  • Testador deve ser parceiro do desenvolvedor.

  • Testador deve ser qualificado.

  • Testes precisam de investimento.

  • Testes precisam de planejamento.

  • Testes precisam de ferramentas.

  • Testes precisam de apoio.

  • Testes precisam de gerência.

 

 

Técnicas x Tipos x Níveis

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Processo de Teste

 

Técnicas e Ferramentas

 

Técnicas e Ferramentas

Gerenciador Eletrônico de Serviços (ProjectServer)

Ferramenta de Controle de Versões (SVN)

Ferramenta de Controle de Defeitos (Mantis)

Ferramenta de Planejamento (TestLink)

Ferramenta de Automação (BadBoy)

 

Definição de Papéis

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PLUS

 

      

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LEGENDA: CP – CAIXA Preta

 

 

CB – caixa branca

O teste de Integração vai depender do contexto –

Se for integração do desenv – será caixa Branca, já q ele testa o código

Se for na visão do usuário – Caixa Preta, pq nós testamos na visão do usuário a integração das telas

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Testes de Segurança –

 

CP – Quando nós tentamos pelo sistema acessar dados com um perfil não permitido

CB – Quando com um robô tentamos invadir um sistema, inventando senhas, e tentando quebrar a página de alguma forma

 

 

Resumo de Ferramentas

 

Testes Funcionais em Aplicações WEB
Selenium - http://seleniumhq.org

Watir - http://wtr.rubyforge.org

BadBoy - http://www.badboy.com.au

actiWATE - http://www.actiwate.com

Canoo WEBTest - http://WEBtest.canoo.com

Apodora - http://www.apodora.org


Testes de Desempenho
JMeter - http://jakarta.apache.org/jmeter


Gestão de Casos de Teste
TestLink - http://www.teamst.org

TestMaster - http://testmaster.sourceforge.net


Gestão de Defeitos
Bugzilla - http://www.bugzilla.org

Mantis - http://www.mantisbt.org

Redmine - http://www.redmine.org

Jira - http://www.atlassian.com/software/jira

 

Testes Unitários:

 

 PHPunit –  geralmente alguma ferramenta de cobertura de testes  como o Emma para java.

 

JUnit (http://junit.sourceforge.net/)
Umas das ferramentas mais difundidas  de testes unitários, para aplicações Java.


TestNG (http://testng.org)
Ótima framework para testes unitários.


NUnit (http://www.nunit.org/)
Framework para teste unitário para aplicações que utiliza a tecnologia dotNet.

 

Teste de Software - Em Foco.
bottom of page