Jaa


Tekoälyavusteinen testin luonti ( GitHub Copilot esikatselu)

Muistiinpano

Esiversiotoimintoja ei ole tarkoitettu tuotantokäyttöön, ja niiden toiminnot voivat olla rajoitettuja. Nämä toiminnot ovat käytettävissä ennen virallista julkaisua, jotta asiakkaat voivat käyttää niiden ennakkojulkaisua ja antaa palautetta.

Kattavien testisuunnitelmien Power Platform luominen sovelluksille voi olla aikaa vievää erityisesti monimutkaisissa skenaarioissa. Tekoälyavusteiset luontityökalut, kuten GitHub Copilot voivat nopeuttaa tätä prosessia merkittävästi luomalla testimalleja, ehdottamalla testitapauksia ja automatisoimalla vakiokoodin luomisen.

Tässä oppaassa kerrotaan, miten voit käyttää GitHub Copilot lähteenhallintaratkaisuja Power Platform Test Engine -testisuunnitelmien tehokkaaseen luomiseen.

edellytykset

Varmista ennen aloittamista, että sinulla on:

Testin luontiympäristön määrittäminen

Voit maksimoida tekoälyavusteisen testien luomisen tehokkuuden yhdistämällä nämä työkalut jäsenneltyyn työnkulkuun:

  1. Lähdetiedostojen hakeminen
  2. Alusta git-arkisto versionhallintaa varten (jos sitä ei ole jo tehty)
  3. Luo erillinen testikansio ratkaisusäilöön
  4. Avaa ratkaisukansio koodissa Visual Studio

Käyttö GitHub Copilot testin luomiseen

GitHub Copilot voi auttaa sinua luomaan erilaisia testikomponentteja lähdeohjattuun ratkaisuun perustuen. Näin voit käyttää sen ominaisuuksia tehokkaasti:

Mallidokumentaation käyttäminen kontekstina

Test Engine -malliluettelo tarjoaa monipuolisen viitemateriaalin GitHub Copilot lähteen. Voit auttaa Copilotia tuottamaan laadukkaampia testejä seuraavasti:

  • samples.md-tiedoston sisällyttäminen työtilaan
  • Tiettyihin näytteisiin viittaaminen kehotteissa
  • Linkkien tarjoaminen GitHub-esimerkkisäilöihin

Voit esimerkiksi:

  • Avaa sekä sovelluskoodi että samples.md-tiedosto VS Codessa
  • Pyydä Copilotia luomaan testejä "samanlaisia kuin ButtonClicker-malli" tai "käyttämällä näytteen Dataverse malleja"
  • Viittaa tiettyihin ominaisuuksiin näytteistä, jotka vastaavat testaustarpeitasi

Tämä lähestymistapa auttaa Copilotia ymmärtämään Power Platform Test Engine -malleja ja luomaan tarkempia testejä.

Työskentely GitHub Copilot agenttitilassa

Visual Studio Code's GitHub Copilot Chat tarjoaa agenttitilan , joka voi auttaa luomaan testejä ratkaisutiedostojesi perusteella. Tämän tilan avulla Copilot voi käyttää ja ymmärtää projektikontekstia syvällisemmin.

Agenttitilan käyttäminen testin luomiseen:

  1. Avaa GitHub Copilot VS Codessa Chat (Ctrl+Shift+I)
  2. Valitse Agentti Copilot-tilan valitsimesta
  3. Luo yksityiskohtainen kehote testistä, jonka haluat luoda.

Esimerkkikehotteet testin luontiin

Kokeile testin luomiseen seuraavia kehotteita:

Tavoite:
Luo kattava testipaketti pohjaan perustuvalle sovellukselle käyttämällä Power Apps testimoottoria, joka on mallinnettu ButtonClicker-mallin mukaan.

Ripeä:
Luo testi ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml käyttämällä mallia osoitteessa https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker viitteenä. Luo odotettuja tapauksia, reunatapauksia ja poikkeustapauksia. Testin pitäisi luoda YAML-testitiedosto ja Power Fx testivaiheet, config.json ja RunTest.ps1 mallin perusteella, jotta voin suorittaa testin.

Tavoite:
Rakenna yksityiskohtainen testisuunnitelma mallipohjaiselle sovellukselle varmistaaksesi, että ydintoiminnot ja liiketoimintalogiikka toimivat odotetulla tavalla.

