AI-abistatud testide kirjutamine GitHub Copilot'iga (aegunud)

Märkus.

Testmootor on iganenud ja eemaldatakse tulevases väljaandes. Kasuta Power Platform Playwright samples testiautomatiseerimise võimaluste jaoks Power Platformis ja Dynamics 365 teenustes.

Rakenduste jaoks põhjalike testimisplaanide loomine võib olla aeganõudev, eriti keerukate stsenaariumide korral. Power Platform AI-toega autoritööriistad nagu GitHub Copilot võivad seda protsessi oluliselt kiirendada, genereerides testmalle, pakkudes testjuhtumeid ja automatiseerides standardkoodi loomist.

See juhend selgitab, kuidas kasutada GitHub Copilot'i Power Platformi lähtekoodi juhtimise lahendustega, et tõhusalt luua testmootori testiplaane.

Eeltingimused

Enne alustamist veenduge, et teil on olemas:

Testi loomise keskkonna seadistamine

Tehisintellekti abil testide loomise efektiivsuse maksimeerimiseks ühendage need tööriistad struktureeritud töövoogu:

  1. Hankige oma lähtefailid
    • Klooni oma Power Platform keskkond või lahendus lähtekoodi haldusest
    • Ekspordi ja paki oma lahendus lahti failidega, kasutades Power Platform PAC solution export ja PAC solution unpack
  2. Versioonikontrolli jaoks giti repositooriumi initsialiseerimine (kui seda pole veel tehtud)
  3. Looge oma lahenduste hoidlasse spetsiaalne testikaust
  4. Ava lahenduste kaust Visual Studio Code'is

GitHub Copilot kasutamine testide loomiseks

GitHub Copilot aitab sul genereerida erinevaid testkomponente vastavalt sinu allikajuhitud lahendusele. Selle võimaluste tõhusaks kasutamiseks toimige järgmiselt.

Näidisdokumentatsiooni kasutamine kontekstina

Test Engine'i proovide kataloog pakub rikkalikku allikat GitHub Copilot jaoks. Saad aidata Copilot'il luua kvaliteetsemaid teste, tehes:

  • samples.md faili lisamine teie tööruumi
  • Konkreetsete näidiste viitamine oma küsimustes
  • Linkide pakkumine näidis-GitHub repositooriumidele

Näiteks võiksite:

  • Ava nii oma rakenduse kood kui ka fail samples.md VS Code’is.
  • Küsi Copilotilt luua teste, mis oleksid "sarnased ButtonClickeri proovile" või "kasutades mustreid Dataverse'i proovist"
  • Viidake näidiste konkreetsetele võimalustele, mis vastavad teie testimisvajadustele

See lähenemine aitab Copilot'il mõista Power Platform'i testmootori mustreid ja genereerida täpsemaid teste.

Koostöö GitHub Copilot'iga agentrežiimis

Visual Studio Code GitHub Copilot Chat pakub agendi režiimi mis aitab genereerida teste sinu lahendusfailide põhjal. See režiim võimaldab Copilot'il teie projekti konteksti põhjalikumalt mõista.

Agendi režiimi kasutamiseks testi genereerimiseks:

  1. VS Code'is ava GitHub Copilot Chat (Ctrl+Shift+I)
  2. Vali Copiloti režiim valijast Agent
  3. Koostage loodava testi kohta üksikasjalik ülesanne

Näidisviibad testi genereerimiseks

Proovige testi genereerimiseks kasutada selliseid juhiseid:

Eesmärk:
Loo põhjalik testikomplekt lõuendirakendusele, kasutades Power Apps Test Engine'i, mis on modelleeritud ButtonClicker sample järgi.

Kiire:
Looge test ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml jaoks, kasutades viitena näidist aadressil https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker . Looge eeldatavad juhtumid, servajuhtumid ja erandjuhtumid. Test peaks looma testi YAML-faili ja Power Fx testi etapid, config.json ja RunTest.ps1 näidise põhjal, et saaksin testi käivitada.

Eesmärk:
Koostage mudelipõhise rakenduse jaoks üksikasjalik testimisplaan, et tagada põhifunktsioonide ja äriloogika ootuspärane töö.

