Menggunakan Test Studio

Dalam mulai cepat ini, Anda akan membuat tes untuk aplikasi kanvas yang bernama Kudos. Anda juga dapat menjelajahi dan menemukan konsep pengujian dan menerapkannya untuk menulis pengujian untuk aplikasi kanvas Anda sendiri. Aplikasi Kudos sampel adalah bagian dari rangkaian aplikasi keterlibatan karyawan yang tersedia untuk diunduh dari Starter Kit Pengalaman Karyawan.

Tonton video ini untuk mempelajari cara bekerja dengan Test Studio:

Buka Test Studio

  1. Masuk ke Power Apps.

  2. Buat aplikasi baru atau edit aplikasi yang ada.

  3. Simpan aplikasi Anda untuk Power Apps untuk membuka Test Studio.

    Catatan

    Anda harus menyimpan aplikasi agar dapat menulis pengujian untuk aplikasi tersebut.

  4. Pilih Alat tingkat lanjut di navigasi kiri.

  5. Pilih Buka pengujian untuk membuka Test Studio untuk aplikasi ini. Tindakan ini membuka Studio Tes di tab browser baru.

    Buka Test Studio.

Catatan

Pengujian dipublikasikan dan disimpan dalam paket aplikasi. Mengekspor dan mengimpor paket aplikasi kanvas ke lingkungan lain juga akan mencakup semua definisi pengujian seperti rangkaian pengujian dan kasus pengujian yang telah Anda buat.

Buat rangkaian pengujian

Secara default, rangkaian pengujian dan kasus pengujian dibuat untuk Anda di Test Studio. Rangkaian pengujian digunakan untuk mengatur atau mengelompokkan kasus pengujian bersama-sama. Aplikasi dapat berisi satu atau beberapa rangkaian pengujian. Anda dapat menggunakan rangkaian pengujian default dan kasus untuk mulai menulis pengujian Anda segera atau membuat rangkaian pengujian baru.

  1. Pilih Rangkaian baru.

  2. Perbarui Nama dan deskripsi rangkaian pengujian dengan memilih bidang di kisi utama.

    Rangkaian pengujian baru.

Buat kasus pengujian

Tergantung pada cara Anda ingin mengatur atau mengelompokkan pengujian, Anda dapat membuat beberapa kasus uji di rangkaian pengujian. Setiap kasus dapat menguji fitur atau subset fungsi tertentu di aplikasi Anda.

  1. Pilih rangkaian pengujian.
  2. Pilih Kasus Baru di menu atas untuk membuat kasus baru.
  3. Perbarui Nama dan deskripsi kasu pengujian dengan memilih bidang di kisi utama.

Kasus pengujian baru.

Rekam kasus pengujian.

Kasus pengujian terdiri dari langkah pengujian yang berisi tindakan. Tindakan pengujian ditulis menggunakan ekspresi Power Apps yang melakukan tugas. Anda dapat menggunakan perekam untuk secara otomatis menghasilkan langkah pengujian saat Anda berinteraksi dengan aplikasi Anda. Setelah merekam, Anda dapat memperbarui kasus pengujian, menambahkan langkah baru, menghapus langkah, dan menulis pernyataan pengujian untuk memvalidasi hasil pengujian Anda.

Catatan

Hanya aplikasi yang dipublikasikan dalam mode rekaman. Publikasikan perubahan terbaru ke aplikasi sebelum Anda mulai merekam kasus pengujian. Rekaman tanpa mempublikasikan perubahan terakhir menyebabkan versi aplikasi terakhir yang dipublikasikan untuk diputar dalam mode rekaman.

  1. Pilih Rekam dari menu atas. Tindakan ini akan membuka aplikasi yang dipublikasikan dengan mode perekaman di tab browser baru.

    Penting

    Perekaman pada kasus pengujian yang ada mengesampingkan langkah pengujian yang ada yang sudah ada.

    Rekam pengujian.

  2. Berinteraksi dengan aplikasi Anda. Tindakan Anda direkam di panel kiri.

  3. Setelah interaksi selesai, pilih Selesai. Secara opsional, Anda dapat memilih Batalkan untuk kembali ke Test studio tanpa interaksi Anda direkam.

    Simpan perekaman.

  4. Lihat langkah pengujian dan ekspresi yang dihasilkan secara otomatis untuk Anda di Test Studio.

  5. Edit teks Deskripsi langkah di kisi utama jika perlu. Anda juga dapat memperbarui tindakan langkah pengujian dengan memilih rumus pada kisi utama.

    Perbarui kasus pengujian.

