Test Studion käyttäminen

Tässä pikaoppaassa luot testejä pohjan sovellukselle nimeltä Kudos. Voit myös tutustua testauskonsepteihin ja soveltaa niitä testien kirjoittamiseen omille pohjan sovelluksillesi. Kudos-mallisovellus on osa työntekijöiden osallistumista lisäävää ohjelmistopakettia, jonka voi ladata Employee Experience Starter Kit -sivulta.

Katso tämä video, niin opit, miten Test Studiota käytetään:

Avaa Test Studio

  1. Kirjaudu Power Apps -palveluun

  2. Luo uusi sovellus tai muokkaa aiemmin luotua sovellusta.

  3. Tallenna sovelluksesi Power Appsiin Test Studion avaamiseksi.

    Huomautus

    Sinun on tallennettava sovellus, ennen kuin voit kirjoittaa testejä sovellukselle.

  4. Valitse Lisätyökalut vasemmassa siirtymisruudussa.

  5. Valitse Avaa testit Test Studion avaamiseksi tälle sovellukselle. Tämä toiminto avaa Test Studion uudessa selainvälilehdessä.

    Avaa Test Studio.

Huomautus

Testit julkaistaan ja tallennetaan sovelluspakettiin. Kaaviosovelluspaketin vieminen ja tuominen toiseen ympäristöön sisältää myös kaikki testimääritykset, kuten testipaketit ja testitapaukset, jotka olet luonut.

Luo testipaketti

Testipaketti ja testitapaus luodaan sinulle oletusarvoisesti Test Studiossa. Testipaketteja käytetään testitapaustesi järjestämiseen. Sovellus voi sisältää yhden tai useamman testipaketin. Voit aloittaa testien kirjoittamisen heti tai luoda uuden testipaketin käyttämällä oletusarvoista testipakettia ja -tapausta.

  1. Valitse Uusi ohjelmisto.

  2. Päivitä testipaketin nimi ja kuvaus valitsemalla kentät pääruudukosta.

    Uusi testipaketti.

Luo testitapaus

Sen mukaan, miten haluat järjestää tai ryhmitellä testit, voit luoda testipaketissa useita testitapauksia. Jokainen tapaus voi testata sovelluksen tiettyä ominaisuutta tai toimintojen alijoukkoa.

  1. Valitse testipaketti.
  2. Luo uusi tapaus valitsemalla ylävalikosta Uusi tapaus.
  3. Päivitä testitapauksen nimi ja kuvaus valitsemalla kentät pääruudukosta.

Uusi testitapaus.

Kirjaa testitapaus

Testitapaus koostuu testivaiheista, jotka sisältävät toimintoja. Testitoiminnot kirjoitetaan käyttämällä Power Apps -lausekkeita, jotka suorittavat tehtävän. Voit käyttää kirjaustoimintoa luomaan testivaiheet automaattisesti, kun käytät sovellusta. Voit kirjauksen jälkeen päivittää testitapauksen, lisätä uusia vaiheita, poistaa vaiheita ja kirjoittaa testivahvistuksia testituloksen vahvistamiseksi.

Huomautus

Vain julkaistu sovellus voidaan toistaa kirjaustilassa. Julkaise kaikki äskettäiset muutokset sovellukseen ennen kuin aloitat testitapauksen kirjauksen. Jos kirjaat sen julkaisematta äskettäisiä muutoksia, sovelluksen viimeksi julkaistu versio toistetaan kirjaustilassa.

  1. Valitse yläreunan valikosta Kirjaa. Tämä toiminto avaa julkaistun sovelluksen kirjaustilassa uudessa selainvälilehdessä.

    Tärkeä

    Aiemmin luodun testitapauksen kirjaus korvaa jo olemassa olevat mahdolliset testivaiheet.

    Kirjaa testit.

  2. Käytä sovellustasi. Toimintosi kirjataan vasemmassa ruudussa.

  3. Kun toiminto päättyy, valitse Valmis. Vaihtoehtoisesti voit valita Peruuta, jos haluat palata Test Studioon ilman, että toimintojasi kirjataan.

    Tallenna kirjaus.

  4. Tarkastele testivaiheita ja lausekkeita, jotka luotiin sinulle automaattisesti Test Studiossa.

  5. Muokkaa vaiheen kuvauksen tekstiä pääruudukossa tarvittaessa. Voit myös päivittää testivaiheen toiminnot valitsemalla kaavan pääruudukosta.

    Päivitä testitapaus.

