• Nenhum resultado encontrado

Embora sejam utilizadas várias ferramentas que auxiliam a detecção de falhas, existem al- guns problemas que só podem ser encontrados caso um cenário de utilização seja executado e encontrem-se os problemas esperados. Por exemplo, não é possível determinar, através de

2

10.5 Testes de Qualidade 118

Figura 10.2: Consumo de energia em dispositivos móveis.

ferramentas, se um pacote está sendo devidamente instalado. A seguir, descrevem-se alguns conceitos que devem ser considerados no momento dos testes das aplicações.

Empacotamento Ao disponibilizar uma aplicação através de pacotes Debian, é necessário verificar como esse pacote se comporta no sistema de gerenciamento. Assim, o de- senvolvedor deve observar como se comporta a aplicação e o gerenciador de pacotes ao instalar, atualizar ou remover o pacote Debian. Para verificar se houve erros du- rante algum desses processos, o desenvolvedor pode consultar o log do gerenciador de aplicativos;

Conectividade As interfaces de comunicação (Wi-Fi, Bluetooth e WiMax) podem ser de- sativadas quando o dispositivo muda de estado (para o estado offline, por exemplo) ou mesmo simplesmente não há conexão disponível. Dessa forma, é importante testar se a aplicação está pronta para cenários onde há ausência de conexão;

Cartão de memória O cartão de memória é uma importante memória secundária do Inter- net Tablet. Mesmo se a aplicação não lê informações do cartão de memória, é impor- tante realizar alguns testes, como por exemplo: verificar o comportamento do software ao se remover e inserir um cartão no dispositivo, bem como testar o que ocorre quando não há cartão de memória disponível ou o mesmo não possui mais espaço;

10.5 Testes de Qualidade 119

Caso a aplicação utilize as funcionalidades da câmera, é necessário verificar o seu comportamento quando a câmera está ou não sendo utilizada e também testar se o uso da câmera por outras aplicações afeta aquela em teste;

Integração com a Plataforma Para verificar se a aplicação está devidamente integrada, deve-se observar aspectos de interface gráfica e armazenamento de dados. Em relação à interface gráfica, o aplicativo deve apresentar todos os elementos gráficos (botões, caixas de texto, etc.) e assegurar que estes estão com o tema Hildon. Outro aspecto de interface gráfica é a integração com o método de entrada: sempre que um elemento de entrada de texto (caixa ou campo de texto) ganha o foco, o teclado virtual ou o reco- nhecedor de escrita deve aparecer na tela, diminuindo o espaço visível da aplicação. É importante testar se o backup do sistema está salvando corretamente as configurações do aplicativo que está sendo testado;

Desempenho A aplicação dever ser inicializada e finalizada de maneira rápida. O ideal é que o tempo de inicialização seja menor do que 2 segundos na primeira vez e menor do que 1 segundo nas demais. Para a finalização, a aplicação não pode ultrapassar 2 segundos;

Utilização de Bateria Conforme visto anteriormente, uma das atividades que mais con- somem energia é o processamento. Dessa forma, é necessário verificar se a aplicação utiliza a CPU de maneira correta, por exemplo: quando o Internet Tablet estiver em estado de espera, não pode haver nenhuma atividade de processamento da aplicação; Confiança Alguns erros não são determinados nos primeiros usos do software, sendo

necessário cenários bastante complexos para serem reproduzidos. Vazamento de memória e dead lock são exemplos desses tipos de erros. O desenvolvedor tem a sua disposição ferramentas que realizam os testes de maneira automática (Valgrind, por exemplo);

Escalabilidade Para aplicações que obtêm dados de uma fonte externa (do sistema de ar- quivos ou da própria rede), deve-se testar qual o comportamento ao se utilizar dados de tamanhos diferentes (por exemplo, dados de 1KB, 10KB, 100KB, 1MB ou 10MB).

10.6 Conclusões 120

Também é importante verificar como a aplicação se comporta em diferentes tamanhos de tela (visão normal ou tela cheia);

Documentação Alguns artefatos de documentação devem ser disponibilizados, tanto para consulta dos usuários quanto para os próprios desenvolvedores: release note, changelog, documentações de API e cópia da licença de distribuição do software; Conformidade com Licensas O desenvolvedor deve verificar questões relativas a direitos

de cópia e licenças da aplicação. É importante também observar se a licença determina que o código fonte deva ser disponibilizado.

10.6

Conclusões

Embora não existam meios oficiais para atestar a qualidade de uma aplicação maemo, muitos foram os esforços da comunidade para elaborar metodologias que, caso utilizadas no desen- volvimento, aumentam as chances de se obter um software com um alto grau de qualidade. Para aplicações embarcadas, não é necessário apenas obter um software livre de falhas. Além disso, é importante utilizar corretamente os recursos disponíveis (memória, processamento, interfaces de rede, tela, etc.) e seguir uma série de padrões estabelecidos para a plataforma, com o intuito de gerar um aplicativo de qualidade. Dessa forma, cenários de testes auxiliam bastante na tarefa, pois definem bem quais os aspectos a serem cuidadosamente analisados (tema Hildon, documentação, escalabilidade, etc.).

Capítulo 11

Ferramentas de Desenvolvimento

Assim como outros profissionais que desenvolvem aplicações para desktop, os desenvolve- dores de software embarcado também precisam de compiladores, interpretadores, linkers, ambientes integrados de desenvolvimento e outras ferramentas utilizadas no processo de pro- dução de software. As ferramentas para software embarcado são diferentes, pois executam em uma plataforma enquanto produzem software (executáveis) para uma outra plataforma. Por isso tais ferramentas também são conhecidas como ferramentas de desenvolvimento cross-platform, ou ferramentas de cross-development. Neste capítulo, discute-se a confi- guração e o uso de ferramentas de desenvolvimento cross-platform.

Documentos relacionados