O que é teste de configuração? Exemplos de casos de teste

⚡ Resumo Inteligente

O teste de configuração executa um aplicativo em diversas combinações de software e hardware, permitindo que a equipe confirme se os requisitos funcionais ainda são válidos em todos os ambientes e identifique a configuração ideal para o lançamento.

  • 🧩 Escopo: OperaSistemas operacionais, navegadores, versões de banco de dados, drivers, memória e periféricos são todos considerados configurações.
  • 📐 Dois tipos: Os testes de configuração de software abrangem plataformas e atualizações; os testes de configuração de hardware abrangem dispositivos conectados.
  • 🗂️ Matrix primeiro: Construa uma matriz de combinação e, em seguida, priorize-a, pois uma cobertura exaustiva é inviável.
  • 🖥️ Máquinas virtuais: Os snapshots substituem os ciclos repetidos de instalação e desinstalação em máquinas de teste físicas.
  • 🏦 Exemplo resolvido: Um aplicativo bancário e seus modelos de máquinas de contagem de notas ilustram casos de teste de hardware.
  • 🚨 Falha deliberada: Remover um pré-requisito propositalmente expõe defeitos que um laboratório totalmente equipado esconde.

Testes de configuração em diversas combinações de software e hardware.

Teste de configuração

Teste de configuração É uma técnica de teste de software na qual o aplicativo é testado com múltiplas combinações de software e hardware, a fim de avaliar os requisitos funcionais e encontrar as configurações ideais sob as quais o aplicativo funciona sem defeitos ou falhas.

Uma configuração é qualquer combinação que o produto deve suportar: uma versão do sistema operacional, um navegador, uma versão do banco de dados, um driver, um tamanho de memória ou um periférico conectado. Vale a pena separar isso de teste de compatibilidadeO teste de compatibilidade questiona se o produto coexiste com outros softwares e plataformas. Já o teste de configuração faz uma pergunta mais específica: a mesma versão continua funcionando corretamente após alterações em sua configuração suportada?

Exemplo de teste de configuração

Considere um aplicativo de desktop como exemplo prático.

Os aplicativos de desktop geralmente são construídos em arquiteturas de 2 ou 3 camadas. Considere um aplicativo de desktop de 3 camadas desenvolvido em ASP.NET, consistindo em um Cliente, um Servidor de Lógica de Negócios e um Servidor de Banco de Dados, onde cada componente suporta as plataformas listadas abaixo.

  • Plataforma do cliente – Windows XP, Windows 7, Windows 8, e assim por diante
  • Plataforma de servidor – Windows Servidor 2008, Windows Servidor 2008 R2, Windows Servidor 2012 R2
  • Base de dados - SQL Servidor 2008, SQL Server 2008 R2, SQL Server 2012 e assim por diante.

O testador deve exercitar o cliente, o servidor e o banco de dados em conjunto, em todas as versões da plataforma e do banco de dados, para confirmar se o aplicativo funciona corretamente e não apresenta falhas em nenhuma combinação suportada.

Os testes de configuração não se restringem ao software. Eles também se aplicam ao hardware, razão pela qual a parte de hardware é chamada de teste de configuração de hardware: impressoras, scanners, webcams e dispositivos similares que o aplicativo em teste precisa suportar. A matriz abaixo mostra como essas combinações são organizadas antes do início da execução do teste.

Matriz de testes de configuração de combinações de cliente, servidor e banco de dados

Pré-requisitos para teste de configuração

Antes de iniciar o teste de configuração em qualquer projeto, três pré-requisitos devem ser atendidos.

  • Criação de uma matriz listando as várias combinações de configurações de software e hardware.
  • Priorizar essas configurações, pois testar todas elas não é realista.
  • Testar cada configuração na ordem definida por essa priorização.

Objetivos do teste de configuração

O teste de configuração tem como objetivo atingir os seguintes objetivos.

  • Validar a aplicação em relação aos seus requisitos de configurabilidade.
  • Provoque falhas deliberadamente para revelar defeitos que os testes comuns não detectam, por exemplo, alterando configurações regionais como fuso horário, idioma ou formato de data.
  • Determine a configuração ideal da aplicação em teste.
  • Analise o desempenho do sistema enquanto os recursos de hardware são alterados, como a adição de balanceadores de carga, o aumento ou redução da memória ou a conexão de diferentes modelos de impressora.
  • Analise a eficiência do sistema em relação à priorização, avaliando o quão bem os testes utilizaram os recursos disponíveis para alcançar a configuração ideal.
  • Verifique o sistema em um ambiente geograficamente distribuído, por exemplo, com o servidor em um local e os clientes em outro, onde o sistema deve funcionar independentemente das configurações locais do sistema.
  • Verifique com que facilidade os defeitos se reproduzem quando a configuração é alterada.
  • Confirme se os itens do aplicativo permanecem. tracviabilizado por meio de documentação adequada e registros de versão claramente identificáveis.
  • Confirme se os itens do aplicativo permanecem gerenciáveis ​​durante todo o processo. ciclo de vida de desenvolvimento de software

Como fazer testes de configuração

A estratégia depende de qual dos dois tipos de teste de configuração está em questão.

  • Teste de configuração de software
  • Teste de configuração de hardware

Teste de configuração de software

O teste de configuração de software executa o aplicativo em teste em vários sistemas operacionais, atualizações de software e versões de dependências. É um processo demorado, pois cada execução envolve a instalação e desinstalação do software em questão.

Uma maneira comum de reduzir esse custo é realizar testes em máquinas virtuaisUma máquina virtual é um ambiente instalado em software que se comporta como hardware físico, permitindo que o testador trabalhe como se estivesse em uma máquina real, embora a configuração em si seja descartável. As máquinas virtuais simulam configurações reais com precisão suficiente para a maioria das verificações funcionais.