Lisää testivaiheita ja testivahvistuksia

Jokaisella testitapauksella tulisi olla odotettu tulos. Kudos-esimerkissä yksi odotetuista tuloksista Kudo-kohteen lähettämisestä on uuden tietueen luominen Microsoft Dataverse (Dataverse) -tietokantaan. Päivität nyt testitapauksen ja lisäät testivaiheita sen vahvistamiseksi, että tietueen luonti onnistui.

Onnistuneen tietueen luonnin tarkistaminen edellyttää seuraavia vaiheita:

  • Alusta muuttuja Kudo-tietueen laskua varten tietokannassa testitapauksen alussa.
  • Alusta muuttuja Kudo-tietueiden laskua varten tietokannassa testitapauksen lopussa.
  • Kirjoita testivahvistuslauseke sen vahvistamiseksi, että määrä kasvaa yhdellä tietueella. Jos määrä ei kasva yhdellä tietueella, testivahvistus ja siten testitapaus epäonnistuvat.

Voit lisätä testivaiheita ja testivahvistuksia Kudos-sovellukseen seuraavasti:

  1. Valitse Vaihe 1 tai vaihe, jonka yläpuolelle haluat lisätä uuden vaiheen.

  2. Valitse Lisää vaihe yläpuolelle ylävalikosta tai valitse vaihtoehto aktiivisesta rivistä. Tämä toiminto luo tyhjän vaiheen.

    Lisää vaihe.

    Huomautus

    Kun valitset Lisää vaihe yläpuolelle, uusi tyhjä vaihe lisätään nykyisen vaiheen yläpuolelle. Voit myös käyttää sen sijaan Vahvista-, Aseta ominaisuus-, Valitse- tai Jäljitä-toimintoja. Tämä lisää vaiheen ja vastaavan toimintokaavan, jota voit muokata.

  3. Päivitä vaiheen kuvaus. Esimerkiksi ”Laske Kudo-tietueet tietokannassa”.

  4. Anna lauseke tai kaava toimintosyötteeseen, jotta voit laskea tietokannan tietueet ennen testin suorittamista.

    Voit käyttää mitä tahansa tuettua lauseketta. Voit myös tehdä kyselyitä mistä tahansa tietolähteestä, kokoelmasta tai muuttujasta, suorittaa sovellukseen sisältyviä työnkulkuja ja luoda uusia globaaleja muuttujia tai kokoelmia, joita voit käyttää testeissä.

    Set(kudosBeforeTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  5. Select Step 2 or the step above which you want to insert a new step.

  6. Select Insert a step above from the top menu or by selecting the option from the active row. This action creates an empty step.

  7. Enter an expression or formula in the action input to Trace and write the kudosBeforeTest value to test the results record.

    Trace("kudosBeforeTest : " & kudosBeforeTest);
    

    Kudos ennen testiä.

  8. Siirry testitapauksen alareunaan ja lisää uusi vaihe, joka laskee tietokannan tietueet testin päättymisen jälkeen.

    Set(kudosAfterTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  9. Add a final step to validate that the record count in the database has increased by a count of 1, and enter the following assertion action to verify:

    Assert(kudosAfterTest = kudosBeforeTest + 1, "Kudos count incorrect. Expected : " & kudosBeforeTest + 1  & " Actual :" & kudosAfterTest)
    

    Kudos testivahvistuksen jälkeen.

  10. Tallenna testitapaus Test Studion oikeassa yläkulmassa olevasta valikosta.

Toista testisi

Voit toistaa kirjatun testisi sovellustoiminnon vahvistamiseksi. Voit toistaa kaikki testit yksittäisessä testipaketissa tai yksittäisessä testitapauksessa.

Ennen kuin toistat kirjauksen, johon on tehty äskettäin muutoksia, sinun on julkaistava sovellus:

Toista ilman julkaisemista.

Tärkeä

Jos ohitat julkaisun, kirjauksen toisto ei sisällä äskettäisiä testimuutoksia. Sovelluksessa toistetaan viimeisin julkaistu testitapaus tai testipaketti.

  1. Valitse Julkaise tallentaaksesi ja julkaistaksesi testin automaattisesti.

    Muutosten julkaiseminen.

  2. Valitse joko testipaketti tai yksittäinen testitapaus.

  3. Valitse Toista. Julkaistu sovellus avautuu toistotilassa, ja voit nähdä, miten testivaiheita toistetaan automaattisesti. Vihreä valintamerkki ilmaisee, että testivaihe on suoritettu onnistuneesti. Jos vaihe epäonnistuu, näkyviin tulee punainen virhemerkki ja virheviesti.

    Toistotila.

  4. Voit palata Test studioon napsauttamalla Valmis.

Vahvistus epäonnistui

Tässä osiossa muutat testivahvistusta siten, että testi epäonnistuu:

  1. Muokkaa vahvistusvaihetta valitsemalla lausekeruutu.

  2. Päivitä + 1-arvo + 2-arvoon testitoiminnossa. Tämä päivitys tarkoittaa sitä, että testi odottaa kahden tietueen luomista, mikä on väärin. Jos testi onnistuu, tietokantaan pitäisi luoda vain yksi tietue.

    Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2  & " Actual :" & kudosAfterTest)
    

    Määrän vahvistuksen päivitys.

  3. Valitse Julkaise.

  4. Valitse Toista.

  5. Tarkastele toistettavaa testiä. Tässä tapauksessa lopullinen vaihe epäonnistuu ja näyttää virheen ja viestin, jonka annoit vahvistusvaiheessa.

    Toistovirhe.

Testien toistaminen selaimessa

Voit kopioida linkin ja toistaa testin erillisessä selaimessa Test Studion ulkopuolella. Se auttaa integroimaan testit jatkuvaan koontiversioon ja julkaisuputkeen, kuten Azure DevOpsiin.

Valitun testin toistolinkki on pysyvä. Se ei muutu testipakettia tai testitapausta varten. Voit päivittää testejäsi koontiversiota tai julkaisuprosesseja muuttamatta.

Testien toistaminen selaimessa:

  1. Valitse testipaketti tai testitapaus oikeanpuoleisessa ruudussa.

  2. Valitse Kopioi toistolinkki.

    Kopioi toistolinkki.

  3. Sinua kehotetaan julkaisemaan testisi, jos julkaisemattomia muutoksia on olemassa.

    Julkaise ennen toistolinkkiä.

  4. Voit ohittaa julkaisuprosessin ja kopioida toistolinkin. Uusia testimuutoksia ei toisteta, jos ohitat tämän prosessin.

    Toistolinkki kopioitu.

  5. Toista testi avaamalla selain ja liittämällä URL-osoite osoiteriville.

  6. Tarkastele, miten testiäsi toistetaan.

Asenna testit

Test Suiten OnTestCaseStart -ominaisuutta voidaan käyttää testien määritykseen. Lauseke, joka syötetään tälle ominaisuudelle, laukeaa jokaiselle testitapaukselle paketissa ennen kuin testitapauksen suoritus alkaa. OnTestCaseStart auttaa välttämään samojen testivaiheiden kirjoittamista jokaisen tapauksen alussa. Voit mukauttaa tätä ominaisuutta niin, että se suorittaa kaikkien paketin tapausten yhteydessä yhteisiä tehtäviä, kuten:

  • Aloita testin suorittaminen aina ensimmäisestä näytöstä.
  • Alustetaan yleisiä kokoelmia tai muuttujia.
  • Haetaan testitietoja tietolähteestä tällä hetkellä suoritettavalle testille

TestCaseInfo-tietue sisältää nykyiseen suoritettavaan testiin liittyvät tiedot. Se sisältää seuraavat ominaisuudet:

  • TestCaseName – testitapauksen nimi.
  • TestCaseDescription – testitapauksen kuvaus.
  • TestCaseId – testitapauksen tunnus.
  • TestSuiteName – testipaketin nimi, johon tapaus kuuluu.
  • TestSuiteDescription – testipaketin kuvaus.
  • TestSuiteId – testipaketin tunnus, johon tapaus kuuluu.

Alla olevassa esimerkissä OnTestCaseStart-ominaisuutta mukautetaan siten, että jokainen testitapaus alkaa sovelluksen ensimmäisestä näytöstä. Voit myös noutaa testitiedot tietolähteestä, johon voidaan viitata testitapauksen vaiheissa.

  1. Napsauta Testaa vasemmassa ruudussa tai napsauta ohjelmiston otsikossa Näytä.

    Testaa tai tarkastele asetusominaisuutta.

  2. Valitse OnTestCaseStart -toiminto.

  3. Kirjoita lauseke siirtyäksesi ensimmäiseen näyttöön ja noutaa testitiedot testille.

    //Start every cases on the first screen in the Kudos app
    Navigate('Dashboard Screen');
    
    //Initialize my test data for the current case. 
    Set(currentTestData, LookUp(KudosTestData, TestCase = TestCaseInfo.TestCaseName));
    
    //Set kudosBeforeTest to 0
    Set(kudosBeforeTest, 0)
    

    OnTestCaseStart-esimerkki.

Testitulosten käsitteleminen

Kun Test Studiossa toistetaan testejä, näet testipaneelin. Se ei ole näkyvissä selainta käytettäessä. Tämän käyttäytymisen vuoksi et voi päätellä suoritettavaa erityistä testivaihetta tai testin onnistumista tai epäonnistumista.

Jos haluat päätellä testitulokset Test Studion ulkopuolella, voit käsitellä testisi tulokset testiobjektissa saatavilla olevan kahden ominaisuuden, OnTestCaseComplete ja OnTestSuiteComplete, avulla. Integroimalla testit jatkuvaan koontiversioon ja julkaisuputkeen, kuten Azure DevOpsiin, voit näiden ominaisuuksien avulla päätellä, pitäisi sovelluksen käyttöönottoa jatkaa.

Näille ominaisuuksille määritetty lauseke laukaistaan, kun jokainen tapaus tai ohjelmisto on valmis. Voit mukauttaa näitä ominaisuuksia käsittelemään ja lähettämään testisi tulokset erilaisiin tietolähteisiin tai palveluihin, kuten:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Lähetä sähköposti Office 365:n avulla.

Nämä asetukset koskevat sovelluksen kaikkia testipaketteja tai testitapauksia. Kun jokainen testipaketti tai testitapaus on valmis, testien sisältämät testitulokset ja mahdolliset jäljitysviestit ovat käytettävissä TestCaseResult- ja TestSuiteResult-tietueissa.

TestCaseResult- tietue sisältää seuraavat ominaisuudet:

  • TestCaseName – testitapauksen nimi.
  • TestCaseDescription – testitapauksen kuvaus.
  • TestCaseId – testitapauksen tunnus.
  • TestSuiteName – testipaketin nimi, johon tapaus kuuluu.
  • TestSuiteDescription – testipaketin kuvaus.
  • TestSuiteId – testipaketin tunnus, johon tapaus kuuluu.
  • StartTime – testin aloituksen suoritusajankohta.
  • EndTime – testin lopetuksen suoritusajankohta.
  • Traces – testivahvistusten ja viestien tulokset jäljitysfunktiosta.
  • Success – osoittaa, onnistuiko testitapaus.
  • TestFailureMessage – jos tapaus epäonnistui, esiin tulee virheviesti.

TestSuiteResult-tietue sisältää seuraavat ominaisuudet:

  • TestSuiteName – testipaketin nimi.
  • TestSuiteDescription – testipaketin kuvaus.
  • TestSuiteId – testipaketin tunnus.
  • StartTime – testipaketin aloituksen suoritusajankohta.
  • EndTime – testipaketin lopetuksen suoritusajankohta.
  • TestsPassed – ohjelmistossa onnistuneiden testitapausten määrä.
  • TestsFailed – ohjelmistossa epäonnistuneiden testitapausten määrä.

Tässä pikaoppaassa luot kaksi mukautettua taulukkoa Dataverse-tietokannassa testitulosten tallentamiseksi mukauttamalla OnTestCaseComplete- ja OnTestSuiteComplete-ominaisuuksia:

  1. Napsauta Testaa vasemmassa ruudussa tai napsauta ohjelmiston otsikossa Näytä.

    Testaa tai tarkastele asetusominaisuutta.

  2. Valitse OnTestCaseComplete-toiminto.

  3. Syötä lauseke, joka käsittelee testisi tulokset. Seuraavassa esimerkissä tallennetaan kunkin testitapauksen tulokset mukautettuun AppTestResults-taulukkoon Dataversessä. Testitulokset voidaan vaihtoehtoisesti tallentaa SQL:ään, SharePointiin tai mihin tahansa muuhun tietolähteeseen. Sinun on ehkä määritettävä jäljityskenttä tai suurennettava sitä tietolähteessä tarpeen mukaan.

    Huomautus

    Seuraavat esimerkit yhdistetään Microsoft Dataverseen. Voit luoda yksinkertaisen sovelluksen tai luoda sovelluksen alusta alkaen Dataversen avulla. Patch-funktioviitteessä on myös lisätietoja seuraavissa esimerkeissä käytetyn tietolähteen tietueiden muuttamisesta.

    //Save to Dataverse
    Patch(AppTestResults
    , Defaults(AppTestResults)
    , {
             TestPass: TestCaseResult.TestCaseName & ":" & Text(Now())
             ,TestSuiteId: TestCaseResult.TestSuiteId
             ,TestSuiteName: TestCaseResult.TestSuiteName
             ,TestCaseId: TestCaseResult.TestCaseId
             ,TestCaseName: TestCaseResult.TestCaseName
             ,StartTime: TestCaseResult.StartTime
             ,EndTime: TestCaseResult.EndTime
             ,TestSuccess: TestCaseResult.Success
             ,TestTraces: JSON(TestCaseResult.Traces)
             ,TestFailureMessage: TestCaseResult.TestFailureMessage
    }
    );
    

    OnTestCaseComplete-esimerkki.

  4. Valitse OnTestSuiteComplete-toiminto.

  5. Syötä lauseke, joka käsittelee testisi tulokset. Seuraavassa esimerkissä tallennetaan kunkin testisarjan tulokset mukautettuun AppTestSuiteResults-taulukkoon Dataversessä.

    //Save to Dataverse
    Patch(AppTestSuiteResults
        , Defaults(AppTestSuiteResults)
        , {
             TestSuiteId: TestSuiteResult.TestSuiteId
             ,TestSuiteName: TestSuiteResult.TestSuiteName
             ,StartTime: TestSuiteResult.StartTime
             ,EndTime: TestSuiteResult.EndTime
             ,TestPassCount: TestSuiteResult.TestsPassed
             ,TestFailCount: TestSuiteResult.TestsFailed
        }
    );
    

    OnTestSuiteComplete-esimerkki.

Seuraavassa on toinen esimerkkejä lausekkeista, joita voit käyttää näissä ominaisuuksissa:

  • Lähetä tulokset työnkulkuun Power Automatessa.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Tulosten lähettäminen sähköpostitse.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Sovellusilmoituksen saaminen testituloksesta.

    Voit saada esimerkiksi ilmoituksen testin päättymisestä, kun testiä toistetaan selaimessa Test Studion ulkopuolella.

    Notify(TestCaseResult.TestCaseName & " : "
            & If( TestCaseResult.Success
                , " Passed"
                , TestCaseResult.TestFailureMessage)
            ,If(  TestCaseResult.Success
                , NotificationType.Success
                , NotificationType.Error)
    )
    

Tekstifunktiot

Niiden funktioiden lisäksi, joita Power Appsissa on, seuraavia yleisiä funktioita käytetään usein testien luomisessa:

Seuraavat vaiheet

Huomautus

Voitko kertoa meille dokumentaatiota koskevan kielimäärityksesi? Vastaa lyhyeen kyselyyn. (Huomaa, että tämä kysely on englanninkielinen.)

Kyselyyn vastaaminen kestää noin seitsemän minuuttia. Henkilökohtaisia tietoja ei kerätä (tietosuojatiedot).