top 10 test automation strategies
Este é o último artigo do série de automação de teste . Este artigo resume as melhores práticas e estratégias para fazer automação de teste.
Embora nossos artigos anteriores mencionem as práticas recomendadas (e algumas delas podem ser repetidas aqui), eu senti fortemente em listar alguns, mas mais importantes práticas recomendadas de automação aqui em um artigo para referência .
Essas estratégias foram tiradas de minha própria experiência e também da literatura de gurus de teste como Michael Bolton, James Bach e Cem Kaner. Essas práticas devem ser seguidas em todos os projetos de automação.
O que você aprenderá:
- As 10 melhores estratégias e práticas de automação de teste
- # 1. Contrate uma equipe ou engenheiro de automação dedicado
- # 2. Uma ferramenta de automação é importante, mas não é a solução para tudo
- # 3. Selecione a ferramenta de automação que é familiar aos seus recursos
- # 4. Conheça o aplicativo que está sendo testado
- # 5. Boa automação significa bom caso de teste manual
- # 6. Identifique oportunidades com automação
- # 7. Você não pode automatizar tudo
- # 8. Evite a automação da GUI quando houver um presente alternativo
- # 9. Use a automação também para outros fins úteis
- # 10. Automação é desenvolvimento de software
- Conclusão
- Leitura recomendada
As 10 melhores estratégias e práticas de automação de teste
Aqui vamos nós..
# 1. Contrate uma equipe ou engenheiro de automação dedicado
Isso é uma coisa básica a fazer. Não peça a seus testadores manuais para se entregar à automação de teste. Se você deseja que eles façam automação de teste, libere-os do trabalho de teste manual. A automação de teste é um trabalho de tempo integral. Para isso, você precisa de recursos dedicados.
Eu recomendo construir uma equipe de automação de teste consistindo de pelo menos um arquiteto de automação. Você pode contratar vários engenheiros de automação para trabalhar sob a orientação do arquiteto de automação de teste. O número de engenheiros de automação depende do número e do tamanho de seus produtos.
capturas de tela de sites no passado
# 2. Uma ferramenta de automação é importante, mas não é a solução para tudo
Falamos sobre seleção de ferramentas . Mas selecionar a ferramenta certa é apenas o começo. Alguns gerentes têm o conceito errado de que, se selecionarem a ferramenta certa, podem automatizar qualquer coisa com facilidade. Cuidado, as ferramentas de automação não fornecem tudo. Eles tornam o processo mais fácil. Mas você precisa de recursos qualificados para concluir o processo.
Freqüentemente, as ferramentas de automação apresentam erros e ficam presas na identificação de objetos complexos no aplicativo. Os recursos que você contrata, se forem qualificados, apresentam uma solução alternativa que leva o processo adiante. Caso contrário, se você não contratar bons recursos, a ferramenta sozinha não pode garantir uma automação bem-sucedida.
# 3. Selecione a ferramenta de automação que é familiar aos seus recursos
Se seus recursos estão familiarizados com C # e seu aplicativo a ser testado também é desenvolvido em C #, então não faz sentido selecionar a ferramenta que não oferece C # para escrever scripts.
A aprendizagem de línguas é um processo demorado. Evite essa curva de aprendizado comprando uma ferramenta que oferece uma curva de aprendizado mínima.
# 4. Conheça o aplicativo que está sendo testado
A seleção da ferramenta depende muito das tecnologias usadas em seu produto. Conheça o seu produto de dentro para fora antes de iniciar a automação.
Se for um aplicativo da web, conheça os navegadores que ele suportará. Conheça as tecnologias que nele estão sendo utilizadas. Se for um aplicativo de desktop, saiba em qual idioma foi criado. Quais controles de terceiros estão sendo usados no aplicativo. Isso o ajudará a tornar mais fácil a seleção de ferramentas e automação futura.
# 5. Boa automação significa bom caso de teste manual
Casos de teste manuais fortes bem escritos nos poupe de automatizar os casos de teste que são fáceis de automatizar, mas fracos em encontrar defeitos.
Aqui está a citação do livro Lessons Learned in Software Testing:
“Automatizar sem um bom design de teste pode resultar em muita atividade, mas pouco valor.”
É sempre aconselhável escrever primeiro o caso de teste na forma manual. Identifique todos os pré-requisitos e dados de teste . Escreva as etapas de maneira clara e anote os resultados esperados antes de cada etapa. O objetivo de um caso de teste deve ser claro e deve ser menos dependente dos outros casos de teste. Os engenheiros de automação devem executar este caso de teste manualmente pelo menos uma vez para decidir claramente quais objetos precisam ser identificados e qual será o fluxo de navegação. Faça perguntas com testadores manuais.
Essa atividade às vezes ajuda a identificar bugs antes mesmo de o script de automação ser escrito. Os especialistas dizem que a maioria dos bugs é identificada na fase de desenvolvimento de automação de teste, e não na fase de execução real.
# 6. Identifique oportunidades com automação
Se você for entregue com um caso de teste manual para automatizar , não automatize apenas esse caso de teste como ele é. Em vez disso, encontre mais oportunidades em sua automação, para expandir o escopo deste caso de teste.
sites de download de música mp3 grátis para telefones Android
Por exemplo, se o requisito do caso de teste manual for, você precisará fazer login em uma página da web. Você pode expandir esse caso de teste tornando-o orientado por dados. Liste todos os cenários possíveis de login como senha inválida, senha vazia, nome de usuário inválido, e-mail inválido, nome de usuário em branco, lembre-se de mim verificado, não verificado, etc. Liste os cenários possíveis junto com seus resultados esperados em um arquivo excel e coloque este arquivo excel como uma fonte de dados para o seu caso de teste. Agora, este único caso de teste manual, após ser automatizado, pode testar todos os cenários possíveis de uma vez.
Sempre procure oportunidades que podem ser feitas com automação, mas difíceis de fazer manualmente. Como cenários de teste de carga, benchmarks de desempenho, mesmos testes em ambientes diferentes com configurações diferentes, vazamentos de memória, testes de alta precisão, etc. Todos esses são cenários difíceis para testadores manuais.
# 7. Você não pode automatizar tudo
Automação significa executar menos testes com mais frequência. Você tem que começar pequeno, atacando seus testes de fumaça primeiro. Em seguida, cubra o seu construir testes de aceitação . Em seguida, passe para os testes realizados com frequência e, em seguida, passe o tempo fazendo os testes. Mas certifique-se de que cada teste automatizado, economiza tempo para um testador manual se concentrar em coisas mais importantes.
A automação não está aqui para substituir os testadores manuais. Nem pode. Ele está aqui para tirar o trabalho repetido dos testadores manuais para que eles possam usar todo o seu foco e força para encontrar novos cenários de teste e bugs. (Leia meu artigo Equívocos sobre automação de teste)
Automatize alguns testes que são de valor e poupadores de tempo ou difícil de fazer para testadores manuais. Se você fez isso, a tarefa de automação está concluída.
# 8. Evite a automação da GUI quando houver um presente alternativo
A automação da GUI é sempre mais difícil do que outros tipos de testes automatizados. Portanto, se houver uma situação em que você possa atingir seu objetivo não automatizando a GUI, mas por alguns outros métodos, como entradas de linha de comando, a melhor estratégia é evitar a automação da GUI.
Por exemplo, você deseja testar a instalação do aplicativo. O objetivo é verificar se o aplicativo está instalado ou não em um determinado ambiente. Uma abordagem é iniciar a instalação e clicar no botão “ Próximo ”Várias vezes através de sua ferramenta de automação. Pode ser complicado, demorado e está sujeito a manutenção se a IU mudar. A outra abordagem é iniciar a instalação do aplicativo com um arquivo em lote fornecendo argumentos silenciosos. O aplicativo será instalado silenciosamente, sem GUI. O objetivo será alcançado em menos tempo e de forma mais confiável.
# 9. Use a automação também para outros fins úteis
A automação é uma coisa fantástica. Você pode conseguir coisas sobre as quais normalmente não pensa. Automação não se trata apenas de programar um caso de teste manual. Em vez de, você pode usar a automação para facilitar diferentes operações em sua organização.
Por exemplo, você pode usar a automação para criar dados mestre e definir configurações automaticamente para testadores manuais. Para que eles possam começar seus testes o mais cedo possível.
Posso dar um exemplo da minha própria empresa. Queríamos mudar de nossa ferramenta de gerenciamento de casos de teste. Estávamos usando o “Test Director” (agora HP ALM) e queríamos mudar para TFS (Team Foundation Server). Tínhamos cerca de 4000 casos de teste manuais e bugs no Test Director. Transferi-los manualmente para o TFS pode levar cerca de um mês. Então meu gerente me pediu para tentar alguma automação.
Eu cavo essas ferramentas e descobri que o Test Director está usando o SQL server como seu repositório. Para o TFS, descobri uma ferramenta que pode ler casos de teste e bugs de um arquivo Excel, se eles forem escritos em um formato específico, e pode inseri-los no TFS. O resto da história é simples. Eu escrevi uma consulta SQL para buscar todos os casos de teste e bugs e os exportei em um arquivo Excel no formato específico. Usei então aquela ferramenta que lê todos os casos de teste e bugs do arquivo excel e os inseri no TFS. Todo o processo demorou apenas 3 horas. Meu empresário ficou muito feliz. Espero que você entenda meu ponto também.
# 10. Automação é desenvolvimento de software
Se você desenvolve software de qualidade, ele precisa das melhores práticas. Ele precisa de revisões de código para escrever código de qualidade. Ele precisa de uma estrutura ou padrão de design a ser seguido. Necessita de manutenção constante.
A automação é basicamente o desenvolvimento de software. Portanto, todas as práticas recomendadas que você segue ao desenvolver software devem ser seguidas ao fazer a automação. A estrutura de automação deve estar lá. Revisões de código devem ser feitas. Bugs de automação devem ser relatados no repositório de bug. O código-fonte da automação deve ser colocado sob o controle da origem, etc. Quanto mais você tratá-lo como desenvolvimento de software, mais bem-sucedida será a automação.
Conclusão
Isso resume o artigo, bem como a série de automação de teste. Aprendi muitas coisas enquanto escrevia esses tutoriais e espero que você também aprenda lendo. A automação de testes é uma carreira interessante e gratificante. Fazer isso corretamente não é benéfico apenas para você, mas também para a organização.
Todos os dias, enquanto trabalho na automação de testes e suas técnicas, encontro novos e interessantes desafios para resolver. Esta série foi uma tentativa de destacar o que pode acontecer em uma jornada de automação de teste. Espero ter entregue tudo certo e de maneira simples.
Como sempre, aguardo seus comentários e sugestões. Sinta-se à vontade para escrever seus comentários na seção de comentários. Ficarei feliz em ouvir de você e ajudá-lo se necessário. Obrigado pela leitura.
PREV Tutorial # 6
modelo de cascata de ciclo de vida de desenvolvimento de software
Leitura recomendada
- Você é um especialista em testes manuais ou de automação? Trabalhe a tempo parcial para nós!
- Desafios de teste manual e de automação
- Os 10 melhores melhores livros de teste de software (livros de teste manual e de automação)
- Sikuli GUI Automation Testing Tool - Guia do Iniciante Parte 2
- Guia passo a passo para implementar a prova de conceito (POC) em testes de automação
- Processo de teste de automação de 10 etapas: como iniciar o teste de automação em sua organização
- Como decidir qual tipo de teste é necessário para um projeto? - Manual ou Automação
- Como realizar o teste de desempenho manual?