Aracılığıyla paylaş


Yapay zeka destekli test yazma ( GitHub Copilot önizleme)

Not

Önizleme özellikleri, üretimde kullanıma yönelik değildir ve sınırlı işlevselliğe sahip olabilir. Bu özellikler, müşterilerin erken erişim elde etmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.

Uygulamalar için Power Platform kapsamlı test planları oluşturmak, özellikle karmaşık senaryolar için zaman alıcı olabilir. gibi GitHub Copilot yapay zeka destekli yazma araçları, test şablonları oluşturarak, test senaryoları önererek ve ortak kod oluşturmayı otomatikleştirerek bu süreci önemli ölçüde hızlandırabilir.

Bu kılavuz, Test Altyapısı test planlarını verimli bir şekilde oluşturmak için kaynak denetimi çözümleriyle GitHub Copilot nasıl kullanılacağını Power Platform açıklar.

Önkoşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

Test yazma ortamınızı ayarlama

Yapay zeka destekli test yazmanın etkinliğini en üst düzeye çıkarmak için bu araçları yapılandırılmış bir iş akışında birleştirin:

  1. Kaynak dosyalarınızı alın
    • Ortamınızı veya çözümünüzü Power Platform kaynak denetiminden kopyalayın
    • Pac solution export Power Platform ve pac solution unpack kullanarak çözümünüzü dosyalardan dışa aktarın ve paketini açın
  2. Sürüm denetimi için bir git deposu başlatın (henüz yapılmadıysa)
  3. Çözüm deponuzda ayrılmış bir test klasörü oluşturun
  4. Çözüm klasörünü Kod'da Visual Studio açın

Test oluşturma için kullanma GitHub Copilot

GitHub Copilot kaynak kontrollü çözümünüze dayalı olarak çeşitli test bileşenleri oluşturmanıza yardımcı olabilir. Yeteneklerini etkili bir şekilde nasıl kullanacağınız aşağıda açıklanmıştır:

Örnek belgeleri bağlam olarak kullanma

Test Motoru örnekleri kataloğu , aşağıdakiler için GitHub Copilot zengin bir referans materyali kaynağı sağlar. Copilot'un daha yüksek kaliteli testler oluşturmasına yardımcı olabilirsiniz:

  • samples.md dosyasını çalışma alanınıza dahil etme
  • Bilgi istemlerinizde belirli örneklere atıfta bulunma
  • Örnek GitHub depolarına bağlantılar sağlama

Örneğin, şunları yapabilirsiniz:

  • VS Code'da hem uygulama kodunuzu hem de samples.md dosyasını açın
  • Copilot'tan "ButtonClicker örneğine benzer" veya "örnekteki Dataverse desenleri kullanarak" testler oluşturmasını isteyin
  • Test gereksinimlerinize uygun örneklerden belirli yeteneklere başvurun

Bu yaklaşım, Copilot'un Test Motoru desenlerini anlamasına Power Platform ve daha doğru testler oluşturmasına yardımcı olur.

GitHub Copilot Ajan Modunda Çalışma

Visual Studio Code's Chat, çözüm dosyalarınıza GitHub Copilot dayalı testler oluşturmanıza yardımcı olabilecek bir Aracı Modu sunar. Bu mod, Copilot'un proje bağlamınıza daha derinlemesine erişmesini ve anlamasını sağlar.

Test oluşturma için Aracı Modu'nu kullanmak için:

  1. VS Code'da Sohbet'i açın GitHub Copilot (Ctrl+Shift+I)
  2. Yardımcı Pilot modu seçicisinden Aracı'yı seçin
  3. Oluşturmak istediğiniz test hakkında ayrıntılı bir bilgi istemi oluşturun

Test oluşturma için örnek istemler

Test oluşturma için aşağıdakilere benzer istemleri kullanmayı deneyin:

Hedef:
ButtonClicker örneğinden sonra Power Apps modellenen Test Motoru'nu kullanarak bir tuval uygulaması için kapsamlı bir test paketi oluşturun.

Istemi:
Örneği başvuru olarak kullanarak https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml için bir test oluşturun. Beklenen durumları, uç durumları ve özel durumları oluşturun. Test, testi çalıştırmamı sağlamak için örneğe dayalı olarak bir test YAML dosyası ve Power Fx test adımları, config.json ve RunTest.ps1 oluşturmalıdır.

