Amanda Carneiro
3 min readApr 17, 2018

Quando se fala em testes de uma aplicação, um software ou até mesmo um método, os desenvolvedores entram em estado de depressão por assim dizer. É aquele momento em que você olha e fala: terminei, “só falta testar…”, e esse foi um tema abordado no CapiConf 2018, em um evento com tanta visibilidade para desenvolvedores é importante perceber que algumas situações encontradas no seu time de DEV também são comuns à outros desenvolvedores que não são da mesma equipe que você e não são nem da mesma empresa que você.

Todo desenvolvedor sabe que testes são, muitas vezes, mais importantes que a aplicação por si só. De nada adianta uma nova funcionalidade criativa se ela não fizer o que propõe ou pior, fizer o que propõe às vezes e às vezes trouxer um erro para o usuário. Ninguém quer isso. E a PrimeControl abordou este tema com muita atenção no CapiConf.

Bom, vamos ao que interessa. Testes não deveriam ser feitos na finalização da implementação de métodos, aplicações ou softwares, não é uma atividade final, mas sim parte de todo o processo. Os testes precisam evoluir de acordo com a evolução do projeto.

Muitas equipes não usam testes automatizados, por diversas razões e isso pode tornar o processo muito mais difícil, além de criar uma dependência com a pessoa responsável ou com um time de teste. Se não tiver disponibilidade de pessoas para fazer os testes manuais, que muitas vezes não garantem que todas as situações sejam verificadas, das duas uma, ou o projeto fica aguardando até que possa ser testado ou quem vai fazer o teste final é o usuário e este é o pior dos casos, a sua credibilidade como software, empresa e desenvolvedor fica em jogo, só aguardando que o usuário tome uma ação que você ou o seu time não conseguiram identificar previamente.

Como melhorar esse processo? Uma das práticas que melhora significativamente a qualidade e a agilidade é a automação de testes. Existem diversas ferramentas que podem servir como solução para as mais diversas aplicações e softwares. E nós como desenvolvedores precisamos olhar para o que estamos fazendo e buscar a automatização desse processo. Alguns itens a serem levado em consideração são custo, esforço e impacto sobre o projeto em que estamos trabalhando.

Além disso, o time de desenvolvimento precisa progredir constantemente para atingir maturidade e tornar-se independente. Uma das melhorias que pode ser feita em um time é a inclusão de um ou mais QAs (Quality Assurance) especializados no time. E o que é um QA? QA basicamente é o cara que realiza atividades e testes com a finalidade de garantir a qualidade do serviço oferecido. O principal objetivo é a entrega de um software, sistema ou aplicação de qualidade e desempenho de acordo com o que pode ser oferecido e de acordo com o que o usuário espera. O QA é responsável por ajudar o time a identificar os possíveis problemas e soluções, além de buscar, conhecer e compreender a forma como o usuário utiliza e interpreta o serviço oferecido, na intenção de sempre melhorar o que está sendo entregue tanto com relação à performance quanto com relação à usabilidade para o cliente.

Boas práticas de testes devem fazer parte da rotina de um time de desenvolvimento. Automatização é uma das boas práticas que pode ser implantada gerando bons resultados quanto à qualidade do serviço além de aumentar a satisfação do usuário por consequência. Então, vale a pena levar em consideração, não é mesmo?

Amanda Carneiro

Engenheira de software, apaixonada por tecnologia. Amo arte, amo conhecer lugares novos e viver viajando é o que me motiva todos os dias.