Dijeli putem


Autorstvo testova potpomognuto umjetnom inteligencijom s GitHub Copilot (pretpregled)

Napomena

Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.

Izrada sveobuhvatnih planova testiranja za Power Platform aplikacije može biti dugotrajna, posebno za složene scenarije. Alati GitHub Copilot za autorstvo potpomognuti umjetnom inteligencijom mogu značajno ubrzati ovaj proces generiranjem predložaka testiranja, predlaganjem testnih slučajeva i automatizacijom standardnog stvaranja koda.

Ovaj vodič objašnjava kako koristiti GitHub Copilot s Power Platform rješenjima za kontrolu izvora za učinkovito stvaranje planova testiranja testnog motora.

Preduvjeti

Prije nego što započnete, provjerite imate li sljedeće:

Postavljanje okruženja za stvaranje testa

Da biste maksimizirali učinkovitost izrade testova potpomognutog umjetnom inteligencijom, kombinirajte ove alate u strukturiranom tijeku rada:

  1. Nabavite izvorne datoteke
  2. Inicijalizirajte git spremište za kontrolu verzija (ako već nije učinjeno)
  3. Stvaranje namjenske testne mape u spremištu rješenja
  4. Otvorite mapu rješenja u Kodu Visual Studio

Korištenje GitHub Copilot za izradu testa

GitHub Copilot može vam pomoći u generiranju različitih testnih komponenti na temelju vašeg rješenja kontroliranog izvorom. Evo kako učinkovito koristiti njegove mogućnosti:

Korištenje ogledne dokumentacije kao konteksta

Katalog uzoraka testnih motora pruža bogat izvor referentnog materijala za GitHub Copilot. Copilotu možete pomoći u stvaranju kvalitetnijih testova na sljedeći način:

  • Uključivanje datoteke samples.md u radni prostor
  • Upućivanje na određene uzorke u upitima
  • Pružanje veza na ogledne GitHub spremišta

Na primjer, mogli biste:

  • Otvorite i kod aplikacije i datoteku samples.md u VS Codeu
  • Zamolite Copilota da stvori testove "slične uzorku ButtonClicker" ili "koristeći uzorke iz uzorka Dataverse "
  • Referenca specifičnih mogućnosti iz uzoraka koji odgovaraju vašim potrebama testiranja

Ovaj pristup pomaže Copilotu da razumije Power Platform obrasce testnog motora i generira preciznije testove.

Rad s u načinu rada agenta GitHub Copilot

Visual Studio Code's Chat nudi način rada GitHub Copilot agenta koji može pomoći u generiranju testova na temelju datoteka vašeg rješenja. Ovaj način rada omogućuje Copilotu dublji pristup i razumijevanje konteksta vašeg projekta.

Da biste koristili način rada agenta za generiranje testa:

  1. U VS Code otvorite GitHub Copilot Chat (Ctrl+Shift+I)
  2. Odaberite Agent iz birača načina rada Copilot
  3. Izradite detaljan upit o testu koji želite izraditi

Primjeri upita za generiranje testa

Pokušajte koristiti upute poput ovih za generiranje testa:

Cilj:
Generirajte sveobuhvatni testni paket za aplikaciju radnog područja pomoću testnog modula Power Apps , modeliranog prema uzorku ButtonClicker.

Brz:
Generirajte test za ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml koristeći uzorak at https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker kao referencu. Stvorite očekivane slučajeve, rubne slučajeve i iznimne slučajeve. Test bi trebao stvoriti testnu YAML datoteku i testne korake Power Fx , config.json i RunTest.ps1 na temelju uzorka kako bi mi omogućio pokretanje testa.

Cilj:
Izradite detaljan plan testiranja za aplikaciju stvorenu prema modelu da biste osigurali da osnovne funkcije i poslovna logika rade prema očekivanjima.

Brz:
Stvorite sveobuhvatan plan testiranja za moju aplikaciju utemeljenu na modelu koja se nalazi na ./SolutionPackage/src/Other/Solution.xml. Test bi trebao potvrditi učitavanje obrasca, stvaranje zapisa i izvršavanje poslovnog pravila. Generirajte testni YAML, Power Fx korake i PowerShell skriptu za pokretanje testa.

