As condições de rede e os seus testes – ATC SP 2017

Postado 11 de maio de 2017

E ai, galera?

Não sei se vocês acompanham o que rola nas comunidades de testes deste Brasilzão. Caso estejam, talvez tenham tido a mesma percepção que eu: a galera está arrebentando cada vez mais, criando vários fóruns e possibilidades de discutir qualidade de software nos mais variados formatos, sempre com o intuito de instigar o desenvolvimento dos participantes com o compartilhamento de conhecimento.

Um formato que eu venho curtindo bastante é o trabalho que a galera do Agile Testers está desenvolvendo. Por meio de vários talks, as pessoas compartilham conhecimento sobre uma determinada tecnologia que contribui para mais qualidade no desenvolvimento de software, incentivando os demais em seu desenvolvimento profissional. Em 2016 rolou apenas uma edição, realizada em São Paulo. Neste ano eles organizaram 10 edições que estão distribuídas pelo nosso Brasilzão.  \o/

agile

Pra quem ainda não conhece a galera do Agile Testers, aqui vai um resumo:

“Agile Testers é uma comunidade focada em qualidade no desenvolvimento e testes de softwares. Possui uma plataforma online para a interação e o desenvolvimento das pessoas e conta com pouco mais de 1600 usuários cadastrados. São quase 4 mil posts para interação e desenvolvimento técnico de pessoas espalhadas pelo Brasil.”

A primeira edição desse ano rolou em São Paulo, no mês de março. E como os Yousers estão sempre antenados em inovação, desenvolvimento técnico e compartilhamento de conhecimento, alguns de nós estivemos presentes. Inicialmente escrevi esse post para compartilhar com vocês um pouco sobre a talk que o Celso Crivelaro apresentou e gerou uma discussão sobre a necessidade de testes nas mais variadas condições de rede.

Hoje, envolvidos no contexto de microsserviços e com um número maior de integração, há uma complexidade maior no uso de rede. E quem nunca teve problema com ela, por mais simples que seja? Pode atirar a primeira pedra aquele que nunca reclamou da operadora de internet! Será que os softwares que desenvolvemos e entregamos estão preparados para lidar com os problemas de rede?

Sabe a Netflix? Se você utiliza bastante o serviço de streaming, principalmente conferindo as intermináveis maratonas de séries a cada novo lançamento do catálogo, já deve ter percebido que a qualidade da imagem raramente diminui ou perde um pequeno percentual de nitidez. Às vezes, falta pequena sincronia do áudio com o vídeo e a plataforma quase nunca trava. Em último caso, aparece na tela do usuário que ele está com problemas de conexão.

Você já se questionou como a Netflix se prepara diante das mais variadas condições de rede? Independentemente da sua resposta, é inegável que eles priorizam o máximo garantir a exibição dos seus produtos e serviços com foco em entregar uma boa experiência ao usuário.

Em maio do ano passado, quando comecei na Youse, uma das grandes preocupações mais discutidas era sobre como proporcionar aos usuários que tivessem os mais variados tipos de conexões, para que  pudessem realizar a compra dos nossos produtos pelos dispositivos, considerando que há lugares nos quais até a tecnologia 3G é instável no país. Desde então continuamos trabalhando e pensando o quanto é importante a nossa preocupação com a interação com os usuários por meio de seus devices.

Demo

Voltando ao talk, o Celso demonstrou para a galera como realizar alguns testes. Ele utilizou o ToxiProxy da Shopify como tecnologia e, nessa demonstração o ToxiProxy contribuiu bastante como um simulador de problemas de rede, possibilitando uma programação prévia conforme as necessidades. E sabe o legal disso tudo? A automação de testes assim pareceu bem menos difícil. Se você ficou com curiosidade, dá uma olhadinha no material que ele apresentou.

Conhecer o ToxyProxy foi bem interessante, pois ele pode nos ajudar a simular os erros mais comuns  que normalmente ocorrem com a rede para garantir mais qualidade nas entregas dos nossos softwares e melhores experiências aos usuários.

Fernando Hatada