JavaScript uygulamaları için Azure test kılavuzu

Azure yeni bir JavaScript geliştiricisi olarak, uygulamanızın kalitesini, performansını ve güvenilirliğini sağlamak amacıyla Azure SDK’ları ve diğer kaynaklarla birim, tümleştirme, CI/CD ve yapay zeka test stratejilerini öğrenmek için bu Azure test kılavuzunu kullanın.

Azure Başarılı Mimarili Çerçeve

Azure Well-Architected Framework, beş yapıda bulut uygulamaları için bir tasarım çerçevesi sağlar:

  • Güvenilirlik - Uygulamanızın hatalara dayanıklı olduğundan ve hızlı bir şekilde kurtarılmasından emin olun.
  • Güvenlik : Uygulamalarınızı ve verilerinizi tehditlere karşı koruma.
  • Performans Verimliliği - Sisteminizin gereksinimleri karşılamak için kaynakları nasıl kullandığını iyileştirme.
  • Maliyet İyileştirme - Değer teslim ederken maliyetleri yönetme.
  • Operasyonel Mükemmellik - Uygulamaları etkili bir şekilde sunmak için süreçleri ve izlemeyi geliştirme.

Bu makaledeki test stratejileri öncelikle operasyonel süreçlerin otomasyon, doğrulama ve sürekli iyileştirilmesini vurgulayan Operasyonel Mükemmellik sütunuyla uyumlu hale gelmektedir.

JavaScript'te Azure SDK'ları için iç ve dış test döngüleri

İç ve dış test döngüleri, özellikle Azure gibi bulut platformlarında dağıtılan uygulamalar için yazılım testindeki temel kavramlardır:

  • İç döngü, geliştiricilerin geliştirme aşamasında birim ve tümleştirme testlerini sık sık çalıştırdığı yerel bir ortamı ifade eder. Bu döngü hızlı geri bildirime ve yinelemeye odaklanır.

  • Dış döngü, geliştiricilerin sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hatlarında, hazırlama ve üretim ortamlarında çalıştıracakları testleri kapsar. Bu testler genellikle Azure DevOps veya GitHub Actions'dan yararlanıyor.

Bu testler uçtan uca (E2E), performans ve güvenlik testlerini içerir. Uygulamanın son üretim ortamıyla yakından yansıtan veya aynı olan ortamlardaki davranışını doğrular. Verimli test stratejileri, dağıtımdan önce ve sonra kapsamlı kapsam ve kalite güvencesi sağlamaya yardımcı olmak için her iki döngüleri de kullanır.

Daha fazla bilgi edinin:

Azure SDK ile yerel ve bulut tabanlı test

Azure olmadan yerel test, Azure hizmetlerinin benzetimlerini içerir. Gerçek Azure hizmetleriyle ilişkili maliyetlere veya ağ gecikme süresine neden olmadan değişiklikleri hızlı bir şekilde test etmek için bu yaklaşımı kullanın.

Öte yandan Azure ile bulut tabanlı test, uygulamanın bir bulut ortamındaki tümleştirmesini, güvenliğini ve performansını doğrulamak için gerçek Azure kaynaklarından yararlanır. Bu yöntem, üretim benzeri bir ayarda son doğrulama için çok önemlidir. Uygulamanın canlı Azure hizmetlerinde beklendiği gibi davranmasını sağlamaya yardımcı olur.

Öykünücüler ve geliştirme kapsayıcıları, Azure hizmetleriyle yerel geliştirmeyi farklı şekilde geliştirir. Öykünücüler, Azure ücretlerine maruz kalmadan uygun maliyetli bir şekilde erken aşama testleri gerçekleştirmek için Azure hizmetlerini taklit ederler, ancak canlı hizmet özelliklerinin tamamını sunmayabilirler. Geliştirme kapsayıcıları, uygulama bağımlılıkları ve hizmetler dahil olmak üzere, üretim ortamını daha yakından yansıtarak üretim ortamına sorunsuz bir geçişi kolaylaştırır. Geliştirme kapsayıcıları karmaşık uygulamalara uygundur ancak öykünücülerden daha fazla kurulum gerektirir.

Emülatörler

Öykünücüler şunlardır:

Geliştirme kapsayıcıları

Yerel geliştirme için emülatörler yerine güçlü bir alternatif olarak geliştirme kapsayıcıları sunar, özellikle Azure hizmetleriyle çalışırken.

