Site Loader

curiosidade tem como base as dúvidas, que por sua vez incitam a pesquisa e, consequentemente, respostas. Em testes de software o cliente pode ser qualquer pessoa que aguarda a resposta proveniente do teste, por exemplo: o desenvolvedor, o analista de infra-estrutura, o gerente de projetos, o analista de suporte ou mesmo o usuário que utilizará o software. Quando falamos em dúvidas sobre a qualidade de um software, são os testadores que ajudam a respondê-las através do uso de ferramentas e técnicas de teste usadas para avaliar o software sob diversas perspecticas. Neste post veremos algumas dúvidas e como os testadores costumam encontrar suas respostas.

Se a metade de nossos clientes acessar nosso software em horário de pico ele continuará respondendo em tempo satisfatório?

Esta dúvida diz respeito a Eficiência do software. Para encontrar sua resposta é necessário que o testador saiba, primeiro, qual é o número que representa a metade de clientes e qual ou quais são os horários de pico do uso deste software. Algo importante também é conhecer a arquitetura do software (linguagem de programação, banco de dados, etc).

Existem ferramentas que podem ser usadas para simular o uso de um software por diversos usuários de maneira simultânea, por exemplo: JMeterLoadRunnerLoadUI, etc. Através delas o testador pode gravar um passo a passo e executá-lo centenas ou milhares de vezes simultaneamente, simulando assim a carga de uso do software e obtendo a resposta à pergunta referente a eficiência do software.

Os clientes conseguirão usar o software de forma simples?

Muitas são as formas de verificar se um software poderá ser usada de maneira simples, parte delas estão relacionadas a práticas de Usabilidade e experiência do usuário.

Para avaliar a usabilidade o testador precisa utilizar ferramentas e técnicas que lhe ajuda a entender se o usuário conseguirá ter facilidade de uso, aprendizado e memorização, além de satisfação em usar a ferramenta.

Para responder esta pergunta o testador pode usar técnicas como: Avaliação heurística, Percurso cognitivo, Checklists, Testes empíricos, Think-aloud, Testes de comunicabilidade, Questionários pré e pós teste. Você pode saber um pouco mais sobre testes de usabilidade nesta apresentação do Cristiano Caetano.

Se houver um falha grave o software conseguirá se recuperar?

Esta dúvida está relacionada à Confiabilidade do software. Entre outros, a confiabilidade abrange a recuperabilidade, que mede o quanto um software consegue reestabelecer-se após uma falha ou queda grave.

Digamos que durante a realização de uma transação de transferência de valores entre duas contas bancárias o servidor de banco de dados deixou de funcionar, causando uma falha e a não conclusão da transferência. Se o software possuir confiabilidade elevada, ele será capaz de reestabelecer-se após a falha e garantir que houve baixa de saldo em uma conta e aumento na outra, ou que ambas não sofreram modificação devido a falha.

O testador precisa, neste caso, ser capaz de avaliar o software e sua arquitetura para que possa simular este tipo de problema e responder a esta dúvida.

Será que o software possui todas as funcionalidades que o cliente requisitou?

Bem, esta dúvida provavelmente é a mais comum dentre as demais e corresponde à Funcionalidade. A resposta neste caso depende quase que em sua completude da descrição de como o software deveria funcionar. Isso pode estar documentado de maneira formal, informal ou simplesmente não estar documentado.

Quando a descrição do software encontra-se documentada de maneira formal, o testador a usa artefatos como especificações funcionais, casos de uso ou qualquer diagrama como fundamentação para a elaboração dos testes. Quando estão documentadas de maneira informal o insumo usado pelos testadores pode ser um e-mail, relatos em documentado de texto ou mesmo anotação em uma ferramenta qualquer. Por fim, quando a descrição do software não está documentada é necessário que o testador consiga extrair o conhecimento das pessoas que o detém, de modo a entender e testar o software baseado nele.

Muitas técnicas podem ser usadas para elaborar os testes (independente se a descrição do software é formal, informal ou inexistente), dentre elas estão a partição de equivalência, a análise do valor limite, a tabela de decisões, os diagramas de estado, heurísticas, mapas mentais, testes exploratórios, entre outros.

A resposta a esta dúvida é obtida através da execução dos testes que foram elaborados. Seu sucesso diz que o software funciona sob a perspectiva funcional e as falhas apontam o que ainda precisa ser modificado para que ele atenda os requisitos que um dia foram propostos pelo cliente.

O sistema funciona corretamente em todos os sistemas operacionais?

Portabilidade refere-se a possibilidade de um software operar em mais de uma plataforma. Podemos considerar, neste caso, que um software desenvolvido para operar no sistema operacional Linux também é capaz de executar de forma satisfatória em outros sistemas operacionais como Windows e Mac OS X.

Também podemos considerar portabilidade a possibilidade de um app ser funcionar em Android e iOS, ou mesmo um site ser executado nos principais navegadores web sem sofrer alterações drásticas.

O testador neste caso precisa conhecer as principais características que afetam a aplicação dado o contexto em que estão sendo executadas, para avaliar se realmente funcionam conforme esperado.

Será fácil dar manutenção no software quando for necessário corrigi-lo ou evoluí-lo?

Manutenibilidade mede o quanto é fácil dar manutenção em um determinado produto de software, a fim de corrigir defeitos ou mesmo de evoluí-lo. Logo, o foco dos testes seria o código fonte.

Para responder esta dúvida o testador precisa conhecer técnicas de estruturação de código, refactoring e código limpo para avaliar se o código da aplicação realmente foi desenvolvida pensando-se em facilitar a manutenção futura.

Conclusão

As dúvidas dos clientes que foram mencionadas nesse post foram fundamentadas em características de qualidade de software: Eficiência, Usabilidade, Confiabilidade, Funcionalidade, Portabilidade e Manutenibilidade. Estas características pertencem a ISO 9126–1, que descreve as características de qualidade de produto de software. Você pode saber mais através deste link.

Como vimos, testar ajuda a responder as dúvidas de clientes que encontram-se curiosos quanto as mais diversas características de qualidade do software. O testador, por sua vez, precisa saber utilizar diversas técnicas e ferramentas para que seja capaz de responder a essas dúvidas dando clareza ao cliente para decidir sobre o destino do software.

Post Author: Júlio de Lima