Kiire:
Looge põhjalik testimisplaan minu mudelipõhise rakenduse jaoks, mis asub aadressil ./SolutionPackage/src/Other/Solution.xml. Test peaks kinnitama vormi laadimise, kirje loomise ja ärireegli täitmise. Testi käivitamiseks looge test YAML, Power Fx sammud ja PowerShelli skript.

Eesmärk:
Koostage üksuste jaoks Dataverse testplaan, et kontrollida CRUD-i toiminguid toimingute kaudu Power Fx .

Kiire:
Koostage minu Dataverse üksuste jaoks põhjalik testimisplaan. Test peaks tegema loomise, värskendamise ja kustutamise Power Fx toiminguid. Testi käivitamiseks looge test YAML, Power Fx sammud ja PowerShelli skript.

Genereeritud testikomponentide mõistmine

Kui GitHub Copilot genereerib testi, loob see tavaliselt järgmised komponendid:

  • YAML-i testiplaan: määratleb testi struktuuri, rakenduse URL-i ja testietapid
  • Power Fx testi sammud: sisaldab avaldisi kasutavat Power Fx testiloogikat
  • config.json: Testi käivitamise parameetrite konfigureerimine
  • RunTest.ps1: PowerShelli skript testi käivitamiseks

Näide: loodud testistruktuur

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

Tehisintellekti abil testide koostamise head tavad

Vaata järgmisi osi, et saada maksimaalselt kasu GitHub Copilot Test Engine'i testide loomisel.

Esitage oma viipades selge kontekst

Olge konkreetne, mida soovite testida, ja lisage viited:

  • Täpsed failid, mida testida
  • Mallidena kasutatavad näidistestid
  • Konkreetsed teststsenaariumid, mida soovite käsitleda
  • Kõik autentimis- või keskkonnanõuded

Testmootori näidiste kasutamine konteksti jaoks

samples.md dokumentatsioon kataloogib kõik testmootori hoidlast saadaolevad näidised, mis võivad olla suurepärased viited GitHub Copilot vihjete koostamisel. Näiteks nuppudega lõuendirakenduse testimisel võite viidata nupuklikkija näidisele.

Kiire:
Looge minu lõuendirakenduse jaoks test aadressil ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml, kasutades ButtonClickeri https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker näidist. Katse peaks:
1. Veenduge, et minu loenduri nupp suurendaks ekraanil väärtust
2. Katse piirtingimused (nt maksimumväärtus)
3. Kaasake OnTestCaseStart ja OnTestCaseComplete elutsükli konksud
4. Genereerige config.json sobivate keskkonnamuutujatega

See lähenemine aitab Copilot'il mõista testi struktuuri ning genereerib täpsemaid ja kontekstuaalselt asjakohasemaid teste tõestatud näidete põhjal.

Allikapõhiste lahenduste kasutamine kontekstina

Copilot töötab kõige paremini, kui suudab analüüsida sinu lahenduse struktuuri. Selle konteksti pakkumiseks kasutage lahenduste Power Platform jaoks allika juhtimist. See kontekst võimaldab Copilot'il:

  • Rakenduse struktuuri mõistmine
  • Juhtelementide nimede ja atribuutide tuvastamine
  • Täpsemate testietappide loomine
  • Õigetele failiteedele viitamine

Loodud testide ülevaatamine ja täpsustamine

Kuigi tehisintellekti loodud testid pakuvad suurepärast lähtepunkti, tehke alati:

  • Kontrollige, kas juhtelemendi viited vastavad teie rakendusele
  • Kinnituste lisamine ärikriitiliste funktsioonide jaoks
  • Veenduge, et servajuhtumeid käsitletakse õigesti
  • Autentimiskonfiguratsiooni kinnitamine

Kombineerige manuaalsete teadmistega

Keerukate teststsenaariumite puhul kasuta GitHub Copilot'i, et:

  • Testimise raamistiku ja struktuuri loomine
  • Standardsete valideerimismustrite loomine
  • Soovitage servajuhtumeid, mida kaaluda