Ripeä:
Luo kattava testisuunnitelma mallipohjaiselle sovellukselleni, joka sijaitsee osoitteessa ./SolutionPackage/src/Other/Solution.xml. Testin tulee vahvistaa lomakkeen lataaminen, tietueen luominen ja liiketoimintasäännön suorittaminen. Luo testin YAML, Power Fx vaiheet ja PowerShell-komentosarja testin suorittamista varten.

Tavoite:
Laadi testisuunnitelma Dataverse entiteeteille CRUD-toimintojen todentamiseksi toimintojen avulla Power Fx .

Ripeä:
Luo kattava testisuunnitelma laitoksilleni Dataverse . Testin tulee suorittaa luonti-, päivitys- ja poistotoimintoja Power Fx . Luo testin YAML, Power Fx vaiheet ja PowerShell-komentosarja testin suorittamista varten.

Luotujen testikomponenttien ymmärtäminen

Kun GitHub Copilot luo testin, se luo yleensä seuraavat osat:

  • YAML-testisuunnitelma: Määrittää testirakenteen, sovelluksen URL-osoitteen ja testivaiheet
  • Power Fx testivaiheet: Sisältää testilogiikan lausekkeiden avulla Power Fx
  • config.json: Testin suoritusparametrien määritys
  • RunTest.ps1: PowerShell-komentosarja testin suorittamiseksi

Esimerkki: Luotu testirakenne

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

Tekoälyavusteisen testien luomisen parhaat käytännöt

Harkitse seuraavia osioita, jotta saat kaiken irti GitHub Copilot testimoottoritestin luomisesta.

Anna kehotteissa selkeä konteksti

Kerro tarkasti, mitä haluat testata, ja liitä mukaan viittaukset seuraaviin:

  • Tarkat testatavat tiedostot
  • Mallina käytettävät esimerkkitestit
  • Erityiset testiskenaariot, jotka haluat kattaa
  • Mahdolliset todennus- tai ympäristövaatimukset

Testimoottorimallien käyttäminen kontekstissa

# samples.md-dokumentaatio luetteloi kaikki saatavilla olevat näytteet Test Engine -arkistosta, mikä voi olla erinomainen viite kehotteita GitHub Copilot laadittaessa. Kun esimerkiksi testaat painikkeita sisältävää pohjaan perustuvaa sovellusta, voit viitata Button Clicker -malliin:

Ripeä:
Luo testi pohjaan perustuvalle sovellukselle osoitteessa ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml käyttämällä ButtonClicker-mallia https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker. Testin tulee:
1. Varmista, että laskuripainike kasvattaa arvoa näytöllä
2. Testin reunaehdot (esim. enimmäisarvo)
3. Sisällytä OnTestCaseStart- ja OnTestCaseComplete-elinkaarikoukut
4. Luo config.json sopivilla ympäristömuuttujilla

Tämä lähestymistapa auttaa Copilotia ymmärtämään testirakennetta ja luo tarkempia, asiayhteyteen liittyviä testejä todistettujen esimerkkien perusteella.

Lähdeohjattujen ratkaisujen käyttäminen kontekstina

Copilot toimii parhaiten, kun se pystyy analysoimaan ratkaisun rakennetta. Käytä ratkaisujen Power Platform lähdehallintaa tämän kontekstin tarjoamiseen. Tämän kontekstin avulla Copilot voi:

  • Sovelluksen rakenteen ymmärtäminen
  • Ohjausobjektien nimien ja ominaisuuksien tunnistaminen
  • Luo tarkempia testivaiheita
  • Viittaa oikeisiin tiedostopolkuihin

Luotujen testien tarkistaminen ja tarkentaminen

Vaikka tekoälyn luomat testit tarjoavat erinomaisen lähtökohdan, aina:

  • Varmista, että ohjausobjektin viittaukset vastaavat sovellustasi
  • Lisää vahvistuksia liiketoiminnan kannalta kriittisille toiminnoille
  • Varmista, että reunatapaukset käsitellään oikein
  • Todennusmääritysten vahvistaminen

Yhdistä manuaaliseen asiantuntemukseen

Monimutkaisissa testiskenaarioissa käytä GitHub Copilot :

  • Luo testikehys ja rakenne
  • Vakiomuotoisten vahvistusmallien luominen
  • Ehdota harkittavia reunatapauksia

Täydennä sitten toimialueen asiantuntemustasi:

  • Yrityskohtaiset validointisäännöt
  • Ympäristönäkökohdat
  • Erikoistuneet testitiedot

