Introdução aos diferentes tipos de teste

Este artigo apresenta alguns dos tipos de teste menos comuns dentro de um Processo de Teste de Software, os Testes de Usabilidade, Confiabilidade, Portabilidade e Acessibilidade.

Fique por dentro

Este artigo apresenta alguns dos tipos de teste menos comuns dentro de um Processo de Teste de Software, os Testes de Usabilidade, Confiabilidade, Portabilidade e Acessibilidade. O objetivo é analisá-los demonstrando os ganhos que podem ser obtidos quando é destinada uma pequena fatia de tempo e investimento para a realização dos mesmos.

Esse tema é útil quando o objetivo dos envolvidos no projeto é agregar qualidade ao software, fugindo do “vício” habitual das empresas de executar apenas os testes funcionais mais comuns, aumentando assim a fidelização e a satisfação dos clientes.

Com o aumento da utilização de sistemas web, associado a uma busca contínua por mais qualidade, menos riscos e melhores resultados, adicionar o Teste de Software ao ciclo de vida de desenvolvimento do software torna-se cada vez mais importante.

O problema é que o Teste, uma área relativamente nova, ainda encara muitas barreiras. Isto se dá, às vezes, em função dos recursos humanos e financeiros reduzidos, outras, por causa do tempo e dos prazos limitados dos projetos, sem contar que existem situações em que o Teste é simplesmente deixado de fora do escopo do projeto por puro desconhecimento de causa ou até mesmo despreparo dos gestores envolvidos.

O que ocorre é que nos dias de hoje não dá mais para deixar o Teste como uma atividade irrelevante. É sabido que não é viável realizar uma centena de tipos de testes para garantir a qualidade de um software, mas que tal começar devagar, adicionando novos testes gradativamente, para que aos poucos essa atividade possa conquistar o seu devido espaço na empresa e a confiança do cliente?

Introdução aos diferentes tipos de teste.

É válido lembrar que cada projeto apresenta características distintas, que dependem do tamanho do software, da tecnologia utilizada para o seu desenvolvimento e de muitos outros fatores. Assim, a escolha adequada dos tipos de testes que serão adotados torna-se primordial.

Nesse artigo, o foco será dado aos testes de Usabilidade, Aceitação, Portabilidade e Confiabilidade. No entanto, antes de prosseguir, para auxiliar na compreensão do que representa cada um desses testes, vamos apresentá-los sucintamente, através dos seguintes questionamentos:

Ao longo desse artigo, além dos testes já citados, serão apresentadas as vantagens e as ferramentas que viabilizam as suas respectivas execuções. Como referência principal, será utilizada a ISO-9126, uma norma que define características e subcaracterísticas voltadas para a qualidade de software.

Teste de Usabilidade

O Teste de Usabilidade tem como objetivo avaliar a usabilidade da aplicação, determinando até que ponto a interface do software é fácil e intuitiva de utilizar.

Esse tipo de teste possibilita detectar todas as ações dos usuários, analisar suas preferências, ajudando a determinar o que pode ser melhorado na aplicação.

Os problemas mais comuns que podem ser detectados com a execução de testes de usabilidade em aplicações web são:

Com a realização desse teste é possível analisar o tempo de resposta do servidor para cada requisição, e até mesmo a satisfação, mesmo que subjetiva, do usuário, em relação ao que está sendo apresentado.

Jakob Nielsen, um dos maiores especialistas na área de usabilidade, listou um conjunto de critérios básicos para analisar a usabilidade de um software. São eles:

Analisar essas características de usabilidade em uma aplicação em desenvolvimento, ou até mesmo pronta, possibilita que muitos problemas sejam diagnosticados antes do software ser disponibilizado para o cliente.

Isso pode, no mínimo, evitar a insatisfação do cliente numa fase avançada do ciclo de vida do desenvolvimento do software, onde as correções se tornam mais caras e impactantes.

Como executar o teste de usabilidade