Seejärel täiendage oma domeeniteadmisi:

  • Ettevõttepõhised valideerimisreeglid
  • Keskkonnakaalutlused
  • Spetsiaalsed testiandmed

Levinud testide genereerimise mustrid

See jaotis sisaldab mõningaid levinumaid testide genereerimise mustreid:

Lõuendirakenduste testimine

Lõuendirakenduste puhul kasutage viipasid, mis viitavad failile App.fx.yaml teie allika juhitavas lahenduses.

Kiire:
Looge minu lõuendirakenduse jaoks test aadressil ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml, mis kinnitab kulude esitamise protsessi. Test peaks täitma kuluväljad, esitama vormi ja kontrollima, kas kinnitusteade kuvatakse.

Mudelipõhiste rakenduste testimine

Mudelipõhiste rakenduste puhul keskenduge olemite navigeerimisele, vormi interaktsioonidele ja ärireeglitele.

Kiire:
Looge minu mudelipõhise rakenduse test, mis testib olemi Konto vormi. Test peaks looma uue kontokirje, kinnitama kohustuslikud väljad ja kontrollima, kas krediidilimiidi arvutamise ärireeglid töötavad õigesti.

Laienduste testimine Dataverse

Testide puhul Dataverse rõhutage andmetoiminguid ja äriloogika valideerimist.

Kiire:
Looge Dataverse test, mis kinnitab minu lahenduse kohandatud pistikprogrammid. Test peaks looma testkirjeid, käivitama pistikprogrammi käivitamise ja kontrollima eeldatavaid andmeteisendusi.

Proovispetsiifilised testiviibad

Kõige täpsema testi genereerimise saamiseks viidake konkreetsetele näidistele testimootori näidiste kataloogist , mis vastavad teie testimisvajadustele. Siin on kohandatud viibad levinud testimisstsenaariumide jaoks.

ButtonClickeri näidisviibad

ButtonClickeri näidis näitab loenduri funktsionaalsuse põhitestimist. Kasutage neid viipasid.

Kiire:
Looge minu loendurirakenduse jaoks test, mille struktuur on sarnane ButtonClickeri näidisega. Minu rakendusel on nupud nimega "IncrementBtn" ja "ResetBtn" koos "CounterLabeliga", mis kuvab praeguse arvu. Looge test, mis kontrollib, kas mõlemad nupud töötavad õigesti ja et maksimaalne arv on 10.

Kiire:
Looge minu nupu interaktsiooni rakenduse test, kasutades viitena ButtonClickeri näidist. Minu rakendusel on "SubmitButton", mis tuleks lubada ainult siis, kui väljad "NameInput" ja "EmailInput" on täidetud. Looge testimisplaan, mis sisaldab Power Fx juhiseid selle käitumise kinnitamiseks.

BasicGallery ja NestedGallery näidised näitavad, kuidas galerii interaktsioone testida.

Kiire:
Looge oma galeriirakenduse jaoks test, kus mul on galerii "Tooted" tooteüksustega, mis sisaldavad juhtelemente "TitleLabel", "PriceLabel" ja "SelectButton". Kasutage BasicGallery näidisstruktuuri, et kontrollida, kas saan üksusi valida ja kas õiged üksikasjad kuvatakse "DetailPanelis".

Andmetoimingute viibad

Näidis Dataverse näitab andmetoimingute testimist:

Kiire:
Looge CRM-i rakenduse jaoks test, kasutades näidismustrit Dataverse . Testige, kas saan luua uue kontaktikirje, värskendage seda ja seejärel kontrollige, kas muudatused püsivad. Kaasake nii kasutajaliidese testid kui ka otsesed Dataverse toimingud.

AI testimise viibad

AI-toega funktsioonide testimiseks vaadake tehisintellekti viiba näidist.

Kiire:
Looge minu sentimentanalüüsi rakenduse jaoks test AI Prompti näidise põhjal. Minu rakendusel on tekstikast "FeedbackInput" ja see kasutab AI Builder'i, et klassifitseerida see positiivseks, negatiivseks või neutraalseks. Looge test, mis valideerib erinevad sisendid ja annavad eeldatavaid väljundeid vastuvõetavate lävede piires.

Täiustatud tehnikad