Yleiset testin luontimallit

Tässä osiossa on joitakin yleisiä testin luontimalleja:

Pohjaan perustuvien sovellusten testaaminen

Käytä pohjaan perustuvissa sovelluksissa kehotteita, jotka viittaavat App.fx.yaml tiedostoon lähdeohjatussa ratkaisussa:

Ripeä:
Luo pohjaan perustuvalle sovellukselle testi osoitteessa ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml, joka vahvistaa kulujen lähetysprosessin. Testin tulee täyttää kulukentät, lähettää lomake ja varmistaa, että vahvistusviesti tulee näkyviin.

Mallipohjaisten sovellusten testaaminen

Keskity mallipohjaisissa sovelluksissa entiteettien siirtymiseen, lomakkeiden vuorovaikutukseen ja liiketoimintasääntöihin:

Ripeä:
Luo mallipohjaiselle sovellukselle testi, joka testaa Asiakas-entiteettilomaketta. Testin pitäisi luoda uusi tilitietue, tarkistaa pakolliset kentät ja varmistaa, että luottorajan laskennan liiketoimintasäännöt toimivat oikein.

Laajennusten testaaminen Dataverse

Korosta testeissä Dataverse tietotoimintoja ja liiketoimintalogiikan validointia:

Ripeä:
Luo Dataverse testi, joka vahvistaa ratkaisuni mukautetut laajennukset. Testin pitäisi luoda testitietueita, käynnistää laajennuksen suoritus ja varmistaa, että odotetut tietojen muunnokset tapahtuivat.

Näytekohtaiset testikehotteet

Saat tarkimman testin luomisen viittaamalla Test Engine -malliluettelon tiettyihin näytteisiin , jotka vastaavat testaustarpeitasi. Tässä on räätälöityjä kehotteita yleisiin testausskenaarioihin:

ButtonClickerin esimerkkikehotteet

ButtonClicker-esimerkki esittelee laskurin toiminnallisuuden perustestauksen. Käytä näitä kehotteita:

Ripeä:
Luo laskurisovellukselleni testi, jonka rakenne on samanlainen kuin ButtonClicker-mallissa. Sovelluksessani on painikkeita nimeltä "IncrementBtn" ja "ResetBtn", joissa on "CounterLabel", joka näyttää nykyisen määrän. Luo testi, joka varmistaa, että molemmat painikkeet toimivat oikein ja että enimmäismäärä on 10.

Ripeä:
Luo testi painikkeen vuorovaikutussovellukselle käyttämällä ButtonClicker-mallia viitteenä. Sovelluksessani on "SubmitButton", joka tulee ottaa käyttöön vain, kun "NameInput"- ja "EmailInput"-kentät on täytetty. Luo testisuunnitelma, jossa on Power Fx vaiheet tämän toiminnan vahvistamiseksi.

BasicGallery - ja NestedGallery-malleissa näytetään, miten voit testata valikoiman vuorovaikutusta:

Ripeä:
Luo galleriasovellukselleni testi, jossa minulla on Tuotteet-valikoima, jossa on tuotekohteita, jotka sisältävät TitleLabel-, PriceLabel- ja SelectButton-ohjausobjekteja. Käytä BasicGallery-mallirakennetta varmistaaksesi, että voin valita kohteita ja että oikeat tiedot näkyvät "DetailPanelissa".

Tietotoimintojen kehotteet

Malli Dataverse esittelee tietotoimintojen testauksen:

Ripeä:
Luo CRM-sovellukselle testi mallimallin avulla Dataverse . Testaa, että voin luoda uuden yhteyshenkilötietueen, päivitä se ja varmista, että muutokset pysyvät. Sisällytä sekä käyttöliittymätestit että suorat Dataverse toiminnot.

Tekoälyn testauskehotteet

Jos haluat testata tekoälypohjaisia toimintoja, katso AI Prompt -malli:

Ripeä:
Luo testi asenneanalyysisovellukselleni tekoälykehotemallin perusteella. Sovelluksessani on "FeedbackInput"-tekstiruutu, ja sen avulla AI Builder se luokitellaan positiiviseksi, negatiiviseksi tai neutraaliksi. Luo testi, joka validoi eri syötteiden tuottavan odotetut tulokset hyväksyttävien kynnysarvojen sisällä.

Edistyneet tekniikat

Tässä osassa on esimerkkejä edistyneistä kehoteominaisuuksista.