Hedef:
Temel işlevlerin ve iş mantığının beklendiği gibi çalıştığından emin olmak için Model yönetimli bir uygulama için ayrıntılı bir test planı oluşturun.

Istemi:
./SolutionPackage/src/Other/Solution.xml konumunda bulunan Model yönetimli uygulamam için kapsamlı bir test planı oluşturun. Test, form yüklemesini, kayıt oluşturmayı ve iş kuralı yürütmeyi doğrulamalıdır. Testi çalıştırmak için test YAML'sini Power Fx , adımlarını ve bir PowerShell betiğini oluşturun.

Hedef:
Varlıkların eylemler aracılığıyla Dataverse CRUD işlemlerini doğrulaması için Power Fx bir test planı oluşturun.

Istemi:
Entites'ım Dataverse için kapsamlı bir test planı oluşturun. Test, oluşturma, güncelleştirme, silme Power Fx eylemlerini gerçekleştirmelidir. Testi çalıştırmak için test YAML'sini Power Fx , adımlarını ve bir PowerShell betiğini oluşturun.

Oluşturulan test bileşenlerini anlama

Bir test oluşturduğunda GitHub Copilot , genellikle aşağıdaki bileşenleri oluşturur:

  • YAML test planı: Test yapısını, uygulama URL'sini ve test adımlarını tanımlar
  • Power Fx test adımları: İfadeleri kullanarak Power Fx test mantığını içerir
  • config.json: Test yürütme parametreleri için yapılandırma
  • RunTest.ps1: Testi yürütmek için PowerShell betiği

Örnek: Oluşturulan test yapısı

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

Yapay zeka destekli test yazma için en iyi uygulamalar

Test Altyapısı test oluşturma işleminden en iyi GitHub Copilot şekilde yararlanmak için aşağıdaki bölümleri göz önünde bulundurun.

Bilgi istemlerinizde net bir bağlam sağlayın

Neyi test etmek istediğiniz konusunda net olun ve aşağıdakilere referanslar ekleyin:

  • Test edilecek tam dosyalar
  • Şablon olarak kullanılacak örnek testler
  • Ele almak istediğiniz belirli test senaryoları
  • Herhangi bir kimlik doğrulama veya ortam gereksinimi

Bağlam için Test Altyapısı örneklerini kullanma

# samples.md belgeleri, Test Motoru deposundaki mevcut tüm örnekleri kataloglar ve bu, istemler GitHub Copilot oluştururken mükemmel bir referans olabilir. Örneğin, düğmelerle bir tuval uygulamasını test ederken Button Clicker örneğine başvurabilirsiniz:

Istemi:
ButtonClicker örneğini kullanarak ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml adresinde Canvas uygulamam için bir https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker test oluşturun. Test şunları yapmalıdır:
1. Sayaç düğmemin ekrandaki bir değeri artırdığını doğrulayın
2. Test sınır koşulları (örneğin, maksimum değer)
3. OnTestCaseStart ve OnTestCaseComplete yaşam döngüsü kancalarını dahil edin
4. Uygun ortam değişkenleriyle config.json oluşturun

Bu yaklaşım, Copilot'un test yapısını anlamasına yardımcı olur ve kanıtlanmış örneklere dayalı olarak daha doğru, bağlamsal olarak ilgili testler oluşturur.

Kaynak denetimli çözümleri bağlam olarak kullanma

Copilot, çözüm yapınızı analiz edebildiğinde en iyi performansı gösterir. Bu bağlamı sağlamak için çözümler için Power Platform kaynak denetimini kullanın . Bu bağlam Copilot'un şunları yapmasına olanak tanır:

  • Uygulamanızın yapısını anlayın
  • Denetim adlarını ve özelliklerini tanımlama
  • Daha doğru test adımları oluşturun
  • Doğru dosya yollarına başvurun

Oluşturulan testleri gözden geçirin ve iyileştirin

Yapay zeka tarafından oluşturulan testler mükemmel bir başlangıç noktası sağlarken, her zaman:

  • Denetim başvurularının uygulamanızla eşleştiğini doğrulayın
  • İş açısından kritik işlevler için onaylar ekleme
  • Uç durumların düzgün bir şekilde işlendiğinden emin olun
  • Kimlik doğrulama yapılandırmasını doğrulama

Manuel uzmanlıkla birleştirin

Karmaşık test senaryoları için şunları kullanın GitHub Copilot :

  • Test çerçevesini ve yapısını oluşturun
  • Standart doğrulama desenleri oluşturun
  • Dikkate alınması gereken uç durumlar önerin

