Titulo Estágio
Plataforma de Gestão de Erros e Versões de Software
Área Tecnológica
Qualidade de Software
Local do Estágio
WIT Software, Coimbra
Enquadramento
O Departamento de Qualidade de Software da WIT Software foi criado há 3 anos com o objectivo de realizar testes ao software desenvolvido e assim trazer melhorias significativas na qualidade do mesmo antes de ser entregue ao cliente. Nesse sentido, foram identificadas três áreas principais que estão na base da presente proposta de estágio.
1. Relatório de Erros
A WIT Software desenvolve software para diversos ambientes, desde aplicações standalone para Windows, Mac e Linux, aplicações para telemóveis (iPhone, Symbian, J2ME), consolas de jogos, servidores aplicacionais, etc.. O software é disponibilizado para milhares de utilizadores com ambientes diferentes o que inevitavelmente acaba por gerar inúmeras situações diferentes de falhas. É sabido que se os programadores puderem ter relatórios automáticos e fiáveis quando existe um crash nos seus programas, isso torna mais fácil descobrir a causa do problema e encontrar a solução mais eficaz.
Por exemplo, a Microsoft afirma que a recolha de erros de software através da ferramenta Windows Error Reporting tem trazido uma enorme diferença na forma como o software é desenvolvido internamente. Steve Ballmer referiu publicamente que os relatórios de erros recebidos pela Microsoft permitiram às equipas de desenvolvimento corrigir 29% dos erros do Windows XP SP1; mais de 50% de todas as falhas do Microsoft Office XP foram corrigidos no Office XP SP2; e no produto Visual Studio foram corrigidos 74% dos erros reportados para o Visual Studio 2005 (Beta 1).
Poder-se-á dizer que o sucesso é baseado em parte na regra dos 80/20. A informação contida nos relatórios de erros revela que existe um determinado conjunto de bugs que é responsável pela maioria dos problemas percepcionados pelos utilizadores. Assim, corrigir 20% das falhas de software pode eliminar 80% ou mais dos erros encontrados pelos utilizadores.
Empresas de referência como Microsoft, Apple, Google, etc. têm beneficiado deste tipo de ferramentas durante as fases de amadurecimento do seu software. A existência de uma aplicação cuja função seja reportar toda a informação útil acerca dos erros (crash e excepções) encontrados pelos utilizadores é de importância fundamental para o aumento da qualidade do software.
2. Gestão de Versões
A criação de uma versão de software tem sempre associada um conjunto de informação relevante. Por exemplo, na presença de um relatório de erro é necessário saber quais os software symbols utilizados para determinada versão do software de forma a poder-se examinar em mais detalhe a causa do erro. No caso da WIT-Software existem diversos sub-sistemas utilizados internamente tais como, ferramentas de bug tracking, build server, etc. que necessitam ser actualizados manualmente sempre que uma nova versão é criada. A automatização destas tarefas seria uma enorme vantagem na produtividade das equipas de desenvolvimento e de gestão da empresa.
Por último, é de extrema importância a existência de um servidor de actualizações automáticas de software para as versões criadas. Desta forma, os utilizadores do software poderão ser notificados acerca da disponibilidade de novas versões e realizar actualizações automáticas do software que têm instalado.
3. Feedback do Utilizador
Um produto de software não termina aquando do seu lançamento; é normalmente o início de um longo ciclo de manutenção e actualizações. Assim que o produto está no mercado, é necessário começar a pensar em como incorporar o feedback recebido numa nova versão do produto, melhorar a usabilidade, adicionar funcionalidades e acrescentar valor.
Objetivo
Este estágio tem como objectivo o desenvolvimento de uma plataforma de software de gestão de relatórios de erros e versões de software com os seguintes componentes:
Aplicação Cliente
* Módulo para Detecção e Envio de Relatórios de Erro
- Captura de erros lançados pelo software (excepções, crash)
- Criação e envio de relatório completo de erro para servidor
- Suporte para os sistemas Windows, Mac, Linux, iPhone, Symbian e J2ME
- Suporte para envio de erro em servidores J2SE
* Módulo para actualizações automáticas de software
- Gestão do download de actualizações de software completos/parciais recebidos do servidor
- Suporte para os sistemas Windows, Mac, Linux e iPhone
* Módulo para User Feedback
- Envio de feedback de utilizador para servidor
- Componente reutilizável para Customer-Care Survey
Aplicação Servidor
* Módulo para Gestão de Relatórios de Erro (crash e excepção)
- Analisar e identificar semelhanças de erros (potenciais duplicados)
- Report automático no bug tracking system existente na WIT
- Sistema de alertas multi-nível: SMS, Email, SNMP, etc
- Recomendar a actualização de software após receber relatório de erro, caso o erro já tenha sido resolvido.
* Módulo Gestão de Releases de Software
- Criar versões de software, associadas a software symbols.
- Integração com sistema de bug tracking existente
- Gestão de actualizações de software com disponibilização de upgrades de software totais e parciais.
* Módulo User Feedback
- Gestão do feedback enviado pelo utilizador
- Sistema de reencaminhamento por email
Como resultado do estágio irá ser disponibilizada uma framework para a equipa de desenvolvimento assim como um back-office de gestão de relatórios de erros e versões de software.
Plano de Trabalhos - Semestre 1
Setembro 2009
·
Levantamento
do Estado da Arte
o O estagiário deverá elaborar um “Documento de Estado da Arte” com as soluções existentes no mercado na área de relatórios de erros e versões de software.
·
Especificação
de requisitos e testes
o Elaboração de documento de especificação de requisitos
o Elaboração da especificação de testes com base na especificação de requisitos.
Outubro 2009-Janeiro 2010
· Implementação de software
o Cliente: Módulo para Detecção e Envio de Relatórios de Erro
o Servidor: Módulo para Gestão de Relatórios de Erro (crash e excepção)
· Testes ao software desenvolvido
o Documento com relatório de testes
Fevereiro 2010 (1 semana)
·
Preparação
do WorkShop intermédio:
Plano de Trabalhos - Semestre 2
Fevereiro-Abril 2010
· Implementação de software
o Cliente: Módulo para actualizações automáticas de software
o Servidor: Módulo Gestão de Releases de Software
· Testes ao software desenvolvido
o Documento com relatório de testes
Maio-Junho 2010
· Implementação de software
o Cliente: Módulo para User Feedback
o Servidor: Módulo Gestão de User Feedback
· Testes ao software desenvolvido
o Documento com relatório de testes
Julho 2010
· Documentação final de estágio
Elaborar o relatório final de estágio e preparação para a defesa.Condições
O local de trabalho será na sede da WIT em Coimbra. O estagiário terá ao seu dispor os equipamentos necessários (PCs, Servidores, Telemóveis) para desempenhar as suas tarefas. Terá também um orientador de estágio presente e terá contacto com uma equipa de projecto experiente que o poderá aconselhar sempre que necessite. O estágio será remunerado de acordo com a remuneração de um estágio profissional.
Observações
- Toda a documentação de projecto será em Inglês.
Orientador
Eng. Nuno Carvalho
nuno.carvalho@wit-software.com 📩