Comparteix via


Creació de proves assistida per IA amb GitHub Copilot (vista prèvia)

Nota

Les característiques de visualització prèvia no estan dissenyades per a un entorn de producció i poden tenir una funcionalitat restringida. Aquestes característiques estan disponibles abans d’un llançament oficial de producte per tal que els clients el puguin utilitzar abans i enviar-nos els seus comentaris.

La creació de plans de prova complets per a Power Platform aplicacions pot requerir molt de temps, especialment per a escenaris complexos. Les eines d'autoria assistides per IA poden GitHub Copilot accelerar significativament aquest procés generant plantilles de prova, suggerint casos de prova i automatitzant la creació de codi estàndard.

Aquesta guia explica com utilitzar-les GitHub Copilot amb Power Platform solucions de control d'origen per crear plans de prova del motor de prova de manera eficient.

Requisits previs

Abans de començar, assegureu-vos que teniu:

Configuració de l'entorn de creació de proves

Per maximitzar l'eficàcia de la creació de proves assistida per IA, combineu aquestes eines en un flux de treball estructurat:

  1. Obtenir els fitxers d'origen
  2. Inicialitzar un repositori git per al control de versions (si encara no s'ha fet)
  3. Crear una carpeta de prova dedicada al repositori de solucions
  4. Obre la carpeta de la solució a Visual Studio Codi

Ús GitHub Copilot per a la creació de proves

GitHub Copilot us pot ajudar a generar diversos components de prova basats en la vostra solució controlada per font. A continuació s'explica com utilitzar les seves capacitats de manera eficaç:

Ús de documentació d'exemple com a context

El catàleg d'exemples del motor de proves proporciona una rica font de material de referència per GitHub Copilot. Podeu ajudar Copilot a generar proves de més qualitat mitjançant:

  • Incloure el fitxer samples.md a l'espai de treball
  • Fer referència a mostres específiques a les sol·licituds
  • Proporcionar enllaços a repositoris de GitHub d'exemple

Per exemple, podríeu:

  • Obriu tant el codi de l'aplicació com el fitxer samples.md al VS Code
  • Demaneu a Copilot que creï proves "similars a la mostra de ButtonClicker" o "utilitzant patrons de la Dataverse mostra"
  • Fer referència a capacitats específiques de mostres que s'ajustin a les vostres necessitats de prova

Aquest enfocament ajuda a Copilot a entendre Power Platform els patrons del motor de proves i generar proves més precises.

Treballar amb GitHub Copilot en mode agent

Visual Studio El xat de Code ofereix un GitHub Copilot mode d'agent que pot ajudar a generar proves basades en els fitxers de la solució. Aquest mode permet a Copilot accedir i entendre el context del vostre projecte més profundament.

Per utilitzar el mode agent per a la generació de proves:

  1. Al VS Code, obriu GitHub Copilot el xat (Ctrl+Maj+I)
  2. Seleccioneu Agent al selector de mode Copilot
  3. Elaborar una sol·licitud detallada sobre la prova que vols crear

Exemples de sol·licituds per a la generació de proves

Proveu d'utilitzar indicacions com aquestes per a la generació de proves:

Gol:
Genereu un conjunt de proves complet per a una aplicació de llenç mitjançant el motor de Power Apps proves, modelat a partir de l'exemple de ButtonClicker.

Puntual:
Genereu una prova per a ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml utilitzant l'exemple com a https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker referència. Creeu casos esperats, casos límit i casos d'excepció. La prova ha de crear un fitxer YAML de prova i Power Fx els passos de prova, config.json i RunTest.ps1 basats en l'exemple per permetre'm executar la prova.

Gol:
Creeu un pla de prova detallat per a una aplicació basada en models per garantir que la funcionalitat bàsica i la lògica empresarial funcionin com s'esperava.

Puntual:
Creeu un pla de prova complet per a la meva aplicació basada en models que es troba a ./SolutionPackage/src/Other/Solution.xml. La prova ha de validar la càrrega del formulari, la creació de registres i l'execució de la regla de negoci. Genereu el YAML de prova, Power Fx els passos i un script del PowerShell per executar la prova.

Gol:
Construeix un pla de prova perquè Dataverse les entitats verifiquin les operacions CRUD mitjançant Power Fx accions.

Puntual:
Creeu un pla de proves complet per als meus Dataverse usuaris. La prova ha de realitzar accions de creació, actualització i supressió Power Fx . Genereu el YAML de prova, Power Fx els passos i un script del PowerShell per executar la prova.

Comprensió dels components de prova generats

Quan GitHub Copilot genera una prova, normalment crea els components següents:

  • Pla de prova YAML: defineix l'estructura de la prova, l'adreça URL de l'aplicació i els passos de prova
  • Power Fx passos de prova: conté la lògica de prova mitjançant Power Fx expressions
  • config.json: Configuració dels paràmetres d'execució de proves
  • RunTest.ps1: script del PowerShell per executar la prova

Exemple: estructura de prova generada

MyAppTests/
├── MyAppTest.fx.yaml     # Power Fx test steps
├── MyAppTest.yml         # Test plan definition
├── config.json           # Test configuration
└── RunTest.ps1           # Test execution script

Pràctiques recomanades per a la creació de proves assistida per IA

Considereu les seccions següents per treure el màxim profit GitHub Copilot de la creació de proves del motor de prova.

Proporcioneu un context clar a les vostres indicacions

Sigues específic sobre el que vols provar i inclou referències a:

  • Els fitxers exactes a provar
  • Exemples de proves per utilitzar com a plantilles
  • Escenaris de prova específics que voleu cobrir
  • Qualsevol requisit d'autenticació o d'entorn

Ús d'exemples del motor de proves per al context

La documentació samples.md cataloga totes les mostres disponibles del repositori del motor de proves, que pot ser una excel·lent referència a GitHub Copilot l'hora d'elaborar indicacions. Per exemple, quan proveu una aplicació de llenç amb botons, podeu fer referència a l'exemple Button Clicker:

Puntual:
Genereu una prova per a la meva aplicació Canvas a ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml mitjançant l'exemple de ButtonClicker de https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker. La prova ha de:
1. Verifiqueu que el meu botó de comptador incrementi un valor a la pantalla
2. Condicions de límit de prova (per exemple, valor màxim)
3. Incloeu els ganxos del cicle de vida OnTestCaseStart i OnTestCaseComplete
4. Genera el config.json amb les variables d'entorn adequades

Aquest enfocament ajuda a Copilot a entendre l'estructura de la prova i genera proves més precises i rellevants contextualment basades en exemples provats.

Utilitzar solucions controlades per codi font com a context

Copilot funciona millor quan pot analitzar l'estructura de la vostra solució. Utilitzeu el control d'origen per a Power Platform solucions per proporcionar aquest context. Aquest context permet a Copilot:

  • Entendre l'estructura de l'aplicació
  • Identificar els noms i les propietats dels controls
  • Generar passos de prova més precisos
  • Fer referència als camins de fitxer correctes

Revisar i refinar les proves generades

Tot i que les proves generades per IA proporcionen un excel·lent punt de partida, sempre:

  • Verifiqueu que les referències de control coincideixin amb l'aplicació
  • Afegir assercions per a la funcionalitat crítica per a l'empresa
  • Assegureu-vos que els casos límit es gestionin correctament
  • Validar la configuració de l'autenticació

Combina amb l'experiència manual

Per a escenaris de prova complexos, utilitzeu GitHub Copilot per:

  • Generar el marc i l'estructura de la prova
  • Crear patrons de validació estàndard
  • Suggereix casos límit a tenir en compte

A continuació, augmenta amb la teva experiència en el domini per:

  • Regles de validació específiques de l'empresa
  • Consideracions ambientals
  • Dades de proves especialitzades

Patrons comuns de generació de proves

Aquesta secció conté alguns patrons comuns de generació de proves:

Prova d'aplicacions de llenç

Per a les aplicacions de llenç, utilitzeu sol·licituds que facin referència al fitxer a la App.fx.yaml solució controlada per codi font:

Puntual:
Genereu una prova per a la meva aplicació Canvas a ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml que validi el procés d'enviament de despeses. La prova ha d'emplenar els camps de despesa, enviar el formulari i verificar que apareix el missatge de confirmació.

Prova d'aplicacions basades en models

Per a les aplicacions basades en models, centreu-vos en la navegació d'entitats, les interaccions de formularis i les regles de negoci:

Puntual:
Creeu una prova per a l'aplicació basada en models que provi el formulari d'entitat Compte. La prova ha de crear un registre de compte nou, validar els camps obligatoris i verificar que les regles de negoci per al càlcul del límit de crèdit funcionen correctament.

Proves d'extensions Dataverse

Per a Dataverse les proves, emfatitzeu les operacions de dades i la validació de la lògica empresarial:

Puntual:
Genera una Dataverse prova que validi els connectors personalitzats de la meva solució. La prova ha de crear registres de prova, activar l'execució del connector i verificar les transformacions de dades esperades.

Indicacions de proves específiques de mostra

Per obtenir la generació de proves més precisa, feu referència a mostres específiques del catàleg d'exemples del motor de proves que s'ajustin a les vostres necessitats de prova. A continuació es mostren indicacions personalitzades per a escenaris de prova habituals:

Indicacions d'exemple de ButtonClicker

L'exemple de ButtonClicker mostra les proves bàsiques de funcionalitat del comptador. Utilitzeu aquestes indicacions:

Puntual:
Genera una prova per a l'aplicació de comptador amb una estructura similar a l'exemple de ButtonClicker. La meva aplicació té botons anomenats "IncrementBtn" i "ResetBtn" amb un "CounterLabel" que mostra el recompte actual. Creeu una prova que verifiqui que els dos botons funcionen correctament i que el recompte màxim és 10.

Puntual:
Creeu una prova per a l'aplicació d'interacció amb el botó utilitzant l'exemple ButtonClicker com a referència. La meva aplicació té un "SubmitButton" que només s'ha d'habilitar quan s'hagin completat els camps "NameInput" i "EmailInput". Genera un pla de prova amb Power Fx passos per validar aquest comportament.

Els exemples BasicGallery i NestedGallery mostren com provar les interaccions de la galeria:

Puntual:
Genereu una prova per a la meva aplicació de galeria on tinc una galeria "Productes" amb elements de producte que contenen controls "TitleLabel", "PriceLabel" i "SelectButton". Utilitzeu l'estructura d'exemple de BasicGallery per verificar que puc seleccionar elements i que els detalls correctes apareixen en un "Panell de detalls".

Sol·licituds d'operacions de dades

L'exemple Dataverse mostra les proves d'operacions de dades:

Puntual:
Creeu una prova per a la meva aplicació CRM mitjançant el patró d'exemple Dataverse . Comproveu que puc crear un registre de contacte nou, actualitzar-lo i verificar que els canvis persisteixen. Incloeu proves d'interfície d'usuari i operacions directes Dataverse .

Indicacions de proves d'IA

Per provar la funcionalitat basada en IA, consulteu l'exemple de sol·licitud d'IA:

Puntual:
Genereu una prova per a la meva aplicació d'anàlisi de sentiments basada en la mostra de sol·licitud d'IA. La meva aplicació té un quadre de text "FeedbackInput" i s'utilitza AI Builder per classificar-lo com a positiu, negatiu o neutre. Creeu una prova que validi diferents entrades produeixin sortides esperades dins de llindars acceptables.

Tècniques avançades

Aquesta secció proporciona exemples de capacitats avançades de sol·licitud.

Creació de conjunts de proves multientorn

Podeu demanar al Copilot que generi proves que funcionin en diversos entorns:

Puntual:
Generar un conjunt de proves per a la meva aplicació que es pugui executar en entorns DEV, TEST i PROD amb variables de configuració adequades per a cada entorn.

Generació d'escenaris de simulació de dades

Per a proves aïllades amb simulació de connectors:

Puntual:
Creeu una prova amb respostes de connector simulades per a la meva aplicació que utilitzi el connector de l'Outlook Office 365 . La prova ha de simular la recepció de correus electrònics i validar la lògica de processament de l'aplicació.

Prova de capacitats d'IA i gestió de resultats no deterministes

Quan treballeu amb aplicacions basades en IA, les proves introdueixen reptes únics, ja que les sortides d'IA poden variar lleugerament entre execucions, fins i tot amb entrades idèntiques. Aquest comportament no determinista requereix enfocaments especials de prova.

Entendre les proves no deterministes

Les proves no deterministes impliquen la validació de resultats que poden variar legítimament entre les execucions de proves:

  • Sortides del model d'IA: Respostes de models d'IA com ara GPT o components personalitzats AI Builder
  • Puntuacions de confiança: Avaluacions numèriques que poden fluctuar dins dels rangs acceptables
  • Contingut generat: Text o recomanacions produïdes per sistemes d'IA

Ús de Preview.AIExecutePrompt per a proves deterministes de les capacitats d'IA

El motor de proves proporciona la Preview.AIExecutePrompt que permet la validació determinista de les respostes de la IA. Aquest enfocament us permet:

  • Executar indicacions d'IA dins d'escenaris de prova
  • Analitzar i validar les respostes estructurades
  • Verificar que els resultats crítics compleixin les expectatives malgrat les possibles variacions

Exemple: Avaluació de la qualificació amb AI Builder

L'exemple següent demostra l'ús de la funció Preview.AIExecutePrompt per provar un sistema de classificació basat en 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}
  ))

