Aprendendo a testar chatbots

Antes de mais nada, esse post não é um tutorial (ahhhhh). Esse post é, na verdade, para falar um pouco sobre chatbots e como fazemos para garantir a qualidade deles aqui na Take.

Mas, afinal, o que é um chatbot?

Sem muitos detalhes, é um software que funciona dentro de aplicações de mensagens. Ele pode ser de duas maneiras: baseado em regras ou em inteligência artificial.

Os chatbots baseados em regras são um pouco limitados, pois eles têm fluxos de navegação definidos. Ou seja, as respostas se dão através de comandos e palavras-chave. Se a pessoa envia uma palavra ou comando que o chatbot não conheça, ele não saberá a resposta correta.

Já os bots com inteligência artificial têm a capacidade de aprender e entender linguagem natural, eles não dependem de comandos pré-definidos e ficam mais inteligentes à medida que as pessoas vão interagindo com ele.

Exemplo de Chatbot

Exemplo de Chatbot

 

Essas informações eu tirei de um post de um cara que manja muito de chatbot. O Caio Calado é um evangelizador do assunto! Clica aqui para ler o post dele que fala mais detalhes sobre o assunto no blog Chatbots Brasil.

Agora que você já sabe o que é um chatbot, vamos ao que interessa. Aqui no post, vamos falar do primeiro caso: os bots baseados em regras.

E se tratando de Chatbots…

Por onde começar?

Fazendo uma pesquisa (não tão rápida) no Google, percebi que não tinha muita coisa sobre o assunto. Então, comecei seguindo a cartilha do profissional de QA mesmo: pelo bom e velho requisito. Atende? Ok! Não atende? Bug!

… e o que aprendi (até agora) com os Chatbots?

É importante ressaltar que, além do BliP Mensagens, utilizamos aplicativos de terceiros como Facebook Messenger e Telegram para conversar com nossos Chatbots. E, ao utilizar aplicativos de terceiros, temos que conhecer bem as suas funcionalidades e entender as suas limitações. Só assim podemos separar bem o que é bug nosso e o que é limitação da plataforma. E, além disso, entender como o bot se comporta em cada um deles (e não é da mesma forma!).

Como já explicado, os bots baseados em regras esperam comandos e palavras-chave pré-determinadas para poderem responder e, caso não chegue esse comando para ele, não saberão o que fazer. Esse é um cenário importante a ser explorado. Por quê? Porque é o que vai acontecer. Haverá muita interação dos usuários fora do fluxo determinado. E quais podem ser as consequências disso? A pessoa pode ficar presa em um fluxo de “Não entendi”! Meio chato isso, né?!

Outro caso, não menos grave e chato, é o bot ficar preso em um fluxo e parar de responder. Portanto, é preciso testar muito bem os casos de exceção nos bots.

A usabilidade também é um ponto de atenção. O texto não deve ser algo muito longo, pois pode ficar cansativo para quem interagir. É importante que o fluxo dê a sensação de conversa, pois essa é ideia de um chatbot. Não é legal passar a ideia que estamos conversando com uma máquina.

Outro ponto a ser observado é o tempo de resposta; o ideal são respostas imediatas. Não deixem brechas para interação das pessoas no meio do fluxo, principalmente nos bots que aguardam comandos. Já citei alguns problemas no parágrafo anterior!

E, junto com o aprendizado, vieram grandes desafios.

… e quais são os desafios?

Quem acompanha o blog sabe o quão entusiastas de automação nós somos. Então, como primeira opção, pensei em automatizar os bots no aplicativo mobile do Facebook Messenger para Android. Já no primeiro run… ban! Permission to start activity denied.” Diante dessa situação, foi hora de abandonar a opção dos testes mobile. Migrei os testes para web e… é sucesso! Seria bem legal se o Facebook liberasse uma versão de teste, já que utilizamos o aplicativo deles como um canal.

Outro desafio é o monitoramento dos bots. Os nossos bots têm a opção SMS além de BLiP, Facebook e Telegram. Dessa forma, hoje o monitoramento é feito através de uma ferramenta que temos na Take para monitorar SMS, a Sonda. Criamos sondas para ficar interagindo com o bot minuto a minuto. Caso o bot pare de responder, um alarme é gerado e a equipe de suporte aciona os responsáveis por garantir a disponibilidade do bot.

Mas vamos evoluir a maneira que monitoramos eles também. Uma opção é colocar os nossos testes automatizados no nosso servidor de testes, alarmando para a equipe de suporte.

Bem, foi com isso que andamos nos divertindo nos últimos dois meses (ou um pouco mais), por isso ainda não temos muito o que compartilhar. Mas não podíamos deixar de contar essa novidade para vocês. Aguardem que novos posts sobre os chatbots virão, pois esta tendência é nova e está bombando!!

Sobre o(a) autor(a)

Letícia Bomfin Ramos
Letícia Bomfin Ramos

Graduanda em Sistemas de Informação pela Pontifícia Universidade Católica de Minas Gerais, iniciando a carreira em 2012 como estagiária da Gerência de Homologação na Prodabel. Hoje, atua como Analista de Qualidade de Software na Take. Apaixonada pela area de qualidade de software, mobile, chatbots e automação de testes. Conquistou o 4º lugar e o prêmio Most Useful Test Report na etapa South America do Software Testing World Cup 2014, ao lado de Samantha (QA), André (QA) e Rhamon (PO).

4 comentários

Comente
  • Bom post, adorei o post do Caio no blog Chatbots Brasil. Mas entrei aqui seca pensando que fosse um tutorial.

    Se o intuito foi atrair leitores para o post, funcionou! mas o título bem poderia ser alterado…

    • Carol Ciola,
      bom dia!

      Como a área de chatbots é recente ainda estamos aprendendo como testar, o que validar e principalmente sobre como ter a melhor experiência para o usuário.
      À medida que formos descobrindo vamos compartilhando aqui para ajudar outras pessoas tbm.

      Muito obrigada pelo feedback.

        • Olá André!
          Muito obrigada pelo comentário!
          Foram lançados outros posts mais completos sobre o assunto aqui no blog também!
          Depois dê uma olhada 😉

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Você pode usar as seguintes tags e atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

by Take ® 2015 | Todos os direitos reservados.linkedin