logo

Tornando-se um QA DevOps em 7 passos.

Estava nos meus rascunhos um arquivo sobre o caminho das pedras para se tornar um devops; mas aí surgiu a oportunidade de falar sobre testers técnicos no TDC2014, e eu acabei criando a palestra "guia do tester técnico das galáxias" , e o post acabou caindo no limbo dos rascunhos.

Agora que fui desafiado pelo @chuckmyersbr no #desafioAgileTesters (pode isso, Arnaldo?), com nome e tema do post, então vamos lá.

Vou tratar um QA Devops diferente de um devops tradicional do mercado brasileiro, que geralmente é um sysadmin que programa em ruby.

Um QA Devops precisa, antes de qualquer outra coisa, ser técnico. Ou seja, ele precisa entender além dos casos de uso/histórias de uma aplicação. Ele precisa ser capaz de entender um diagrama de sequência, um diagrama de classes e de interação. Na práatica, o primeiro passo para ser se tornar um QA DevOps é ter o mínimo de skill para entender "por debaixo dos panos" como funciona a aplicação que você está testando. Parece banal mas é só perguntar para um testador padrão quais são os pontos críticos de integração da aplicação que ele testa, e provavelmente ele irá falar das integrações externas (no máximo!).

Para entender tecnicamente sua aplicação, o QA devOps precisa conhecer as tecnologias envolvidas e isso nos leva ao segundo passo que é sempre estudar novas tecnologias (Esses é um dos motivos principais que o http://agiletesters.com.br lançou o #desafioAgileTesters !) (esse passo está diretamente ligado ao terceiro passo).

Seguindo o pensamento do segundo passo, partimos direto para o terceiro passo que é, muito provavelmente, o mais importante da sua vida como profissional de TI: Um QA DevOps deve saber programar. Grande parte das novas tecnologias que você verá na sua jornada serão fortemente ligadas a alguma linguagem.

Quando você domina uma linguagem, principalmente alguma linguagem baseada em pearl como python ou ruby, é sua responsabilidade automatizar processos e ajudar na automação de testes, o que nos leva ao quarto passo, que é a aplicação do princípio DRY: dont repeat yourself. Tudo que você faz e é recorrente, você deve automatizar.

Agora que nosso projeto de QA devops já tem as skills de um desenvolvedor e QA, ele precisa de algumas skills de infra. O quinto passo para se tornar esse generalista especialista é entender como funciona o ambiente em que se encontra a aplicação. Ele precisa saber detalhes do servidor de aplicação que ele está usando, se passa por um servidor web, etc. Como ele é um dos responsáveis pela integração contínua, deve entender quais são as dependências (necessidades?) de máquina e software para que isso seja possível.

Colocando tudo isso no bolo, chegamos ao passo 6 que é entender que você é o homem do meio. Chame de especialista generalista, chame de bombril, mas o QA DevOps é a uma das grandes referências de como as coisas funcionam por essas bandas (todas as coisas!). Para isso, ele precisa invocar o que ele mais usa como um profissional de teste: o diálogo. Como o profissional de DevOps entende os 3 lados, ele é (ou provavelmente será) a pessoa que vai fazer alinhar expectativas, demandas e necessidades das equipes.

Para finalizar, o passo sete para se tornar um QA DevOps é gostar do que faz. Existem pessoas que não gostam de estar no meio da zona de guerra, ou que não querem sair da sua zona de conforto. Ser um tester técnico, e depois possivelmente um devops, não é para qualquer um; mas caso você queria um dia se tornar um, é muito gratificante.

Em tempo de fazer o post, acho que cabe um passo 8 que é : aprenda inglês.. :)
Ultimamente o conteúdo referencial de tecnologia em português está aumentando mas não chega nem aos pés do que é disponibilizado em inglês.


O post é pequeno, porque já estamos batendo nessas teclas há tanto tempo, que não acho que preciso me extender tanto no tema.

Agora, se quiser entender um pouco a mais dos passos e como adquirir essas "novas" skills.

passo 1:
http://pt.wikipedia.org/wiki/Diagrama_de_classes
http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/diagramas/classes/classes1.htm http://saturnnetwork.wordpress.com/2010/10/22/five-reasons-developers-dont-use-uml-and-six-reasons-to-use-it/

passo 2 e 3:
http://codeacademy.com
http://codeschool.com
http://keeptesting.com.br/2014/11/25/seu-ambiente-de-teste-com-docker/
http://www.fredmoreira.com/2014/11/como-voce-anda-testando-sua-api-rest.html
http://www.bugbang.com.br/getting-technical-i-tres-passos-pra-comecar/

passo 4:
http://agiletesters.com.br/topic/103/a-arte-de-desenvolver-testes-cucumber-capybara
http://keeptesting.com.br/2014/11/04/dicas-avancadas-de-ruby-capybaracucumber/
http://www.bugbang.com.br/aprendendo-automacao-sem-cursos-caros/

passo 5:
http://www.darlen.eti.br/down/intro_bash.pdf
http://en.wikipedia.org/wiki/Application_server
http://en.wikipedia.org/wiki/Web_server
http://nginx.org/en/docs/beginners_guide.html
http://code.tutsplus.com/tutorials/an-introduction-to-apache--net-25786

passo 6:
http://gutocarvalho.net/octopress/2013/03/16/o-que-e-um-devops-afinal/
http://blog.devopsguys.com/

passo 7:
http://devopsreactions.tumblr.com/

passo 8:
https://www.duolingo.com/
http://livemocha.com/

Para entender um pouco sobre o Escopo do QA DevOps, de uma lida nesse post do @daniel amoril => agile tester 3.0

#desafioAgileTesters


Sobre o Autor: Leonardo Galani é Agile Tester, dev, gamer, dj and etc. Mantém o fórum http://agiletesters.com.br | http://leonardobg.com.br (profile)| http://lazytester.com (blog em inglês)
http://br.linkedin.com/in/leonardogalani/

comments powered by Disqus