Testadores de software ágeis precisam de habilidades técnicas?

Dando continuidade a séria de contradições a respeito do tema Teste de Software, você acha que testadores de software ágeis precisam ter conhecimentos e habilidades técnicas?

Eu particularmente acredito que sim, mas a ideia aqui é apresentar as duas diferentes perspectivas.

E quando fala-se de habilidades técnicas, devemos ter em mente que estamos falando de conhecimentos em bancos de dados (relacionais ou não-relacionais), conhecimentos de DOM (Document Object Model), como ler e escrever XMLs, como trabalhar com expressões regulares, conhecimentos sobre sistemas de controle de versão, e conhecimentos de linguagens de programação, como Ruby, Python, Java e outras.

Daí vem as contradições…

Testadores de software não precisam de conhecimentos e habilidades técnicas

Um testador de software sem habilidades técnicas, porém com boa habilidade de comunicação, pode realizar um trabalho efetivo na realização de testes exploratórios, reporte de defeitos ou inconsistências na aplicação em teste, e ajudar o desenvolvimento no entendimento do que é prioritário à ser corrigido, como também, ajudar na perspectiva de negócio, visto que consegue pensar na aplicação em desenvolvimento com os olhos de um usuário final. Além disso, o fato de o testador não possuir habilidades técnicas ajuda-o a não restringir os testes devido à limitações técnicas por parte do sistema.

Testadores de software ÁGIES precisam de conhecimentos e habilidades técnicas

Eu humildemente acredito que testadores de software precisam obrigatoriamente de habilidades técnicas, e vou lhes explicar minha opinião.

Para começar, é necessário possuir estas habilidades para estar mais próximo dos desenvolvedores, e para que estes tenham mais respeito pelos testers, visto que sabem que podem “falar a mesma língua” e que podem contar com alguém para a criação e gestão de testes automatizados que garantem os testes de regressão do sistema.

Conhecimentos de queries em bancos de dados também são muitas vezes essenciais, para por exemplo, se obter dados os quais podem compor o pré-requisito de um caso de teste, ou então, para simplesmente verificar que um registro foi inserido na tabela cliente, quando um novo cliente é cadastrado via aplicação.

Conhecimentos de HTML, CSS e JavaScript também ajudam muito na atividade de testes, já que os sistemas web estão “bombando” muito. Estas linguagens são definitivamente essenciais, não só para questões de criação de scripts de testes automatizados, como também para debug de inconsistências no sistema, com a ajuda de ferramentas do desenvolvedor providas pelos navegadores, tais como o Firebug.

Testes de web services podem facilmente ser realizados com o SoapUI, por exemplo, porém, existirá a necessidade de conhecimentos de XML, ou de JSON, para se montar as requisições ao serviço. E também, temos que conhecer o que significam as respostas à estes serviços, como um status 200 (sucesso), 404 (não encontrado) ou um erro 500 (erro interno no servidor).

Outra habilidade técnica que me ajuda muito no dia-a-dia é saber montar um ambiente de desenvolvimento local, para agilizar os testes, e poder-se ter localmente a possibilidade de fazer um pull no repositório do git, e estar com o ambiente atualizado em minha própria máquina, não dependendo de deploys, os quais as vezes são demorados, ou mesmo burocráticos.

E ainda, para ser um testador ágil, precisamos de automação de testes, que exigem conhecimentos de programação, e no meu caso, que trabalho com BDD, de conhecimentos de expressões regulares, para que meus scripts automáticos entendam user stories escritas em Português (com as palavras-chave Dado, Quando e Então) e então possam executar os testes, garantindo os testes de regressão do sistema, e me deixando livre para testes exploratórios de funcionalidades que estão em desenvolvimento.

E você? Qual sua opinião sobre estas contradições? Deixa um comentário aí.

E se gostou, me ajuda a divulgar este post, no Facebook, Twitter, por email ou como for.

Uma ótima semana! =)

Dica de QA: Caso ainda não possua alguma das habilidades técnicas mencionadas acima, manda um email para talkingabouttesting@gmail.com, e eu te ajudo a desenvolvê-la.

Um comentário em “Testadores de software ágeis precisam de habilidades técnicas?

  1. Olá.

    Primeiramente parabéns pelo post. Essa é uma antiga discussão da área e repleta de pontos de vista.

    Eu particularmente compartilho da sua opinião. Tudo o que foi falado.

    E acrescento que acredito que esse seja o caminho que vai levar o teste de software a outro patamar dentro do mercado.

    Da mesma forma que equipes de infraestrutura hoje agregando conhecimento de programação evoluíram a patamares de infraestrutura dinâmica, auto-escala e cloud.

    Áreas como teste de software e muitas outras tendem a evoluir num caminho de melhoria e ainda mais facilidades e recursos para a automação (tão necessária no mundo de software hoje em dia), a partir do momento que profissionais de teste tornam-se os responsáveis por esta evolução. Não mais partindo por desenvolvedores, que apesar de terem uma boa base para agregar a este assunto, são os testers que levarão seu objetivo e pontos de vista para sua própria rotina e ferramentas.

    Parabéns mais uma vez.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s