Kongsi melalui


Pengarangan ujian berbantukan AI dengan GitHub Copilot (pratonton)

Nota

Ciri pratonton bukan untuk kegunaan pengeluaran dan kefungsian mungkin terbatas. Ciri ini tersedia sebelum keluaran rasmi agar pelanggan boleh mendapat akses awal dan memberikan maklum balas.

Mencipta pelan ujian yang komprehensif untuk Power Platform aplikasi boleh memakan masa, terutamanya untuk senario yang kompleks. Alat pengarangan berbantukan AI seperti GitHub Copilot boleh mempercepatkan proses ini dengan ketara dengan menjana templat ujian, mencadangkan kes ujian dan mengautomasikan penciptaan kod boilerplate.

Panduan ini menerangkan cara menggunakan GitHub Copilot Power Platform dengan penyelesaian kawalan sumber untuk mencipta pelan ujian Test Engine dengan cekap.

Prasyarat

Sebelum anda memulakan, pastikan anda mempunyai:

Menyediakan persekitaran pengarangan ujian anda

Untuk memaksimumkan keberkesanan pengarangan ujian berbantukan AI, gabungkan alatan ini dalam aliran kerja berstruktur:

  1. Dapatkan fail sumber anda
  2. Mulaikan repositori git untuk kawalan versi (jika belum dilakukan)
  3. Cipta folder ujian khusus dalam repositori penyelesaian anda
  4. Buka folder penyelesaian dalam Visual Studio Kod

Menggunakan GitHub Copilot untuk penciptaan ujian

GitHub Copilot boleh membantu anda menjana pelbagai komponen ujian berdasarkan penyelesaian terkawal sumber anda. Berikut ialah cara menggunakan keupayaannya dengan berkesan:

Menggunakan dokumentasi sampel sebagai konteks

Katalog sampel Enjin Ujian menyediakan sumber bahan rujukan yang kaya untuk GitHub Copilot. Anda boleh membantu Copilot menjana ujian berkualiti tinggi dengan:

  • Menyertakan fail samples.md dalam ruang kerja anda
  • Merujuk sampel tertentu dalam gesaan anda
  • Menyediakan pautan ke repositori GitHub sampel

Sebagai contoh, anda boleh:

  • Buka kedua-dua kod permohonan anda dan fail samples.md dalam Kod VS
  • Minta Copilot untuk mencipta ujian "serupa dengan sampel ButtonClicker" atau "menggunakan corak daripada Dataverse sampel"
  • Rujuk keupayaan khusus daripada sampel yang sepadan dengan keperluan ujian anda

Pendekatan ini membantu Copilot memahami Power Platform corak Enjin Ujian dan menjana ujian yang lebih tepat.

Bekerja dengan GitHub Copilot dalam Mod Ejen

Visual Studio Sembang kod GitHub Copilot menawarkan Mod Ejen yang boleh membantu menjana ujian berdasarkan fail penyelesaian anda. Mod ini membolehkan Copilot mengakses dan memahami konteks projek anda dengan lebih mendalam.

Untuk menggunakan Mod Ejen untuk penjanaan ujian:

  1. Dalam Kod VS, buka GitHub Copilot Sembang (Ctrl+Shift+I)
  2. Pilih Ejen daripada pemilih mod Copilot
  3. Buat gesaan terperinci tentang ujian yang ingin anda buat

Contoh gesaan untuk penjanaan ujian

Cuba gunakan gesaan seperti ini untuk penjanaan ujian:

Matlamat:
Jana suite ujian komprehensif untuk apl kanvas menggunakan Power Apps Enjin Ujian, dimodelkan selepas sampel ButtonClicker.

Prom:
Jana ujian untuk ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml menggunakan sampel sebagai https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker rujukan. Cipta kes yang dijangkakan, kes tepi dan kes pengecualian. Ujian harus mencipta fail YAML ujian dan Power Fx langkah ujian, config.json dan RunTest.ps1 berdasarkan sampel untuk membolehkan saya menjalankan ujian.

Matlamat:
Bina pelan ujian terperinci untuk apl dipacu Model untuk memastikan fungsi teras dan logik perniagaan berfungsi seperti yang dijangkakan.