Hizmetleri kapsayıcılarda çalıştırarak geliştirme, test ve dağıtım aşamalarında tutarlılık sağlamak için üretim ortamını yakından yansıtan bir yerel ortam oluşturun. Ayrıca gerçek dünya koşullarını daha doğru benzeterek test güvenilirliğini artırır.

Azure hizmetlerinin ayarlarını ve verilerini çoğaltmak için kapsayıcıları yapılandırın. Bu şekilde kapsayıcılar, canlı Azure hizmetlerine bağlanma yükü olmadan uygulama geliştirmek ve test etmek için sağlam bir platform sağlar.

Geliştirme kapsayıcıları Azure SQL Veritabanı'dır.

Daha fazla bilgi edinin:

Yapay zeka ve geliştirici üretkenlik araçları

Yapay zeka destekli araçlar akıllı kod yardımı, kaynak yönetimi, test otomasyonu ve dağıtım desteği sağlayarak javascript geliştirme iş akışınızı Azure geliştirin.

Araç Description
Azure için GitHub Copilot Azure özgü bağlamla yapay zeka destekli kodlama. Azure hizmetleri hakkında sorular sorun, altyapı kodu oluşturun ve doğrudan VS Code'da Azure SDK kullanımıyla ilgili yardım alın.
Azure MCP Sunucusu IDE'nizi Azure kaynaklarına bağlayan Model Bağlam Protokolü araçları. Düzenleyicinizden çıkmadan kaynak yapılandırmalarını sorgulayabilir, dağıtımları yönetebilir ve ayarları doğrulayabilirsiniz.
Azure Skills tanılama, uyumluluk taraması, dağıtım doğrulaması ve kaynak sağlama dahil olmak üzere Azure iş akışları için GitHub Copilot veya MCP uyumlu herhangi bir istemciden kullanılabilir yapay zeka özellikleri.
Playwright MCP Uçtan uca test için MCP aracılığıyla kullanıma sunulan tarayıcı otomasyon araçları. Playwright testlerini çalıştırın, ekran görüntülerini yakalayın ve yapay zeka yardımıyla web kullanıcı arabirimi etkileşimlerini doğrulayın.
Azure Developer CLI (azd) Geliştirmeden dağıtıma iş akışınızın tamamını kolaylaştırın. Şablonları kullanarak projeleri başlatın, altyapıyı sağlayın ve kodu tek bir araçla dağıtın.

Bu araçlar birlikte çalışarak düzenleyicinizle Azure portalı arasındaki bağlam geçişini azaltır. Örneğin:

  • Satır içi önerilerle Azure SDK kod yazmak için GitHub Copilot kullanın
  • Kaynak yapılandırmalarınızın doğru olduğunu doğrulamak için Azure MCP Server kullanın
  • Uyumluluk taramalarını çalıştırmak veya başarısız dağıtım sorunlarını gidermek için Azure Skills kullanın
  • Azure barındırılan uygulamalarınızın tarayıcı tabanlı testlerini otomatikleştirmek için Playwright MCP kullanın
  • Uygulamanızı tek adımda sağlamak ve dağıtmak için kullanın azd

JavaScript'te birim testleri

JavaScript'te Azure SDK'ları ile birim testi, bileşenleri veya işlevleri yalıtmak ve test etmek için genellikle Jest veya Vitest gibi çerçeveleri kullanır.

Yerel Node.js testleri için sdk istemci prototiplerindeki yöntemleri geçersiz kılarak veya basit sahte işlevler kullanarak ek kitaplıklar olmadan Azure SDK çağrılarını el ile saplayın.

Daha fazla bilgi için bu makalenin devamında yer alan Azure SDK testleri bölümüne bakın.

Tip

AI geliştirici araçları: Arabirim türlerinden Azure SDK istemcileri için birim testi taslak ve mock şablonları oluşturmak üzere GitHub Copilot for Azure kullanın.

JavaScript'te tümleştirme testleri

Tümleştirme testi, bileşenlerin beklendiği gibi birlikte çalıştığından emin olmak için uygulamanızla Azure hizmetleri arasındaki etkileşimi değerlendirir.

Azure DevOps'ta Azure Pipelines'ı veya GitHub Actions'taki iş akışlarını kullanarak otomatik tümleştirme testleri ayarlayın. Bu yaklaşım, bulut ortamında bileşenlerin dağıtımını ve testini otomatikleştirir. Ağ gecikme süresi veya hizmet yapılandırma hataları gibi birim testi sırasında belirgin olmayabilecek sorunları belirlemeye yardımcı olur.

