Jagamisviis:


Tehisintellekti abil testide loomine rakendusega GitHub Copilot (eelvaade)

Märkus.

Eelvaatefunktsioonid ei ole mõeldud kasutamiseks tootmises ja nende funktsioonid võivad olla piiratud. Need funktsioonid on saadaval enne ametlikku väljastamist, et kliendid saaksid sellele varakult juurdepääsu ja võiksid tagasisidet anda.

Rakenduste jaoks põhjalike testimisplaanide loomine võib olla aeganõudev, eriti keerukate stsenaariumide korral. Power Platform Tehisintellektil põhinevad autoritööriistad, näiteks GitHub Copilot , saavad seda protsessi oluliselt kiirendada, genereerides testimalle, pakkudes välja testijuhtumeid ja automatiseerides mallikoodi loomist.

See juhend selgitab, kuidas kasutada GitHub Copilot versioonikontrolli lahendusi Power Platform testmootori testimisplaanide tõhusaks loomiseks.

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 koodis Visual Studio

Kasutades GitHub Copilot testi loomiseks

GitHub Copilot aitab teil luua erinevaid testikomponente, mis põhinevad teie lähtekoodiga hallataval lahendusel. Selle võimaluste tõhusaks kasutamiseks toimige järgmiselt.

Näidisdokumentatsiooni kasutamine kontekstina

Testimootori näidiste kataloog pakub rikkalikku teabematerjali . GitHub Copilot Saate aidata Copilotil kvaliteetsemaid teste genereerida järgmiselt:

  • samples.md faili lisamine teie tööruumi
  • Konkreetsete näidiste viitamine oma küsimustes
  • GitHubi näidishoidlate linkide pakkumine

Näiteks võiksite:

  • Ava nii oma rakenduse kood kui ka fail samples.md VS Code’is.
  • Paluge Copilotil luua testid, mis on "sarnased ButtonClickeri näidisega" või "kasutades näidise mustreid". Dataverse
  • Viidake näidiste konkreetsetele võimalustele, mis vastavad teie testimisvajadustele

See lähenemisviis aitab Copilotil mõista testimismootori mustreid ja genereerida täpsemaid teste. Power Platform

Töötamine agendirežiimis GitHub Copilot -ga

Visual Studio Code’i vestlus pakub agendirežiimi, mis aitab teie lahendusfailide põhjal teste genereerida. GitHub Copilot See režiim võimaldab Copilotil teie projekti kontekstile sügavamalt ligi pääseda ja seda mõista.

Agendi režiimi kasutamiseks testi genereerimiseks:

  1. Ava VS Code’is vestlus (Ctrl+Shift+I). GitHub Copilot
  2. Valige kaaspiloodi režiimi valijast Agent
  3. Koostage loodava testi kohta üksikasjalik ülesanne

Näidisviibad testi genereerimiseks

Proovige testi genereerimiseks kasutada selliseid juhiseid:

Eesmärk:
Looge lõuendirakenduse jaoks põhjalik testikomplekt, kasutades Power Apps testmootorit, mis on modelleeritud ButtonClickeri näidise 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

Testi GitHub Copilot loomisel 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

Kaaluge järgmisi jaotisi, et testimootori testi loomisel maksimaalselt ära kasutada GitHub Copilot .

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

Dokumentatsioon samples.md kataloogib kõik saadaolevad näidised Test Engine’i hoidlast, mis võib olla suurepärane viide viipade GitHub Copilot 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ähenemisviis aitab Copilotil mõista testi struktuuri ja genereerib tõestatud näidete põhjal täpsemaid, kontekstipõhiseid teste.

Allikapõhiste lahenduste kasutamine kontekstina

Copilot toimib kõige paremini, kui suudab analüüsida teie lahenduse struktuuri. Selle konteksti pakkumiseks kasutage lahenduste Power Platform jaoks allika juhtimist. See kontekst võimaldab Copilotil:

  • 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 katsestsenaariumide puhul kasutage GitHub Copilot :

  • 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 tekstiväli "FeedbackInput" ja seda kasutatakse AI Builder selle klassifitseerimiseks 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

Saate paluda Copilotil luua teste, mis töötavad 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:
Looge test koos pilkatud konnektori vastustega minu rakenduse jaoks, mis kasutab Outlooki konnektorit Office 365 . 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 mudeli väljundid: vastused tehisintellekti mudelitelt, nagu GPT või kohandatud AI Builder komponendid
  • 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: hinnangu hindamine AI Builder

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 kasutate GitHub Copilot tehisintellektil põhinevate rakenduste testide genereerimiseks:

Kiire:
Looge test minu AI-toega rakenduse jaoks, mis kasutab AI Builder vormitöötlust. Lisage testisammud, mis kinnitavad tehisintellekti tulemusi mittedeterministlike väljundite asjakohase tolerantsiga.

Tõrkeotsing ja täiustamine

If GitHub Copilot loob teste, mis ei vasta teie 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
  • Korda: kasutage järgmise viiba täpsustamiseks Copiloti vastuseid

Tutvuge Test Engine’i funktsioonidega
Sirvige testmootori näidiste kataloogi
Lisateave testimisfunktsioonide kohta Power Fx
YAML-testi vormingu mõistmine
Tutvuge autentimisvõimalustega
Koolitus: rakenduste loomine agendirežiimis GitHub Copilot