Muitas são as maneiras de medir a usabilidade de um software. A escolha depende de cada projeto e está diretamente ligada ao resultado que se deseja obter.

Executados em laboratório, em um ambiente controlado, ou em ambiente real, muitas técnicas de teste de usabilidade podem ser utilizadas. De uma maneira geral, o teste de usabilidade pode ser realizado seguindo quatro etapas principais:

Nessa etapa, é fundamental que todos os detalhes sejam avaliados, como por exemplo, a quantidade de cliques antes da conclusão de uma tarefa, o tempo de duração de cada atividade, quantas vezes o help foi acionado e, se for o caso, quantos erros foram apresentados.

Ferramentas

Nos últimos anos, houve um considerável aumento no número de ferramentas voltadas para o teste de usabilidade. Para exemplificar, apresentaremos três delas:

Vantagens do Teste de Usabilidade

A execução desse tipo de teste pode fornecer inúmeros benefícios ao software, a saber:

Teste de Confiabilidade

A confiabilidade de um software é medida de acordo com a estabilidade e o desempenho da aplicação durante um determinado período de tempo, sob diferentes condições de teste.

O objetivo desse teste é garantir a integridade completa dos dados trafegados pelo software, monitorando e avaliando a capacidade que a aplicação tem de concluir as suas operações com sucesso, conforme especificado.

As informações obtidas ao longo dos testes de confiabilidade devem ser coletadas em todas as etapas do ciclo de vida do desenvolvimento de software, identificando sempre quando uma interrupção produzir uma falha.

Em suma, o teste de confiabilidade visa analisar a integridade, conformidade e interoperabilidade do software, incorporando os resultados de testes não funcionais, como os testes de segurança e estresse, aos testes funcionais. Esse teste pode ser descrito através de algumas características, a saber:

Como executar o teste de confiabilidade

O teste de confiabilidade é considerado caro, em comparação com os demais citados ao longo desse artigo. Isto porque pode envolver outras técnicas de teste. Sendo assim, torna-se primordial executá-lo de forma planejada e estruturada. Para isso, alguns passos podem ser seguidos, conforme apresentado a seguir:

Vantagens do Teste de Confiabilidade

A execução desse tipo de teste pode fornecer inúmeros benefícios ao software, a saber:

Saiba mais sobre Confiabilidade de Software.

Teste de Portabilidade

O Teste de Portabilidade tem como objetivo verificar o grau de portabilidade da aplicação em diferentes ambientes e situações, envolvendo desde o hardware até o software. Por exemplo, um grande desafio para quem desenvolve aplicações web é garantir que ela tenha o mesmo comportamento independente do navegador que o usuário esteja utilizando.

A execução desse tipo de teste consiste em avaliar algumas características fundamentais de uma aplicação. Dentre elas, destacamos:

Esse tipo de teste pode ter o seu planejamento voltado para avaliar questões de hardware, browsers, de diferentes tipos, e sistemas operacionais, com suas várias versões e service packs.

Uma dica para testar a aplicação em diferentes plataformas é a utilização de máquinas virtuais (VMs). Através de emulação as VMs permitem que diferentes sistemas operacionais sejam executados em uma mesma máquina, sem a necessidade de dual boot. Além disso, as VMs permitem salvar o estado da máquina ou restaurá-lo facilmente.

Como executar o teste de portabilidade

Executar um teste de portabilidade não é complicado e nem requer um grande planejamento, basta utilizar o software na arquitetura desejada. Para que seja viável a execução desse tipo teste, algumas pré-condições devem ser seguidas:

Ferramentas

Para execução do teste de Portabilidade, não é necessário que haja um computador para cada teste. Existem ferramentas que simulam diferentes situações numa mesma máquina, por exemplo:

Vantagens do Teste de Portabilidade

A execução desse tipo de teste determina se o software pode ser portado para cada um dos ambientes especificados pelo usuário, além de avaliar características fundamentais para a sua correta utilização, como:

Teste de Acessibilidade