Sahte Azure hizmetleri

JavaScript uygulamalarını Azure SDK'larıyla tümleştiren hizmetleri taklit etmek, test etmede yaygın bir yöntemdir. Azure hizmet yanıtlarının benzetimini yaparak uygulama mantığınızı dış bağımlılıklardan yalıtarak testlerin hızlı ve güvenilir bir şekilde çalışmasını sağlayın.

Azure SDK tümleştirmelerini test etme hakkında daha fazla bilgi edinin.

Sürekli tümleştirme testleri

CI testi, kod tabanında her değişiklik yapıldığında testleri otomatik olarak çalıştırmayı içerir. Azure DevOps gibi CI araçları derlemeleri, testleri ve dağıtımları otomatikleştirmek için tümleşik ortamlar sağlar. İşlem hatlarının otomatikleştirilmiş testleri içerecek şekilde yapılandırılması, her değişikliğin doğrulanmasını sağlamaya yardımcı olur ve bu da hata ve regresyon olasılığını azaltır.

Uygun işlem hattı yapılandırması , verimli CI işlemleri için çok önemlidir. Otomatik test yürütme için tetikleyiciler ayarlamayı ve çeşitli test aşamaları için ortamları yapılandırmayı içerir.

Daha fazla bilgi edinin:

Azure Test Planları

Azure Test Planları, Azure DevOps içinde el ile ve keşif testi için kapsamlı bir paket sunar.

Bu hizmet, el ile test için yapılandırılmış bir yaklaşım sağlayarak insan yargısı gerektiren veya otomatikleştirilmesi zor senaryolarda yardımcı olabilir. Teams, hata raporlamaya yardımcı olmak için ekran görüntüleri ve videolar gibi zengin verileri yakalama da dahil olmak üzere test etkinliklerini planlamak, yürütmek ve izlemek için bunu kullanabilir. Azure Test Planlarını CI/CD sürecinizle tümleştirmek, hem otomatik hem de el ile test çalışmalarını kapsayan bütünsel bir test stratejisi sağlar.

Uçtan uca testler

Uçtan uca test, gerçek kullanıcı senaryolarının simülasyonunu oluşturan bir ortamda uygulamanın tam çalışmasını doğrular. Playwright gibi çerçeveleri kullanarak tarayıcı tabanlı testleri otomatikleştirerek kullanıcılarınızın yaptığı gibi uygulamalarınızla etkileşim kurabilirsiniz.

Senaryo tabanlı test , kaydolma, görev gerçekleştirme ve oturumu kapatma gibi eksiksiz kullanıcı akışları için test çalışmaları oluşturmayı içerir. Uygulamanın Azure'da işlevselliğini ve kullanıcı deneyimini doğrulamak için bu testi kullanın.

Daha fazla bilgi edinin:

Tip

AI geliştirici araçları: Canlı Azure kaynaklarında E2E testlerini çalıştırmadan önce dağıtım hedeflerini ve hizmet durumunu doğrulamak için Azure MCP Server araçlarını kullanın.

Performans testleri

Performans testi, Azure'da dağıtılan uygulamaların beklenen yükleri işleyebilmesine ve stres altında iyi performans gösterebilmesine yardımcı olmak için gereklidir.

Karşılaştırma , uygulamanızın performansını tanımlı ölçümlere veya standartlara göre ölçmeyi içerir. Yüksek trafiğin simülasyonunu yapmak ve bir uygulamanın ölçeklenebilirliğini ve dayanıklılığını analiz etmek için Azure Yük Testi hizmetini kullanın.

CLI örneği:

az load test create --resource-group MyResourceGroup --name MyLoadTest --file loadTestConfig.json

Daha fazla bilgi edinin:

Güvenlik testleri

Azure'da güvenlik testi, yetkisiz erişimi veya veri ihlallerini önlemek için uygulamanızdaki olası güvenlik açıklarını belirlemeyi içerir.

Güvenlik açığı tarama araçları, kodunuzda veya yapılandırmalarınızda güvenlik açıklarını otomatik olarak algılamak için gereklidir. GitHub Gelişmiş Güvenlik özelliklerini geleneksel Statik Uygulama Güvenliği Testi (SAST) araçlarıyla tümleştirerek Azure'da dağıtılan uygulamaların güvenlik duruşunu geliştirebilirsiniz. Önemli özellikler şunlardır:

  • Kod tarama: Dağıtımdan önce kod tabanındaki güvenlik açıklarını tanımlar.
  • Gizli dizi taraması: Hassas verilerin açığa çıkmasını önlemeye yardımcı olur.
  • Tedarik zinciri izleme: Tehlikeye girmiş olabilecek bağımlılıklara karşı korumaya yardımcı olur.