Prom:
Cipta pelan ujian komprehensif untuk apl dipacu Model saya yang terletak di ./SolutionPackage/src/Other/Solution.xml. Ujian harus mengesahkan beban borang, penciptaan rekod dan pelaksanaan peraturan perniagaan. Jana ujian YAML, Power Fx langkah-langkah dan skrip PowerShell untuk menjalankan ujian.

Matlamat:
Bina pelan ujian untuk Dataverse entiti mengesahkan operasi CRUD melalui Power Fx tindakan.

Prom:
Buat rancangan ujian yang komprehensif untuk entitas saya Dataverse . Ujian harus melakukan tindakan cipta, kemas kini, padam Power Fx . Jana ujian YAML, Power Fx langkah-langkah dan skrip PowerShell untuk menjalankan ujian.

Memahami komponen ujian yang dijana

Apabila GitHub Copilot menjana ujian, ia biasanya mencipta komponen berikut:

  • Pelan ujian YAML: Mentakrifkan struktur ujian, URL apl dan langkah ujian
  • Power Fx langkah ujian: Mengandungi logik ujian menggunakan Power Fx ungkapan
  • config.json: Konfigurasi untuk parameter pelaksanaan ujian
  • RunTest.ps1: Skrip PowerShell untuk melaksanakan ujian

Contoh: Struktur ujian yang dijana

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

Amalan terbaik untuk pengarangan ujian berbantukan AI

Pertimbangkan bahagian berikut untuk memanfaatkan sepenuhnya penciptaan GitHub Copilot ujian Enjin Uji.

Berikan konteks yang jelas dalam gesaan anda

Jadilah spesifik tentang perkara yang anda mahu uji dan sertakan rujukan kepada:

  • Fail yang tepat untuk diuji
  • Ujian sampel untuk digunakan sebagai templat
  • Senario ujian khusus yang ingin anda bincangkan
  • Sebarang pengesahan atau keperluan persekitaran

Menggunakan sampel Enjin Ujian untuk konteks

Dokumentasi samples.md mengkatalogkan semua sampel yang tersedia daripada repositori Enjin Ujian, yang boleh menjadi rujukan yang sangat baik apabila membuat gesaan untuk GitHub Copilot. Contohnya, apabila menguji apl kanvas dengan butang, anda mungkin merujuk sampel Pengklik Butang:

Prom:
Jana ujian untuk apl Kanvas saya di ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml menggunakan sampel ButtonClicker daripada. https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker Ujian hendaklah:
1. Sahkan bahawa butang kaunter saya menambah nilai pada skrin
2. Syarat sempadan ujian (cth, nilai maksimum)
3. Sertakan OnTestCaseStart dan OnTestCaseCangkuk kitaran hayat lengkap
4. Jana config.json dengan pembolehubah persekitaran yang sesuai

Pendekatan ini membantu Copilot memahami struktur ujian dan menjana ujian yang lebih tepat dan relevan secara kontekstual berdasarkan contoh yang terbukti.

Gunakan penyelesaian terkawal sumber sebagai konteks

Copilot berprestasi terbaik apabila ia boleh menganalisis struktur penyelesaian anda. Gunakan kawalan sumber untuk Power Platform penyelesaian untuk menyediakan konteks ini. Konteks ini membolehkan Copilot untuk:

  • Fahami struktur apl anda
  • Kenal pasti nama dan sifat kawalan
  • Jana langkah ujian yang lebih tepat
  • Rujuk laluan fail yang betul

Semak dan perhalusi ujian yang dijana

Walaupun ujian yang dijana AI menyediakan titik permulaan yang sangat baik, sentiasa:

  • Sahkan rujukan kawalan sepadan dengan aplikasi anda
  • Tambahkan penegasan untuk fungsi kritikal perniagaan
  • Pastikan kes tepi dikendalikan dengan betul
  • Sahkan konfigurasi pengesahan

Gabungkan dengan kepakaran manual

Untuk senario ujian yang kompleks, gunakan GitHub Copilot untuk:

  • Jana rangka kerja dan struktur ujian
  • Cipta corak pengesahan standard
  • Cadangkan kes tepi untuk dipertimbangkan

