Considerações de design da estrutura de testes automatizados

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 6 min. de leitura
  • Siga estas considerações de design para criar testes confiáveis, escaláveis e eficientes.

    Testes gerais

    Evite modificar ServiceNowTabelas do sistema ou tabelas que estendem o arquivo da aplicação [sys_metadata] que podem potencialmente mudar o comportamento do sistema. Evite usar ou modificar registros existentes para evitar resultados inesperados entre testes. A seguir estão alguns dos exemplos comuns de mudanças de dados do sistema que podem causar resultados inesperados.
    • Representar uma conta existente
    • Exclua um registro existente.
    • Execute um teste que desabilite uma regra de negócio ou propriedade do sistema
    • Valide com um registro existente

    Teste paralelo

    Reduza o tempo de design de testes executando vários testes e pacotes de testes em paralelo. Projete testes para serem executados em paralelo, evitando conflitos de recursos e dependências de dados.

    Evite conflitos de recursos entre testes paralelos

    Evite conflitos de recursos executando testes que criam seus próprios dados. Os testes executados com dados existentes impedem que outros testes que precisam dos mesmos dados sejam executados em paralelo.
    Nota:
    Se você tiver dois ou mais testes conflitantes de recursos, consulte Marque testes como mutuamente exclusivospara criar uma regra de exclusão mútua que impeça a execução em paralelo.

    Teste parametrizado

    Execute um teste várias vezes com dados de teste diferentes para cada execução. Crie parâmetros para armazenar dados de teste para cada execução de teste.Consulte Componentes de teste parametrizadospara obter mais informações.
    • Crie parâmetros para armazenar dados de teste para cada execução de teste.
    • Certifique-se de que os testes parametrizados sejam compatíveis com os recursos de ATF (Automated Test Framework) padrão, como relatórios, pacotes de testes e reversão de dados. A cópia de um teste parametrizado copia todos os parâmetros, conjuntos de dados de execução de teste e etapas de teste.
      Nota:
      Se um teste parametrizado, incluindo etapas de teste de IU personalizada, for criado, o sistema usará somente o primeiro conjunto de dados para recuperar componentes.

    Teste de IU personalizado

    Teste interfaces de usuário personalizadas, como páginas de IU e macros de IU, recuperando seus componentes de página HTML e JavaScript e identificando as ações de teste compatíveis.

    Use o inspetor de página para identificar componentes de página testáveis
    O inspetor de página determina quais componentes de página estão disponíveis para testes de IU personalizados. Os componentes da página que não estão disponíveis para o inspetor de página não estão disponíveis para testes de IU personalizados.
    Navegue até a IU personalizada que você deseja testar
    Use as etapas de teste existentes para navegar até a IU personalizada de destino. Por exemplo, para testar um artigo da Base de conhecimento, use as etapas de teste existentes para navegar até um módulo ou abrir um registro existente. A maioria dos testes de IU personalizados requer o uso de categorias de etapa de teste existentes como parte do teste.
    Use a área do componente para identificar os componentes da página
    A área do componente descreve o elemento de layout HTML que contém o componente, como um <div>ou <section>elemento. A área ajuda os designers de teste a distinguir entre componentes fornecendo o local no layout da página.
    Teste sua IU personalizada em vez de ServiceNow AI PlatformIU
    . Automated Test FrameworkImpede testes de IU personalizados de ServiceNow AI Platformrecursos. Por exemplo, você não pode testar painéis ou designers gráficos. Em vez disso, crie testes para validar suas páginas e elementos de IU personalizados porque você tem controle direto sobre essas interfaces de usuário.
    Use atributos HTML para substituir as propriedades de teste do componente da página
    Altere as propriedades de teste de um componente de página específico usando atributos HTML específicos de Automated Test Framework. Consulte Substituir ações de teste de componente.
    Recupere os componentes da página novamente quando você mover testes para outra instância
    As etapas de teste de IU personalizadas não armazenam componentes de IU como metadados. Os testadores devem recuperar manualmente os componentes da página novamente ao mover testes entre instâncias.

    Testes de clone do sistema de produção

    Mova seus testes para o sistema de produção para clonar as instâncias mais atualizadas para teste. Acelere o tempo de teste copiando ou clonando diretamente um teste do sistema de produção para uma instância de subprodução.

    Nota:
    Por padrão, a propriedade do sistema usada para executar testes automatizados está desativada para evitar que você execute acidentalmente esses testes em um sistema de produção. Para evitar a corrupção de dados ou indisponibilidade, execute testes somente em instâncias de desenvolvimento, teste e outras instâncias de não produção.

    Mensagens de aviso para todos os testes

    Mensagens de aviso Considerações de design
    Representar um usuário existente pode causar um comportamento inesperado para este teste. Em vez disso, evite possíveis problemas adicionando uma etapa "Criar um usuário". Consulte a documentação para Considerações de design de teste . Crie um novo usuário para garantir funções e grupos adequados e evitar o uso de registros existentes. Para obter mais informações, consulte Testes gerais.
    O uso de uma tabela que estende o arquivo de aplicação [sys_metadata] pode causar comportamento inesperado para outros testes em execução em paralelo. Consulte a documentação para Considerações de design de teste . Evite executar um teste com uma tabela que estenda o arquivo da aplicação porque isso pode afetar outros testes. Para obter mais informações, consulte Teste paralelo.
    O uso de uma tabela do sistema pode causar comportamento inesperado para outros testes executados em paralelo. Consulte a documentação para Considerações de design de teste . Evite usar uma tabela do sistema porque isso pode afetar outros testes executados em paralelo. Para obter mais informações, consulte Teste paralelo.
    O uso de um registro existente pode causar um comportamento inesperado para este teste. Consulte a documentação para Considerações de design de teste . Evite usar registros existentes porque esses registros podem não ter o estado e os valores esperados pelo teste. Use registros criados durante o teste para garantir o estado e os valores apropriados. Para obter mais informações, consulte Testes gerais.
    A modificação de um registro existente pode causar um comportamento inesperado para outros testes executados em paralelo. Consulte a documentação para Considerações de design de teste . Evite usar registros existentes porque isso pode afetar outros testes. Use registros criados durante o teste. Para obter mais informações, consulte Testes gerais.
    O uso do tipo de declaração '--Nenhum---' pode causar comportamento inesperado para ações de IU do servidor. Evite possíveis problemas definindo o tipo de declaração e usando um tempo limite. Consulte a documentação para Considerações de design de teste . As ações de IU do Server fazem com que o formulário atual seja enviado e a página seja recarregada. Selecione um tipo de declaração diferente de Nenhum Para evitar qualquer comportamento inesperado para ações de IU do servidor. Defina um tempo limite para garantir que o teste aguarde o envio ou não do formulário antes de passar para a próxima etapa. Ao testar ações de IU do servidor, o. Nenhum o tipo de declaração é configurado automaticamente como Formulário enviado para o servidor .

    Teste de separação de domínio

    Ao testar a separação de domínio, você deve definir o domínio primeiro. Isso deve fazer parte da primeira etapa de representação de cada uma das etapas de teste ATF quando elas dependem de um domínio que está sendo definido. Para saber mais sobre as práticas recomendadas de separação de domínio, consulte Separação de domínio práticas recomendadas para provedores de serviços .