Bu tümleşik güvenlik önlemleri güvenlik açıklarını erken belirlemenize, veri ihlallerini önlemenize ve uygulamanızın tedarik zincirinin bütünlüğünü sağlamanıza yardımcı olabilir.

Sızma testi , güvenlik duruşunu değerlendirmek için uygulamanıza yönelik siber saldırıların simülasyonunu oluşturur. Azure, platformda dağıtılan uygulamaların tehditlere karşı güvenli olduğundan emin olmak için bu testleri gerçekleştirmeye yönelik rehberlik ve araçlar sağlar.

Güvenlik açıklarını erken yakalamak için CodeQL'i CI işlem hattınızla tümleştirmenizi öneririz.

Daha fazla bilgi edinin:

Uyumluluk ve idare testleri

Uygulamaların yasal, mevzuat ve ilke gereksinimlerine uygun olmasını sağlamak, özellikle bulut ortamlarında çok önemlidir. Mevzuat uyumluluğu testi, uygulamanızın GDPR, HIPAA veya SOC 2 gibi standartları karşıladığını doğrular.

Azure, Azure kaynaklarınızda uyumluluğu otomatikleştirmeye ve zorlamaya yardımcı olmak için Azure İlkesi ve Azure Blueprints gibi ilke ve uyumluluk araçları sunar. Bu araçlar, uygulama dağıtımlarınızda idare ve uyumluluk standartlarını koruma sürecini basitleştirir.

Daha fazla bilgi edinin:

Erişilebilirlik testleri

Erişilebilirlik testi, yazılımları kapsayıcı ve yasal standartlara uygun hale getirmek için gereklidir. Erişilebilirlik İçgörüleri gibi araçlar, web ve mobil uygulamalarda erişilebilirlik sorunlarını belirlemeye ve düzeltmeye yardımcı olur. Erişilebilirlik İçgörüleri'nin geliştirme iş akışlarıyla tümleştirilmesi, Web İçeriği Erişilebilirlik Yönergeleri (WCAG) standartlarına dayalı yönergeler ve raporlar sunarak otomatik ve el ile yapılan denetimleri kolaylaştırır.

A/B testleri

A/B testi veya bölünmüş test, bir web sayfasının veya uygulamanın iki sürümünü birbiriyle karşılaştırarak hangisinin daha iyi performans göstereceğini belirleme yöntemidir. Azure, A/B testini destekleyen aşağıdaki hizmetleri sağlar:

  • Azure App Service: Canlı uygulamayı etkilemeden uygulama sürümlerini test edebilirsiniz hazırlama ortamlarına izin vermek için dağıtım yuvaları sunar.

  • Azure Container Apps: Mikro hizmet tabanlı uygulamaları çalıştırmak için esnek bir ortam sunar. Uygulama sürümlerini test etmek için bu ortamda A/B testi uygulayabilirsiniz.

Uygulamalarınızın çeşitlemelerini dağıtmak ve ardından kullanıcı yanıtını ve verimliliğini ölçmek için bu hizmetleri kullanın.

Azure SDK testleri

Azure hizmetleriyle çalışan geliştiriciler için, Güçlü ve ölçeklenebilir uygulamalar oluşturmak için Azure SDK'ları ile yeterlik kazanmak önemlidir. JavaScript SDK'ları için GitHub'da barındırılan aşağıdaki Azure SDK testleri çok değerli kaynaklardır:

Bu testleri keşfetmek sorunsuz Azure hizmet tümleştirmesi hakkında içgörüler sunar, Azure kaynak etkileşimi için en iyi yöntemleri gösterir ve verimli ve güvenli uygulamalar sağlamaya yardımcı olur. Kapsamlı bir anlayış için daha geniş bir SDK örnekleri yelpazesini keşfedin.

Tip

AI geliştirici araçları: AzureGitHub Copilot kullanın> Azure SDK test desenlerinde gezinin ve SDK arabirim tanımlarından test fikstürleri oluşturun. Azure Skills SDK örnek yapılandırmalarıyla eşleşen test kaynakları sağlayabilir.

Ek kaynaklar