Ardından, aşağıdakiler için alan uzmanlığınızla artırın:

  • İşletmeye özel doğrulama kuralları
  • Çevresel hususlar
  • Özel test verileri

Yaygın test oluşturma desenleri

Bu bölüm bazı yaygın test oluşturma desenlerini içerir:

Canvas Uygulamalarını Test Etme

Tuval uygulamaları için, kaynak denetimli çözümünüzdeki dosyaya başvuran App.fx.yaml istemleri kullanın:

Istemi:
./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml adresinde Tuval uygulamam için gider gönderme işlemini doğrulayan bir test oluşturun. Test, gider alanlarını doldurmalı, formu göndermeli ve onay iletisinin görüntülendiğini doğrulamalıdır.

Model yönetimli uygulamaları test etme

Model yönetimli uygulamalar için varlık gezintisine, form etkileşimlerine ve iş kurallarına odaklanın:

Istemi:
Firma varlık formunu test eden Model yönetimli uygulamam için bir test oluşturun. Testin yeni bir firma kaydı oluşturması, gerekli alanları doğrulaması ve kredi limiti hesaplaması için iş kurallarının doğru çalıştığını doğrulaması gerekir.

Uzantıları Test Dataverse Etme

Testler için Dataverse veri işlemlerini ve iş mantığı doğrulamasını vurgulayın:

Istemi:
Çözümümdeki özel eklentileri doğrulayan bir Dataverse test oluşturun. Test, test kayıtları oluşturmalı, eklenti yürütmesini tetiklemeli ve beklenen veri dönüşümlerinin gerçekleştiğini doğrulamalıdır.

Örneğe özel test istemleri

En doğru test oluşturmayı elde etmek için, Test Altyapısı örnekleri kataloğundan test gereksinimlerinize uyan belirli örneklere başvurun. Yaygın test senaryoları için uyarlanmış istemler şunlardır:

ButtonClicker örnek istemleri

ButtonClicker örneği , temel sayaç işlevselliği testini gösterir. Şu istemleri kullanın:

Istemi:
Sayaç uygulamam için ButtonClicker örneğine benzer bir yapıya sahip bir test oluşturun. Uygulamamda, geçerli sayıyı görüntüleyen bir "CounterLabel" ile "IncrementBtn" ve "ResetBtn" adlı düğmeler var. Her iki düğmenin de düzgün çalıştığını ve en fazla sayının 10 olduğunu doğrulayan bir test oluşturun.

Istemi:
ButtonClicker örneğini başvuru olarak kullanarak düğme etkileşim uygulamam için bir test oluşturun. Uygulamamda yalnızca "NameInput" ve "EmailInput" alanları tamamlandığında etkinleştirilmesi gereken bir "SubmitButton" var. Bu davranışı doğrulamak için adımlar içeren Power Fx bir test planı oluşturun.

BasicGallery ve NestedGallery örnekleri, galeri etkileşimlerinin nasıl test edileceğini gösterir:

Istemi:
"TitleLabel", "PriceLabel" ve "SelectButton" denetimlerini içeren ürün öğelerine sahip bir "Ürünler" galerisine sahip olduğum galeri uygulamam için bir test oluşturun. Öğeleri seçebildiğimi ve doğru ayrıntıların bir "DetailPanel" içinde göründüğünü doğrulamak için BasicGallery örnek yapısını kullanın.

Veri işlemleri istemleri

Örnek Dataverse , veri işlemleri testini gösterir:

Istemi:
Örnek deseni Dataverse kullanarak CRM uygulamam için bir test oluşturun. Yeni bir İlgili Kişi kaydı oluşturup oluşturamayacağımı sınayın, güncelleştirin ve ardından değişikliklerin devam ettiğini doğrulayın. Hem UI testlerini hem de doğrudan Dataverse işlemleri dahil edin.

AI test istemleri

Yapay zeka destekli işlevselliği test etmek için AI İstemi örneğine başvurun:

Istemi:
AI Prompt örneğini temel alan duygu analizi uygulamam için bir test oluşturun. Uygulamamın bir "FeedbackInput" metin kutusu var ve bunu pozitif, negatif veya nötr olarak sınıflandırmak için kullanıyor AI Builder . Farklı girdilerin kabul edilebilir eşikler içinde beklenen çıktıları ürettiğini doğrulayan bir test oluşturun.

İleri teknikler

