Que informações você solicita ao resolver um problema na caixa de um cliente usando um aplicativo de desktop?

StackOverflow https://stackoverflow.com/questions/2357639

Pergunta

Escrevemos um aplicativo de desktop do Windows instalado em alguns milhares de computadores aos quais não temos acesso.Quando um desses usuários relata um bug, mesmo que a descrição seja bastante completa, há outras informações que podem ser úteis.

Atualmente estamos trabalhando em um agente de feedback automatizado, o que significa que teremos acesso a informações muito detalhadas.Mas, como uma criança numa loja de doces, não sabemos por onde começar. Que informações você incluiria em seu pacote de feedback no mesmo caso? O que é útil para nos ajudar a reproduzir esse erro?

O que temos até agora é:

  • O número da versão do nosso aplicativo,
  • Número da versão do sistema operacional e do sistema operacional
  • Informações de proxy
  • Versão .NET e número de atualização
  • Informações específicas do nosso aplicativo (por exemplo.versões de dados)
  • Logs de acesso e erros

Observe que isso é semelhante a essa questão, no entanto, não estamos tão interessados ​​em obter informações quando o programa trava, mas sim quando o usuário encontra um bug.

Editar:Esclarecimento:não perguntando quais informações o usuário deve fornecer no caso de um bug, mas sim quais informações devemos coletar programaticamente?

Foi útil?

Solução

Mesmo se você tiver todas essas informações, pode ser difícil reproduzir o problema.Quando os usuários descrevem como criaram o bug, muitas vezes se enganam sobre as principais etapas - é difícil para eles saber quais áreas são críticas quando não conhecem o funcionamento interno do aplicativo.Você pode querer implementar uma maneira de rastrear as ações do usuário, como manipulação de eventos no nível raiz ou algum outro meio - se você tiver a funcionalidade de desfazer/refazer, tenho certeza de que isso seria suficiente.Você poderia então incluir as últimas (x) etapas da cadeia de ação no relatório de erros.

Outras dicas

Editar:Acho que interpretei mal sua pergunta.Achei que você estava falando sobre quais informações obter de um cliente que relata um bug, em vez de já planejar o que descrevo aqui.Vou deixar para referência de qualquer maneira.

Em uma situação semelhante, apesar de menos usuários, nosso aplicativo recebeu um botão "Pacote de logs para suporte" que criará um arquivo zip com todos os arquivos de log e o arquivo de projeto atualmente aberto, se houver.Todas as outras informações que você descreveu já fazem parte de um dos arquivos de log.Desta forma, o cliente pode enviar-nos convenientemente o arquivo ZIP, o que pode ser feito a partir da janela principal do aplicativo, sem abrir um arquivo de projeto ou conectar-se a uma interface de rede, que são os dois principais pontos onde algo pode dar errado.Isso torna muito mais fácil do que depender do feedback do usuário "manualmente".

Fora isso, as etapas exatas para reproduzir o problema devem estar disponíveis.A maior parte disso normalmente está no próprio arquivo do projeto (que está no arquivo ZIP que obtemos), faltando apenas algumas etapas.

Coisas que pareciam importantes para isso, além das que você já listou:

  • Informações do usuário/conta.Isso pode ajudar com problemas de permissão.Você pode querer incluir coisas como fuso horário, localidade e tema do Windows.
  • Configuração do aplicativo, incluindo onde ele está instalado.
  • Como já foi dito, o arquivo atual com o qual o usuário está trabalhando, pois esta pode ser a causa do problema.
  • Configurações do usuário, ou seja,os dados que o aplicativo armazena por usuário.Vi coisas estranhas com isso.A lista MRU também pode ser útil.

Além do estado básico da aplicação (versão, configuração, etc.), as informações mais importantes a serem obtidas são:

  • As etapas necessárias para reproduzir o erro ou bug, incluindo as entradas usadas, se possível
  • O resultado esperado
  • A saída real
  • Informações de contato caso você precise fazer acompanhamento (se o seu software for consumido anonimamente)

Serão informações suficientes para resolver 99,9% dos problemas.De resto, acompanhe e obtenha qualquer informação detalhada que você acha que ajudará a resolver o problema (que, esperançosamente, será muito melhor compreendido neste momento).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top