Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Nota
As funcionalidades de pré-visualização não se destinam à produção e poderão ter caraterísticas restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipado e enviar comentários.
Criar planos de teste abrangentes para Power Platform aplicativos pode ser demorado, especialmente para cenários complexos. Ferramentas de criação assistidas por IA podem GitHub Copilot acelerar significativamente esse processo gerando modelos de teste, sugerindo casos de teste e automatizando a criação de código clichê.
Este guia explica como usar GitHub Copilot com Power Platform soluções de controle do código-fonte para criar planos de teste do Test Engine de forma eficiente.
Pré-requisitos
Antes de começar, certifique-se de que tem:
- Visual Studio Código instalado
- GitHub Copilot subscrição
- GitHub Copilot Extensão de chat para VS Code
- Power Platform CLI instalada
- Uma solução controlada na Power Platform fonte
Configurando seu ambiente de criação de teste
Para maximizar a eficácia da criação de testes assistida por IA, combine estas ferramentas em um fluxo de trabalho estruturado:
- Obtenha os seus ficheiros de origem
- Clone seu Power Platform ambiente ou solução a partir do controle do código-fonte
- Exporte e descompacte sua solução com arquivos usando Power Platform a exportação da solução pac e a solução pac descompacte
- Inicializar um repositório git para controle de versão (se ainda não tiver sido feito)
- Crie uma pasta de teste dedicada em seu repositório de soluções
- Abra a pasta da solução no Visual Studio Código
Usando GitHub Copilot para criação de teste
GitHub Copilot pode ajudá-lo a gerar vários componentes de teste com base em sua solução controlada pelo código-fonte. Veja como usar seus recursos de forma eficaz:
Usando documentação de exemplo como contexto
O catálogo de amostras do mecanismo de teste fornece uma fonte rica de material de referência para GitHub Copilot. Você pode ajudar o Copilot a gerar testes de maior qualidade ao:
- Incluindo o arquivo samples.md em seu espaço de trabalho
- Fazendo referência a amostras específicas em seus prompts
- Fornecendo links para repositórios GitHub de exemplo
Por exemplo, você pode:
- Abra o código do aplicativo e o arquivo samples.md no VS Code
- Peça ao Copilot para criar testes "semelhantes ao exemplo ButtonClicker" ou "usando padrões da Dataverse amostra"
- Faça referência a recursos específicos de amostras que correspondam às suas necessidades de teste
Essa abordagem ajuda o Copilot a entender Power Platform os padrões do Test Engine e gerar testes mais precisos.
Trabalhando com GitHub Copilot no modo de agente
Visual Studio O Code Chat GitHub Copilot oferece um Modo de Agente que pode ajudar a gerar testes com base em seus arquivos de solução. Este modo permite que o Copilot acesse e compreenda o contexto do seu projeto mais profundamente.
Para usar o Modo de Agente para geração de teste:
- No VS Code, abra GitHub Copilot o Chat (Ctrl+Shift+I)
- Selecione Agente no seletor de modo Copilot
- Crie um prompt detalhado sobre o teste que você deseja criar
Exemplos de prompts para geração de teste
Tente usar prompts como estes para a geração de testes:
Objetivo:
Gere um conjunto de testes abrangente para um aplicativo de tela usando o Power Apps Test Engine, modelado de acordo com o exemplo ButtonClicker.
Prompt:
Gere um teste para ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml usando o exemplo em https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker como referência. Crie casos esperados, casos de borda e casos de exceção. O teste deve criar um arquivo YAML de teste e Power Fx etapas de teste, config.json e RunTest.ps1 com base no exemplo para me permitir executar o teste.
Objetivo:
Crie um plano de teste detalhado para um aplicativo controlado por modelo para garantir que a funcionalidade principal e a lógica de negócios estejam a funcionar conforme o esperado.
Prompt:
Crie um plano de teste abrangente para meu aplicativo controlado por modelo localizado em ./SolutionPackage/src/Other/Solution.xml. O teste deve validar a carga do formulário, a criação de registros e a execução da regra de negócios. Gere o YAML de teste, Power Fx etapas e um script do PowerShell para executar o teste.
Objetivo:
Construa um plano de teste para Dataverse as entidades verificarem as operações CRUD por meio Power Fx de ações.
Prompt:
Crie um plano de teste abrangente para os meus Dataverse entites. O teste deve executar ações de criação, atualização, exclusão Power Fx . Gere o YAML de teste, Power Fx etapas e um script do PowerShell para executar o teste.
Noções básicas sobre os componentes de teste gerados
Quando GitHub Copilot gera um teste, ele normalmente cria os seguintes componentes:
- Plano de teste YAML: define a estrutura de teste, a URL do aplicativo e as etapas de teste
- Power Fx etapas de teste: contém a lógica de teste usando Power Fx expressões
- config.json: Configuração para parâmetros de execução de teste
- RunTest.ps1: script do PowerShell para executar o teste
Exemplo: Estrutura de teste gerada
MyAppTests/
├── MyAppTest.fx.yaml # Power Fx test steps
├── MyAppTest.yml # Test plan definition
├── config.json # Test configuration
└── RunTest.ps1 # Test execution script
Práticas recomendadas para criação de testes assistida por IA
Considere as seções a seguir para aproveitar ao máximo a criação de testes do GitHub Copilot Test Engine.
Forneça um contexto claro em suas solicitações
Seja específico sobre o que deseja testar e inclua referências a:
- Os arquivos exatos para testar
- Exemplos de testes para usar como modelos
- Cenários de teste específicos que você deseja cobrir
- Quaisquer requisitos de autenticação ou ambiente
Usando exemplos do mecanismo de teste para contexto
A documentação samples.md cataloga todas as amostras disponíveis do repositório do Test Engine, o que pode ser uma excelente referência ao GitHub Copilot criar prompts. Por exemplo, ao testar um aplicativo de tela com botões, você pode fazer referência ao exemplo de Clicker de botão:
Prompt:
Gere um teste para meu aplicativo Canvas em ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml usando o exemplo ButtonClicker de https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker. O teste deve:
1. Verifique se o botão do meu contador incrementa um valor no ecrã
2. Condições limite de ensaio (por exemplo, valor máximo)
3. Inclua ganchos de ciclo de vida OnTestCaseStart e OnTestCaseComplete
4. Gere o config.json com variáveis de ambiente apropriadas
Essa abordagem ajuda o Copilot a entender a estrutura do teste e gera testes mais precisos e contextualmente relevantes com base em exemplos comprovados.
Use soluções controladas pela fonte como contexto
O Copilot tem melhor desempenho quando pode analisar a estrutura da sua solução. Use o controle do código-fonte para Power Platform soluções que forneçam esse contexto. Este contexto permite ao Copilot:
- Compreender a estrutura da sua aplicação
- Identificar nomes e propriedades de controle
- Gere etapas de teste mais precisas
- Referenciar os caminhos de arquivo corretos
Revisar e refinar os testes gerados
Embora os testes gerados por IA forneçam um excelente ponto de partida, sempre:
- Verifique se as referências de controle correspondem ao seu aplicativo
- Adicionar asserções para funcionalidades críticas para os negócios
- Garantir que os casos de borda sejam tratados corretamente
- Validar configuração de autenticação
Combine com experiência manual
Para cenários de teste complexos, use GitHub Copilot para:
- Gerar a estrutura e a estrutura de teste
- Criar padrões de validação padrão
- Sugira casos extremos a serem considerados
Em seguida, aumente com sua experiência de domínio para:
- Regras de validação específicas da empresa
- Considerações ambientais
- Dados de teste especializados
Padrões comuns de geração de testes
Esta secção contém alguns padrões comuns de geração de teste:
Testando aplicativos Canvas
Para aplicativos de tela, use prompts que fazem referência ao App.fx.yaml arquivo em sua solução controlada pelo código-fonte:
Prompt:
Gere um teste para meu aplicativo Canvas em ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml que valida o processo de envio de despesas. O teste deve preencher os campos de despesas, enviar o formulário e verificar se a mensagem de confirmação aparece.
Testando aplicativos orientados por modelo
Para aplicativos controlados por modelos, concentre-se na navegação de entidade, interações de formulário e regras de negócios:
Prompt:
Crie um teste para meu aplicativo controlado por modelo que testa o formulário de entidade Conta. O teste deve criar um novo registro de conta, validar campos obrigatórios e verificar se as regras de negócios para cálculo de limite de crédito estão a funcionar corretamente.
Extensões de teste Dataverse
Para Dataverse testes, enfatize as operações de dados e a validação da lógica de negócios:
Prompt:
Gere um Dataverse teste que valida os plugins personalizados na minha solução. O teste deve criar registros de teste, acionar a execução do plug-in e verificar as transformações de dados esperadas ocorridas.
Prompts de teste específicos da amostra
Para obter a geração de teste mais precisa, consulte amostras específicas do catálogo de amostras do mecanismo de teste que correspondam às suas necessidades de teste. Aqui estão avisos personalizados para cenários de teste comuns:
Prompts de exemplo ButtonClicker
O exemplo ButtonClicker demonstra o teste básico de funcionalidade do contador. Use estes prompts:
Prompt:
Gere um teste para meu aplicativo de contador com uma estrutura semelhante ao exemplo ButtonClicker. Meu aplicativo tem botões chamados "IncrementBtn" e "ResetBtn" com um "CounterLabel" que exibe a contagem atual. Crie um teste que verifique se ambos os botões funcionam corretamente e se a contagem máxima é 10.
Prompt:
Crie um teste para meu aplicativo de interação de botão usando o exemplo ButtonClicker como referência. Meu aplicativo tem um "SubmitButton" que deve ser ativado somente quando os campos "NameInput" e "EmailInput" forem concluídos. Gere um plano de teste com Power Fx etapas para validar esse comportamento.
Prompts de teste da galeria
Os exemplos BasicGallery e NestedGallery mostram como testar as interações da galeria:
Prompt:
Gere um teste para o meu aplicativo de galeria onde eu tenho uma galeria "Produtos" com itens de produto contendo controles "TitleLabel", "PriceLabel" e "SelectButton". Use a estrutura de exemplo BasicGallery para verificar se posso selecionar itens e se os detalhes corretos aparecem em um "DetailPanel".
Prompts de operações de dados
O Dataverse exemplo demonstra testes de operações de dados:
Prompt:
Crie um teste para meu aplicativo CRM usando o padrão de Dataverse exemplo. Teste se posso criar um novo registro de contato, atualize-o e verifique se as alterações persistem. Inclua testes de interface do utilizador e operações diretas Dataverse .
Prompts de teste de IA
Para testar a funcionalidade alimentada por IA, consulte o exemplo AIPrompt:
Prompt:
Gere um teste para meu aplicativo de análise de sentimento com base no exemplo AI Prompt. Meu aplicativo tem uma caixa de texto "FeedbackInput" e usa AI Builder para classificá-lo como positivo, negativo ou neutro. Crie um teste que valide entradas diferentes e produza saídas esperadas dentro de limites aceitáveis.
Técnicas avançadas
Esta secção fornece exemplos de recursos avançados de prompt.
Criação de pacotes de teste multiambiente
Você pode solicitar que o Copilot gere testes que funcionem em vários ambientes:
Prompt:
Gere um conjunto de testes para meu aplicativo que possa ser executado em ambientes DEV, TEST e PROD com variáveis de configuração apropriadas para cada ambiente.
Gerando cenários simulados de dados
Para testes isolados com simulação de conector:
Prompt:
Crie um teste com respostas simuladas do conector para meu aplicativo que usa o conector do Office 365 Outlook. O teste deve simular o recebimento de e-mails e validar a lógica de processamento do aplicativo.
Testando recursos de IA e manipulando resultados não determinísticos
Quando você trabalha com aplicativos alimentados por IA, os testes introduzem desafios exclusivos, já que as saídas de IA podem variar ligeiramente entre as execuções, mesmo com entradas idênticas. Este comportamento não determinístico requer abordagens de teste especiais.
Compreender os testes não determinísticos
O teste não determinístico envolve a validação de saídas que podem variar legitimamente entre as execuções de teste:
- AI Model Outputs: Respostas de modelos de IA como GPT ou componentes personalizados AI Builder
- Pontuações de Confiança: Avaliações numéricas que podem flutuar dentro de intervalos aceitáveis
- Conteúdo Gerado: Texto ou recomendações produzidas por sistemas de IA
Usando Preview.AIExecutePrompt para testes determinísticos de recursos de IA
O mecanismo de teste fornece o Preview.AIExecutePrompt que permite a validação determinística de respostas de IA. Esta abordagem permite-lhe:
- Execute prompts de IA em cenários de teste
- Analisar e validar as respostas estruturadas
- Verificar se os resultados críticos atendem às expectativas, apesar das variações potenciais
Exemplo: Avaliação de classificação com AI Builder
O exemplo a seguir demonstra o uso da Preview.AIExecutePrompt função para testar um sistema de classificação alimentado por IA:
EvaluateTestQuestionPrompt(Prompt: TestQuestion): TestResult =
With({
Response: ParseJSON(
Preview.AIExecutePrompt("PromptEvaluator",
{
Context: "You are a helpful agent asking about external customer service questions.",
Question: Prompt.Question
}).Text)
},If(
IsError(AssertNotError(Prompt.ExpectedRating=Response.Rating, Prompt.Question & ", Expected " & Prompt.ExpectedRating & ", Actual " & Response.Rating)),
{PassFail: 1, Summary: Prompt.Question & ", Expected " & Prompt.ExpectedRating & ", Actual " & Response.Rating}, {PassFail: 0, Summary: "Pass " & Prompt.Question}
))
Neste exemplo:
- O teste executa um prompt de IA no modelo "PromptEvaluator"
- Passa um contexto e uma pergunta para avaliação
- Ele valida se a classificação retornada corresponde ao valor esperado
- Ele fornece feedback claro sobre o sucesso ou fracasso do teste
Você pode explorar a implementação completa no exemplo AI Prompt do repositório TestEnginePowerApps .
Incorporando testes com reconhecimento de IA
Ao usar GitHub Copilot para gerar testes para aplicativos alimentados por IA:
Prompt:
Gere um teste para meu aplicativo baseado em IA que usa AI Builder processamento de formulário. Inclua etapas de teste que validem os resultados da IA com tolerância apropriada para saídas não determinísticas.
Solução de problemas e refinamento
Se GitHub Copilot gera testes que não atendem às suas necessidades:
- Refine seu prompt: seja mais específico sobre o que você deseja testar
- Forneça exemplos: Link para amostras de teste específicas que correspondam ao estilo desejado
- Decomponha testes complexos: Solicite a geração de componentes de teste menores e focados
- Iterar: use as respostas do Copilot para refinar seu próximo prompt
Artigos relacionados
Explore os recursos do mecanismo de teste
Navegue pelo catálogo de amostras do Test Engine
Saiba mais sobre Power Fx as funções de teste
Compreender o formato de teste YAML
Explore as opções de autenticação
Treinamento: Criando aplicativos com GitHub Copilot o modo agente