Ilustração 1 - FURPS, modelo qualidade de acordo com RUP
Fonte da imagem - QualidadeBR
De acordo com Bastos, 2007 a segunda dimensão do teste são os tipos de
teste, todo o software visa atender uma demanda de qualidade, e para isso deve
atender a certos atributos de qualidade como: funções, interface,
características de tempo de resposta e de segurança, integridade, habilidade de
ser instalado e executado em diferentes plataformas, habilidades de lidar com
muitas requisições. Diferentes tipos de teste são implementados e
executados, cada tipo de teste tem
objetivo e técnica de suporte específicos e cada técnica de teste foca em
testar uma ou mais características ou atributos do objetivo do teste.
Características da qualidade, segundo o modelo Rational
Unified Process (RUP), é conhecido como FURPS ( Funcionality, Usability, Reliability, Performance, Supportability)
Funcionalidade, Usabilidade, Confiabilidade, Desempenho, Suportabilidade.
Functionality
(Funcionalidade) – representa todo aspecto funcional do software, ou seja seus
requisitos. É uma categoria com diversas subcategorias que variam de acordo com
a aplicação. Sua medição considera, principalmente, o cumprimento dos requisitos
especificados. Exemplo, de acordo com RUP :
Teste de função: Testes destinados a validar as funções do objetivo do teste conforme o esperado, fornecendo os serviços, métodos ou casos de uso necessários. Esse teste é implementado e executado em diferentes objetivos do teste, como unidades, unidades integradas, aplicativos e sistemas.
Teste de segurança: Testes destinados a garantir que o objetivo do teste e os dados (ou sistemas) possam ser acessados apenas por determinados atores. Esse teste é implementado e executado em vários objetos de teste.
Teste de volume: Teste destinado a verificar a capacidade do objetivo do teste de lidar com um grande volume de dados, como entrada e saída ou residente no banco de dados. O teste de volume abrange estratégias de teste, como, por exemplo, a entrada de dados do volume máximo de dados em cada campo ou a criação de consultas que retornem todo o conteúdo do banco de dados ou que tenham tantas restrições que nenhum dado seja retornado.
Usability (Usabilidade) – é o atributo que avalia a interface com o usuário.
Possui diversas subcategorias, entre elas: prevenção de erros; estética e
design; ajudas (Help) e documentação; consistência e padrões. Exemplo, de acordo com RUP :
Teste de usabilidade: Testes que enfatizam: fatores humanos, estética, consistência na interface do usuário, ajuda on-line e contextual, assistentes e agentes, documentação do usuário e material de treinamento.
Reliability (Confiabilidade) – refere-se a integridade,
conformidade e interoperabilidade do software. Os requisitos a serem
considerados são: freqüência e gravidade de falha; possibilidade de
recuperação; possibilidade de previsão; exatidão; tempo médio entre falhas. Exemplo, de acordo com RUP
Teste de integridade: Testes destinados a avaliar a robustez do objetivo do teste (resistência a falhas) e a compatibilidade técnica em relação a linguagem, sintaxe e utilização de recursos. Esse teste é implementado e executado em vários objetivos do teste, como unidades e unidades integradas.
Teste de estrutura: Testes destinados a avaliar a adequação do objetivo do teste em relação a seu design e sua formação. Em geral, esse teste é realizado em aplicativos habilitados para a Web, garantindo que todos os links estejam conectados, que o conteúdo apropriado seja exibido e que não haja conteúdo órfão. Consulte Conceitos: Teste de Estrutura para obter informações adicionais.
Teste de stress: Tipo de teste de confiabilidade destinado a avaliar como o sistema responde em condições anormais. O stress no sistema pode abranger cargas de trabalho extremas, memória insuficiente, hardware e serviços indisponíveis ou recursos compartilhados limitados. Normalmente, esses testes são executados para compreender melhor como e em quais áreas o sistema será dividido, para que os planos de contingência e a manutenção de atualização possam ser planejados e orçados com bastante antecedência.
Performance
(Desempenho) – avalia os requisitos de desempenho do software. Podendo usar
como medida diversos aspectos, entre eles: tempo de resposta, consumo de
memória, utilização da CPU, capacidade de carga e disponibilidade da aplicação. Exemplo, de acordo com RUP
Teste de avaliação de desempenho: Tipo de teste de desempenho que compara o desempenho de um objetivo do teste (novo ou desconhecido) a um sistema e uma carga de trabalho de referência conhecidos.
Teste de contenção: Testes destinados a verificar se os objetivos do teste podem lidar de forma aceitável com as demandas de vários atores no mesmo recurso (registros de dados, memória, etc.).
Teste de carga: Tipo de teste de desempenho usado para validar e avaliar a aceitabilidade dos limites operacionais de um sistema de acordo com cargas de trabalho variáveis, enquanto o sistema em teste permanece constante. Em algumas variáveis, a carga de trabalho permanece constante e a configuração do sistema em teste é que varia. Geralmente, as medições são tomadas com base na taxa de transferência de dados da carga de trabalho e no tempo de resposta da transação alinhado. As variações na carga de trabalho normalmente incluem a emulação das cargas de trabalho médias e máximas que ocorrem dentro de tolerâncias operacionais normais.
Perfil de desempenho: Teste em que o perfil de andamento do objetivo do teste é monitorado (inclusive fluxo de execução, acesso a dados e chamadas de função e de sistema), a fim de identificar e lidar com gargalos de desempenho e processos ineficientes.
Supportability (Suportabilidade)
– os requisitos de suportabilidade agrupam várias características, como:
testabilidade, adaptabilidade, manutenibilidade, compatibilidade,
configurabilidade, instalabilidade, escalabilidade, localizabilidade entre
outros. Exemplo, de acordo com RUP
Teste de configuração: Teste destinado a garantir que o objetivo do teste funcione conforme o esperado em diferentes configurações de hardware e/ou software. Esse teste também pode ser implementado como um teste de desempenho do sistema.
Teste de instalação: Teste destinado a garantir que o objetivo do teste seja instalado conforme o esperado em diferentes configurações de hardware e/ou software e sob diferentes condições (como no caso de espaço insuficiente em disco ou interrupção de energia). Esse teste é implementado e executado em aplicativos e sistemas.
Nenhum comentário:
Postar um comentário