Bu bölümde, gelişmiş bilgi istemi özelliklerine ilişkin örnekler verilmektedir.

Çok ortamlı test paketleri oluşturma

Copilot'tan birden çok ortamda çalışan testler oluşturmasını isteyebilirsiniz:

Istemi:
Uygulamam için her ortam için uygun yapılandırma değişkenleriyle DEV, TEST ve PROD ortamlarında çalışabilen bir test paketi oluşturun.

Sahte veri senaryoları oluşturma

Konektör alaycılığı ile izole test için:

Istemi:
Outlook bağlayıcısını kullanan uygulamam için sahte bağlayıcı yanıtlarıyla Office 365 bir test oluşturun. Test, e-posta almayı simüle etmeli ve uygulamanın işleme mantığını doğrulamalıdır.

Yapay zeka yeteneklerini test etme ve belirleyici olmayan sonuçları işleme

Yapay zeka destekli uygulamalarla çalışırken, yapay zeka çıkışları aynı girdilerle bile çalıştırmalar arasında biraz farklılık gösterebileceğinden, test etmek benzersiz zorluklar ortaya çıkarır. Bu deterministik olmayan davranış, özel test yaklaşımları gerektirir.

Deterministik olmayan testleri anlama

Deterministik olmayan test, test çalıştırmaları arasında yasal olarak farklılık gösterebilecek çıktıların doğrulanmasını içerir:

  • Yapay Zeka Modeli Çıktıları: GPT veya özelbileşenler gibi yapay zeka modellerinden gelen yanıtlar AI Builder
  • Güvenilirlik Puanları: Kabul edilebilir aralıklarda dalgalanma gösterebilecek sayısal değerlendirmeler
  • Oluşturulan İçerik: Yapay zeka sistemleri tarafından üretilen metin veya öneriler

Yapay zeka özelliklerinin deterministik testi için Preview.AIExecutePrompt kullanma

Test Altyapısı, yapay zeka yanıtlarının deterministik doğrulamasını sağlayan Preview.AIExecutePrompt'u sağlar. Bu yaklaşım şunları yapmanızı sağlar:

  • Test senaryolarında yapay zeka istemlerini yürütün
  • Yapılandırılmış yanıtları ayrıştırın ve doğrulayın
  • Potansiyel değişikliklere rağmen kritik çıktıların beklentileri karşıladığını doğrulayın

Örnek: ile derecelendirme değerlendirmesi AI Builder

Aşağıdaki örnek, yapay zeka destekli bir derecelendirme sistemini test etmek için işlevin Preview.AIExecutePrompt kullanılmasını gösterir:

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

Bu örnekte:

  • Test, "PromptEvaluator" modeline karşı bir AI istemi yürütür
  • Değerlendirme için bir bağlam ve bir soru geçer
  • Döndürülen derecelendirmenin beklenen değerle eşleştiğini doğrular
  • Test başarısı veya başarısızlığı hakkında net geri bildirim sağlar

TestEngine deposundaki PowerAppsAI Prompt örneğinde uygulamanın tamamını keşfedebilirsiniz.

Yapay zekaya duyarlı testleri dahil etme

Yapay zeka destekli uygulamalar için testler oluşturmak için kullanırken GitHub Copilot :

Istemi:
Form işlemeyi kullanan AI Builder yapay zeka destekli uygulamam için bir test oluşturun. Deterministik olmayan çıktılar için uygun toleransla AI sonuçlarını doğrulayan test adımlarını dahil edin.

Sorun giderme ve iyileştirme

Eğer, gereksinimlerinizi karşılamayan testler oluşturur: GitHub Copilot

  • İsteminizi hassaslaştırın: Neyi test etmek istediğiniz konusunda daha spesifik olun
  • Örnekler sağlayın: İstediğiniz stile uyan belirli test örneklerine bağlantı verin
  • Karmaşık testlerin dökümünü alın: Daha küçük, odaklanmış test bileşenlerinin oluşturulmasını talep edin
  • Yinele: Bir sonraki isteminizi iyileştirmek için Copilot'un yanıtlarını kullanın

Test Altyapısı özelliklerini keşfedin
Test Altyapısı örnekleri kataloğuna göz atın
Test işlevleri hakkında Power Fx bilgi edinin
YAML test biçimini anlama
Kimlik doğrulama seçeneklerini keşfedin
Eğitim: Aracı moduyla GitHub Copilot uygulama oluşturma