Selles jaotises on näiteid täpsemate viipade võimaluste kohta.

Mitme keskkonna testikomplektide loomine

Saad paluda Copilot'il genereerida teste, mis toimivad mitmes keskkonnas:

Kiire:
Looge minu rakenduse jaoks testikomplekt, mida saab käitada DEV-, TEST- ja PROD-keskkondades koos iga keskkonna jaoks sobivate konfiguratsioonimuutujatega.

Andmete pilkamise stsenaariumide loomine

Isoleeritud testimiseks pistiku mõnitamisega:

Kiire:
Loo test mocked connector vastustega minu rakendusele, mis kasutab Office 365 Outlook pistikut. Test peaks simuleerima e-kirjade vastuvõtmist ja kinnitama rakenduse töötlemisloogikat.

Tehisintellekti võimekuse testimine ja mittedeterministlike tulemuste käsitlemine

Kui töötate tehisintellektil põhinevate rakendustega, toob testimine kaasa ainulaadseid väljakutseid, kuna tehisintellekti väljundid võivad käitamiste vahel veidi erineda, isegi identsete sisendite korral. See mittedeterministlik käitumine nõuab spetsiaalseid testimismeetodeid.

Mittedeterministliku testimise mõistmine

Mittedeterministlik testimine hõlmab väljundite valideerimist, mis võivad testide puhul õigustatult erineda:

  • AI mudeliväljundid: Vastused AI mudelitelt nagu GPT või kohandatud AI Builder komponentidelt
  • Usaldusskoorid: numbrilised hinnangud, mis võivad kõikuda vastuvõetavates vahemikes
  • Loodud sisu: AI-süsteemide koostatud tekst või soovitused

Preview.AIExecutePrompti kasutamine tehisintellekti võimekuse deterministlikuks testimiseks

Testimootor pakub Preview.AIExecutePrompti , mis võimaldab tehisintellekti vastuseid deterministlikult valideerida. See lähenemisviis võimaldab teil:

  • Tehisintellekti viipade käivitamine teststsenaariumides
  • Struktureeritud vastuste sõelumine ja kinnitamine
  • Veenduge, et kriitilised väljundid vastavad ootustele vaatamata võimalikele erinevustele

Näide: Reitingu hindamine AI Builder'iga

Järgmine näide näitab funktsiooni kasutamist Preview.AIExecutePrompt tehisintellektil põhineva hindamissüsteemi testimiseks.

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}
  ))

Selles näites:

  • Test käivitab tehisintellekti viipa mudeli "PromptEvaluator" vastu
  • See läbib konteksti ja küsimuse hindamiseks
  • See kinnitab, et tagastatud reiting vastab eeldatavale väärtusele
  • See annab selget tagasisidet testi õnnestumise või ebaõnnestumise kohta

Täieliku juurutusega saate tutvuda AI-viiba näidisesPowerApps TestEngine’i hoidlast.

Tehisintellekti teadliku testimise kaasamine

Kui kasutatakse GitHub Copilot'i testide genereerimiseks tehisintellektil põhinevatele rakendustele:

Kiire:
Loo test minu AI-põhisele rakendusele, mis kasutab AI Builder vormitöötlust. Lisage testisammud, mis kinnitavad tehisintellekti tulemusi mittedeterministlike väljundite asjakohase tolerantsiga.

Tõrkeotsing ja täiustamine

Kui GitHub Copilot genereerib teste, mis ei vasta sinu vajadustele:

  • Viiba täpsustamine: täpsustage, mida soovite testida
  • Tooge näiteid: Link konkreetsetele testinäidistele, mis vastavad teie soovitud stiilile
  • Keerukate testide jaotamine: väiksemate, keskendunud testikomponentide genereerimise taotlemine
  • Itereeri: Kasuta Copilot vastuseid, et täpsustada oma järgmist ülesannet

Tutvuge Test Engine’i funktsioonidega
Sirvige testmootori näidiste kataloogi
Lisateave testimisfunktsioonide kohta Power Fx
YAML-testi vormingu mõistmine
Tutvuge autentimisvõimalustega
Training: Rakenduste loomine GitHub Copiloti agent režiimiga