Quais são as razões para que o Robot Framework não seja amplamente utilizado?
O meu palpite é que mais pessoas não o usam porque a maioria das pessoas não sabe sobre ele, e aqueles que o usam podem ter dificuldade em entender o quão poderoso ele é.
O problema de marketing
Felizmente, a equipe central de desenvolvimento é extremamente pequena e não gasta muito tempo ativamente comercializando-o, então ele não tem muita tração na indústria. Talvez a nível individual, eles gastam muito tempo a fazer marketing, mas é difícil ganhar tracção se for apenas uma pessoa a falar em público. Não tem havido bons livros escritos sobre ele, há muito poucos podcasts ou blogs, e não aparece na agenda na maioria das conferências.
Eu também acho que é difícil entender completamente o quão poderoso é o robô, e como ele é notável como ferramenta de teste. Talvez haja lá um problema de galinha e ovo: as pessoas não escrevem e falam sobre ele porque não é muito popular, e não é popular porque as pessoas não escrevem e falam sobre ele.
Endereçar o público alvo
E suspeito que há provavelmente dois tipos de pessoas que tropeçam na estrutura do robô - desenvolvedores altamente técnicos procurando uma maneira de realizar testes de aceitação em seu corpo de trabalho, e testadores menos técnicos que estão procurando uma maneira fácil de escrever testes. Não tenho a certeza se a documentação actual se dirige correctamente a qualquer um desses grupos. Eu poderia estar muito fora da base aqui, estou apenas especulando.
O problema com o primeiro grupo é que eles verão que podem escrever palavras-chave em uma linguagem de programação, e então se perguntam porque eles precisam do framework. Eles podem erroneamente acreditar que não podem usar sua ferramenta favorita para criar os testes, e muito poucos desenvolvedores estão dispostos a usar alguma outra ferramenta além do editor ou IDE que eles conhecem e adoram. Eles podem descartar o robô completamente, ou "jogá-lo sobre a parede" para seus testadores, mas sem nenhum plano de usá-lo eles mesmos.
O problema com o segundo grupo é que, francamente, o framework de robôs vanilla é difícil de usar para escrever grandes suítes de testes. As demos parecem todas ótimas, mas você começa a pedir aos não-programadores que criem uma suíte de testes bem organizada, flexível e gerenciável e eles se perdem. Não existem bons recursos para ensinar um indivíduo ou equipe a usar robôs em cenários do mundo real.
É fácil de aprender, mas difícil de usar
Finalmente, eu acho que a estrutura de robôs é uma ferramenta de força industrial e precisa ser tratada como tal. Como é com muitas ferramentas de força industrial, requer um pouco de experiência e perícia para atingir todo o seu potencial. Se você vai tirar o máximo proveito do robô, você precisa de alguém que dedique uma quantidade considerável de tempo para que ele funcione. Definitivamente não é uma bala de prata. Meu palpite é que algumas equipes desistem muito cedo, antes de perceberem o verdadeiro potencial do robô.
Quando você combina tudo isso com a forma como muitas, muitas organizações trabalham - onde os testes não são feitos até que a codificação esteja concluída ou quase concluída - o robô pode não parecer muito atraente para a maioria das equipes.
O poder oculto do robô framework
O verdadeiro poder do robô framework é ter desenvolvedores e testadores trabalhando lado a lado ao mesmo tempo em um ambiente ágil. Não há muitas equipes que trabalhem dessa forma. Os desenvolvedores podem usar seu IDE ou editor favorito para ajudar a criar palavras-chave na linguagem de sua escolha - palavras-chave que são específicas de domínio, e que escondem os detalhes de implementação do sistema em teste. Os testadores podem então usar essas palavras-chave para deixá-los focar nos detalhes do plano de teste, ao invés das complexidades da implementação.
Quando um desenvolvedor precisa fazer uma grande mudança, eles não precisam mudar nenhum teste, eles simplesmente têm que ter certeza de que as palavras-chave ainda estão funcionando. Você pode fazer grandes, grandes refatorações internas com muito pouco impacto nas equipes de teste (assumindo que a experiência real do usuário não muda muito)
Felizmente, é difícil transmitir essa mensagem. Diabos, levei alguns anos trabalhando com robôs antes de realmente entender o quão poderoso e transformador ele pode ser em uma equipe de desenvolvimento.
Sumário
Em resumo, eu não acho que as pessoas se esquivam do robô devido a qualquer limitação técnica em particular, mas sim porque elas simplesmente não sabem que ele existe, ou sabem que ele existe, mas não entendem o quão poderoso ele é.
Artigos semelhantes
- O layout do teclado Dvorak alguma vez se tornará amplamente utilizado?
- Quais são alguns dos projetos mais divertidos que eu poderia começar no Spring Framework para ter o meu interesse nisso?
- Um mini PC como o Intel NUC é adequado para programação hardcore (Webservice framework para Raspberry Pi) como um desktop ou laptop?
- O framework iônico é melhor do que o Android Studio para o desenvolvimento de aplicativos móveis?