Kemudian tambah dengan kepakaran domain anda untuk:

  • Peraturan pengesahan khusus perniagaan
  • Pertimbangan alam sekitar
  • Data ujian khusus

Corak penjanaan ujian biasa

Bahagian ini mengandungi beberapa corak penjanaan ujian biasa:

Menguji Apl Kanvas

Untuk aplikasi kanvas, gunakan gesaan yang merujuk App.fx.yaml fail dalam penyelesaian terkawal sumber anda:

Prom:
Jana ujian untuk apl Kanvas saya di ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml yang mengesahkan proses penyerahan perbelanjaan. Ujian hendaklah mengisi medan perbelanjaan, menyerahkan borang dan mengesahkan mesej pengesahan muncul.

Menguji Apl Dipacu Model

Untuk apl dipacu model, fokus pada navigasi entiti, interaksi borang dan peraturan perniagaan:

Prom:
Cipta ujian untuk apl dipacu Model saya yang menguji borang entiti Akaun. Ujian harus mencipta rekod akaun baharu, mengesahkan medan yang diperlukan dan mengesahkan bahawa peraturan perniagaan untuk pengiraan had kredit berfungsi dengan betul.

Sambungan Ujian Dataverse

Untuk Dataverse ujian, tekankan operasi data dan pengesahan logik perniagaan:

Prom:
Jana Dataverse ujian yang mengesahkan pemalam tersuai dalam penyelesaian saya. Ujian harus mencipta rekod ujian, mencetuskan pelaksanaan pemalam dan mengesahkan transformasi data yang dijangkakan berlaku.

Gesaan ujian khusus sampel

Untuk mendapatkan penjanaan ujian yang paling tepat, rujuk sampel khusus daripada katalog sampel Enjin Ujian yang sepadan dengan keperluan ujian anda. Berikut ialah gesaan yang disesuaikan untuk senario ujian biasa:

Gesaan sampel ButtonClicker

Sampel ButtonClicker menunjukkan ujian fungsi kaunter asas. Gunakan gesaan ini:

Prom:
Jana ujian untuk apl kaunter saya dengan struktur yang serupa dengan sampel ButtonClicker. Apl saya mempunyai butang bernama "IncrementBtn" dan "ResetBtn" dengan "CounterLabel" yang memaparkan kiraan semasa. Cipta ujian yang mengesahkan kedua-dua butang berfungsi dengan betul dan kiraan maksimum ialah 10.

Prom:
Buat ujian untuk apl interaksi butang saya menggunakan sampel ButtonClicker sebagai rujukan. Apl saya mempunyai "SubmitButton" yang harus didayakan hanya apabila medan "NameInput" dan "EmailInput" selesai. Jana pelan ujian dengan Power Fx langkah-langkah untuk mengesahkan tingkah laku ini.

Sampel BasicGallery dan NestedGallery menunjukkan cara menguji interaksi galeri:

Prom:
Jana ujian untuk apl galeri saya di mana saya mempunyai galeri "Produk" dengan item produk yang mengandungi kawalan "TitleLabel", "PriceLabel" dan "SelectButton". Gunakan struktur sampel BasicGallery untuk mengesahkan saya boleh memilih item dan butiran yang betul muncul dalam "DetailPanel".

Gesaan operasi data

Sampel Dataverse menunjukkan ujian operasi data:

Prom:
Buat ujian untuk apl CRM saya menggunakan Dataverse corak sampel. Uji bahawa saya boleh mencipta rekod Kenalan baharu, kemas kininya, kemudian sahkan perubahan berterusan. Sertakan kedua-dua ujian UI dan operasi langsung Dataverse .

Gesaan ujian AI

Untuk menguji fungsi dikuasakan AI, rujuk sampel AI Prompt:

Prom:
Jana ujian untuk apl analisis sentimen saya berdasarkan sampel AI Prompt. Apl saya mempunyai kotak teks "FeedbackInput" dan digunakan AI Builder untuk mengklasifikasikannya sebagai positif, negatif atau neutral. Cipta ujian yang mengesahkan input yang berbeza menghasilkan output yang dijangkakan dalam ambang yang boleh diterima.

