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.
Sebagai pengembang JavaScript yang baru Azure, gunakan panduan pengujian Azure ini untuk mempelajari strategi pengujian unit, integrasi, CI/CD, dan AI dengan Azure SDK dan sumber daya lainnya untuk memastikan kualitas, performa, dan keandalan aplikasi Anda.
Azure Well-Architected Framework (Kerangka Kerja Terencana Azure)
Azure Well-Architected Framework menyediakan kerangka kerja desain untuk aplikasi cloud di lima pilar:
- Keandalan - Memastikan aplikasi Anda tahan terhadap kegagalan dan pulih dengan cepat.
- Keamanan - Melindungi aplikasi dan data Anda dari ancaman.
- Efisiensi Performa - Mengoptimalkan cara sistem Anda menggunakan sumber daya untuk memenuhi persyaratan.
- Pengoptimalan Biaya - Mengelola biaya saat memberikan nilai.
- Keunggulan Operasional - Meningkatkan proses dan pemantauan untuk memberikan aplikasi secara efektif.
Strategi pengujian dalam artikel ini terutama selaras dengan pilar Keunggulan Operasional, yang menekankan otomatisasi, validasi, dan peningkatan proses operasional yang berkelanjutan.
Perulangan pengujian dalam dan luar untuk Azure SDK di JavaScript
Perulangan pengujian dalam dan luar adalah konsep dasar dalam pengujian perangkat lunak, terutama untuk aplikasi yang disebarkan pada platform cloud seperti Azure:
Loop dalam mengacu pada lingkungan lokal tempat pengembang sering menjalankan pengujian unit dan integrasi selama fase pengembangan. Perulangan ini berfokus pada umpan balik dan iterasi cepat.
Perulangan luar mencakup pengujian yang dijalankan pengembang dalam alur integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD), penahapan, dan lingkungan produksi. Pengujian ini sering memanfaatkan Azure DevOps atau GitHub Actions.
Pengujian ini mencakup pengujian end-to-end (E2E), performa, dan keamanan. Mereka memvalidasi perilaku aplikasi di lingkungan yang mencerminkan atau identik dengan lingkungan produksi akhir. Strategi pengujian yang efisien menggunakan kedua perulangan untuk membantu memastikan cakupan komprehensif dan jaminan kualitas, baik sebelum maupun sesudah penyebaran.
Pelajari lebih lanjut:
- CI/CD: Apa, mengapa, dan bagaimana
- Panduan pemula untuk CI/CD dan otomatisasi di GitHub
- Alur kerja dasar GitHub Actions
- Menggunakan browser yang dihosting cloud untuk aplikasi yang disebarkan secara lokal
Pengujian lokal dan berbasis cloud dengan Azure SDK
Pengujian lokal tanpa Azure melibatkan simulasi layanan Azure. Gunakan pendekatan ini untuk menguji perubahan dengan cepat tanpa menimbulkan biaya atau latensi jaringan yang terkait dengan layanan Azure nyata.
Di sisi lain, pengujian berbasis cloud dengan Azure memanfaatkan sumber daya Azure yang sebenarnya untuk memvalidasi integrasi, keamanan, dan performa aplikasi di lingkungan cloud. Metode ini sangat penting untuk validasi akhir dalam pengaturan yang mirip produksi. Ini membantu memastikan bahwa aplikasi berperilaku seperti yang diharapkan dengan layanan Azure langsung.
Emulator dan kontainer pengembangan meningkatkan pengembangan lokal dengan layanan Azure secara berbeda. Emulator meniru layanan Azure untuk pengujian tahap awal yang hemat biaya tanpa biaya Azure, tetapi mungkin tidak sepenuhnya mereplikasi fitur layanan langsung. Kontainer pengembangan mereplikasi lingkungan produksi lebih dekat, termasuk dependensi dan layanan aplikasi, untuk membantu memfasilitasi transisi yang mulus ke produksi. Kontainer pengembangan sesuai dengan aplikasi yang kompleks tetapi memerlukan lebih banyak penyiapan daripada emulator.
Emulator
Emulator meliputi:
- Azurite (Emulator Azure Storage)
- Emulator Azure Cosmos DB
- Azure SignalR Emulator
- Emulator Azure Event Hubs
- Azure Functions Core Tools (Runtime Azure Functions Lokal)
- Azure Logic Apps Standard (Pengembangan Lokal)
- Gateway yang Dihost sendiri Azure API Management
- Azure IoT Edge Runtime
Kontainer untuk pengembangan
Kontainer pengembangan menawarkan alternatif yang kuat untuk menggunakan emulator untuk pengembangan lokal, terutama dalam bekerja dengan layanan Azure.
Dengan menjalankan layanan dalam kontainer, buat lingkungan lokal yang mencerminkan lingkungan produksi dengan cermin erat untuk memberikan konsistensi di seluruh tahap pengembangan, pengujian, dan penyebaran. Ini juga meningkatkan keandalan pengujian dengan mensimulasikan kondisi dunia nyata dengan lebih akurat.
Konfigurasikan kontainer untuk mereplikasi pengaturan dan data layanan Azure. Dengan cara ini, kontainer menyediakan platform yang kuat untuk mengembangkan dan menguji aplikasi tanpa overhead menyambungkan ke layanan Azure langsung.
Kontainer pengembangan mencakup Azure SQL Database.
Pelajari lebih lanjut:
Alat produktivitas AI dan pengembang
Alat yang didukung AI meningkatkan alur kerja pengembangan JavaScript Anda pada Azure dengan memberikan bantuan kode cerdas, manajemen sumber daya, otomatisasi pengujian, dan dukungan penyebaran.
| Tool | Description |
|---|---|
| GitHub Copilot untuk Azure | Pengkodian yang dibantu AI dengan konteks khusus Azure. Ajukan pertanyaan tentang layanan Azure, hasilkan kode infrastruktur, dan dapatkan bantuan terkait penggunaan Azure SDK langsung di Visual Studio Code. |
| Azure MCP Server | Alat Protokol Konteks Model yang menyambungkan IDE Anda ke sumber daya Azure. Mengkueri konfigurasi sumber daya, mengelola penyebaran, dan memvalidasi pengaturan tanpa meninggalkan editor Anda. |
| Azure Skills | Kemampuan AI yang dapat dikomposisikan untuk alur kerja Azure termasuk diagnostik, pemindaian kepatuhan, validasi penyebaran, dan provisi sumber daya - dapat digunakan dari GitHub Copilot atau klien yang kompatibel dengan MCP. |
| Playwright MCP | Alat otomatisasi browser yang diekspos melalui MCP untuk pengujian end-to-end. Jalankan pengujian Playwright, tangkap cuplikan layar, dan validasi interaksi antarmuka pengguna web dengan bantuan AI. |
Azure Developer CLI (azd) |
Menyederhanakan seluruh alur kerja pengembangan-ke-penyebaran Anda. Menginisialisasi proyek dari templat, menyediakan infrastruktur, dan menyebarkan kode dengan satu alat. |
Alat-alat ini bekerja sama untuk mengurangi peralihan konteks antara editor Anda dan portal Azure. Contohnya:
- Gunakan GitHub Copilot untuk menulis kode Azure SDK dengan saran sebaris
- Gunakan Azure MCP Server untuk memverifikasi konfigurasi sumber daya Anda sudah benar
- Gunakan Azure Skills untuk menjalankan pemindaian kepatuhan atau memecahkan masalah penyebaran yang gagal
- Gunakan Playwright MCP untuk mengotomatiskan pengujian berbasis browser aplikasi yang dihosting Azure Anda
- Gunakan
azduntuk menyediakan dan menyebarkan aplikasi Anda dalam satu langkah
Pengujian unit dalam JavaScript
Pengujian unit dengan Azure SDK di JavaScript sering menggunakan kerangka kerja seperti Jest atau Vitest untuk mengisolasi dan menguji komponen atau fungsi individual.
Untuk pengujian Node.js asli, stub azure SDK memanggil secara manual tanpa pustaka tambahan dengan mengambil alih metode pada prototipe klien SDK atau menggunakan fungsi tiruan sederhana.
Untuk informasi selengkapnya, lihat bagian pengujian Azure SDK nanti di artikel ini.
Tip
Alat pengembang AI: Gunakan GitHub Copilot untuk Azure untuk menghasilkan template pengujian unit dan pola mock untuk klien Azure SDK dari tipe antarmuka.
Pengujian Integrasi dengan JavaScript
Pengujian integrasi menilai interaksi antara aplikasi Anda dan layanan Azure, untuk membantu memastikan bahwa komponen bekerja sama seperti yang diharapkan.
Siapkan pengujian integrasi otomatis dengan menggunakan Azure Pipelines di Azure DevOps atau alur kerja di GitHub Actions. Pendekatan ini mengotomatiskan penyebaran dan pengujian komponen di lingkungan cloud. Ini membantu mengidentifikasi masalah yang mungkin tidak jelas selama pengujian unit, seperti latensi jaringan atau kesalahan konfigurasi layanan.
Meniru layanan Azure
Mensimulasikan layanan Azure adalah praktik umum dalam menguji aplikasi JavaScript yang terintegrasi dengan SDK Azure. Dengan mensimulasikan respons layanan Azure, isolasi logika aplikasi Anda dari dependensi eksternal, yang membantu memastikan bahwa pengujian berjalan dengan cepat dan andal.
Pelajari selengkapnya tentang cara menguji integrasi Azure SDK.
Pengujian integrasi berkelanjutan
Pengujian CI melibatkan pengujian yang berjalan secara otomatis setiap kali perubahan dilakukan pada basis kode. Alat CI seperti Azure DevOps menyediakan lingkungan terintegrasi untuk mengotomatiskan build, pengujian, dan penyebaran. Mengonfigurasi alur untuk menyertakan pengujian otomatis membantu memastikan bahwa setiap perubahan diverifikasi, yang mengurangi kemungkinan bug dan regresi.
Konfigurasi alur yang tepat sangat penting untuk proses CI yang efisien. Ini termasuk menyiapkan pemicu untuk eksekusi pengujian otomatis dan mengonfigurasi lingkungan untuk berbagai tahap pengujian.
Pelajari lebih lanjut:
- Panduan pemula untuk CI/CD dan otomatisasi di GitHub
- Alur kerja awal tindakan GitHub
- Contoh alur kerja Node.js
Rencana Uji Azure
Azure Test Plans menawarkan rangkaian komprehensif untuk pengujian manual dan eksplorasi dalam Azure DevOps.
Layanan ini dapat membantu dalam skenario yang memerlukan penilaian manusia atau sulit diotomatiskan, dengan memberikan pendekatan terstruktur untuk pengujian manual. Teams dapat menggunakannya untuk merencanakan, menjalankan, dan melacak aktivitas pengujian, termasuk menangkap data kaya seperti cuplikan layar dan video untuk membantu pelaporan bug. Mengintegrasikan Azure Test Plans ke dalam proses CI/CD Anda menyediakan strategi pengujian holistik yang mencakup kasus pengujian otomatis dan manual.
Pengujian menyeluruh
Pengujian end-to-end memvalidasi operasi lengkap aplikasi di lingkungan yang mensimulasikan skenario pengguna nyata. Dengan menggunakan kerangka kerja seperti Playwright, Anda dapat mengotomatiskan pengujian berbasis browser untuk berinteraksi dengan aplikasi Anda seperti yang pengguna lakukan.
Pengujian berbasis skenario melibatkan pembuatan kasus pengujian untuk alur pengguna lengkap, seperti mendaftar, melakukan tugas, dan keluar. Gunakan pengujian ini untuk memverifikasi fungsionalitas aplikasi dan pengalaman pengguna di Azure.
Pelajari lebih lanjut:
Tip
AI alat pengembang: Gunakan alat Azure MCP Server untuk memverifikasi target penyebaran dan kesehatan layanan sebelum menjalankan pengujian E2E terhadap sumber daya Azure langsung.
Pengujian kinerja
Pengujian performa sangat penting untuk aplikasi yang disebarkan di Azure untuk membantu memastikan bahwa mereka dapat menangani beban yang diharapkan dan berkinerja baik di bawah stres.
Tolok ukur melibatkan pengukuran performa aplikasi Anda terhadap metrik atau standar yang ditentukan. Gunakan layanan Azure Load Testing untuk mensimulasikan lalu lintas tinggi dan menganalisis skalabilitas dan ketahanan aplikasi.
Contoh CLI:
az load test create --resource-group MyResourceGroup --name MyLoadTest --file loadTestConfig.json
Pelajari lebih lanjut:
- Rekomendasi untuk pengujian performa
- Dokumentasi Azure Load Testing
- Tutorial tentang mengidentifikasi penyempitan performa di aplikasi web
- GitHub: Pengujian Beban Azure
Pengujian keamanan
Pengujian keamanan di Azure melibatkan identifikasi potensi kerentanan dalam aplikasi Anda untuk mencegah akses yang tidak sah atau pelanggaran data.
Alat pemindaian kerentanan sangat penting untuk mendeteksi kelemahan keamanan secara otomatis dalam kode atau konfigurasi Anda. Dengan mengintegrasikan fitur GitHub Advanced Security dengan alat Static Application Security Testing (SAST) tradisional, Anda dapat meningkatkan postur keamanan aplikasi yang disebarkan di Azure. Fitur utama meliputi:
- Pemindaian kode: Mengidentifikasi kerentanan dalam basis kode sebelum penyebaran.
- Pemindaian rahasia: Membantu mencegah paparan data sensitif.
- Pemantauan rantai pasokan: Memberikan perlindungan terhadap dependensi yang berpotensi disusupi.
Langkah-langkah keamanan terintegrasi ini dapat membantu Anda mengidentifikasi kerentanan lebih awal, mencegah pelanggaran data, dan memastikan integritas rantai pasokan aplikasi Anda.
Pengujian penetrasi mensimulasikan serangan cyber terhadap aplikasi Anda untuk mengevaluasi postur keamanannya. Azure menyediakan panduan dan alat untuk melakukan pengujian ini, untuk membantu memastikan bahwa aplikasi yang disebarkan di platform aman terhadap ancaman.
Merekomendasikan untuk mengintegrasikan CodeQL ke dalam alur CI Anda untuk menangkap kerentanan lebih awal.
Pelajari lebih lanjut:
Pengujian kepatuhan dan tata kelola
Memastikan bahwa aplikasi mematuhi persyaratan hukum, peraturan, dan kebijakan sangat penting, terutama di lingkungan cloud. Pengujian kepatuhan terhadap peraturan memverifikasi bahwa aplikasi Anda memenuhi standar seperti GDPR, HIPAA, atau SOC 2.
Azure menawarkan alat kebijakan dan kepatuhan, seperti Azure Policy dan Azure Blueprints, untuk membantu mengotomatiskan dan menegakkan kepatuhan di seluruh sumber daya Azure Anda. Alat-alat ini menyederhanakan proses mempertahankan standar tata kelola dan kepatuhan dalam penyebaran aplikasi Anda.
Pelajari lebih lanjut:
- Tata kelola, keamanan, dan kepatuhan di Azure
- Menerapkan pengujian kepatuhan dengan Terraform dan Azure
Uji aksesibilitas
Pengujian aksesibilitas sangat penting untuk membuat perangkat lunak inklusif dan mematuhi standar hukum. Alat seperti Accessibility Insights membantu mengidentifikasi dan memperbaiki masalah aksesibilitas di aplikasi web dan seluler. Mengintegrasikan Accessibility Insights ke dalam alur kerja pengembangan memfasilitasi pemeriksaan otomatis dan manual dengan menawarkan panduan dan laporan berdasarkan standar Panduan Aksesibilitas Konten Web (WCAG).
Tes A/B
Pengujian A/B, atau pengujian terpisah, adalah metode membandingkan dua versi halaman web atau aplikasi satu sama lain untuk menentukan mana yang berkinerja lebih baik. Azure menyediakan layanan berikut yang mendukung pengujian A/B:
Azure App Service: Menawarkan slot penyebaran untuk memungkinkan lingkungan penahapan tempat Anda dapat menguji versi aplikasi tanpa memengaruhi aplikasi langsung.
Azure Container Apps: Menawarkan lingkungan yang fleksibel untuk menjalankan aplikasi berbasis layanan mikro. Anda dapat menerapkan pengujian A/B di lingkungan ini untuk menguji versi aplikasi.
Gunakan layanan ini untuk menyebarkan variasi aplikasi Anda lalu mengukur respons dan efektivitas pengguna.
Pengujian Azure SDK
Bagi pengembang yang bekerja dengan layanan Azure, mendapatkan kecakupan dengan Azure SDK sangat penting untuk membuat aplikasi yang kuat dan dapat diskalakan. Pengujian Azure SDK berikut, yang dihosting di GitHub untuk JavaScript SDK, adalah sumber daya yang sangat berharga:
Menjelajahi pengujian ini menawarkan wawasan tentang integrasi layanan Azure yang mulus, menampilkan praktik terbaik untuk interaksi sumber daya Azure, dan membantu dalam memastikan implementasi yang efisien dan aman. Jelajahi berbagai contoh SDK yang lebih luas untuk pemahaman yang komprehensif.
Tip
AI alat pengembang: Gunakan GitHub Copilot untuk Azure untuk menavigasi pola pengujian Azure SDK dan menghasilkan perlengkapan pengujian dari definisi antarmuka SDK. Azure Skills dapat menyediakan sumber daya pengujian yang cocok dengan konfigurasi sampel SDK.