Menambahkan langkah pengujian dan pernyataan pengujian

Setiap kasus uji harus memiliki hasil yang diharapkan. Dalam contoh Kudos, salah satu hasil yang diharapkan dari pengiriman kudo adalah membuat rekaman baru di database Microsoft Dataverse (Dataverse). Anda sekarang akan memperbarui kasus uji dan menambahkan langkah uji tambahan untuk memvalidasi bahwa rekaman berhasil dibuat.

Ikuti langkah berikut untuk memverifikasi pembuatan rekaman yang berhasil:

  • Menginisialisasi variabel untuk jumlah rekaman kudo dalam database di awal kasus pengujian.
  • Menginisialisasi variabel untuk jumlah rekaman kudo dalam database di akhir kasus pengujian.
  • Menulis ekspresi pernyataan pengujian untuk memvalidasi itu bertambah satu hitungan. Jika hitungan tidak meningkat satu, pernyataan uji gagal, dan kasus uji Anda gagal.

Untuk menambahkan langkah pengujian dan pernyataan pengujian di aplikasi Kudos:

  1. Pilih Langkah 1 atau langkah di atas yang ingin Anda sisipkan langkah baru.

  2. Pilih Masukkan langkah di atas dari menu atas atau dengan memilih pilihan dari baris aktif. Tindakan ini membuat langkah kosong.

    Masukkan langkah.

    Catatan

    Bila Anda memilih Masukkan langkah di atas, langkah kosong baru ditambahkan di atas langkah saat ini. Anda juga dapat menggunakan Menegaskan, SetProperty, Pilih atau Melacak tindakan sebagai gantinya. Tindakan ini akan menambahkan langkah dengan rumus tindakan masing-masing yang dapat Anda edit.

  3. Perbarui deskripsi langkah. Misalnya, "Hitung Kudo dalam database".

  4. Masukkan ekspresi atau rumus ke input tindakan untuk menghitung rekaman di database sebelum menjalankan pengujian.

    Anda dapat menggunakan ekspresi yang didukung. Anda juga dapat meminta sumber data, kumpulan, variabel, atau menjalankan alur yang terdapat di aplikasi Anda, dan membuat variabel global baru atau koleksi yang akan digunakan dalam pengujian Anda.

    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 sebelum pengujian.

  8. Buka bagian bawah kasus pengujian dan masukkan langkah baru untuk menghitung rekaman dalam database setelah pengujian selesai.

    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 setelah pernyataan pengujian.

  10. Simpan kasus pengujian dari menu kanan atas di Test studio.

Memutar ulang pengujian Anda

Anda dapat memutar kembali pengujian yang direkam untuk memvalidasi fungsi aplikasi. Anda dapat memutar kembali semua pengujian dalam satu rangkaian pengujian, atau satu kasus pengujian.

Sebelum Anda memutar rekaman kembali dengan perubahan terbaru, Anda harus mempublikasikan aplikasi:

Mainkan tanpa publikasi.

Penting

Jika Anda melewatkan publikasi, pemutaran rekaman tidak akan berisi perubahan pengujian terkini Anda. Kasus pengujian terakhir yang dipublikasikan atau rangkaian akan diputar dengan aplikasi.

  1. Pilih publikasikan untuk menyimpan dan mempublikasikan pengujian secara otomatis.

    Publikasikan Perubahan.

  2. Pilih rangkaian pengujian atau satu kasus pengujian.

  3. Pilih Putar. Aplikasi yang dipublikasikan akan terbuka dalam mode Putar, dan Anda dapat melihat langkah pengujian diputar kembali secara otomatis. Tanda centang hijau menunjukkan bila langkah pengujian berhasil dijalankan. Jika langkah gagal, indikator kegagalan merah bersama dengan pesan kegagalan akan ditampilkan.

    Mode putar.

  4. Pilih Selesai untuk kembali ke Test studio.

Pernyataan yang gagal

Di bagian ini, Anda akan mengubah pernyataan pengujian ke mengalami pengujian gagal:

  1. Edit langkah pernyataan dengan memilih kotak ekspresi.

  2. Perbarui + 1 ke + 2 dalam tindakan pengujian. Pembaruan ini berarti bahwa uji mengharapkan dua rekaman dibuat, yang tidak benar. Jika pengujian berhasil, hanya satu rekaman yang harus dibuat di database.

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

    Pembaruan menegaskan jumlah.

  3. Pilih Terbitkan.

  4. Pilih Putar.

  5. Lihat pengujian memutar kembali. Langkah terakhir sekarang gagal dan menampilkan kesalahan dan pesan yang Anda berikan di langkah pernyataan.

    Kesalahan pemutaran.

