Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Note
Mesin Uji tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Gunakan sampel Power Platform Playwright untuk kemampuan otomatisasi pengujian di Power Platform dan layanan Dynamics 365.
Membuat rencana pengujian yang komprehensif untuk Power Platform aplikasi dapat memakan waktu, terutama untuk skenario yang kompleks. Alat penulisan yang dibantu AI seperti GitHub Copilot dapat secara signifikan mempercepat proses ini dengan menghasilkan templat pengujian, menyarankan kasus pengujian, dan mengotomatiskan pembuatan kode boilerplate.
Panduan ini menjelaskan cara menggunakan GitHub Copilot dengan solusi kontrol sumber Power Platform untuk membuat rencana pengujian Test Engine secara efisien.
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Visual Studio Code terinstal
- GitHub Copilot abonemen
- ekstensi GitHub Copilot Chat untuk Visual Studio Code
- Power Platform CLI diinstal
- Solusi Power Platform yang terkendali sumber
Menyiapkan lingkungan penulisan pengujian Anda
Untuk memaksimalkan efektivitas penulisan pengujian berbantuan AI, gabungkan alat ini dalam alur kerja terstruktur:
- Dapatkan file sumber Anda
- Mengkloning solusi atau lingkungan Power Platform dari kontrol sumber
- Ekspor dan bongkar solusi Anda dari Power Platform dengan file menggunakan pac solution export dan pac solution unpack
- Menginisialisasi repositori git untuk kontrol versi (jika belum dilakukan)
- Membuat folder pengujian khusus di repositori solusi Anda
- Buka folder solusi di Visual Studio Code
Menggunakan GitHub Copilot untuk pembuatan pengujian
GitHub Copilot dapat membantu Anda menghasilkan berbagai komponen pengujian berdasarkan solusi yang dikontrol sumber Anda. Berikut cara menggunakan kemampuannya secara efektif:
Menggunakan dokumentasi sampel sebagai konteks
Katalog sampel Test Engine menyediakan sumber materi referensi yang kaya untuk GitHub Copilot. Anda dapat membantu Copilot menghasilkan pengujian berkualitas lebih tinggi dengan:
- Menyertakan file samples.md di ruang kerja Anda
- Mengacu pada sampel tertentu dalam instruksi Anda
- Menyediakan tautan ke repositori GitHub sampel
Misalnya, Anda dapat:
- Buka kode aplikasi Anda dan file samples.md di VS Code
- Minta Copilot untuk membuat tes "yang mirip dengan sampel ButtonClicker" atau "menggunakan pola dari sampel Dataverse"
- Referensikan kemampuan khusus dari sampel yang sesuai dengan kebutuhan pengujian Anda
Pendekatan ini membantu Copilot memahami pola Power Platform Test Engine dan menghasilkan tes yang lebih akurat.
Bekerja dengan GitHub Copilot dalam Mode Agen
Copilot Chat GitHub Visual Studio Code menawarkan Mode Agent yang dapat membantu menghasilkan pengujian berdasarkan file solusi Anda. Mode ini memungkinkan Copilot mengakses dan memahami konteks proyek Anda secara lebih mendalam.
Untuk menggunakan Mode Agen untuk pembuatan pengujian:
- Di VS Code, buka GitHub Copilot Chat (Ctrl+Shift+I)
- Pilih Agen dari pemilih mode Copilot
- Buat prompt terperinci tentang tes yang ingin Anda buat
Contoh permintaan untuk pembuatan tes
Coba gunakan perintah seperti ini untuk pembuatan pengujian:
Maksud:
Buat rangkaian pengujian komprehensif untuk aplikasi kanvas menggunakan Power Apps Test Engine, yang dimodelkan setelah sampel ButtonClicker.
Perintah:
Buat pengujian untuk ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml menggunakan sampel di https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker sebagai referensi. Buat kasus yang diharapkan, kasus batas, dan kasus pengecualian. Pengujian harus membuat file YAML pengujian, langkah-langkah pengujian Power Fx, config.json, dan RunTest.ps1 berdasarkan sampel agar saya bisa menjalankan pengujian.
Maksud:
Buat rencana pengujian terperinci untuk aplikasi berbasis Model untuk memastikan fungsionalitas inti dan logika bisnis berfungsi seperti yang diharapkan.
Perintah:
Buat rencana pengujian komprehensif untuk aplikasi berbasis Model saya yang terletak di ./SolutionPackage/src/Other/Solution.xml. Pengujian harus memvalidasi pemuatan formulir, pembuatan rekaman, dan eksekusi aturan bisnis. Hasilkan YAML pengujian, langkah-langkah Power Fx, dan skrip PowerShell untuk menjalankan pengujian.
Maksud:
Buat rancangan uji bagi entitas Dataverse untuk memverifikasi operasi CRUD melalui tindakan Power Fx.
Perintah:
Buat rencana tes yang komprehensif untuk perusahaan saya Dataverse . Uji coba harus melakukan tindakan membuat, memperbarui, menghapus Power Fx. Hasilkan YAML pengujian, langkah-langkah Power Fx, dan skrip PowerShell untuk menjalankan pengujian.
Memahami komponen pengujian yang dihasilkan
Saat GitHub Copilot menghasilkan pengujian, biasanya membuat komponen berikut:
- Rencana pengujian YAML: Menentukan struktur pengujian, URL aplikasi, dan langkah pengujian
- Langkah pengujian Power Fx: Berisi logika pengujian menggunakan ekspresi Power Fx
- config.json: Konfigurasi untuk parameter eksekusi pengujian
- RunTest.ps1: Skrip PowerShell untuk menjalankan pengujian
Contoh: Struktur pengujian yang dihasilkan
MyAppTests/
├── MyAppTest.fx.yaml # Power Fx test steps
├── MyAppTest.yml # Test plan definition
├── config.json # Test configuration
└── RunTest.ps1 # Test execution script
Praktik terbaik untuk penulisan pengujian berbantuan AI
Pertimbangkan bagian berikut untuk mendapatkan hasil maksimal dari GitHub Copilot dalam pembuatan pengujian di Test Engine.
Berikan konteks yang jelas dalam perintah Anda
Spesifik tentang apa yang ingin Anda uji dan sertakan referensi untuk:
- File yang tepat untuk diuji
- Contoh pengujian untuk digunakan sebagai templat
- Skenario pengujian tertentu yang ingin Anda bahas
- Persyaratan autentikasi atau lingkungan apa pun
Menggunakan sampel Test Engine untuk konteks
Dokumentasi samples.md mengkatalogkan semua sampel yang tersedia dalam repositori Test Engine, yang dapat menjadi referensi yang sangat baik saat membuat prompt untuk GitHub Copilot. Misalnya, saat menguji aplikasi kanvas dengan tombol, Anda dapat mengacu pada contoh Button Clicker:
Perintah:
Buat pengujian untuk aplikasi Canvas saya di ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml menggunakan sampel ButtonClicker dari https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker. Pengujian harus:
1. Verifikasi bahwa tombol penghitung saya menambah nilai di layar
2. Uji kondisi batas (misalnya, nilai maks)
3. Termasuk hook siklus hidup OnTestCaseStart dan OnTestCaseComplete
4. Hasilkan config.json dengan variabel lingkungan yang sesuai
Pendekatan ini membantu Copilot memahami struktur pengujian dan menghasilkan pengujian yang lebih akurat dan relevan secara kontekstual berdasarkan contoh yang telah terbukti.
Gunakan solusi yang dikontrol sumber sebagai konteks
Copilot berkinerja terbaik ketika dapat menganalisis struktur solusi Anda. Gunakan kontrol sumber untuk Power Platform solusi guna menyediakan konteks ini. Konteks ini memungkinkan Copilot untuk:
- Memahami struktur aplikasi Anda
- Mengidentifikasi nama dan properti kontrol
- Hasilkan langkah-langkah pengujian yang lebih akurat
- Referensikan jalur file yang benar
Meninjau dan menyempurnakan pengujian yang dihasilkan
Meskipun pengujian yang dihasilkan AI memberikan titik awal yang sangat baik, selalu:
- Verifikasi referensi kontrol cocok dengan aplikasi Anda
- Tambahkan pernyataan untuk fungsionalitas penting bisnis
- Pastikan kasus tepi ditangani dengan benar
- Memvalidasi konfigurasi autentikasi
Gabungkan dengan keahlian manual
Untuk skenario pengujian yang kompleks, gunakan GitHub Copilot untuk:
- Hasilkan kerangka kerja dan struktur pengujian
- Membuat pola validasi standar
- Sarankan kasus tepi untuk dipertimbangkan
Kemudian tambahkan dengan keahlian domain Anda untuk:
- Aturan validasi khusus bisnis
- Pertimbangan lingkungan
- Data pengujian khusus
Pola pembuatan pengujian umum
Bagian ini berisi beberapa pola pembuatan pengujian umum:
Menguji Aplikasi Kanvas
Untuk aplikasi kanvas, gunakan petunjuk yang merujuk pada file App.fx.yaml dalam solusi terkontrol sumber Anda.
Perintah:
Buat pengujian untuk aplikasi Canvas saya di ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml yang memvalidasi proses pengiriman pengeluaran. Pengujian harus mengisi kolom pengeluaran, mengirimkan formulir, dan memverifikasi pesan konfirmasi muncul.
Menguji Aplikasi Berbasis Model
Untuk aplikasi berbasis model, fokuslah pada navigasi entitas, interaksi formulir, dan aturan bisnis:
Perintah:
Buat pengujian untuk aplikasi berbasis Model saya yang menguji formulir entitas Akun. Pengujian harus membuat rekaman akun baru, memvalidasi bidang yang wajib diisi, dan memverifikasi bahwa aturan bisnis untuk perhitungan batas kredit berfungsi dengan benar.
Menguji Ekstensi Dataverse
Untuk pengujian Dataverse, tekankan pada operasi data dan validasi logika bisnis.
Perintah:
Buat pengujian Dataverse yang memvalidasi plugin khusus dalam solusi saya. Pengujian harus membuat catatan pengujian, memicu eksekusi plugin, dan memverifikasi transformasi data yang diharapkan terjadi.
Instruksi pengujian khusus untuk sampel
Untuk mendapatkan pembuatan pengujian yang paling akurat, referensikan sampel tertentu dari katalog sampel Test Engine yang sesuai dengan kebutuhan pengujian Anda. Berikut adalah petunjuk yang disesuaikan untuk skenario pengujian umum:
Petunjuk tampilan sampel ButtonClicker
Sampel ButtonClicker menunjukkan pengujian fungsionalitas penghitung yang dasar. Gunakan petunjuk berikut:
Perintah:
Buat pengujian untuk aplikasi penghitung saya dengan struktur yang mirip dengan sampel ButtonClicker. Aplikasi saya memiliki tombol bernama "IncrementBtn" dan "ResetBtn" dengan "CounterLabel" yang menampilkan jumlah saat ini. Buat pengujian yang memverifikasi kedua tombol berfungsi dengan benar dan jumlah maksimumnya adalah 10.
Perintah:
Buat pengujian untuk aplikasi interaksi tombol saya menggunakan sampel ButtonClicker sebagai referensi. Aplikasi saya memiliki "SubmitButton" yang seharusnya diaktifkan hanya ketika bidang "NameInput" dan "EmailInput" selesai. Buat rencana pengujian dengan langkah-langkah Power Fx untuk memvalidasi perilaku ini.
Perintah pengujian galeri
Sampel BasicGallery dan NestedGallery menunjukkan cara menguji interaksi galeri:
Perintah:
Buat pengujian untuk aplikasi galeri saya di mana saya memiliki galeri "Produk" dengan item produk yang berisi kontrol "TitleLabel", "PriceLabel", dan "SelectButton". Gunakan struktur sampel BasicGallery untuk memverifikasi bahwa saya dapat memilih item dan detail yang benar muncul di "DetailPanel".
Perintah operasi data
Sampel Dataverse memperlihatkan pengujian operasi data.
Perintah:
Buat pengujian untuk aplikasi CRM saya menggunakan Dataverse pola sampel. Uji apakah saya dapat membuat rekaman Kontak baru, perbarui, lalu verifikasi perubahan tetap ada. Sertakan tes UI dan operasi Dataverse secara langsung.
Perintah pengujian AI
Untuk menguji fungsionalitas yang didukung AI, referensikan sampel AI Prompt:
Perintah:
Buat pengujian untuk aplikasi analisis sentimen saya berdasarkan sampel AI Prompt. Aplikasi saya memiliki kotak teks "FeedbackInput" dan menggunakan AI Builder untuk mengklasifikasikannya sebagai positif, negatif, atau netral. Buat pengujian yang memvalidasi input yang berbeda menghasilkan output yang diharapkan dalam ambang batas yang dapat diterima.
Teknik tingkat lanjut
Bagian ini memberikan contoh fitur lanjutan dari prompt.
Membuat rangkaian pengujian berbagai lingkungan
Anda dapat meminta Copilot untuk menghasilkan pengujian yang berfungsi di beberapa lingkungan:
Perintah:
Buat rangkaian pengujian untuk aplikasi saya yang dapat berjalan di lingkungan DEV, TEST, dan PROD dengan variabel konfigurasi yang sesuai untuk setiap lingkungan.
Menghasilkan skenario tiruan data
Untuk pengujian terisolasi dengan mocking konektor:
Perintah:
Buat pengujian dengan respons konektor yang ditiru untuk aplikasi saya yang menggunakan konektor Office 365 Outlook. Pengujian harus mensimulasikan menerima email dan memvalidasi logika pemrosesan aplikasi.
Menguji kemampuan AI dan menangani hasil nondeterministik
Saat Anda bekerja dengan aplikasi yang didukung AI, pengujian memperkenalkan tantangan unik karena output AI mungkin sedikit berbeda antar eksekusi, bahkan dengan input yang identik. Perilaku nondeterministik ini membutuhkan pendekatan pengujian khusus.
Memahami pengujian nondeterministik
Pengujian nondeterministik melibatkan validasi output yang mungkin secara sah bervariasi di seluruh uji coba:
- AI Model Outputs: Respons dari model AI seperti GPT atau komponen AI Builder kustom
- Skor Kepercayaan: Evaluasi numerik yang mungkin berfluktuasi dalam rentang yang dapat diterima
- Konten yang Dihasilkan: Teks atau rekomendasi yang dihasilkan oleh sistem AI
Menggunakan Preview.AIExecutePrompt untuk pengujian deterministik kemampuan AI
Test Engine menyediakan Preview.AIExecutePrompt yang memungkinkan validasi deterministik respons AI. Pendekatan ini memungkinkan Anda untuk:
- Jalankan perintah AI dalam skenario pengujian
- Mengurai dan memvalidasi respons terstruktur
- Verifikasi bahwa output penting memenuhi harapan meskipun ada potensi variasi
Contoh: Evaluasi peringkat dengan AI Builder
Contoh berikut ini menunjukkan penggunaan fungsi Preview.AIExecutePrompt untuk menguji sistem peringkat dengan 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:
- Pengujian mengeksekusi perintah AI terhadap model "PromptEvaluator"
- Ini menyediakan konteks dan pertanyaan untuk dievaluasi
- Ini memvalidasi bahwa rating yang ditampilkan cocok dengan nilai yang diharapkan
- Ini memberikan umpan balik yang jelas tentang keberhasilan atau kegagalan tes
Anda dapat menjelajahi implementasi lengkap dalam sampel AI Prompt dari repositori PowerApps-TestEngine.
Menggabungkan pengujian berbasis AI
Saat menggunakan GitHub Copilot untuk menghasilkan pengujian untuk aplikasi yang didukung AI:
Perintah:
Buat pengujian untuk aplikasi saya yang didukung AI yang menggunakan pemrosesan formulir AI Builder. Sertakan langkah-langkah pengujian yang memvalidasi hasil AI dengan toleransi yang sesuai untuk output non-deterministik.
Pemecahan masalah dan penyempurnaan
Jika GitHub Copilot menghasilkan pengujian yang tidak memenuhi kebutuhan Anda:
- Sempurnakan perintah Anda: Lebih spesifik tentang apa yang ingin Anda uji
- Berikan contoh: Tautkan ke sampel pengujian tertentu yang sesuai dengan gaya yang Anda inginkan
- Menguraikan pengujian kompleks: Meminta pembuatan komponen pengujian yang lebih kecil dan terfokus
- Iterasi: Gunakan respons Copilot untuk menyempurnakan perintah Anda berikutnya
Artikel terkait
Jelajahi fitur Test Engine
Jelajahi katalog sampel Test Engine
Pelajari fungsi pengujian Power Fx
Memahami format pengujian YAML
Jelajahi opsi autentikasi
Training: Membangun aplikasi dengan mode gitHub agen Copilot