Skip to main content

Testes unitários

Uma configuração incorreta de regra em um aplicativo pode causar atrasos no processamento do caso. Quando ocorre um erro, usuários finais podem precisar reatribuir trabalhos, ou um caso pode exigir reparo por um administrador. Por exemplo, considere um caso que precisa ser roteado para o departamento de execução. Se, ao invés disso, o caso for roteado para o departamento de contabilidade, um contador deverá rotear novamente o caso para o departamento de execução. O contador desperdiça tempo roteando novamente a atribuição enquanto o departamento de execução fica ocioso. O resultado é um atraso para o cliente durante a reatribuição do caso.

error_customer_delay

Para evitar erros de configuração tais como atribuições roteadas incorretamente, os desenvolvedores testam seus aplicativos. A maneira mais básica de testar aplicativos é com as regras individuais de teste unitário (unit testing). O teste unitário apoia a entrega contínua de aplicativos permitindo testes de qualidade das menores unidades de funcionalidade. Em um aplicativo da Pega, a menor unidade é uma regra individual.

O objetivo do teste unitário é verificar se cada elemento do aplicativo, por exemplo, uma tabela de decisão ou uma report definition, funciona conforme esperado. O teste unitário reduz o risco de que um erro de configuração em uma regra seja propagado para outras regras no aplicativo, o que causaria atrasos significativos ao processamento do caso. 

Utilize o teste unitário para reduzir erros de configuração. Com o teste unitário de regras individuais, você sabe que cada regra funciona conforme o esperado ao configurá-la. Por exemplo, considere a árvore de decisão que avalia uma propriedade. Conforme mostrado na imagem a seguir, o aplicativo lê a propriedade a partir de uma página de dados que tem como fonte uma report definition. Se a árvore de decisão retornar um resultado incorreto, mas a página de dados contiver os dados corretos, você pode isolar do erro na tabela de decisão.

isolate_cause_of_error

Verifique seus conhecimentos com a interação a seguir.

Regras individuais dos testes unitários

É possível testar uma regra com dados de teste fornecidos por você clicando em Actions > Run na barra de ferramentas de formulários de regras no Dev Studio. 

Nota: Para alguns tipos de regra, tais como regras de arquivos binários, a Pega não fornece uma opção de teste unitário. Se não for possível aplicar o teste unitário à regra, a opção Run estará indisponível.

A aparência da janela Run Rule varia de acordo com o tipo de regra, portanto, o modo como você executa uma regra varia conforme o tipo de regra. Em geral, no entanto, as regras são executadas utilizando dados de uma página de teste que você define para o teste.

Quando você executa a regra, o sistema utiliza a resolução de regras. Se você executar o teste unitário de uma regra e houver uma versão mais alta da regra, o sistema executará a versão mais alta da regra.

Grave um teste unitário para testes automatizados

Depois que você executa o teste, também é possível converter o teste em um caso de teste reutilizável que você pode executar a qualquer momento. Um caso de teste identifica uma ou mais condições testáveis utilizadas para determinar se uma regra retorna um resultado esperado. A criação de um caso de teste reutilizável apoia o modelo de entrega contínua ao fornecer meios para testar regras regularmente, a fim de identificar os efeitos de regras novas ou modificadas. Execute casos de teste sempre que forem realizadas alterações no código que possam afetar a funcionalidade existente. Para obter mais informações sobre a utilização de casos de teste unitário, consulte o artigo da Comunidade Pega Compreendendo casos de teste unitário.

Dica: É possível executar automaticamente um teste unitário salvo a partir da regra ou do teste unitário utilizando a unidade de testagem PegaUnit.

Para criar um caso de teste, converta um teste na janela Executar regra (Run Rule) e defina os resultados que indicarem um teste unitário bem-sucedido. Cada resultado esperado consiste em uma asserção, que descreve uma ou mais condições para testar e o resultado esperado para cada condição. Os casos de teste permitem vários tipos de asserção que testam diversos aspectos da execução de regras. As asserções disponíveis para um caso de teste variam de acordo com o tipo de regra testado.

Nota: Para uma explicação dos tipos de asserção suportados e de seus usos, consulte o artigo da Comunidade Pega Definindo resultados de testes esperados com asserções.

A tabela a seguir fornece alguns exemplos de asserções e seus usos.

Tipo de asserção Uso Exemplo
Propriedade Testa o valor da propriedade especificada. Requer a página na qual a propriedade está definida, uma operação de comparação e um valor de comparação. pxUrgencyWork é igual a 10
Resultado da decisão Testa o valor retornado por uma regra de decisão. Requer valores de cada propriedade de entrada necessária pela regra de decisão para retornar o resultado esperado. Quando Referenciado por funcionário (Referred by employee) for falso, retornar RecruitingWB
Tempo de execução esperado Testa se uma regra é executada dentro de um tempo permitido. Requer uma operação de comparação e um tempo permitido em segundos. O tempo de execução esperado é menor ou igual a três segundos
Página Testa a presença de uma página na memória. Requer o nome da página e uma operação de comparação. A página D_CoursesList não contém erros.