Memutar pengujian di peramban

Anda dapat menyalin tautan untuk memainkan tes di browser terpisah di luar Studio Tes. Ini membantu mengintegrasikan pengujian Anda di alur proses pembuatan dan rilis terus-menerus seperti Azure DevOps.

Tautan putar untuk pengujian yang dipilih tetap ada. Tidak berubah untuk rangkaian pengujian atau kasus pengujian. Anda dapat memperbarui pengujian tanpa perlu memodifikasi proses pembangunan dan rilis.

Untuk memutar pengujian di peramban Anda:

  1. Pilih rangkaian pengujian atau kasus pengujian di panel sebelah kanan.

  2. Pilih Salin tautan putar.

    Salin tautan putar.

  3. Anda akan diminta untuk mempublikasikan pengujian jika ada perubahan yang belum dipublikasikan.

    Publikasikan sebelum menyalin tautan.

  4. Anda dapat memilih untuk melewatkan proses publikasi dan menyalin tautan putar. Perubahan tes baru tidak diputar jika Anda melewatkan.

    Putar tautan yang disalin.

  5. Buka peramban dan tempel URL ke bilah alamat untuk memainkan pengujian.

  6. Lihat pengujian Anda memutar kembali.

Mengkonfigurasi pengujian

Properti ontestcasestart dari rangkaian uji dapat digunakan untuk mengkonfigurasi pengujian Anda. Ekspresi yang dimasukkan untuk properti ini terpicu untuk setiap kasus uji di Suite sebelum kasus mulai dieksekusi. OnTestCaseStart membantu Anda menghindari penulisan langkah uji yang sama di awal setiap kasus. Anda dapat menyesuaikan properti ini untuk menjalankan pengaturan tugas yang umum untuk semua kasus di Suite seperti:

  • Selalu memulai pelaksanaan tes dari layar pertama.
  • Memulai koleksi atau variabel umum.
  • Mengambil data uji dari sumber data untuk pengujian eksekusi saat ini

Rekaman testcaseinfo berisi rincian untuk pengujian saat ini yang dieksekusi. Ia berisi Properti berikut:

  • TestCaseName – nama kasus pengujian.
  • TestCaseDescription – Deskripsi kasus uji.
  • TestCaseName – ID kasus pengujian.
  • TestSuiteName – nama rangkaian pengujian yang dimiliki kasus.
  • TestSuiteDescription – Deskripsi kasus rangkaian tes.
  • TestSuiteId – ID rangkaian pengujian yang dimiliki kasus.

Di contoh di bawah ini, Anda akan menyesuaikan properti OnTestCaseStart sehingga setiap kasus uji dimulai dari layar pertama di aplikasi Anda. Anda juga akan mengambil data uji dari sumber data yang dapat dirujuk dalam langkah-langkah untuk kasus tes.

  1. Pilih Pengujian di panel kiri atau Lihat pada header rangkaian.

    Uji atau lihat atur properti.

  2. Pilih tindakan OnTestCaseStart.

  3. Masukkan ekspresi untuk menavigasi ke layar pertama dan mengambil data pengujian untuk pengujian Anda.

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

    Contoh OnTestCaseStart.

Memproses hasil pengujian

Panel tes yang terlihat saat memutar kembali pengujian di Studio Tes tidak terlihat saat menggunakan browser. Karena perilaku ini, Anda tidak dapat menentukan langkah tes spesifik yang dieksekusi, atau apakah tes lulus atau gagal.

Untuk menentukan hasil pengujian di luar Test Studio, ada dua properti yang disebut OnTestCaseComplete dan OnTestSuiteComplete yang tersedia di objek uji yang dapat Anda gunakan untuk memproses hasil pengujian Anda. Saat mengintegrasikan pengujian ke alur proses pembuatan dan rilis berkelanjutan seperti Azure DevOps, properti ini dapat digunakan untuk menentukan apakah Anda harus melanjutkan penyebaran aplikasi.