Usean ympäristön testipakettien luominen

Voit pyytää Copilotia luomaan testejä, jotka toimivat useissa ympäristöissä:

Ripeä:
Luo sovellukselleni testipaketti, joka voidaan suorittaa DEV-, TEST- ja PROD-ympäristöissä asianmukaisilla määritysmuuttujilla kullekin ympäristölle.

Tietojen pilkkaamisen skenaarioiden luominen

Eristetty testaus liittimen pilkkaamisella:

Ripeä:
Luo testi, jossa on valettuja yhdistinvastauksia sovellukselleni, joka käyttää Outlook-liitintä Office 365 . Testin tulee simuloida sähköpostien vastaanottamista ja vahvistaa sovelluksen käsittelylogiikka.

Tekoälyn ominaisuuksien testaaminen ja ei-determinististen tulosten käsittely

Kun työskentelet tekoälypohjaisten sovellusten kanssa, testaus tuo mukanaan ainutlaatuisia haasteita, koska tekoälyn tuotokset voivat vaihdella hieman ajojen välillä, jopa identtisillä syötteillä. Tämä ei-deterministinen käyttäytyminen vaatii erityisiä testausmenetelmiä.

Ei-deterministisen testauksen ymmärtäminen

Ei-deterministinen testaus sisältää sellaisten tulosten validoinnin, jotka voivat vaihdella testiajojen välillä:

  • AI-mallin lähdöt: Vastaukset tekoälymalleista, kuten GPT:stä tai mukautetuista AI Builder komponenteista.
  • Luottamuspisteet: Numeeriset arvioinnit, jotka saattavat vaihdella hyväksyttävillä alueilla
  • Luotu sisältö: Tekoälyjärjestelmien tuottama teksti tai suositukset

Preview.AIExecutePromptin käyttäminen tekoälyominaisuuksien deterministiseen testaukseen

Testimoduuli tarjoaa Preview.AIExecutePromptin , joka mahdollistaa tekoälyvastausten deterministisen validoinnin. Tämän lähestymistavan avulla voit:

  • Suorita tekoälykehotteet testiskenaarioissa
  • Jäsenneltyjen vastausten jäsentäminen ja vahvistaminen
  • Varmista, että kriittiset tuotokset vastaavat odotuksia mahdollisista vaihteluista huolimatta

Esimerkki: Luokituksen arviointi AI Builder

Seuraavassa esimerkissä näytetään toiminnon käyttäminen tekoälyllä toimivan luokitusjärjestelmän testaamiseen Preview.AIExecutePrompt :

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

Tässä esimerkissä:

  • Testi suorittaa tekoälykehotteen "PromptEvaluator"-mallia vastaan
  • Se läpäisee kontekstin ja kysymyksen arvioitavaksi
  • Se vahvistaa, että palautettu luokitus vastaa odotettua arvoa
  • Se antaa selkeää palautetta testin onnistumisesta tai epäonnistumisesta

Voit tutustua täydelliseen toteutukseen AI-kehotemallissaPowerApps TestEngine-arkistosta .

Tekoälytietoisen testauksen sisällyttäminen

Kun käytät GitHub Copilot testien luomiseen tekoälypohjaisille sovelluksille:

Ripeä:
Luo testi tekoälyllä toimivalle sovellukselleni, joka käyttää AI Builder lomakkeiden käsittelyä. Sisällytä testivaiheet, jotka vahvistavat tekoälyn tulokset asianmukaisella toleranssilla ei-deterministisille tuloksille.

Vianetsintä ja tarkennus

If GitHub Copilot luo testejä, jotka eivät vastaa tarpeitasi:

  • Tarkenna kehotetta: Kerro tarkemmin, mitä haluat testata
  • Anna esimerkkejä: Linkitä tiettyihin testinäytteisiin, jotka vastaavat haluamaasi tyyliä
  • Monimutkaisten testien jakaminen: Pyydä pienempien, kohdennettujen testikomponenttien luomista
  • Iteroi: Käytä Copilotin vastauksia seuraavan kehotteen tarkentamiseen

Tutustu Test Enginen ominaisuuksiin
Selaa Test Engine -malliluetteloa
Lisätietoja Power Fx testifunktioista
Ymmärrä YAML-testimuoto
Tutustu todennusvaihtoehtoihin
Koulutus: Sovellusten GitHub Copilot luominen asiakaspalvelijatilassa