Como ensinar seus usuários / clientes a enviar melhores descrições de erros


16

Muitas vezes tenho que lidar com clientes ou usuários que estão relatando erros nos aplicativos. Na maioria das vezes, seu conteúdo é algo inútil como

  • ERRO!!!
  • x não funciona

sem muito mais informação.

Para resolver o problema, tenho que solicitar todos os detalhes deles, o que geralmente consome mais tempo do que corrigir o problema. Outros enviam informações em formatos que não são ideais, como capturas de tela (de registros de dados, não de erros), embora possam enviar um link (temos acesso aos sistemas) e assim por diante.

Como você instrui seus usuários / clientes a descrever os problemas com mais detalhes para que todo o processo seja mais fácil para os dois lados?

editar

Essa pergunta é mais sobre as habilidades sociais, do que sobre como obter uma coleção programática de logs e informações de erro. Estou ciente do fato de que isso deve fazer parte de um bom design de software.


24
Você não cria o seu software para enviar logs / mensagens de erro para você.
Mahmoud Hossam

8
Esta, infelizmente, nem sempre é possível, especialmente se você está apoiando software que você não desenvolver, mas que você comprou no.
temptar

1
@Mahmoud: Esse é um bom conselho, mas é realmente relevante apenas se você estiver no estágio de design de um novo aplicativo ou se tiver o luxo (tempo e orçamento) de transformar esse recurso em um aplicativo existente.
FrustratedWithFormsDesigner

1
"mais fácil para os dois lados"? Ambos os lados? Eles já estão fazendo o que é mais fácil para eles.
S.Lott 4/11

1
Você não pode controlar o aplicativo, mas acha que pode controlar os usuários? Você está no campo errado.
JeffO 4/11

Respostas:


5

Recompense seus usuários por bons relatórios de erros, castigue-os por maus (pelo menos um pouco).

O usuário precisa entender que um bom relatório de bug é essencial para você resolver o problema rapidamente e, portanto, também é bom para ele, porque ele obterá a solução muito mais rapidamente.

Portanto, a primeira resposta pode ser algo como "Ok, eu li o seu relatório, mas não sei por onde começar. Você pode me dizer: isso aconteceu uma vez? É um fenômeno recorrente? Você pode tentar o X e me dizer o que Y parece depois disso? " e assim por diante.

Frequentemente, quando as pessoas recebem esse tipo de feedback, dizem a elas o que fazer e dizem (direta ou indiretamente) o que não fizeram em primeiro lugar. Talvez não imediatamente, mas quanto mais relatórios eles apresentarem, mais eles (muitas vezes inconscientemente) antecipam o que você vai perguntar e fornece a resposta diretamente.

Sim, este é um processo passo a passo e não solucionará todos os problemas de comunicação até amanhã de manhã, mas é um começo.


2
Puni-los por maus relatórios: responda com uma lista de perguntas que eles precisam responder e diga-lhes para reenviar sua solicitação de suporte quando tiverem as informações. Atrás da fila!
Kirk Broadhurst

Às vezes, é suficiente ter uma captura de tela anotada adequada do bug / erro, juntamente com as meta informações. Usersnap é um pequeno botão que você pode adicionar ao seu projeto da web para facilitar o relatório de erros.
Gregor

17

Uma coisa que eu já vi vários projetos de código-fonte aberto é escrever um "formulário" padrão para relatórios de erros, com seções para informações geralmente necessárias.

Se você tem um site ou aplicativo de relatório de erros ao qual seus clientes têm acesso, veja se você pode tornar uma versão em branco dele o texto padrão do campo de descrição do erro. Caso contrário, coloque-o em algum lugar onde eles possam encontrá-lo (ou onde você pode apontá-los), por exemplo, no seu site ou no diretório de instalação do seu produto.

Para o seu caso, isso pode ser algo como:

URL where the error occurred:

What you did:

What you expected to happen:

What actually happened:

<Some other information you (ckeller & colleagues) often find useful>:

Any extra information you think might be relevant:

("Você" aqui se refere aos clientes)

A idéia é incentivá-los a fornecer informações úteis, fornecendo uma lista do tipo de informação mais frequentemente útil.


1
+1: quando confrontados com um modelo, as pessoas geralmente tentam preenchê-lo. E se não o fizerem, não leva muito tempo apenas pedindo para preencher o relatório. Além disso, orientando-os com cuidado, você pode evitar o típico "Não funciona!"
Matthieu M. 4/11

5
Implementamos esse padrão no trabalho. 75% de todos os relatórios de erros têm uma variação de "Eu esperava que funcionasse" no campo "esperado" e "Não funcionou" no campo "real". Suspiro.
Charles

1
@ Charles: Em seguida, feche o relatório com um comentário "Resolvido: nenhuma ação".
Donal Fellows

@Donal Fellows - Eu o rejeitaria como "Duplicar".
Mouviciel

7

Normalmente, peço uma captura de tela do erro todas as vezes e, eventualmente, eles começam a me enviar a captura de tela com a solicitação de erro, porque sabem que vou pedir.

