O que é teste de configuração? Exemplos de casos de teste
Teste de configuração
Teste de configuração é uma técnica de teste de software na qual o aplicativo de software é testado com múltiplas combinações de software e hardware para avaliar os requisitos funcionais e descobrir as configurações ideais sob as quais o aplicativo de software funciona sem quaisquer defeitos ou falhas.
Conforme discutido acima, o Teste de Configuração é um teste de software em que o aplicativo em teste deve ser testado usando múltiplas combinações de Software e Hardware.
Exemplo de teste de configuração
Vamos entender isso com um exemplo de aplicativo de desktop:
Geralmente, os aplicativos de desktop serão de 2 ou 3 níveis, aqui consideraremos um aplicativo de desktop de 3 níveis que é desenvolvido usando Asp.Net e consiste em Cliente, Business Logic Server e Database Server onde cada componente suporta as plataformas mencionadas abaixo.
- Plataforma do Cliente – Windows XP, Windows 7, Windows 8, etc.
- Plataforma de servidor – Windows Servidor 2008 R2,Windows Servidor 2008 R2, Windows Servidor 2012R2
- Banco de dados –SQL Server 2008, SQL Servidor 2008R2, SQL Server 2012, etc.
Um testador deve testar a combinação de cliente, servidor e banco de dados com combinações das plataformas e versões de banco de dados mencionadas acima para garantir que o aplicativo esteja funcionando corretamente e não falhe.
O teste de configuração não se restringe apenas ao Software, mas também é aplicável ao Hardware, por isso também é conhecido como teste de configuração de Hardware, onde testamos diferentes dispositivos de hardware como impressoras, scanners, webcams, etc., que suportam o aplicativo em teste.
Pré-requisitos para teste de configuração
Para qualquer projeto antes de iniciar o teste de configuração, temos que seguir alguns pré-requisitos
- Criação de matriz que consiste em diversas combinações de configurações de software e hardware
- Priorizando as configurações, pois é difícil testar todas as configurações
- Testando cada configuração com base na priorização.
Objetivos do teste de configuração
Os objetivos do teste de configuração são
- Validar o aplicativo para determinar se ele atende aos requisitos de configurabilidade
- Causar manualmente falhas que auxiliam na identificação de defeitos que não são encontrados de forma eficiente durante os testes (Ex: alterar as configurações regionais do sistema como Fuso Horário, Idioma, Formatos de data e hora, etc.)
- Determine uma configuração ideal do aplicativo em teste.
- Analisar o desempenho do sistema adicionando ou modificando recursos de hardware como Load Balancers, aumentando ou diminuindo o tamanho da memória, conectando vários modelos de impressora, etc.
- Analisar a eficiência do sistema com base na priorização, quão eficientemente os testes foram realizados com os recursos disponíveis para atingir a configuração ideal do sistema.
- Verificação do sistema em um ambiente distribuído geograficamente para verificar a eficácia do desempenho do sistema. Por exemplo: Servidor em um local diferente e clientes em um local diferente, o sistema deve funcionar bem, independentemente das configurações do sistema.
- Verificar a facilidade com que os bugs são reproduzíveis, independentemente das alterações na configuração.
- Garantir o quão rastreáveis são os itens do aplicativo, documentando e mantendo adequadamente as versões que são facilmente identificáveis.
- Verificando o quão gerenciáveis são os itens do aplicativo em todo o ciclo de vida de desenvolvimento de software.
Como fazer testes de configuração
Nesta seção, discutiremos a estratégia que precisa ser seguida para os tipos de teste de configuração e existem dois tipos de teste de configuração, conforme mencionado abaixo
- 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 testa o aplicativo em teste com vários sistemas operacionais, diferentes atualizações de software, etc. O teste de configuração de software consome muito tempo, pois leva tempo para instalar e desinstalar diferentes softwares usados para o teste.
Uma das abordagens seguidas para testar a configuração do software é testar em Máquinas Virtuais. Máquina Virtual é um Ambiente que é instalado em software e atua como um Hardware Físico e os usuários terão a mesma sensação de uma Máquina Física. Máquinas Virtuais simulam configurações em tempo real.
Em vez de instalar e desinstalar o software em várias máquinas físicas, o que consome muito tempo, é sempre melhor instalar o aplicativo/software na máquina virtual e continuar os testes. Este processo pode ser realizado tendo vários máquinas virtuais, o que simplifica o trabalho de um testador
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 teste é bem treinada em testes de configuração
- Build lançado é unidade e teste de integração aprovado
Típica Estratégia de Teste O que é seguido para testar o teste de configuração de software é executar o conjunto de testes funcionais em várias configurações de software para verificar se o aplicativo em teste está funcionando conforme desejado, sem falhas ou erros.
Outra estratégia é garantir que o sistema esteja funcionando bem falhando manualmente nos casos de teste e verificando a eficiência.
Exemplo:
Digamos que haja um aplicativo bancário, que deve ser testado quanto à sua compatibilidade em vários navegadores, quando o aplicativo está hospedado em um ambiente onde todos os pré-requisitos estão presentes, ele pode passar na unidade e Teste de integração no laboratório de testes.
Mas se o mesmo aplicativo estiver instalado em um local cliente e as máquinas não tiverem algumas atualizações de software ou versões das quais o aplicativo depende direta ou indiretamente, há uma chance de o aplicativo falhar. Para evitar esse tipo de situação, é sempre sugerido falhar nos testes manualmente, removendo alguns dos requisitos de configurabilidade e depois prosseguir com os testes.
Teste de configuração de hardware
O teste de configuração de hardware geralmente é realizado em laboratórios, onde encontramos máquinas físicas com diferentes hardwares conectados a elas.
Sempre que uma compilação é lançada, o software deve ser instalado em todas as máquinas físicas onde o hardware está conectado, e o conjunto de testes deve ser executado em cada máquina para garantir que o aplicativo esteja funcionando bem.
Para executar a tarefa acima, é necessário um esforço significativo para instalar o software em cada máquina, conectar o hardware e executar manualmente ou mesmo para automatizar o processo acima mencionado e executar o conjunto de testes.
Além disso, ao realizar o teste de configuração de hardware, especificamos o tipo de hardware a ser testado, e há muitos hardwares e periféricos de computador que tornam praticamente impossível executar todos eles. Portanto, passa a ser dever do testador analisar qual hardware é mais utilizado pelos usuários e tentar fazer os testes com base na priorização.
Exemplos de casos de teste
Considere um cenário bancário para testar a compatibilidade de hardware. Um aplicativo bancário conectado à máquina de contagem de notas deve ser testado com diferentes modelos como Rolex, Strob, Maxsell, StoK, etc.
Vamos pegar alguns exemplos de casos de teste para testar a máquina de contagem de notas
- Verificando a conexão do aplicativo com o modelo Rolex quando os pré-requisitos NÃO estão instalados
- Verificando a conexão do aplicativo com o modelo Rolex quando os pré-requisitos estão instalados
- Verifique se o sistema está contando as notas corretamente
- Verifique se o sistema está contando as notas incorretamente
- Verificando as notas adulteradas
- Verificando os tempos de resposta
- Verificando se as notas falsas foram detectadas e assim por diante
Os casos de teste acima são para um modelo, e o mesmo deve ser testado com todos os modelos disponíveis no mercado, configurando-os em um laboratório de testes o que é difícil. Portanto, é aconselhável terceirizar os testes de configuração de hardware para organizações especializadas.
Resumo
Na Engenharia de Software, o Teste de Configuração deve ter a mesma importância que outros tipos de teste. Sem a realização de testes de configuração, é difícil analisar o desempenho ideal do sistema e também o software pode encontrar problemas de compatibilidade nos quais deveria ser executado.