Cilj:
Izradite plan testiranja za Dataverse entitete za provjeru CRUD operacija putem Power Fx akcija.

Brz:
Napravite sveobuhvatan plan testiranja za moje Dataverse entitete. Test bi trebao izvršiti radnje stvaranja, ažuriranja, brisanja Power Fx . Generirajte testni YAML, Power Fx korake i PowerShell skriptu za pokretanje testa.

Razumijevanje generiranih komponenti testa

Kada GitHub Copilot generira test, obično stvara sljedeće komponente:

  • YAML testni plan: definira strukturu testiranja, URL aplikacije i korake testiranja
  • Power Fx koraci testa: Sadrži logiku testiranja pomoću Power Fx izraza
  • config.json: Konfiguracija za parametre izvođenja testa
  • RunTest.ps1: PowerShell skripta za izvršavanje testa

Primjer: Generirana struktura ispitivanja

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

Najbolje prakse za izradu testova potpomognutih umjetnom inteligencijom

Razmotrite sljedeće odjeljke kako biste maksimalno GitHub Copilot iskoristili stvaranje testa testnog motora.

Navedite jasan kontekst u upitima

Budite precizni o tome što želite testirati i uključite reference na:

  • Točne datoteke za testiranje
  • Primjeri testova koji će se koristiti kao predlošci
  • Specifični testni scenariji koje želite pokriti
  • Svi zahtjevi za provjeru autentičnosti ili okruženje

Korištenje uzoraka testnog modula za kontekst

Dokumentacija # samples.md katalogizira sve dostupne uzorke iz spremišta Test Engine, što može biti izvrsna referenca pri izradi upita GitHub Copilot. Na primjer, kada testirate aplikaciju radnog područja s gumbima, možete se pozvati na uzorak klikera na gumbe:

Brz:
Generirajte test za moju aplikaciju radnog područja na ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml pomoću uzorka ButtonClicker iz. https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker Test bi trebao:
1. Provjerite povećava li moj gumb brojača vrijednost na zaslonu
2. Ispitni granični uvjeti (npr. maksimalna vrijednost)
3. Uključite udice za životni ciklus OnTestCaseStart i OnTestCaseComplete
4. Generirajte config.json s odgovarajućim varijablama okoline

Ovaj pristup pomaže Copilotu da razumije strukturu testa i generira točnije, kontekstualno relevantne testove na temelju provjerenih primjera.

Koristite rješenja kontrolirana izvorom kao kontekst

Copilot ima najbolje performanse kada može analizirati strukturu vašeg rješenja. Koristite kontrolu izvornog koda za Power Platform rješenja za pružanje ovog konteksta. Ovaj kontekst omogućuje Copilotu da:

  • Objašnjenje strukture aplikacije
  • Identificirajte nazive i svojstva kontrola
  • Generirajte preciznije korake testiranja
  • Referenciranje ispravnih putova datoteka

Pregled i preciziranje generiranih testova

Iako testovi generirani umjetnom inteligencijom pružaju izvrsnu početnu točku, uvijek:

  • Provjerite da li reference kontrole odgovaraju vašoj aplikaciji
  • Dodavanje tvrdnji za ključne poslovne funkcije
  • Osigurajte pravilno rukovanje rubnim kućištima
  • Provjera konfiguracije provjere autentičnosti

Kombinirajte s ručnom stručnošću

Za složene testne scenarije koristite GitHub Copilot za:

  • Generirajte okvir i strukturu testiranja
  • Stvaranje standardnih obrazaca provjere valjanosti
  • Predložite rubne slučajeve koje treba razmotriti

Zatim proširite svoju stručnost u domeni za:

  • Pravila provjere valjanosti specifična za tvrtku
  • Okolišna pitanja
  • Specijalizirani ispitni podaci

Uobičajeni obrasci generiranja testova

Ovaj odjeljak sadrži neke uobičajene obrasce generiranja testova:

