Automação de Teste de Software – Parte 1- Definição de Ferramentas

Em uma postagem anterior no artigo Automação de Testes de Software é só record and play #SQN comentei brevemente sobre diretrizes que havia traçado para dicas de automação de teste de software. Lembrando ainda para quem não conferiu, essa postagem originou o webinar que leva o mesmo nome. Mas a ideia agora em minhas próximas postagens é tentarmos aprofundar um pouco mais em cada tópico citado.

Para começar o primeiro ponto explorado será:

1. Definição de Ferramentas

Quando pensamos iniciar a automação de testes de algum software uma das primeiras dúvidas que pairam em nossas mentes é sobre qual seria a melhor ferramenta de automação a adotar? Essa é uma escolha que precisa ser bem analisada, considerando principalmente o custo x benefício que ela proporcionará para o projeto no geral.

DefinicaoFerramentaAutomacao

Encontrará muitas opções no mercado, open source e share, e nesse momento é que começa a pesar sua escolha: será que uma ferramenta free poderia atender todas minhas necessidades? De acordo com tamanho do projeto eu tenho recursos para investir em uma ferramenta share?

Quando falamos em ferramenta de automação não podemos esquecer que para que os testes sejam executados automaticamente,  precisamos pensar em uma ferramenta de integração contínua também. Para quem não conhece o termo, veja a figura 2 que a exemplifica abaixo:

IntegracaoContinua
Funcionamento da Integração Contínua [2]

Ainda segundo Martin Fowler[3] a definição de integração contínua é:

Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho frequentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a uma significante redução nos problemas de integração e permite que um time desenvolva software coeso mais rapidamente.

Então, algumas questões importantes que deveriam ser consideradas para definição da ferramenta de automação e de integração contínua são:

  • Custo x Benefício – Analisar prós e contras em utilizar determinada ferramenta, as linguagens de programação suportadas, recursos disponíveis e se ela se adéqua as necessidades de sua aplicação.

          Em meio a tanta informação recomendo que entre em contato com pessoas que trabalham ou já trabalharam com essa ferramenta, e sentir delas um pouco o que foi vivenciar esse período. Seria uma forma de coletar informações do uso na prática dos pontos positivos negativos de utilizá-la. Dessa forma, conhecendo cases reais de experiências com essas ferramentas, poderá abstrair dessas práticas o que deve e principalmente o que não deve seguir, evitando repetir possíveis erros já cometidos por esses profissionais. Em resumo, seria uma forma de tirar lições aprendidas dessa ferramenta.

          E é claro que o custo com relação a adquirir a ferramenta, valores de licença também deverão ser considerados.

  • Usabilidade –  Com relação a facilidade de manusear essa ferramenta, ela é intuitiva? Fácil de utilizar? Algumas são via comando mas outras possuem uma interface “amigável” que se considerar o fator que será comentado abaixo facilitará a vida do testador que inicialmente não tem muito conhecimento na ferramenta selecionada para automação\integração contínua.
  • Conhecimento da equipe – Se a ferramenta cogitada não for conhecida entre a equipe de teste uma outra questão que deverá ser pensada é com relação a capacitação da equipe para trabalhar com a ferramenta. Nesse caso, pese também que haverá o período de aprendizagem até que todos os envolvidos estejam familiarizados com ela.
  • Suporte – Como qualquer aplicação essas ferramentas estão suscetíveis a erros, é recomendado identificar quanto a respaldo de suporte você teria para aquela ferramenta, meios de comunicação, tempo de retorno para possíveis soluções, durante o projeto essas são questões que são importantes e ter um suporte que te auxilie em uma necessidade pode fazer diferença também.

Falando um pouco da experiência em vivenciar essa etapa, na verdade quando comecei a participar em projetos de automação aqui na MATERA Systems essa etapa já haviam completado. Nós usamos para automação as ferramentas Qf-Test para as aplicações java SE e Selenium para aplicações java EE. Para executar as builds da integração contínua utilizamos o TeamCity.

Conclusão

Diria que a escolha da ferramenta seria o primeiro passo, no entanto existem outras questões importantes que deverão ser avaliadas antes de colocarmos “a mão na massa”, ou seja, antes de começar de fato automatizar que veremos ao longo das próximas postagens. Gostaria de ressaltar para que se atente a todas etapas, as defina muito bem de forma que não encontre “surpresas” desagradáveis no curso do projeto. O tempo investido também é custo, ninguém quer gastar tempo e energia em um projeto para chegar no meio chegarem a conclusão que a ferramenta selecionada não foi a melhor opção a ser adotada. A dica aqui é atentar-se na decisão do custo x beneficio da ferramenta que estou selecionando, considerando todos os detalhes que comentamos.

Referências:

[1] http://www.wthreex.com/rup/process/artifact/ar_tstenv.htm

[2] http://pt.slideshare.net/luthiano/integracao-continua-em-projetos-net

[3] http://www.devmedia.com.br/integracao-continua-uma-introducao-ao-assunto/28002

[4] http://www.devmedia.com.br/automacao-de-teste-de-software-com-qf-test/33424

Links:

[1] http://www.matera.com/br/2015/07/10/automacao-de-testes-de-software-e-so-record-and-play-sqn/

[2] https://www.youtube.com/watch?time_continue=3&v=VbV_wMb9byA

[3] http://www.qfs.de/en/qftest/

[4] http://www.seleniumhq.org/

[5] http://www.matera.com/br/2011/11/29/teamcity-conheca-a-ferramenta-e-seus-principais-beneficios/

 

Por ARIANE FERREIRA IZAC

Analista apaixonada por testes, dançarina, corredora e colecionadora de viagens! Filha de peixe (jornalista) peixinho (blogueira) é. Meu grupo no LinkedIn só poderia ser "Diário de uma paixão: Teste de Software"

Postado em: 13 de abril de 2016

Confira outros artigos do nosso blog

Como foi o 9º Meetup DevTests HST com apoio da Matera

24 de setembro de 2018

Ariane Ferreira Izac

Matera participa da 9ª edição do meetup DevTests Campinas

03 de setembro de 2018

Ariane Ferreira Izac

Teste de mutação com PITest

24 de agosto de 2018

Julio Cesar Consolini

Introdução ao Dev-Test Pairing

13 de junho de 2018

Caio Rizolli

Deixe seu comentário