Ao concluir o conjunto de resultados esperados, salve a configuração do caso de teste. É possível acessar um teste salvo a partir da regra. A regra lista todos os casos de teste registrados para essa regra e o status de cada caso de teste em sua última execução. Se você executar novamente um caso de teste e ele falhar, abra o resultado e identifique cada asserção que retornou um resultado inesperado. Se um caso de teste retornar resultados esperados, um status Aprovado (Passed) verde será exibido.

É possível agrupar casos de teste unitário em um conjunto de teste para executar múltiplos casos e pacotes de teste em uma ordem especificada. Quando você executa pacotes de teste em lotes, eles são executados sequencialmente, mas não em paralelo. 

Preparando casos de teste

Para salvar um caso de teste, é preciso ter acesso a um ruleset configurado para armazenar casos de teste. Não é possível salvar casos de teste em um ruleset que não está configurado para armazenar casos de teste.

Antes de registrar um teste unitário, trabalhe com o administrador do seu sistema para identificar um ruleset adequado para armazenar casos de teste. Mantenha os testes portáteis e independentes, uma vez que eles não devem ser dependentes de qualquer outro caso de teste e não devem interferir com os testes executados posteriormente. Quando o aplicativo de desenvolvimento for liberado para produção, você poderá migrar o aplicativo sem incluir os casos de teste.

Dica: Utilize o recurso Cleanup para restaurar qualquer página do sistema da área de transferência ou alterações a dados ou instâncias de trabalho que ocorrem durante a execução do teste. A guia History mostra um histórico de alterações. 

Executando um caso de teste

No Dev Studio, a página inicialUnit testing lista todos os casos de teste definidos para um aplicativo e o status de cada caso de teste em sua última execução. Na página inicial, também é possível criar pacotes de teste que consistem em um ou mais casos de teste relacionados. Os pacotes de testes unitários da Pega executam múltiplos casos de teste na ordem que você especificar. 

Dica: No menu Configure  (Configuração), selecione Application > Quality > Automated Testing > Unit Testing  (Aplicação > Qualidade > Teste automático > Teste de unidade) para acessar a página inicial.
Unit testing page

Verifique seus conhecimentos com a interação a seguir.

Melhores práticas para configurar testes unitários

Os testes unitários automatizados fornecem resultados acionáveis, e o tempo gasto na execução e manutenção de testes automatizados é menor do que o gasto em testes manuais. Certifique-se de que o desenvolvimento de testes ocorra simultaneamente ao desenvolvimento de regras para o seu aplicativo da Pega Platform™. Você pode decidir reutilizar casos de teste durante o desenvolvimento em andamento, e outras equipes podem usar seus pacotes de teste. 

Quando criar testes unitários automatizados

Quando uma regra retorna um resultado esperado, considere configurar um teste unitário automatizado conforme sugerido na tabela de prioridade a seguir.

Alta prioridade Baixa prioridade
Testes que retornam resultados previsíveis Testes que passam por alterações frequentes que requerem manutenção de casos de teste
Testes cuja execução é necessária com frequência Testes que são fáceis de testar manualmente 
Testes que ajudam a reduzir esforços manuais ao testar lógicas complexas Testes que são muito complexos para serem automatizados
Testes que contêm regras com amplo uso no aplicativo inteiro Testes que contêm persistência de dados de um banco de dados
Dica: É recomendável executar testes em cada mesclagem e check-in no mínimo, mas idealmente com frequência maior e de forma regular. 

Crie testes para cobertura 

Como seus testes unitários cobrem uma ampla gama de cenários, certifique-se de que validações suficientes sejam criadas para cobrir todos os cenários positivos e negativos. Busque incluir o máximo possível de cobertura de regras, que incluem diferentes caminhos de execução de regras. Adicione testes suficientes que cubram todas as combinações de entrada e saída, mas mantenha a lógica do caso de teste curta e visível para otimizar a reutilização. Os testes unitários menores podem ajudar a identificar rapidamente quando a funcionalidade da regra não funciona, além de facilitar no design e na manutenção. 

Nota: Para saber mais sobre como medir a cobertura de teste de regras, consulte o tópico Cobertura de teste da Academia Pega.

Crie testes para manutenção

Cada caso de teste deve ser de fácil leitura e compreensão por qualquer pessoa. Por exemplo, os nomes e as descrições de casos de teste são relevantes e explicam o propósito de cada caso de teste. Adicione comentários a cada etapa para uma melhor legibilidade e para garantir facilidade de manutenção.

Torne os dados de teste o mais modulares possível para facilitar e agilizar as atualizações ou alterações futuras. Por exemplo, não é necessário criar dados de teste para o aplicativo como um todo, nem estruturas de dados complexas e maiores. Dados de teste mais modulares significam que pequenas alterações não requerem reconfiguração de todos os dados do teste e possivelmente não introduzem problemas em outros testes. 


This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Este conteúdo foi útil?

100% acharam esse conteúdo útil

Quer nos ajudar a melhorar esse conteúdo?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice