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