O Teste de Acessibilidade tem como objetivo garantir que o software poderá ser utilizado por qualquer usuário, inclusive aqueles que possuam algum tipo de deficiência física. Esse teste verifica se as interfaces do software permitem uma navegação adequada para todos.

Visando as aplicações web, existem padrões, citados a seguir, que determinam se existe ou não acessibilidade no software. Essa questão é tão relevante que, para garantir que os serviços ou informações governamentais disponíveis na web sejam acessíveis a todos os usuários, em qualquer horário, local, ambiente ou dispositivo, o governo brasileiro definiu, em 2005, o “Modelo Brasileiro de Acessibilidade em Governo Eletrônico”, conhecido como e-Mag.

No mundo, com o objetivo de tornar a web acessível a um número cada vez maior de cidadãos, o World Wide Web Consortium (W3C), principal organização de padronização da Web, um consórcio internacional com quase 400 membros, criou o WAI (Web Accessibility Initiative), com a atribuição de manter grupos de trabalho elaborando conjuntos de diretrizes para garantir a acessibilidade ao conteúdo da Internet a pessoas com deficiências, ou para os que acessam a rede em condições especiais de ambiente, equipamento, navegador e outras ferramentas Web.

Em suma, diante de tantas padronizações, algumas características são fundamentais quando se trata de testar a acessibilidade de uma aplicação web. Dentre elas, destacamos:

Lembre-se: Para o teste de acessibilidade, quanto mais autoexplicativa é a aplicação, mais facilmente ela será utilizada. Isto permitirá também que os sites de busca encontrem mais rapidamente o conteúdo da sua aplicação web.

Como executar o teste de acessibilidade

Para medir a acessibilidade de um software algumas condições precisam ser seguidas. Segundo o checklist doWCAG1.0 da W3C um documento que fornece uma listagem com todos os pontos de verificação previstos nas “Diretrizes para Acessibilidade ao Conteúdo da Web”, o primeiro passo é definir a prioridade da funcionalidade baseada no seu impacto. Essas prioridades podem ser divididas em três categorias:

Diante de tantas padronizações vindas dos mais distintos setores, desde os públicos até os privados, o teste de acessibilidade possibilita que sejam analisadas inúmeras características na aplicação, como por exemplo:

Ferramentas

Nos últimos anos, houve um considerável aumento no número de ferramentas voltadas para o teste de usabilidade. Para exemplificar, apresentaremos três delas:

Vantagens do Teste de Acessibilidade

A execução desse tipo de teste pode fornecer inúmeros benefícios ao software, a saber:

Conclusão

Executar os testes de Usabilidade, Confiabilidade, Portabilidade e Acessibilidade não é uma atividade comum dentro de um Processo de Teste de Software. No entanto, à medida que são inseridos, de forma combinada ou não, podem contribuir significativamente para a ampliação do público alvo da aplicação.

Em termos de Portabilidade, hoje em dia estão acessíveis a praticamente todos os públicos os mais distintos sistemas operacionais e navegadores. Pensando na acessibilidade, estima-se que somente no Brasil, segundo o último censo do IBGE, 23,95% da população sofra de algum tipo de deficiência. Já a Usabilidade e Confiabilidade podem garantir, no mínimo, a fidelização do cliente, tornando o software mais eficaz, eficiente e compreensível.

Executados sozinhos, esses testes podem até não garantir um software (quase) perfeito, mas agregados a outros tipos de teste e diante dos diferentes aspectos expostos ao longo desse artigo, bons resultados podem ser obtidos.

Para acrescentá-los ao ciclo de vida de desenvolvimento do software, não será necessário nem tanto investimento e, talvez, nem tanto tempo como se imagina, considerando a melhoria da qualidade que pode ser obtida na aplicação.

Links

10 Usability Heuristics for User Interface Design.

Checklist para os pontos de verificação para a acessibilidade ao conteúdo da Web – Diretrizes 1.0.

Artigos relacionados