Esse não é mais um artigo sobre ferramentas de teste

As definições de toolbox foram atualizadas com sucesso!

--

Exemplos de ferramentas de trabalho por Freepik

Você está reunido com seu time, analisando algum contexto e surge aquela pergunta: tem alguma ferramenta que pode apoiar a solução proposta?

Em toda trajetória dentro do mundo de tecnologia é comum nos depararmos com perguntas como essa. A resolução de problemas faz parte do cotidiano do profissional que atua com TI, e a busca por ferramentas que apoiam a solução desses desafios também.

Quando a proposta desse artigo surgiu, lá no Programa de Testes e Qualidade de Software ❤, estávamos realizando uma pesquisa sobre ferramentas que pudessem apoiar o processo de testes de uma maneira fluída.

Porém a maneira e o calor com que o tema qualidade de software tem sido tratado nos últimos anos tem colaborado para a criação de conteúdos incríveis sobre as mais diversas ferramentas de testes que temos no mercado.

Nesse momento você reflete 😐: “Ai vem mais um artigo falando de mais ferramentas de testes e como elas podem resolver os meus problemas!”

Não. Hoje a ideia não é falar sobre ferramentas de testes, mas sim de ferramentas que podem auxiliar o processo de qualidade como um todo, sem que isso esteja diretamente ligado ao contexto de testes.

Na verdade é um tanto incomum uma única ferramenta por si só resolver todos os desafios de uma solução de maneira mágica, mas isso é assunto para um outro momento.

Para falar do nosso tema separei uma lista com 5 ferramentas que talvez não sejam tão convencionais aos tutoriais que vemos pela internet, porém todas elas aqui listadas contribuíram de maneira muito positiva para o meu e outros times.

Mas se não são ferramentas de teste, o que elas são? Podemos classificá-las dentro do nosso escopo como ferramentas de apoio, onde cada uma delas mantém um papel independente dentro do processo de desenvolvimento e operação.

Hora de abrir nossa nova caixa de ferramentas!

ReportPortal

Representação do ReportPortal integrado à frameworks de automação

O ReportPortal funciona como um dashboard de monitoramento para automações de testes. Porém o foco hoje é não olhar apenas para testes, certo?

Além de permitir a extração de insights e relatórios centralizados, o diferencial do ReportPortal está em um pequeno detalhe: sua arquitetura oferece integração com um sistema de inteligência artificial para suportar falhas identificadas durante a execução dos testes automatizados.

Através da construção de uma base de conhecimento fundamentada nas execuções de testes, ele se torna capaz de classificar falhas identificadas pela automação de maneira inteligente. Atualmente nesse processo podemos destacar a sua integração com o Jira, que abre a possibilidade da ferramenta criar cards de maneira automatizada para os problemas identificados.

Agora uma das melhores partes: o ReportPortal é open source!

Mockoon

Tela inicial do Mockoon com configurações de exemplo da ferramenta

Por vezes durante o Programa de Testes e Qualidade de Software temos mostras e exemplos práticos de problemas relacionados ao processo de desenvolvimento que podemos vivenciar no dia a dia de um projeto.

Dentre esses exemplos podemos destacar as disjunções entre o projeto e a utilização de recursos externos que podem ser necessários para que o software se comporte da maneira esperada. Por vezes alguns desses recursos podem não estar disponíveis durante o processo de desenvolvimento.

Imagine uma loja online que gostaria de disponibilizar uma opção para que seus clientes paguem compras com cartão de crédito. Agora reflita como seria complexo reproduzir todo um sistema para processar esses pagamentos de forma controlada.

De maneira bem enxuta: seria necessário um cartão de crédito real, bastante burocracia com a gestora do cartão e um controle gigante para estornar cada transação efetuada durante o desenvolvimento.

Não seria mais simples se a gente pudesse simular e minimizar todos os riscos desse processo? É nesse momento que o Mockoon pode entrar em ação!

O Mockoon é uma ferramenta multiplataforma que possibilita a criação de mocks para serviços API REST de maneira fácil e rápida. Além da grande gama de recursos como simulador de latência e a possibilidade de trabalhar com respostas dinâmicas, podemos destacar sua funcionalidade que permite importar e exportar as “configurações de ambientes” de forma prática.

Outro detalhe que não podemos deixar de pontuar é sua versão CLI (Command-line Interface), que abre a possibilidade de vários times manterem um ambiente simulado online e colaborativo.

Boas notícias aqui também: o Mockoon é open souce!

Graylog Open

Painel de controle do Graylog

Independente do escopo de atuação do time (projeto, suporte, operações), acredito eu que na grande maioria das vezes toda investigação de um comportamento não esperado começa no mesmo ponto: a análise de logs.

