how effectively prepare test bed
Desafios e práticas recomendadas de configuração da base de teste / ambiente de teste:
Em várias ocasiões, os testadores descobrem que seus defeitos são rejeitados por questões ambientais ou se encontram constantemente replicando os defeitos por motivos semelhantes. Embora a abertura do maior número de defeitos deva certamente ser um dos benchmarks pessoais para cada testador, a maioria dos testadores também deve enfatizar ter o maior número de defeitos válidos.
Como isso é feito?
Além de outros aspectos, como o planejamento de uma variedade de cenários de teste e a compreensão completa do item de linha, um boa quantidade de tempo deve ser investida na configuração da bancada ou ambiente de teste . Em segundo lugar, apesar de ter uma quantidade estimada para o planejamento de casos de teste, os testadores também devem concentre suas energias em criando dados de teste eficazes .
Pessoalmente, sendo parte do processo de auditoria, observei que o maior número de defeitos válidos são encontrados quando uma boa quantidade de esforço foi investida na criação da base de teste ou ambiente de teste de maneira correta e quando o testador passou por uma avaliação completa compreensão do tipo de ambiente necessário.
Além disso, o tipo de dados de teste fornecidos ao ambiente de teste pode expor algumas falhas muito sérias no código / recurso em teste, que podem impactar severamente a qualidade do produto.
Este artigo fala sobre o que exatamente o Test Bed envolve: é um processo de duas etapas de configuração do ambiente de teste e configuração dos dados de teste:
Parte 1) A parte anterior do artigo discutirá o processo geral de configuração do ambiente de teste , problemas de configuração mais comumente enfrentados por testes e dicas para manter em mente ao criar uma base de teste em vez desses desafios.
Parte 2) Tendo dito tanto a respeito da bancada de testes coletivamente neste artigo, valeu a pena lançar alguma luz sobre o Manutenção do ambiente de teste aspectos também. A última parte do artigo discute a segunda parte da configuração da Bancada de Teste, que envolve os dados de teste, a abordagem para configurá-la e alguns Técnicas de gerenciamento de dados de teste .
Com um constante “big bang” no desenvolvimento e teste de software, há um foco cada vez maior na adoção de várias metodologias para tornar o processo geral de Garantia da Qualidade transparente, eficiente e adequado.
Várias auditorias de qualidade são conduzidas nas organizações para garantir que o desempenho da equipe de teste possa ser avaliado adequadamente e tenha resultados mensuráveis com as métricas identificadas na inicialização do ciclo de teste. Esses resultados tornam possível identificar a posição de uma determinada equipe em termos de garantia de qualidade ideal para o software que testa.
Esses relatórios também ajudam a equipe a entender as oportunidades de melhoria com base nas observações feitas durante a auditoria.
Desnecessário mencionar que uma métrica muito óbvia para qualquer equipe de teste seria com relação ao número total de defeitos abertos em relação ao número de defeitos que são válidos . Portanto, uma das perguntas que obviamente surgem é - Qual é a base para tentar descobrir qualquer defeito? Dito de outra forma, qual é a base sobre a qual um defeito pode ser encontrado?
A resposta é unânime - configuração da base de teste e / ou ambiente de teste. Existem referências de qualidade definidas nas equipes para reduzir os defeitos que são rejeitados como um erro de configuração de teste / erro do usuário, configurações inválidas ou, em alguns casos, os defeitos que surgem como fugas de uma equipe específica devido a configurações indisponíveis, configurações não testadas.
Vamos começar dando uma olhada mais de perto na definição do que é uma base de teste ou ambiente de teste.
O que você aprenderá:
O que é uma bancada e um ambiente de teste?
Em um sentido muito genérico, um Test Bed poderia ser definido como uma espécie de ambiente de desenvolvimento em que os implementadores de código ou módulos têm a liberdade de testar seus módulos sem qualquer perturbação da equipe de teste, em confinamento absoluto.
No entanto, um Test Bed não é apenas específico para uma equipe de desenvolvimento. Do ponto de vista de uma equipe de teste ou de um testador, uma vez que o Test Bed nada mais é do que uma plataforma identificada para teste de software / produto, também é chamado de ambiente de teste.
Qualquer teste ou ambiente de teste teria que ser configurado de acordo para atender à meta de teste identificada para o aplicativo / produto / software em teste. Em certas situações, um Test Bed seria o agrupamento do ambiente de teste e os dados de teste com os quais ele opera.
Componentes de um ambiente de teste
Qualquer teste teria seus requisitos específicos de ambiente de teste, mas em um sentido muito amplo, qualquer Test Bed / Test Environment será composto de hardware, software e peças de rede para suportar a configuração necessária no mínimo para conduzir e conduzir o teste específico .
É um fato bem conhecido que uma quantidade razoável de tempo de um testador é consumida por problemas ambientais, que por sua vez afetam a produtividade e os cronogramas de teste. Embora o tipo de desafio varie para cada equipe de teste, alguns deles podem ser comuns.
Alguns desafios principais comumente enfrentados são:
# 1) Ambiente Remoto
Os ativos ou ambientes de teste são geralmente colocados geograficamente em sites remotos para as equipes. Este é um dos desafios mais comumente enfrentados pelas equipes de teste, como no caso de quaisquer problemas que possam surgir relativos a hardware, firmware, software, rede, etc.
As equipes que consomem os ativos precisariam contar muito com as equipes de suporte no local onde os ativos estão presentes.
Na mesma linha, se algum ativo precisa de uma atualização de firmware ou uma atualização de construção, novamente a equipe de teste pode precisar do suporte das equipes de suporte que possuem o ambiente abrindo tíquetes de suporte. Isso também pode atrapalhar um tempo considerável de teste e cronogramas de atraso, especialmente em casos de diferenças de fuso horário.
# 2) Uso combinado entre equipes
Na maioria das vezes, as equipes de desenvolvimento e teste usam os mesmos ativos de ambiente. Embora a norma geral defina que os ambientes de desenvolvimento, teste e produção devem ser separados, na realidade esse cenário ideal raramente é alcançado. Torna-se extremamente hostil para as organizações adquirir recursos separados para cada equipe.
Portanto, a maioria das organizações exige o uso comum do ambiente entre o desenvolvimento e o teste. Somado a isso, se os recursos de desenvolvimento e teste disputam o uso dos mesmos ativos ao mesmo tempo, isso leva ao caos e a divergências entre os membros.
# 3) Planejamento ineficaz para o uso de recursos para integração
Em alguns casos, para cenários que precisam de um teste de ponta a ponta onde há uma integração de dois ou mais componentes para funcionarem juntos, novamente pode haver um requisito para ter o uso comum de recursos entre as equipes de teste. O planejamento ineficaz com relação ao uso é um grande contribuinte para que o ambiente se torne instável, além de conflitos entre as equipes.
O efeito mais evidente disso é que um problema observado para um determinado uma ou duas vezes pode produzir um comportamento completamente diferente nas execuções a seguir para o mesmo cenário. Se um defeito já foi aberto para isso, há grandes chances de ele não ser aceito pelo desenvolvimento como um candidato válido para uma correção.
# 4) Configuração de teste complexo
A configuração da base de teste ou do ambiente de teste às vezes é muito complexa. Isso representará vários desafios, pois a equipe de teste precisará das habilidades necessárias para entender as configurações necessárias. Às vezes, falta uma base de conhecimento disponível para que o testador possa definir a configuração necessária.
Nesses casos, os próprios testadores podem induzir um erro na base de teste configurando-a incorretamente. Isso teria um grande impacto no caso de teste e nos resultados que ele produz.
# 5) Tempo de configuração elaborado
Em alguns outros momentos, para cada caso de teste, a configuração do teste pode ser muito elaborada em cada caso de teste identificado. Isso pode ser devido a uma grande variedade de tecnologias coexistentes que precisam ser acopladas ou vários componentes para trabalharem juntos em casos de teste de integração.
Nestes casos, cada um dos componentes deve estar funcionando perfeitamente para garantir resultados consistentes, pois um componente pode formar uma entrada para o próximo.
Melhores práticas para configurar um ambiente de teste
Nós demos uma olhada no amplo esboço de desafios que um testador enfrenta antes ou durante o início da execução do teste. A maioria de nós enfrentou um ou mais desses problemas em algum momento durante os marcos de nosso projeto. Esses desafios existiram e possivelmente continuarão a existir em vários graus, porque não existe uma situação idealista.
Dado que os desafios de configuração são parte integrante do trabalho de um testador e são inevitáveis, aqui estão algumas sugestões sobre como preparar efetivamente a configuração para o teste. Isso pode ajudar a minimizar os defeitos que podem se originar de problemas de configuração.
Dica # 1) Entenda o Requisitos de teste completamente e eduque-se
melhor software atualizador de driver para windows 10
Sempre comece com o básico e com o mais óbvio! Quando um documento de especificações ou um documento de caso de uso é lançado pela equipe de desenvolvimento, a etapa invariável para a equipe de teste é entender os requisitos do item de linha e, em seguida, preparar um documento de caso de teste detalhando os casos de teste.
Enquanto o planejamento do teste está sendo realizado, é ao melhor prática para incluir também as informações detalhadas do ambiente de teste no documento do caso de teste. Sem suposições para o fato de que o testador passará algum tempo analisando qual ambiente de teste pode ser necessário e, de acordo com as configurações necessárias.
Isso pode ser conseguido conversando com a equipe de desenvolvimento / arquitetos para construir uma boa base de conhecimento. Isso não apenas economizaria algum tempo no ciclo de execução, mas também ajudaria um testador a alocar seu tempo de execução de forma eficaz entre testes simples e complexos.
Pessoalmente, um bom resultado disso é que muitos de nós descobrimos problemas de configuração (que impediriam inerentemente a execução de testes consistentes) no início do ciclo, o que nos deu tempo para canalizar e adquirir a ajuda necessária para corrigir esses problemas - portanto não estender o ciclo de teste além de períodos inaceitáveis.
Outro impacto positivo que isso teria é que melhoraria muito o conhecimento da equipe de teste e evitaria defeitos desnecessários. Embora essa prática resuma quase todas as práticas inerentemente necessárias para lidar com os desafios de configuração de teste mencionados acima, ainda vale a pena mencionar as outras dicas.
Dica 2) Verificando a conectividade
Outro ponto de verificação mais importante é garantir que os recursos ou ativos que você pretende usar para teste sejam acessíveis. Caso o sistema precise ser executado integrado com outras máquinas, verifique a conectividade entre si usando ping ou telnet.
Além disso, se os sistemas precisam interagir uns com os outros e estão atrás de firewalls, certifique-se de que eles possam se autenticar por meio desses firewalls usando Opções de segurança básicas (BSO) e verifique se há proxies também. Caso você perceba que algumas máquinas não estão acessíveis ou precisam da autenticação BSO, as solicitações de serviço apropriadas podem ser feitas para atender ao requisito para a equipe de suporte.
Isso é particularmente útil quando o ambiente está em locais remotos e também evitará escalonamentos em relação às máquinas e sistemas. Caso a equipe de teste exija acesso a qualquer recurso ou repositório, isso ajudaria a determinar proativamente o mesmo.
Dica # 3)Verificar a rede e / ou armazenamento
Isso é quase uma extensão da dica anterior e precisaria de um certo outro mais cheque com maior profundidade técnica. Certifique-se de que o teste de que você precisa tem a largura de banda necessária e se o teste precisa de uma conexão com a Internet. Além disso, certifique-se de encontrar uma maneira de verificar se a topologia de rede entre sistemas e recursos está correta.
Em segundo lugar, se o seu objetivo de teste implicar na necessidade de qualquer armazenamento, certifique-se de que haja armazenamento e conectividade de rede. Principalmente, é responsabilidade do administrador ter isso em vigor, no entanto, também é uma grande mais valia ter algum conhecimento funcional e funcional do mesmo.
Dica # 4) Verifique o hardware e software necessários, licenças
Muitas vezes acontece que os testadores começam a execução nos sistemas sem verificar o hardware e software necessários que podem ser exigidos. Como resultado disso, muitas vezes, um testador percebe quase durante o ciclo de teste que certa funcionalidade está disponível apenas em um nível superior de hardware ou software / firmware.
Nesse momento, o testador sinalizará um bloqueador em seu esforço de teste, o que consome um tempo de teste considerável. Portanto, é uma prática inestimável ter um ponto de verificação para fazer uma anotação do hardware e do software que são necessários antes.
Muitas vezes, pode haver tempo de inatividade envolvido na atualização do hardware / software, que se resume a Dica 1 onde um testador deve se envolver no planejamento proativo em relação ao hardware. Alguns softwares podem exigir licenças que podem exigir aprovações e ações da equipe jurídica. Sendo esta uma ação orientada por processo, pode levar novamente alguns dias para ser cumprida, o que precisa ser planejado.
Dica 5)Navegadores e versões
O teste que você faz deve espelhar o que um usuário final realizará . Ele pode estar testando em um navegador específico nas versões mais recentes de todos os navegadores. Portanto, é obrigatório identificar os diferentes tipos de navegadores que seriam usados para teste e instalá-los em sua configuração de teste local.
Em segundo lugar, também identifique quais versões de navegadores precisam ser usadas para o teste. Uma boa prática seria começar com um navegador da versão anterior, garantindo assim a compatibilidade com versões anteriores e, em seguida, atualizar para a versão mais recente.
Dica # 6)Planejando o uso do Ambiente de Teste.
Dado o fato de que a equipe de teste nunca terá a situação de ter seus próprios recursos de teste, sistemas e ativos - um dos principais marcos no planejamento do teste é ter um uso eficaz dos recursos de teste.
como abrir um arquivo .jar do Windows 10
Isso é particularmente necessário quando mais de uma equipe precisa acessar o mesmo conjunto de recursos, seja por causa de um cenário de ponta a ponta que compreende dois ou mais componentes trabalhando juntos, ou uma situação em que a configuração do teste é muito elaborada ou complexa para ser replicada muito facilmente e pode haver vários membros dentro da mesma equipe com seus próprios objetivos de teste com a mesma configuração.
Uma boa prática seria desenvolver uma abordagem de compartilhamento de tempo em que uma determinada equipe ou pessoa o use para a primeira metade e as demais pessoas para a segunda. Pode haver algum tempo entre isso seja comum, onde cada um deles pode executar testes independentes que não prejudicarão o outro.
Isso não apenas reduzirá o caos e os conflitos entre os membros, mas também garantirá a estabilidade comportamental do ambiente por um período mais longo.
Dica # 7)Ferramentas de automação e suas configurações
Como sabemos, cada item de linha em teste terá alguns testes repetitivos que farão parte do ciclo de regressão que precisará ser automatizado. A equipe de teste deve identificar que tipo de automação eles gostariam de fazer e as ferramentas necessárias para isso.
Embora isso não precise fazer parte da preparação do ambiente, eu ainda listaria isso como uma prática recomendada para ter as ferramentas de automação identificadas e configuradas de acordo. Isso dependeria completamente da discrição do testador quando ele deseja realizar esta atividade, pois este não é um fator obrigatório para garantir a prontidão do teste.
Conclusão
Essas dicas e truques podem formar uma boa referência e pegada para garantir a prontidão do ambiente de teste para o teste. Sem dúvida, cada equipe enfrenta seu próprio conjunto único de desafios e as dicas acima podem ser adaptadas e personalizadas para atender às suas respectivas necessidades.
Na verdade, a fonte para anotar todo esse esqueleto de dicas vem de uma de minhas atribuições, onde enfrentei problemas de configuração extremamente complexos e levei quase um ano para começar a testar!
Embora as limitações no ambiente de teste estivessem fora do meu controle, achei que muitos desses problemas poderiam ter sido relatados antes se eu tivesse aplicado essas dicas. Eu o tenho aplicado em todas as tarefas que surgem desde então e esse esqueleto me ajudou muito a encontrar proativamente problemas de configuração e canalizar meus esforços para resolvê-los.
Sobre o autor: Este artigo foi escrito por Sneha Nadig. Ela está trabalhando como líder de teste com mais de 7 anos de experiência em projetos de teste manual e de automação.
Na parte 2 deste artigo, veremos o processo de configuração e manutenção do ambiente de teste e dicas de preparação e gerenciamento de dados de teste. Enquanto isso, fique à vontade para postar suas dúvidas sobre a preparação da base de teste nos comentários.
Leitura recomendada
- Como realizar testes pós-lançamento com eficácia e minimizar o impacto da liberação para clientes ativos
- Como você decide quais defeitos são aceitáveis para a ativação do software?
- Como preparar e entregar uma excelente apresentação de teste de controle de qualidade para a equipe
- Processo de Gerenciamento de Defeito: Como Gerenciar um Defeito Efetivamente
- 9 melhores ideias para testadores utilizarem seu tempo de bancada com eficácia
- Liderança em testes - responsabilidades do líder de teste e como gerenciar a equipe de teste com eficácia
- Como planejar e gerenciar projetos de teste com eficácia (dicas)
- Processo de triagem de defeitos e maneiras de lidar com a reunião de triagem de defeitos