opomba,
Dostop do te strani zahteva pooblastilo. Poskusite se vpisati alispremeniti imenike.
Dostop do te strani zahteva pooblastilo. Poskusite lahko spremeniti imenike.
opomba,
Test Engine je zastarel in bo odstranjen v prihodnji izdaji. Uporabite Power Platform Playwright vzorce za zmogljivosti avtomatizacije testiranja v Power Platform in Dynamics 365 storitvah.
Ustvarjanje celovitih načrtov testiranja za aplikacije je lahko zamudno, zlasti pri kompleksnih scenarijih. Power Platform Orodja za ustvarjanje z AI, kot je GitHub Copilot, lahko ta proces bistveno pospešijo z generiranjem testnih predlog, predlaganjem testnih primerov in avtomatizacijo ustvarjanja standardnih kod.
Ta vodič pojasnjuje, kako uporabljati GitHub Copilot z rešitvami za nadzor virov Power Platform za učinkovito ustvarjanje testnih načrtov testnega motorja.
Zahteve
Preden začnete, se prepričajte, da imate:
- Visual Studio Code nameščen
- GitHub Copilot naročnina
- GitHub Copilot Chat razširitev za VS Code
- Power Platform CLI nameščen
- Rešitev z nadzorovanim virom Power Platform
Nastavitev okolja za avtoring testov
Za čim večjo učinkovitost ustvarjanja testov s pomočjo umetne inteligence združite ta orodja v strukturiran potek dela:
- Pridobite svoje izvorne datoteke
- Klonirajte svoje okolje ali rešitev iz nadzora izvorne kode Power Platform
- Izvozite in razpakirajte svojo rešitev iz datotek Power Platform z uporabo pac solution export in pac solution unpack
- Inicializirajte git repozitorij za nadzor različic (če še niste storili tega)
- V repozitoriju rešitev ustvarite namensko testno mapo
- Odpri mapo rešitev v Visual Studio Code
Uporaba GitHub Copilot za ustvarjanje testov
GitHub Copilot vam lahko pomaga generirati različne testne komponente na podlagi vaše rešitve z virnim nadzorom. Tukaj je opisano, kako učinkovito uporabiti njegove zmogljivosti:
Uporaba vzorčne dokumentacije kot konteksta
Katalog vzorcev Test Engine nudi bogat vir referenčnega gradiva za GitHub Copilot. Copilot lahko pomagate ustvariti kakovostnejše teste tako, da:
- Vključitev datoteke samples.md v vaš delovni prostor
- Sklicevanje na določene vzorce v vaših pozivih
- Zagotavljanje povezav do vzorčnih GitHub repozitorijev
Na primer, lahko:
- Odprite tako kodo aplikacije kot datoteko samples.md v VS Code
- Vprašajte storitev Copilot, naj ustvari teste "podobne vzorcu ButtonClicker" ali "z uporabo vzorcev iz vzorca Dataverse"
- Sklici na specifične zmogljivosti iz vzorcev, ki ustrezajo vašim potrebam testiranja
Ta pristop Copilot pomaga razumeti vzorce testnih motorjev na Power Platform in generirati natančnejše teste.
Delo z GitHub Copilot v agentskem načinu
Visual Studio Code GitHub Copilot Chat ponuja Agent Mode ki lahko pomaga generirati teste na podlagi vaših datotek rešitve. Ta način Copilot omogoča globlji dostop do konteksta vašega projekta.
Če želite za generiranje testov uporabiti način agenta:
- V VS Code odprite GitHub Copilot Chat (Ctrl+Shift+I)
- Izberite Agent iz izbirnika Način Copilot
- Pripravite podroben opis testa, ki ga želite ustvariti.
Primeri pozivov za generiranje testov
Poskusite uporabiti takšne pozive za generiranje testov:
Cilj:
Ustvarite celovit testni nabor za canvas aplikacijo z uporabo Power Apps Test Engine, modeliranega po vzoru ButtonClicker sample.
Poziv:
Ustvarite test za ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml z uporabo vzorca na https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker kot reference. Ustvarite pričakovane primere, robne primere in izjemne primere. Test bi moral ustvariti testno datoteko YAML in na podlagi vzorca izvesti testne korake, config.json in RunTest.ps1, da bom lahko izvedel test. Power Fx
Cilj:
Izdelajte podroben načrt testiranja za aplikacijo, ki jo poganja model, da zagotovite, da osnovna funkcionalnost in poslovna logika delujeta po pričakovanjih.
Poziv:
Ustvarite celovit načrt testiranja za mojo aplikacijo, ki jo poganja model, in jo najdete na naslovu ./SolutionPackage/src/Other/Solution.xml. Test mora potrditi nalaganje obrazca, ustvarjanje zapisov in izvajanje poslovnih pravil. Ustvarite testni YAML, korake in skript PowerShell za zagon testa. Power Fx
Cilj:
Izdelajte načrt testiranja za entitete za preverjanje operacij CRUD z dejanji. Dataverse Power Fx
Poziv:
Ustvarite celovit načrt testiranja za moje entitete. Dataverse Test naj bi izvajal dejanja ustvarjanja, posodabljanja in brisanja. Power Fx Ustvarite testni YAML, korake in skript PowerShell za zagon testa. Power Fx
Razumevanje ustvarjenih testnih komponent
Ko GitHub Copilot generira test, običajno ustvari naslednje komponente:
- Načrt testiranja YAML: Določa strukturo testiranja, URL aplikacije in korake testiranja
- Power Fx koraki testa: Vsebuje logiko testa z uporabo izrazov Power Fx
- config.json: Konfiguracija za parametre izvajanja testa
- RunTest.ps1: Skript PowerShell za izvedbo testa
Primer: Ustvarjena testna struktura
MyAppTests/
├── MyAppTest.fx.yaml # Power Fx test steps
├── MyAppTest.yml # Test plan definition
├── config.json # Test configuration
└── RunTest.ps1 # Test execution script
Najboljše prakse za ustvarjanje testov s pomočjo umetne inteligence
Upoštevajte naslednje razdelke, da boste kar najbolje izkoristili GitHub Copilot za ustvarjanje testnih motorjev.
V pozivih navedite jasen kontekst
Bodite natančni glede tega, kaj želite preizkusiti, in vključite reference na:
- Natančne datoteke za testiranje
- Vzorčni testi za uporabo kot predloge
- Specifični testni scenariji, ki jih želite zajeti
- Vse zahteve glede preverjanja pristnosti ali okolja
Uporaba vzorcev testnega mehanizma za kontekst
Dokumentacija samples.md katalogizira vse razpoložljive vzorce iz repozitorija Test Engine, kar je lahko odličen vir pri ustvarjanju pozivov za GitHub Copilot. Na primer, pri testiranju aplikacije platna z gumbi se lahko sklicujete na vzorec klikanja gumbov:
Poziv:
Ustvarite test za mojo aplikacijo Canvas na ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml z uporabo vzorca ButtonClicker iz https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker. Test bi moral:
1. Prepričaj se, da moj gumb števca povečuje vrednost na zaslonu
2. Preizkusite robne pogoje (npr. največjo vrednost)
3. Vključite kavlje življenjskega cikla OnTestCaseStart in OnTestCaseComplete
4. Ustvarite datoteko config.json z ustreznimi okoljskimi spremenljivkami
Ta pristop pomaga Copilot razumeti strukturo testa in ustvarja natančnejše, kontekstualno relevantne teste na podlagi preverjenih primerov.
Uporabite rešitve z nadzorom izvorne kode kot kontekst
Copilot najbolje deluje, ko lahko analizira strukturo rešitve. Za zagotovitev tega konteksta uporabite nadzor izvorne kode za rešitve. Power Platform Ta kontekst Copilot omogoča:
- Razumevanje strukture vaše aplikacije
- Prepoznavanje imen in lastnosti kontrolnikov
- Ustvarite natančnejše korake testiranja
- Navedite pravilne poti datotek
Pregled in izboljšanje ustvarjenih testov
Čeprav testi, ki jih ustvari umetna inteligenca, zagotavljajo odlično izhodišče, vedno:
- Preverite, ali se referenčne vrednosti kontrol ujemajo z vašo aplikacijo
- Dodajte trditve za poslovno kritične funkcije
- Zagotovite pravilno obravnavo robnih primerov
- Preverjanje konfiguracije preverjanja pristnosti
Združite z ročnim znanjem
Za zahtevne testne scenarije uporabite GitHub Copilot za:
- Ustvarite ogrodje in strukturo testa
- Ustvarite standardne vzorce za preverjanje veljavnosti
- Predlagajte robne primere, ki jih je treba upoštevati
Nato nadgradite svoje strokovno znanje domene za:
- Pravila za preverjanje veljavnosti, specifična za podjetje
- Okoljski vidiki
- Specializirani testni podatki
Pogosti vzorci generiranja testov
Ta razdelek vsebuje nekaj pogostih vzorcev generiranja testov:
Testiranje aplikacij za platno
Za aplikacije s platnom uporabite pozive, ki se sklicujejo na datoteko App.fx.yaml v vaši rešitvi z nadzorom izvorne kode:
Poziv:
Za mojo aplikacijo Canvas na naslovu ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml ustvarite test, ki potrdi postopek oddaje stroškov. Test mora izpolniti polja za stroške, poslati obrazec in preveriti, ali se prikaže potrditveno sporočilo.
Testiranje aplikacij, ki jih poganja model
Pri aplikacijah, ki temeljijo na modelu, se osredotočite na navigacijo entitet, interakcije obrazcev in poslovna pravila:
Poziv:
Ustvarite test za mojo aplikacijo, ki temelji na modelu, ki preizkuša obrazec entitete Račun. Test mora ustvariti nov zapis računa, preveriti obvezna polja in preveriti, ali poslovna pravila za izračun kreditne omejitve delujejo pravilno.
Testiranje razširitev Dataverse
Pri testih poudarite operacije s podatki in preverjanje poslovne logike: Dataverse
Poziv:
Ustvari test, ki potrdi vtičnike po meri v moji rešitvi. Dataverse Test mora ustvariti testne zapise, sprožiti izvajanje vtičnika in preveriti, ali so se zgodile pričakovane transformacije podatkov.
Pozivi za testiranje, specifični za vzorec
Za najnatančnejše generiranje testov si oglejte specifične vzorce iz kataloga vzorcev Test Engine, ki ustrezajo vašim potrebam testiranja. ... Tukaj so prilagojeni pozivi za pogoste scenarije testiranja:
Vzorčni pozivi ButtonClickerja
Vzorec ButtonClicker prikazuje osnovno testiranje funkcionalnosti števca. Uporabite te napotke:
Poziv:
Ustvari test za mojo aplikacijo števca s podobno strukturo kot vzorec ButtonClicker. Moja aplikacija ima gumba z imenoma »IncrementBtn« in »ResetBtn« z oznako »CounterLabel«, ki prikazuje trenutno število. Ustvarite test, ki preveri, ali oba gumba delujeta pravilno in ali je največje število 10.
Poziv:
Ustvarite test za mojo aplikacijo za interakcijo z gumbi z uporabo vzorca ButtonClicker kot reference. Moja aplikacija ima gumb »Pošlji«, ki bi moral biti omogočen le, če sta izpolnjeni polji »Vnos imena« in »Vnos e-pošte«. Ustvarite načrt testiranja s koraki za potrditev tega vedenja. Power Fx
Pozivi za testiranje galerije
Vzorca BasicGallery in NestedGallery prikazujeta, kako preizkusiti interakcije v galeriji:
Poziv:
Ustvari test za mojo galerijsko aplikacijo, kjer imam galerijo »Izdelki« z izdelki, ki vsebujejo kontrolnike »OznakaNaslova«, »OznakaPrice« in »GumbSelect«. Z vzorčno strukturo BasicGallery preverite, ali lahko izberem elemente in ali se v »DetailPanel« prikažejo pravilne podrobnosti.
Pozivi za podatkovne operacije
Vzorec prikazuje testiranje podatkovnih operacij: Dataverse
Poziv:
Ustvarite test za mojo aplikacijo CRM z uporabo vzorčnega vzorca. Dataverse Preizkusim, ali lahko ustvarim nov zapis stika, ga posodobim in nato preverim, ali se spremembe ohranijo. Vključite tako teste uporabniškega vmesnika kot neposredne operacije. Dataverse
Pozivi za testiranje umetne inteligence
Za testiranje funkcionalnosti, ki jo poganja umetna inteligenca, si oglejte vzorec poziva umetne inteligence:
Poziv:
Ustvarite test za mojo aplikacijo za analizo mnenj na podlagi vzorca AI Prompt. Moja aplikacija ima besedilno polje "FeedbackInput" in uporablja AI Builder za klasifikacijo kot pozitivno, negativno ali nevtralno. Ustvarite test, ki potrdi, ali različni vhodni podatki ustvarijo pričakovane izhodne vrednosti znotraj sprejemljivih pragov.
Napredne tehnike
V tem razdelku so navedeni primeri naprednih zmogljivosti pozivov.
Ustvarjanje testnih paketov za več okolij
Copilot lahko spodbudite, naj generira teste, ki delujejo v več okoljih:
Poziv:
Ustvarite nabor testov za mojo aplikacijo, ki se lahko izvaja v okoljih DEV, TEST in PROD z ustreznimi konfiguracijskimi spremenljivkami za vsako okolje.
Ustvarjanje scenarijev posmehovanja podatkov
Za izolirano testiranje z posmehovanjem konektorja:
Poziv:
Ustvari test z lažnimi odzivi konektorjev za mojo aplikacijo, ki uporablja Office 365 Outlook konektor. Test naj bi simuliral prejemanje e-poštnih sporočil in potrdil logiko obdelave aplikacije.
Testiranje zmogljivosti umetne inteligence in obravnavanje nedeterminističnih rezultatov
Pri delu z aplikacijami, ki jih poganja umetna inteligenca, testiranje prinaša edinstvene izzive, saj se lahko rezultati umetne inteligence med zagoni nekoliko razlikujejo, tudi če so vhodni podatki enaki. To nedeterministično vedenje zahteva posebne pristope testiranja.
Razumevanje nedeterminističnega testiranja
Nedeterministično testiranje vključuje potrjevanje rezultatov, ki se lahko med testnimi izvedbami legitimno razlikujejo:
- izhodi AI modelov: Odgovori AI modelov, kot so GPT ali prilagojeni AI Builder komponent
- Ocene zaupanja: Številčne ocene, ki lahko nihajo znotraj sprejemljivih razponov
- Ustvarjena vsebina: Besedilo ali priporočila, ki jih ustvarijo sistemi umetne inteligence
Uporaba Preview.AIExecutePrompt za deterministično testiranje zmogljivosti umetne inteligence
Testni mehanizem zagotavlja Preview.AIExecutePrompt , ki omogoča deterministično preverjanje odzivov umetne inteligence. Ta pristop vam omogoča:
- Izvajanje pozivov umetne inteligence v testnih scenarijih
- Razčlenite in potrdite strukturirane odgovore
- Preverite, ali kritični rezultati izpolnjujejo pričakovanja kljub morebitnim odstopanjem
Primer: Ocenjevanje z AI Builder
Naslednji primer prikazuje uporabo funkcije Preview.AIExecutePrompt za testiranje sistema ocenjevanja, ki ga poganja umetna inteligenca:
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}
))
V tem primeru:
- Test izvede poziv umetne inteligence v skladu z modelom »PromptEvaluator«.
- Posreduje kontekst in vprašanje za oceno
- Preveri, ali se vrnjena ocena ujema s pričakovano vrednostjo.
- Zagotavlja jasne povratne informacije o uspehu ali neuspehu testa
Celotno implementacijo si lahko ogledate v vzorcu AI Prompt iz repozitorija -TestEngine. ...PowerApps
Vključevanje testiranja z upoštevanjem umetne inteligence
Pri uporabi GitHub Copilot za generiranje testov za aplikacije, ki jih poganja umetna inteligenca:
Poziv:
Ustvari test za mojo aplikacijo, ki jo poganja umetna inteligenca in uporablja obdelavo obrazcev AI Builder. Vključite testne korake, ki potrjujejo rezultate umetne inteligence z ustrezno toleranco za nedeterministične izhode.
Odpravljanje težav in izpopolnjevanje
Če GitHub Copilot generira teste, ki ne ustrezajo vašim potrebam:
- Izboljšajte svoj poziv: Bodite bolj natančni glede tega, kaj želite preizkusiti
- Navedite primere: Povežite se s specifičnimi testnimi vzorci, ki ustrezajo vašemu želenemu slogu
- Razčlenitev kompleksnih testov: Zahtevajte generiranje manjših, osredotočenih komponent testov
- Iterate: Uporabite Copilot-ove odgovore za izboljšanje naslednjega poziva
Sorodni članki
Raziščite funkcije testnega mehanizma
Brskajte po katalogu vzorcev testnega mehanizma
Več o testnih funkcijah Power Fx
Razumevanje formata testa YAML
Raziščite možnosti preverjanja pristnosti
Training: Gradnja aplikacij z GitHubom posrednik storitve Copilot načinu