En aquest exemple:

  • La prova executa una indicació d'IA contra el model "PromptEvaluator".
  • Passa un context i una pregunta per a l'avaluació
  • Valida que la qualificació retornada coincideix amb el valor esperat
  • Proporciona una resposta clara sobre l'èxit o el fracàs de la prova

Podeu explorar la implementació completa a l' exemple d'AI Prompt del repositori PowerApps-TestEngine .

Incorporació de proves conscients de la IA

Quan s'utilitza GitHub Copilot per generar proves per a aplicacions basades en IA:

Puntual:
Genera una prova per a la meva aplicació basada en IA que utilitza el processament de formularis. AI Builder Inclou passos de prova que validin els resultats de la IA amb la tolerància adequada per a sortides no deterministes.

Resolució de problemes i refinament

Si GitHub Copilot genera proves que no satisfan les vostres necessitats:

  • Refineu la vostra sol·licitud: Sigueu més específics sobre el que voleu provar
  • Proporcioneu exemples: Enllaç a mostres de prova específiques que coincideixin amb l'estil desitjat
  • Desglossa les proves complexes: Sol·licita la generació de components de prova més petits i específics
  • Iterate: Utilitza les respostes de Copilot per refinar la teva propera indicació

Explora les funcions del motor de proves
Navega pel catàleg de mostres del motor de proves
Aprèn sobre les funcions de prova Power Fx
Comprendre el format de prova YAML
Explora les opcions d'autenticació
Formació: Creació d'aplicacions amb el mode d'agent GitHub Copilot