Teknik lanjutan

Bahagian ini menyediakan contoh keupayaan gesaan lanjutan.

Mencipta suite ujian berbilang persekitaran

Anda boleh menggesa Copilot untuk menjana ujian yang berfungsi merentas berbilang persekitaran:

Prom:
Jana suite ujian untuk apl saya yang boleh dijalankan dalam persekitaran DEV, TEST dan PROD dengan pembolehubah konfigurasi yang sesuai untuk setiap persekitaran.

Menjana senario mengejek data

Untuk ujian terpencil dengan mengejek penyambung:

Prom:
Cipta ujian dengan respons penyambung yang diejek untuk apl saya yang menggunakan Office 365 penyambung Outlook. Ujian harus mensimulasikan penerimaan e-mel dan mengesahkan logik pemprosesan apl.

Menguji keupayaan AI dan mengendalikan keputusan bukan deterministik

Apabila anda bekerja dengan aplikasi berkuasa AI, ujian memperkenalkan cabaran unik kerana output AI mungkin berbeza sedikit antara larian, walaupun dengan input yang sama. Tingkah laku bukan deterministik ini memerlukan pendekatan ujian khas.

Memahami ujian bukan deterministik

Ujian bukan deterministik melibatkan pengesahan output yang mungkin berbeza secara sah merentas larian ujian:

  • Output Model AI: Respons daripada model AI seperti GPT atau komponen tersuai AI Builder
  • Skor Keyakinan: Penilaian berangka yang mungkin berubah-ubah dalam julat yang boleh diterima
  • Kandungan yang Dijana: Teks atau cadangan yang dihasilkan oleh sistem AI

Menggunakan Preview.AIExecutePrompt untuk ujian deterministik keupayaan AI

Enjin Ujian menyediakan Preview.AIExecutePrompt yang membolehkan pengesahan deterministik respons AI. Pendekatan ini membolehkan anda untuk:

  • Laksanakan gesaan AI dalam senario ujian
  • Huraikan dan sahkan respons berstruktur
  • Sahkan bahawa output kritikal memenuhi jangkaan walaupun terdapat potensi variasi

Contoh: Penilaian penilaian dengan AI Builder

Contoh berikut menunjukkan penggunaan Preview.AIExecutePrompt fungsi untuk menguji sistem penarafan berkuasa AI:

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

Dalam contoh ini:

  • Ujian melaksanakan gesaan AI terhadap model "PromptEvaluator"
  • Ia melepasi konteks dan soalan untuk penilaian
  • Ia mengesahkan bahawa penarafan yang dikembalikan sepadan dengan nilai yang dijangkakan
  • Ia memberikan maklum balas yang jelas tentang kejayaan atau kegagalan ujian

Anda boleh meneroka pelaksanaan lengkap dalam sampel AI Prompt daripada PowerApps repositori TestEngine .

Menggabungkan ujian sedar AI

Apabila menggunakan GitHub Copilot untuk menjana ujian untuk aplikasi berkuasa AI:

Prom:
Jana ujian untuk apl berkuasa AI saya yang menggunakan AI Builder pemprosesan borang. Sertakan langkah ujian yang mengesahkan keputusan AI dengan toleransi yang sesuai untuk output bukan deterministik.

Penyelesaian masalah dan penyempurnaan

Jika GitHub Copilot menjana ujian yang tidak memenuhi keperluan anda:

  • Perhalusi gesaan anda: Jadikan lebih spesifik tentang perkara yang anda mahu uji
  • Berikan contoh: Pautan ke sampel ujian tertentu yang sepadan dengan gaya yang anda inginkan
  • Pecahkan ujian kompleks: Minta penjanaan komponen ujian yang lebih kecil dan tertumpu
  • Lelaran: Gunakan respons Copilot untuk memperhalusi gesaan anda yang seterusnya

Terokai ciri Enjin Ujian
Semak imbas katalog sampel Enjin Ujian
Ketahui tentang Power Fx fungsi ujian
Fahami format ujian YAML
Terokai pilihan pengesahan
Latihan: Membina aplikasi dengan GitHub Copilot mod ejen