Ekspresi yang dimasukkan untuk properti ini dipicu bila setiap kasus atau rangkaian selesai. Anda dapat menyesuaikan properti ini untuk memproses dan mengirimkan hasil pengujian Anda ke berbagai sumber atau layanan data seperti:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Email menggunakan Office 365.

Pengaturan-pengaturan ini berlaku untuk setiap rangkaian pengujian atau kasus pengujian di aplikasi Anda. Setelah setiap rangkaian pengujian atau kasus pengujian selesai, hasil pengujian dan setiap pesan jejak yang terkandung dalam pengujian tersedia di rekaman TestCaseResult dan TestSuiteResult.

Rekaman TestCaseResult berisi properti berikut:

  • TestCaseName – nama kasus pengujian.
  • TestCaseDescription – Deskripsi kasus uji.
  • TestCaseName – ID kasus pengujian.
  • TestSuiteName – nama rangkaian pengujian yang dimiliki kasus.
  • TestSuiteDescription – Deskripsi kasus rangkaian tes.
  • TestSuiteId – ID rangkaian pengujian yang dimiliki kasus.
  • StartTime – waktu eksekusi awal pengujian.
  • EndTime – waktu eksekusi akhir pengujian.
  • Pelacakan – hasil dari pernyataan pengujian dan pesan apa pun dari fungsi Pelacakan.
  • Keberhasilan – menunjukkan jika kasus pengujian berhasil diselesaikan.
  • TestFailureMessage – jika kasus gagal, pesan kegagalan.

TestCaseResult berisi properti berikut:

  • TestSuiteName – nama rangkaian pengujian.
  • TestSuiteDescription – Deskripsi kasus rangkaian tes.
  • TestSuiteId – ID rangkaian pengujian.
  • StartTime – waktu eksekusi awal rangkaian pengujian.
  • EndTime – waktu eksekusi akhir rangkaian pengujian.
  • TestsPassed -jumlah kasus pengujian yang berhasil diselesaikan dalam rangkaian.
  • TestsFailed - jumlah kasus pengujian yang gagal diselesaikan dalam rangkaian.

Di mulai cepat ini, Anda akan membuat dua tabel kustom di database Dataverse untuk menyimpan hasil pengujian dengan menyesuaikan properti OnTestCaseComplete dan OnTestCompleteComplete:

  1. Pilih Pengujian di panel kiri atau Lihat pada header rangkaian.

    Uji atau lihat atur properti.

  2. Pilih tindakan OnTestCaseComplete.

  3. Masukkan ekspresi untuk memproses hasil pengujian Anda. Sampel berikut menyimpan setiap hasil kasus pengujian ke tabel AppTestResults kustom di Dataverse. Hasil pengujian opsional dapat disimpan ke SQL, SharePoint, atau sumber data lainnya. Anda mungkin harus mengatur atau meningkatkan bidang Pelacakan di sumber data Anda sebagaimana diperlukan.

    Catatan

    Sampel berikut tersambung ke Microsoft Dataverse. Anda dapat membuat aplikasi sederhana atau membuat aplikasi dari awal menggunakan Dataverse. Juga, lihat referensi fungsi Patch untuk rincian lebih lanjut untuk memodifikasi rekaman dari sumber data yang digunakan dalam sampel berikut.

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

    contoh OnTestCaseComplete.

  4. Pilih tindakan OnTestSuiteComplete.

  5. Masukkan ekspresi untuk memproses hasil pengujian Anda. Dalam sampel berikut, Anda akan menyimpan setiap hasil kumpulan pada tabel AppTestSuiteResults kustom di 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
        }
    );
    

    contoh OnTestSuiteComplete.

Contoh lain dari ekspresi yang dapat Anda gunakan dalam properti-properti ini adalah:

  • Kirim hasil ke alur di Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Email hasil Anda.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Menerima pemberitahuan aplikasi dari hasil pengujian.

    Misalnya, menerima pemberitahuan setelah pengujian selesai saat memutar pengujian di peramban, di luar Test Studio.

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

Fungsi Pengujian

Selain fungsi yang tersedia di Power Apps, berikut adalah fungsi umum yang biasanya Anda gunakan saat melakukan pengujian penulisan:

Langkah berikutnya

Catatan

Apa bahasa dokumentasi yang Anda inginkan? Lakukan survei singkat. (perlu diketahui bahwa survei ini dalam bahasa Inggris)

Survei akan berlangsung kurang lebih selama tujuh menit. Tidak ada data pribadi yang dikumpulkan (pernyataan privasi).