100%

6.2 Seleção de Ferramentas

Lição Progress

6.2 Seleção de Ferramentas


Objetivo do aprendizado:

  • TM-6.2.1 (K2) Descrever as questões de gerenciamento ao selecionar uma ferramenta de código aberto;
    TM-6.2.2 (K2) Descrever as questões de gerenciamento ao escolher uma ferramenta personalizada;
    TM-6.2.3 (K4) Avaliar determinada situação para conceber um plano para a seleção de ferramentas, inclusive riscos, custos e benefícios.

Seleção de Ferramentas

  • Gerentes de teste devem considerar vários fatores ao selecionar uma ferramenta de teste
  • Opções incluem:
  • Comercial
  • Código aberto
  • Personalizadas
  • Qualquer opção escolhida, fazer uma análise de custo benefício e determinar o retorno do investimento

Ferramentas de código aberto

  • Disponível para apoiar quase todos os processos de teste
  • Atributos
  • Disponível para download
  • Pode ser modificada e estendida(mas cuidado com GPL e outras licenças)
  • Precisa ser certificada antes do uso em softwares regulados
  • Pode ser integrada com outras ferramentas
  • Nenhum suporte formal, mas sempre seguidores dedicados
  • Muitas vezes, um foco mais estreito do que as ferramentas comerciais
  • Cuidadosamente analise necessidades e ROI antes de escolher qualquer ferramenta, especialmente de código aberto

Exemplo: Arquitetura de Teste Integrado

Ferramentas Personalizadas

  • Plataforma de hardware exclusiva, ambiente único, ou processo incomum, pode requerer uma ferramenta personalizada
  • Benefícios: atender necessidades com exatidão, interface com outras ferramentas, gera dados específicos, pode ser estendida a outros usuários
  • Riscos: documentação mal feita pode inutilizar a ferramenta, aplicação a problemas de testes errados, problemas de desenvolvimento
  • Desenvolvimento de ferramenta personalizada deve seguir as melhores práticas do SDLC incluindo modelagem e teste

Exemplo: Ferramenta de Teste

Análise de Custo Benefício da Ferramenta

  • Todas as ferramentas devem agregar valor e mostrar um ROI positivo
  • Gerente de teste deve fazer uma análise de custo benefício como parte da seleção da ferramenta
  • Considerar custos recorrentes e não recorrentes (tempo, dinheiro, e/ou recursos)
  • Considerar riscos
  • Considerar custos de oportunidade (recurso gasto na automação e recurso não gasto em teste)
  • Análise de custo benefício deve abranger todas as ferramentas em uso, como parte de uma estratégia de ferramenta compreensiva a longo prazo

Custos das Ferramentas

Não-recorrentes

  • Definição de Requisitos
  • Avaliação e seleção da ferramenta e do fornecedor
  • Aquisição da ferramenta e adaptação ao sistema
  • Treinamento inicial
  • Integração da ferramenta

Recorrentes

  • Licenciamento e suporte
  • Manutenção da ferramenta e testware
  • Custos contínuos de treinamento
  • Adaptação a ambientes diferentes
  • Adaptação das ferramentas a necessidades futuras
  • Otimização do uso das ferramentas

Riscos das Ferramentas

  • Risco pode superar os benefícios
  • Riscos fundamentais
  • As expectativas irrealistas
  • Subestimar o tempo de desenvolvimento, custo e esforço
  • Tempo de retorno
  • Subestimar Esforço de manutenção
  • Subestimar o excesso de confiança na ferramenta
  • Riscos avançados
  • Imaturidade Organizacional (“Automatizando caos dá-lhe caos mais rápido”)
  • Manutenção Artefatos
  • Foco excessivo em automação reduz a eficácia de detecção de defeitos

Benefícios das Ferramentas

  • Reduzir repetição
  • Acelerar ciclos de teste
  • Reduzir custos de execução de testes
  • Aumento de tipos de teste(Ex.: regressão, performance)
  • Reduzir erro humano(ex., geração de dados de teste, entrada de dados de teste, e comparação de resultados de teste)
  • Geração mais fácil de relatórios e métricas
  • Reutilização de casos de teste, scripts de teste e dados de teste
  • Aprimorar testadores e equipes de teste

Perspectivas em Ferramentas

  • Ferramentas são investimento de longo prazo
  • Negócio requer um ROI positivo e interoperabilidade
  • Projeto precisa de ferramentas eficazes e paciência em termos de ROI positivo
  • Ferramenta de usuário precisa de suporte da ferramenta, tornando-a mais eficiente e eficaz, com uma tolerável curva de aprendizagem, treinamento e capacitação
  • Um roteiro para a introdução de ferramentas de teste deve levar essas perspectivas em conta e ajudar a gerenciar as expectativas

Processo Seletivo – Nível fundamental

  • Avaliar a maturidade organizacional
  • Identificar requisitos da ferramenta
  • Avaliar ferramenta
  • Avaliar fornecedor/suporte
  • Considerar as habilidades de automação da equipe
  • Avaliar necessidade de treinamento
  • Estimar ROI

Seleção Avançada – Considerações

  • Análise
  • A ferramenta “entende” as entradas recebidas?
  • A ferramenta é adequada a esta finalidade?
  • Modelagem
  • A ferramenta pode utilizar informação existente?
  • A ferramenta faz modelagem de teste automática?
  • A ferramenta gera testware em um formato utilizável cuja manutenibilidade é possível?
  • A ferramenta gera dados de teste necessários?
  • Seleção de dados e testes
  • Como a ferramenta seleciona dados?
  • A ferramenta aceita critérios de seleção?
  • A ferramenta anonimiza dados de produção?
  • A ferramenta entende critérios de cobertura?

Seleção Avançada – Considerações

  • Execução
  • Quanto do processo é automatizado?
  • Como a ferramenta é interrompida e reinicializada?
  • A ferramenta consegue “ouvir” eventos pertinentes?
  • Avaliação
  • Como a ferramenta trabalha com um oráculo de teste?
  • A ferramenta pode se recuperar dos erros?
  • Os registros são adequados?
  • Os relatórios são adequados?

Exemplo: Objetivos para Ferramentas de Teste de Unidade

  • Gerenciamento
  • Reduzir regressão
  • Aumentar confiança nas mudanças
  • Entrega pontual, com qualidade aceitável
  • Aumentar eficiência do desenvolvimento e teste
  • Reduzir atrasos, custos para consertar efeitos colaterais
  • Aceleração do cronograma
  • RBCS: Habilitar [cliente] o sucesso do projeto de teste de unidade
  • Desenvolvimento da equipe
  • Reduzir regressão via testes de regressão automática para desenvolvedor individual
  • Atingir um padrão uniforme de testes de unidade
  • Reduzir regressão necessidades de recursos do laboratório de testes
  • Equipe de teste
  • Aumentar a percentagem de lançamentos estáveis de teste
  • Reduzir regressão
  • Aumentar a eficiência do testador

Exemplo: Aspectos Importantes para este Projeto

  • Leve, de uso fácil
  • Criação, execução de testes não deve aumentar significativamente a carga de trabalho do programador
  • Diminuir papelada
  • Integração com ferramentas e ambientes existentes
  • Visual C ++
  • Desenvolvedor de trabalho do Windows
  • Banco de dados Quality Center
  • Auxiliar teste de regressão no nível de unidade
  • Alta disponibilidade para desenvolvedores
  • Testes de regressão múltiplos ao mesmo tempo, em diferentes versões “privadas”, mas com personalização compartilhada