Ainda preciso chamá-los para obter mais informações de vez em quando, mas muitas vezes vejo o problema apenas olhando para a captura de tela

Mas eu concordo com o comentário de @ Mahmoud de que a melhor maneira é fazer com que o aplicativo envie erros, em vez de confiar nos usuários.


1
Você nunca teve o caso de obter uma captura de tela de uma caixa de diálogo ou algo pequeno que o usuário julgue relevante, mas na verdade não é? Eu recebo isso o tempo todo ...
sevenseacat

Na verdade, eu entendo isso ocasionalmente, mas quando o faço, geralmente solicito uma captura de tela do erro real. Depois de um tempo eles se acostumar a me enviar o erro real
Rachel

5

A opinião pessimista: você não pode. É a mesma situação de 40 anos antes, exceto que há mais usuários, mais sistemas, mais aplicativos.

(Observe que um pessimista é apenas um otimista com experiência.)


5

Torne mais fácil para eles fazerem ou não.

De preferência, faça da maneira mais fácil que eles possam relatar um erro da maneira que fornece as informações necessárias. Isso quase certamente significa automatizar o processo de relatório de erros no software.

Manter um arquivo de log detalhado e anexá-lo ao relatório de erros é um começo.


3

Quando você terminar a conversa com o cliente, diga a eles "Da próxima vez que isso acontecer, tenha os dados A, B, C, etc. prontos para mim". Obviamente, isso só funciona se esses clientes forem os mesmos que ligam repetidamente. Eu tive sucesso com essa abordagem, na qual os usuários aprenderam certas coisas importantes que a) acelerariam a ligação, b) tornariam a resolução geral muito mais rápida.

Se a maioria deles for chamada única, talvez seja melhor atualizar o "ERRO!" tela com o texto que diz "Você deve reunir os itens de dados A, B, C, ... antes de falar com nossos representantes". Isso realmente dependerá de quanto controle você tiver sobre o aplicativo, portanto, pode não ser possível. Este também não é um caminho certo, mas espero que isso leve a idéia à cabeça do cliente, gritando "ERRORZ PLZ HLP !!!" não é o suficiente.


2

O problema com mensagens de erro em aplicativos modernos é que é praticamente impossível incluir todo o contexto que possa ser relevante. Qualquer coisa, desde a arquitetura do processador até a hora do dia, pode ser relevante, e é por isso que o relatório e o tratamento de erros são mais arte do que ciência. Sistemas como apport-bugsão úteis, pois coletam informações relevantes e as enviam a você. Infelizmente, até os dias de replicadores de matéria, viagens no tempo e compensadores Heisenberg, não há como ter certeza de que as informações que você obtém dos usuários serão suficientes para depurar ou mesmo reproduzir o problema.


2

Registre tudo o que você precisa . Temos um arquivo de log contínuo de x mb. Se algo ruim acontecer, o usuário envia o arquivo de log e, com frequência, isso é suficiente para corrigir um problema.

Outra opção é usar um cliente de área de trabalho remota para verificar por si mesmo o que está errado. Hoje em dia, é tão fácil quanto permitir que o cliente baixe um exe.


1

Você terá que fazer perguntas pontuais e ser muito exigente delas para lhe dar todas as respostas. Às vezes, a queixa do problema é intercalada com os planos para o fim de semana, com o outro significativo ou com o clima. Tente mantê-los na tarefa e pergunte: "Ok, quando você faz X, mas não faz Y, o que acontece?" Anote as respostas deles para começar a construir um diagrama de seqüência de eventos que você poderá posteriormente voltar e depurar.


1

Você pode investir algum tempo e adicionar um botão vermelho "Informar um bug" no canto superior direito do seu aplicativo. Quando um usuário pressiona o botão, tente capturar a tela, colete todos os logs disponíveis para a sessão (pode valer a pena) abrir o compartilhamento direto de tela para a tela do usuário, mostrar a ele o formulário simples e enviar dados automaticamente para o servidor.

-Tente perguntar ao usuário o mínimo possível se seu aplicativo pode obter dados em si. Resolução de tela, versão do SO, nome de usuário, login, últimas ações e logs

- Atribua um ticket a um usuário e forneça um link para ele, para que ele saiba que possui o número de bug 1234 em www.yoursite.issues / 1234

-Pergunte ao usuário o que ele tentou alcançar.

Acho que tudo isso em conjunto, ou mesmo parcialmente, pode ajudá-lo a receber dados suficientes e mostrar ao usuário que ele pode ajudá-lo a melhorar ainda mais seu software.


-2

A maneira mais fácil é usar uma ferramenta que possa "entender" o que realmente o cliente deseja. Existem muitas ferramentas, mas talvez o melhor seja o Usersnap. Veja esta história aqui.


1
Isso é pouco mais do que uma resposta apenas para link. Sua resposta seria mais forte e mais valiosa se você explicasse por que a ferramenta responde à pergunta do OP.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.