O grande detalhe desse contexto é que com a “cloudificação” de aplicações suportada pelo modelo de sistemas distribuídos, onde temos a possibilidade de cada microsserviço possuir sua própria infraestrutura, vem também a segmentação dos logs de cada aplicação… LOGS EVERYWHERE!

É aí que o Graylog entra em ação. E cá entre nós, tem coisa mais gratificante que encontrar logs de maneira efetiva ao analisar aquele problema que está fazendo o contador de tickets de suporte parecer uma roleta de quermesse?

O Graylog além de possuir um excelente painel que facilita sua utilização, permitindo efetuar pesquisas avançadas por meio de consultas estruturadas, também oferece recursos para que o gerenciamento de logs de diferentes clients (aplicações, serviços, servidores, etc) seja feito de maneira centralizada.

Adivinha: o Graylog Open é open source!

Docker

Logo do Docker customizada com exemplos de aplicações em container

Nada mais justo um dos principais recursos da atualidade para a sustentação de aplicações estar presente nessa lista. E acredite você ou não, nesse exato momento você provavelmente está usufruindo de todo seu potencial!

O Docker juntamente com o conceito de virtualização em containers resolveu uma série de problemas relacionados à padronização de ambientes servidores de aplicações.

Porém, mais que servir de apoio para um ambiente produtivo, a utilização do Docker não precisa ocorrer diretamente na nuvem e isso abre espaço para um mundo de possibilidades quanto à disponibilidade de recursos em sua estação de trabalho. Então show me the magic, né?!

Acredito que a maneira mais simples de expor um exemplo seja compartilhar uma situação que passei há um tempo onde uma amiga* precisava verificar o funcionamento de um RPA (Robotic Process Automation) que acessava um servidor FTP, processava alguns arquivos e devolvia pra o FTP.

Até ai tudo bem, mais um dia normal em Townsville. O grande problema é que o acesso ao FTP era restrito à alguns colaboradores.

Pessoal um pouco mais antigo da interwebz sabe que pode ser um baita parto configurar um servidor FTP da maneira correta, utilizando protocolos de segurança, disponibilizando o serviço nas portas corretas e por aí em diante.

A solução para esse problema ficou pronta com uma abordagem criativa não convencional e uma única linha de comando. Em cinco minutos estava no ar um serviço FTP com as configurações que a gente precisava.

*um bejo fia do rato branco ❤

Uma observação importante: o Docker é open source!

Typora

I love Markdown

Por fim, mas não menos importante, sempre acreditei que manter uma boa documentação auxilia a manutenção da qualidade.

Nesse caso o ponto que trago não seria bem aquele apanhado gigante composto por regras de negócio de uma aplicação, mas sim algo um pouco mais simples: o arquivo README.md - o guia básico de qualquer repositório de código.

Todo mundo que atua próximo ao escopo de desenvolvimento entende que um README.md bem escrito faz toda a diferença na ambientação à um código que nunca tivemos contato.

O detalhe é que apesar de simples, o modelo de escrita em markdown não é muito amigável para a composição de recursos gráficos que ajudam a tornar a leitura de um documento mais fluída.

A proposta do Typora é justamente essa: tornar o processo de composição e leitura em markdown mais amigável. Além de oferecer tradução aos símbolos de sintaxe e apresentar o texto em uma visão não poluída, o Typora possui funcionalidades que auxiliam a composição de tabelas, links tratados e imagens, literalmente, ao alcance de um clique.

Uma última vez: o Typora não é open source (̶m̶a̶s̶ ̶p̶o̶r̶ ̶e̶n̶q̶u̶a̶n̶t̶o̶ ̶é̶ ̶g̶r̶a̶t̶u̶i̶t̶o̶)!

Acho que esse talvez seja o único ponto de atenção para essa ferramenta. Um dia ela pode deixar de ser gratuita, até lá seguimos usando fortemente!

Update: em novembro de 2021 o Typora lançou sua primeira versão oficial.

Escrever esse artigo teve para mim um toque a mais do que apresentar algumas ferramentas. Uma das coisas que realmente achei interessante quando estava estruturando o texto foi abordar a utilização de recursos com licença aberta e desmistificar um pouco aquela sombra que software aberto não tem suporte, exemplos não faltaram por aqui. 😁

Eu realmente espero que essas cinco sugestões possam fazer a diferença na qualidade e nos desafios diários, seu e da sua equipe.

Aproveitando o espaço por aqui, deixa aí pra gente nos comentários sua indicação daquela ferramenta ~diferentona underground~ que logo faz você pensar: o mundo precisa conhecer isso!

--

--