Testiranje aplikacija radnog područja

Za aplikacije radnog područja koristite upite koji upućuju na datoteku App.fx.yaml u rješenju kojim upravlja izvor:

Brz:
Generirajte test za moju aplikaciju radnog područja na ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml koji provjerava postupak slanja troškova. Test bi trebao popuniti polja troškova, poslati obrazac i provjeriti je li se pojavila poruka potvrde.

Testiranje aplikacija utemeljenih na modelu

Za aplikacije utemeljene na modelu usredotočite se na navigaciju entitetima, interakcije s obrascima i poslovna pravila:

Brz:
Stvorite test za moju aplikaciju stvorenu prema modelu koja testira obrazac entiteta Račun. Test bi trebao stvoriti novi zapis računa, provjeriti obavezna polja i provjeriti rade li poslovna pravila za izračun kreditnog limita ispravno.

Testiranje Dataverse proširenja

Za Dataverse testove naglasite operacije s podacima i provjeru valjanosti poslovne logike:

Brz:
Generirajte Dataverse test koji potvrđuje prilagođene dodatke u mom rješenju. Test bi trebao stvoriti testne zapise, pokrenuti izvršavanje dodatka i provjeriti jesu li se dogodile očekivane transformacije podataka.

Upiti za testiranje specifični za uzorak

Da biste dobili najtočnije generiranje testa, referencirajte određene uzorke iz kataloga uzoraka testnog motora koji odgovaraju vašim potrebama testiranja. Evo prilagođenih upita za uobičajene scenarije testiranja:

ButtonClicker primjeri upita

Primjer ButtonClicker pokazuje osnovno testiranje funkcionalnosti brojača. Koristite ove upite:

Brz:
Generirajte test za moju aplikaciju brojača sa sličnom strukturom kao i uzorak ButtonClicker. Moja aplikacija ima gumbe pod nazivom "IncrementBtn" i "ResetBtn" s "CounterLabel" koji prikazuje trenutni broj. Stvorite test koji potvrđuje da oba gumba rade ispravno i da je maksimalan broj 10.

Brz:
Stvorite test za moju aplikaciju za interakciju s gumbima koristeći uzorak ButtonClicker kao referencu. Moja aplikacija ima "SubmitButton" koji bi trebao biti omogućen samo kada su polja "NameInput" i "EmailInput" ispunjena. Generirajte plan testiranja s Power Fx koracima za provjeru ovog ponašanja.

Uzorci BasicGallery i NestedGallery pokazuju kako testirati interakcije galerije:

Brz:
Generirajte test za svoju aplikaciju galerije u kojoj imam galeriju "Proizvodi" sa stavkama proizvoda koje sadrže kontrole "TitleLabel", "PriceLabel" i "SelectButton". Upotrijebite strukturu primjera BasicGallery da biste provjerili mogu li odabrati stavke i prikazuju li se točni detalji u "DetailPanelu".

Upiti za podatkovne operacije

Uzorak Dataverse prikazuje testiranje operacija s podacima:

Brz:
Stvorite test za svoju CRM aplikaciju pomoću uzorka Dataverse uzorka. Testirajte mogu li stvoriti novi zapis kontakta, ažurirajte ga, a zatim provjerite jesu li promjene prisutne. Uključite i testove korisničkog sučelja i izravne Dataverse operacije.

Upiti za testiranje umjetne inteligencije

Za testiranje funkcionalnosti koju pokreće umjetna inteligencija pogledajte uzorak upita umjetne inteligencije:

Brz:
Generirajte test za moju aplikaciju za analizu raspoloženja na temelju uzorka upita umjetne inteligencije. Moja aplikacija ima tekstni okvir "FeedbackInput" i koristi ga AI Builder za klasificiranje kao pozitivnog, negativnog ili neutralnog. Stvorite test koji potvrđuje različite ulazne podatke, proizvodi očekivane rezultate unutar prihvatljivih pragova.

Napredne tehnike

U ovom se odjeljku navode primjeri naprednih mogućnosti brzina.

Stvaranje testnih paketa za više okruženja