Em vez de instalar e desinstalar em várias máquinas físicas, o aplicativo é instalado em uma máquina virtual e os testes continuam a partir daí. Executar várias máquinas virtuais em paralelo, cada uma restaurada a partir de um snapshot, simplifica consideravelmente o trabalho.

O teste de configuração de software normalmente pode começar quando

  • Os requisitos de configurabilidade a serem testados são especificados.
  • O ambiente de teste está pronto
  • A equipe de testes é treinada em testes de configuração.
  • A versão lançada passou nos testes de unidade e integração.

A estratégia de teste Uma estratégia consiste em executar o conjunto de testes funcionais em cada configuração de software e verificar se o aplicativo se comporta conforme o esperado, sem falhas ou erros. Uma segunda estratégia é provocar falhas deliberadamente nos casos de teste e verificar a eficiência com que o sistema lida com elas.

Exemplo:

Considere um aplicativo bancário que precisa ser testado em vários navegadores. Hospedado em um ambiente onde todos os pré-requisitos estão presentes, ele pode muito bem passar nos testes unitários e teste de integração no laboratório de testes.

Instalado no ambiente do cliente, o mesmo aplicativo pode falhar porque essas máquinas não possuem atualizações de software ou versões de dependência das quais o aplicativo depende direta ou indiretamente. A falha deliberada nos testes, por meio da remoção de alguns requisitos de configuração e posterior execução dos testes, é o que expõe esse tipo de defeito antes que o cliente o encontre. A imagem abaixo mostra a reprodução de uma falha dependente da configuração em um ambiente controlado.

O aplicativo bancário está apresentando falhas em um computador cliente devido à falta de pré-requisitos.

Teste de configuração de hardware

Os testes de configuração de hardware geralmente são realizados em um laboratório que possui máquinas físicas com diferentes componentes de hardware conectados a elas.

Sempre que uma versão é lançada, o software é instalado em todas essas máquinas e o conjunto de testes é executado em cada uma delas, para confirmar se o aplicativo funciona com o dispositivo conectado.

Essa tarefa exige um esforço considerável: instalar o software em cada máquina, conectar o hardware e, em seguida, executar o pacote manualmente ou automatizá-lo primeiro.

O tipo de hardware a ser testado também precisa ser especificado. Existe uma variedade tão grande de hardware e periféricos de computador que é impossível abranger todos eles; portanto, o testador analisa quais dispositivos a base de usuários realmente utiliza e realiza os testes de acordo com essa priorização.

Exemplos de casos de teste

Considere um cenário bancário com testes de compatibilidade de hardware. Um aplicativo bancário conectado a uma máquina de contar notas precisa funcionar com diversos modelos, como Rolex, Strob, Maxsell e StoK.

Amostra casos de teste Para a máquina de contar notas, inclua o seguinte.

  • Verifique a conexão entre o aplicativo e o modelo Rolex quando os pré-requisitos NÃO estiverem instalados.
  • Verifique a conexão entre o aplicativo e o modelo Rolex após a instalação dos pré-requisitos.
  • Verifique se o sistema está contando as notas corretamente.
  • Verifique como o sistema reporta uma contagem incorreta.
  • Verificar o manuseio de notas adulteradas
  • Verifique os tempos de resposta.
  • Verifique se notas falsas foram detectadas.

Esses casos se referem a um único modelo, e cada modelo restante no mercado precisa ser configurado em um laboratório de testes e testado da mesma maneira, o que raramente é viável internamente. A terceirização dos testes de configuração de hardware para uma organização especializada costuma ser a opção mais realista.

Perguntas Frequentes

Os testes de configuração variam a configuração suportada pelo próprio produto — sistema operacional, versão do banco de dados, dispositivo conectado — e executam novamente o conjunto de testes. Os testes de compatibilidade verificam se o produto coexiste com softwares, plataformas e navegadores externos com os quais precisa funcionar.

Quantas o risco justificar. A análise de uso define a ordem: primeiro, são cobertas as combinações de plataforma, navegador e dispositivo mais utilizadas pela base de usuários, seguidas pelas especificações mínimas suportadas.

Normalmente, a equipe de controle de qualidade, com o apoio de administradores de sistemas que provisionam os ambientes, é responsável pelo gerenciamento físico dos dispositivos. Em produtos que dependem muito de hardware, uma equipe de laboratório dedicada ou um especialista terceirizado fica encarregado do gerenciamento físico dos dispositivos.

Plataformas de máquinas virtuais e contêineres para configurações de software, laboratórios de dispositivos ou fazendas de dispositivos em nuvem para hardware e navegadores, e um automação de teste estrutura para reproduzir o mesmo conjunto de testes em todas as configurações.

A explosão combinatória, o custo de licenças e dispositivos físicos, o provisionamento lento de ambientes e defeitos que se reproduzem apenas em uma configuração específica. A priorização e a virtualização resolvem a maioria desses problemas.

Após a aprovação nos testes de unidade e integração, e normalmente em conjunto com os testes de sistema, o processo se repete antes de cada lançamento principal, pois uma nova versão do sistema operacional ou do driver pode invalidar os resultados anteriores.

Os modelos classificam as combinações de configuração com base no uso real e em dados históricos de defeitos, de modo que a matriz seja reduzida às linhas de maior risco. Eles também agrupam as falhas para mostrar quais compartilham uma causa de configuração comum.

Sim. Ele cria estruturas de teste parametrizadas, scripts de provisionamento de ambiente e definições de tarefas de CI que executam um conjunto de testes em várias configurações. A matriz em si ainda precisa vir da lista de plataformas suportadas.

Resuma esta postagem com: