Darbs ar Test Studio

Šajā ātrajā pamācībā jūs izveidosiet testus pamatnes programmai, kas saucas Kudos. Varat arī izpētīt un atklāt testēšanas koncepcijas un izmantot tās, lai rakstītu testus savām pamatnes programmām. Parauga programma Kudos ir daļa no darbinieku piesaistīšanas programmu komplekta, kas pieejamas lejupielādei no Darbinieka pieredzes sākuma komplekta.

Noskatieties šo videoklipu, lai uzzinātu, kā darboties ar Test Studio:

Testa studijas atvēršana

  1. Pierakstieties programmatūrā Power Apps.

  2. Izveidojiet jaunu programmu vai rediģējiet esošu programmu.

  3. Saglabājiet programmu Power Apps, lai atvērtu testa studiju.

    Piezīme

    Lai varētu rakstīt programmas testus, vispirms ir jāsaglabā programma.

  4. Kreisajā navigācijas rūtī atlasiet Papildu rīki.

  5. Atlasiet Atvērt testus, lai šai programmai atvērtu testa studiju. Tādējādi Test Studio tiek atvērts jaunā pārlūka cilnē.

    Testa studijas atvēršana.

Piezīme

Testi tiek publicēti un saglabāti programmas pakotnē. Eksportējot un importējot pamatnes programmas pakotni citā vidē, tiks iekļautas arī visas testa definīcijas, piemēram, jūsu izveidotie testu komplekti un testa gadījumi.

Testu komplekta izveide

Jums pēc noklusējuma testa studijā tiek izveidots testu komplekts un testa gadījums. Testu komplektus izmanto, lai kārtotu jūsu testa gadījumus. Programmā var būt viens vai vairāki testu komplekti. Varat izmantot noklusējuma testu komplektu un gadījumu, lai sāktu rakstīt testus tūlīt, vai izveidot jaunu testu komplektu.

  1. Atlasiet opciju Jauns komplekts.

  2. Atjauniniet laukus Testu komplekta nosaukums un apraksts, atlasot tos galvenajā režģī.

    Jauns testu komplekts.

Testa gadījuma izveide

Atkarībā no tā, kā vēlaties kārtot vai grupēt testus, varat izveidot vairākus testa gadījumus vienā testu komplektā. Katrs gadījums var testēt konkrētu programmas līdzekli vai funkcionalitāšu apakškopu.

  1. Atlasiet testu komplektu.
  2. Lai izveidotu jaunu gadījumu, augšējā izvēlnē atlasiet vienumu Jauns gadījums.
  3. Atjauniniet laukus Testa gadījuma nosaukums un apraksts, atlasot tos galvenajā režģī.

Jauns testa gadījums.

Testa gadījuma ierakstīšana

Testa gadījums sastāv no testa posmiem, ko veido darbības. Testa darbības tiek rakstītas, izmantojot Power Apps izteiksmes, kas veic uzdevumu. Varat izmantot ierakstītāju, lai automātiski ģenerētu testa posmus, kad mijiedarbojaties ar programmu. Pēc ieraksta veikšanas varat atjaunināt testa gadījumu, pievienot jaunus posmus, dzēst posmus un rakstīt testa apgalvojumus, lai validētu testa rezultātu.

Piezīme

Tikai publicēta programma tiek atskaņota ieraksta režīmā. Pirms testa gadījuma ieraksta sākšanas publicējiet nesen veiktās izmaiņas programmā. Ja tiek veikta ierakstīšana, iepriekš nepublicējot nesen veiktās izmaiņas, ierakstu režīmā tiek atskaņota programmas pēdējā publicētā versija.

  1. Augšējā izvēlnē atlasiet vienumu Ierakstīt. Ar šo darbību tiek atvērta publicēta programma ar ieraksta režīmu jaunā pārlūka cilnē.

    Svarīgi

    Ierakstīšana esošā testa gadījumā pārraksta jau esošos testa posmus.

    Testu ierakstīšana.

  2. Mijiedarboties ar programmu. Jūsu darbības tiek ierakstītas kreisajā rūtī.

  3. Kad mijiedarbība pabeigta, atlasiet vienumu Pabeigts. Ja vēlaties, varat atlasīt vienumu Atcelt, lai atgrieztos testa studijā, neierakstot mijiedarbību.

    Ieraksta saglabāšana.

  4. Skatiet testa posmus un izteiksmes, kas tika automātiski ģenerēti testa studijā.

  5. Ja nepieciešams, rediģējiet darbības apraksta tekstu galvenajā režģī. Varat arī atjaunināt testa posmu darbības, atlasot formulu galvenajā režģī.

    Testa gadījuma atjaunināšana.

Testa posmu un testa apgalvojumu pievienošana

Katram testa gadījumam ir nepieciešams sagaidāmais rezultāts. Izmantojot Kudos piemēru, viens no uzslavas nosūtīšanas paredzamajiem rezultātiem ir jauna ieraksta izveide Microsoft Dataverse (Dataverse) datu bāzē. Tagad jūs atjaunināsiet testa gadījumu un pievienosiet papildu pārbaudes soļus, lai apstiprinātu, ka ieraksts ir sekmīgi izveidots.

Lai apstiprinātu sekmīgu ieraksta izveidi, veiciet turpmāk aprakstītās darbības.

  • Inicializējiet uzslavas ierakstu skaita mainīgo datu bāzē testa gadījuma sākumā.
  • Inicializējiet uzslavas ierakstu skaita mainīgo datu bāzē testa gadījuma beigās.
  • Uzrakstiet testa apgalvojuma izteiksmi, lai apstiprinātu skaitu, kas ir vienu vienību lielāks. Ja skaits nepalielinās par vienu, testa apgalvojums neizdodas, un jūsu pārbaudes gadījums neizdodas.

Lai pievienotu testa posmus un testa apgalvojumus programmā Kudos, veiciet turpmāk aprakstītās darbības.

  1. Atlasiet 1. posmu vai to posmu, virs kura vēlaties ievietot jaunu posmu.

  2. Augšējā izvēlnē atlasiet vienumu Ievietot posmu virs vai atlasiet opciju aktīvajā rindā. Ar šo darbību tiek izveidots tukšs solis.

    Posma ievietošana.

    Piezīme

    Ja atlasāt vienumu Ievietot soli virs, virs pašreizējā posma tiek pievienots jauns tukšs posms. Varat izmantot arī vienumus Apgalvot, SetProperty, Atlasīt vai Izsekot. Šādā veidā tiek pievienots posms ar atbilstošu darbību formulu, ko varat rediģēt.

  3. Atjauniniet posma aprakstu. Piemēram, "Skaitīt Kudo datu bāzē".

  4. Ievadiet izteiksmi vai formulu darbības ievades laukā, lai skaitītu ierakstus datu bāzē pirms testa izpildes.

    Varat izmantot jebkuru atbalstītu izteiksmi. Varat arī vaicāt jebkurus datu avotus, kolekcijas, mainīgos vai izpildīt plūsmas, kas ir iekļautas programmā, un izveidot jaunus globālos mainīgos vai kolekcijas, ko izmantot savos testos.

    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 pirms testa.

  8. Pārejiet uz testa gadījuma lejasdaļu un ievietojiet jaunu posmu, lai skaitītu ierakstus datu bāzē pēc testa pabeigšanas.

    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 pēc testa apgalvojuma.

  10. Testa studijas augšējā labajā izvēlnē saglabājiet testa gadījumu.

Testa atskaņošana

Ierakstīto testu var atskaņot, lai validētu programmas funkcionalitāti. Varat atskaņot visus viena testu komplekta testus vai atsevišķu testa gadījumu.

Pirms ieraksta atskaņošanas ar jaunākajām izmaiņām ir jāpublicē programma.

Atskaņošana nepublicējot.

Svarīgi

Ja izlaižat publicēšanu, ieraksta atskaņošana neietver pēdējās testa izmaiņas. Ar programmu tiek atskaņots pēdējais publicētais testa gadījums vai komplekts.

  1. Atlasiet Publicēt, lai automātiski saglabātu un publicētu savu testu.

    Izmaiņu publicēšana.

  2. Atlasiet testu komplektu vai atsevišķu testa gadījumu.

  3. Atlasiet vienumu Atskaņot. Publicētā programma tiek atvērta Atskaņošanas režīmā, un jums redzami testa posmi, kas tiek atskaņoti automātiski. Zaļa atzīme norāda, ka testa posms ir sekmīgi izpildīts. Ja posms netiek izpildīts, tiek attēlots sarkans kļūmes indikators un kļūdas ziņojums.

    Atskaņošanas režīms.

  4. Lai atgrieztos testa studijā, atlasiet vienumu Pabeigts.

Nesekmīgs apgalvojums

Šajā sadaļā jūs mainīsiet testa apgalvojumu, lai pieredzētu nesekmīgu testu.

  1. Rediģējiet apgalvojuma posmu, atlasot izteiksmes lodziņu.

  2. Testa darbībā mainiet + 1 uz + 2. Šis atjauninājums nozīmē, ka testam ir nepieciešams izveidot divus ierakstus, kas ir nepareizi. Ja tests ir sekmīgs, datu bāzē ir jāizveido tikai viens ieraksts.

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

    Skaita atjaunināšana apgalvojumā.

  3. Atlasiet Publicēt.

  4. Atlasiet vienumu Atskaņot.

  5. Skatiet testa atskaņojumu. Tagad pēdējais posms ir nesekmīgs, un tiek attēlota kļūda un apgalvojuma posmā norādītais ziņojums.

    Atskaņošanas kļūda.

Testu atskaņošana pārlūkprogrammā

Varat kopēt saiti, lai atskaņotu testu atsevišķā pārlūkprogrammā ārpus Test Studio. Tas palīdz integrēt testus nepārtrauktā būvēšanas un palaišanas konveijerī, piemēram, Azure DevOps.

Atlasītā testa atskaņošanas saite tiek saglabāta. Tā nemainās testu komplektam vai testa gadījumam. Varat atjaunināt testus, un jums nav jāmodificē izveides un izlaišanas procesi.

Lai atskaņotu testus pārlūkprogrammā, veiciet turpmāk aprakstītās darbības.

  1. Labajā rūtī atlasiet testu komplektu vai testa gadījumu.

  2. Atlasiet vienumu Kopēt atskaņošanas saiti.

    Atskaņošanas saites kopēšana.

  3. Ja rodas nepublicētas izmaiņas, tiek parādīta uzvedne par testu publicēšanu.

    Publicēšana pirms saites kopēšanas.

  4. Varat izvēlēties izlaist publicēšanas procesu un kopēt atskaņošanas saiti. Ja šo procesu izlaižat, jaunas pārbaudes izmaiņas netiek atskaņotas.

    Atskaņošanas saite ir nokopēta.

  5. Lai atskaņotu testu, atveriet pārlūkprogrammu un ielīmējiet URL adrešu joslā.

  6. Skatiet testa atskaņojumu.

Iestatiet jūsu testus

Test Suite OnTestCaseStart rekvizīts var tikt izmantots, lai iestatītu jūsu testu. Šajā rekvizītā ievadītā izteiksme aktivizē testa gadījumu katram komplektam, pirms gadījums sāk izpildi. OnTestCaseStart palīdz jums izvairīties no viena un tā paša testa soļu rakstīšanas katra gadījuma sākumā. Šo rekvizītu var pielāgot, lai izpildītu iestatīšanas uzdevumus, kas ir kopēji visiem komplektā iekļautajiem gadījumiem, piemēram:

  • Vienmēr sāciet testa izpildi no pirmā ekrāna.
  • Bieži lietoto kolekciju vai mainīgo inicializēšana.
  • Testa datu ienese no datu avota pašreizējai izpildes pārbaudei

TestCaseInfo ierakstā ir detalizēta informācija par pašreizējā testa izpildi. Tas satur šādus rekvizītus:

  • TestCaseName — testa gadījuma nosaukums;
  • TestCaseDescription – testa gadījuma apraksts.
  • TestCaseId — testa gadījuma ID;
  • TestSuiteName — tā testu komplekta nosaukums, kurā iekļauts gadījums;
  • TestSuiteDescription – testa komplekta apraksts.
  • TestSuiteId — tā testu komplekta ID, kurā iekļauts gadījums;

Tālāk sniegtajā piemērā pielāgosit OnTestCaseStart rekvizītu, lai katrs testa gadījums tiktu sākts no programmas pirmā ekrāna. Varat arī ienest testa datus no datu avota, uz ko var atsaukties testa gadījuma darbībās.

  1. Atlasiet vienumu Tests kreisajā rūtī vai vienumu Skatīt komplekta galvenē.

    Iestatītā rekvizīta tests vai skatīšana.

  2. Atlasiet darbību OnTestCaseStart.

  3. Ievadiet izteiksmi, lai navigētu uz pirmo ekrānu un ienestu testa datus jūsu testā.

    //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 piemērs.

Testa rezultātu apstrāde

Testa panelis, kas ir redzams Test Studio, atskaņojot testus, nav redzams, izmantojot pārlūkprogrammu. Šīs uzvedības dēļ jūs nevarat noteikt konkrētu testa soli, kas tiek izpildīts, kā arī to, vai tests izdodas vai neizdodas.

Lai noteiktu testa rezultātus ārpus testa studijas, ir divi rekvizīti, kas saucas OnTestCaseComplete un OnTestSuiteComplete, kas ir pieejami testa objektā un ko var izmantot, lai apstrādātu testu rezultātus. Integrējot testus nepārtrauktā izveides un izlaišanas konveijerā, piemēram, Azure DevOps, šos rekvizītus var izmantot, lai noteiktu, vai tālāk jāveic programmas izvietošana.