Možete zatražiti od Copilota da generira testove koji rade u više okruženja:

Brz:
Generirajte testni paket za moju aplikaciju koji se može izvoditi u DEV, TEST i PROD okruženjima s odgovarajućim konfiguracijskim varijablama za svako okruženje.

Generiranje scenarija ismijavanja podataka

Za izolirano ispitivanje s lažnim konektorom:

Brz:
Stvorite test s lažnim odgovorima poveznika za moju aplikaciju Office 365 koja koristi poveznik programa Outlook. Test bi trebao simulirati primanje e-pošte i potvrditi logiku obrade aplikacije.

Testiranje mogućnosti umjetne inteligencije i rukovanje nedeterminističkim rezultatima

Kada radite s aplikacijama koje pokreće umjetna inteligencija, testiranje uvodi jedinstvene izazove jer se izlazi umjetne inteligencije mogu malo razlikovati između pokretanja, čak i s identičnim ulazima. Ovo nedeterminističko ponašanje zahtijeva posebne pristupe testiranju.

Razumijevanje nedeterminističkog testiranja

Nedeterminističko testiranje uključuje provjeru valjanosti rezultata koji se mogu legitimno razlikovati tijekom testiranja:

  • Izlazi AI modela: Odgovori AI modela kao što su GPT ili prilagođene AI Builder komponente
  • Rezultati pouzdanosti: Numeričke procjene koje mogu varirati unutar prihvatljivih raspona
  • Generirani sadržaj: tekst ili preporuke koje proizvode sustavi umjetne inteligencije

Korištenje Preview.AIExecutePrompt za determinističko testiranje mogućnosti umjetne inteligencije

Test Engine pruža Preview.AIExecutePrompt koji omogućuje determinističku provjeru valjanosti odgovora umjetne inteligencije. Ovaj pristup vam omogućuje:

  • Izvršavanje upita umjetne inteligencije u testnim scenarijima
  • Raščlanjivanje i provjera strukturiranih odgovora
  • Provjerite ispunjavaju li kritični rezultati očekivanja unatoč mogućim varijacijama

Primjer: Ocjenjivanje s AI Builder

Sljedeći primjer pokazuje upotrebu Preview.AIExecutePrompt funkcije za testiranje sustava ocjenjivanja koji pokreće umjetna inteligencija:

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

U ovom primjeru:

  • Test izvršava upit umjetne inteligencije prema modelu "PromptEvaluator"
  • Prosljeđuje kontekst i pitanje za evaluaciju
  • Potvrđuje da se vraćena ocjena podudara s očekivanom vrijednošću
  • Pruža jasne povratne informacije o uspjehu ili neuspjehu testa

Kompletnu implementaciju možete istražiti u uzorku AI Prompt iz PowerApps spremišta TestEngine .

Uključivanje testiranja svjesnog umjetne inteligencije

Kada se koristi GitHub Copilot za generiranje testova za aplikacije pokretane umjetnom inteligencijom:

Brz:
Generirajte test za moju aplikaciju koju pokreće umjetna inteligencija koja koristi AI Builder obradu obrazaca. Uključite testne korake koji potvrđuju rezultate umjetne inteligencije s odgovarajućom tolerancijom za nedeterminističke rezultate.

Otklanjanje poteškoća i usavršavanje

Ako GitHub Copilot generira testove koji ne zadovoljavaju vaše potrebe:

  • Preciziranje upita: Budite precizniji o tome što želite testirati
  • Navedite primjere: Povežite se s određenim testnim uzorcima koji odgovaraju željenom stilu
  • Raščlanite složene testove: zatražite generiranje manjih, fokusiranih testnih komponenti
  • Ponavljanje: koristite odgovore Copilota da biste precizirali sljedeći upit

Istražite značajke testnog modula
Pregledajte katalog uzoraka testnih motora
Saznajte više o Power Fx testnim funkcijama
Objašnjenje formata YAML testa
Istražite mogućnosti provjere autentičnosti
Obuka: Izrada aplikacija s načinom GitHub Copilot rada agenta