Šiem rekvizītiem ievadītā izteiksme tiek aktivizēta, kad tiek pabeigts katrs gadījums vai komplekts. Šos rekvizītus varat pielāgot, lai apstrādātu un nosūtītu testu rezultātus dažādiem datu avotiem vai pakalpojumiem, piemēram:

  • SQL Server;
  • Dataverse.
  • Power Automate;
  • E-pasta ziņojums, izmantojot programmu Office 365.

Šie iestatījumi attiecas uz katru programmas testu komplektu vai testa gadījumu. Pēc katra testu komplekta vai testa gadījuma pabeigšanas testu rezultāti un visi testos iekļautie izsekošanas ziņojumi ir pieejami TestCaseResult un TestSuiteResult ierakstos.

TestCaseResult ierakstā ir šādi rekvizīti:

  • TestCaseName — testa gadījuma nosaukums;
  • TestCaseDescription – testa gadījuma apraksts.
  • TestCaseId — testa gadījuma ID;
  • TestSuiteName — tā testu komplekta nosaukums, kurā iekļauts gadījums;
  • TestSuiteDescription – testa komplekta apraksts.
  • TestSuiteId — tā testu komplekta ID, kurā iekļauts gadījums;
  • StartTime — testa izpildes sākuma laiks;
  • EndTime — testa izpildes beigu laiks;
  • Traces — testa apgalvojumu un Izsekošanas funkcijas paziņojumu rezultāts;
  • Success — norāda, vai testa gadījums ir sekmīgi izpildīts;
  • TestFailureMessage — kļūdas ziņojums, ja gadījums ir nesekmīgs.

TestSuiteResult ierakstā ir šādi rekvizīti:

  • TestSuiteName — testu komplekta nosaukums;
  • TestSuiteDescription – testa komplekta apraksts.
  • TestSuiteId — testu komplekta ID;
  • StartTime — testu komplekta izpildes sākuma laiks;
  • EndTime — testu komplekta izpildes beigu laiks;
  • TestsPassed — to testa gadījumu skaits komplektā, kas ir sekmīgi izpildīti;
  • TestsFailes — to testa gadījumu skaits komplektā, kas nav sekmīgi izpildīti.

Šajā ātrajā startēšanas laikā Dataverse datu bāzē būs jāizveido divas pielāgotas tabulas, lai glabātu testa rezultātus, pielāgojot rekvizītus OnTestCaseComplete un OnTestSuiteComplete:

  1. Atlasiet vienumu Tests kreisajā rūtī vai vienumu Skatīt komplekta galvenē.

    Iestatītā rekvizīta tests vai skatīšana.

  2. Atlasiet darbību OnTestCaseComplete.

  3. Ievadiet izteiksmi, lai apstrādātu testa rezultātus. Nākamajā paraugā katra testa pieteikuma rezultāti tiek saglabāts pielāgotajā tabulā AppTestResults programmā Dataverse. Testu rezultātus var glabāt arī SQL, SharePoint vai jebkurā citā datu avotā. Ja nepieciešams, datu avotā, iespējams, jāiestata vai jāpalielina Izsekošanas lauks.

    Piezīme

    Šim paraugiem tiek izveidots savienojums ar Microsoft Dataverse. Varat izveidot vienkāršu programmu vai izveidot programmu no jauna, izmantojot Dataverse. Lai uzzinātu vairāk par turpmākajos piemēros izmantoto datu avotu ierakstu modificēšanu, skatiet arī atsauci uz funkciju Ielāps.

    //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 piemērs.

  4. Atlasiet darbību OnTestSuiteComplete.

  5. Ievadiet izteiksmi, lai apstrādātu testa rezultātus. Nākamajā paraugā katra testa pieteikuma rezultāti tiek saglabāts pielāgotajā tabulā AppTestSuiteResults programmā Dataverse.

    //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 piemērs.

Turpmāk norādīti citi izteiksmju piemēri, ko varat izmantot šajos rekvizītos.

  • Nosūtīt rezultātus plūsmai programmā Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Nosūtīt rezultātus e-pasta ziņojumā.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Saņemt programmas paziņojumu par testa rezultātu.

    Piemēram, saņemt paziņojumu, kad tests ir izpildīts, atskaņojot testu pārlūkprogrammā ārpus testa studijas.

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

Testa funkcijas

Papildus funkcijām kas ir pieejamas programmā Power Apps, sekojošas funkcijas ir bieži lietotas funkcijas, kuras parasti izmanto, autorējot testus:

Nākamās darbības

Piezīme

Kādas ir jūsu dokumentācijas valodas preferences? Aizpildiet īsu aptauju. (ņemiet vērā, ka aptauja ir angļu valodā)

Aptaujai būs nepieciešamas aptuveni septiņas minūtes. Nekādi personas dati netiks vākti (paziņojums par konfidencialitāti).