OPS05-BP02 Menguji dan memvalidasi perubahan
Setiap perubahan yang di-deploy harus diuji untuk menghindari kesalahan dalam lingkungan produksi. Praktik terbaik ini difokuskan untuk menguji perubahan-perubahan dari kontrol versi hingga build artefak. Di samping perubahan kode aplikasi, pengujian juga harus menyertakan infrastruktur, konfigurasi, kontrol keamanan, dan prosedur-prosedur operasi. Ada banyak bentuk pengujian, dari uji unit hingga analisis komponen perangkat lunak (SCA). Makin ke kiri pengujian dalam proses integrasi dan pengiriman perangkat lunak akan menghasilkan tingkat kepastian kualitas artefak yang lebih tinggi.
Organisasi Anda harus mengembangkan standar-standar pengujian untuk semua artefak perangkat lunak. Pengujian otomatis dapat mengurangi kerja yang melelahkan dan mencegah terjadinya kesalahan dalam pengujian manual. Uji manual mungkin diperlukan dalam beberapa kasus. Pengembang harus memiliki akses ke hasil uji otomatis untuk menciptakan loop umpan balik yang meningkatkan kualitas perangkat lunak.
Hasil yang diinginkan: Perubahan perangkat lunak Anda diuji sebelum dikirim. Pengembang memiliki akses ke hasil pengujian dan validasi. Organisasi Anda memiliki standar pengujian yang berlaku untuk semua perubahan perangkat lunak.
Anti-pola umum:
-
Anda men-deploy perubahan perangkat lunak baru tanpa melakukan pengujian apa pun. Perangkat lunak gagal berjalan dalam lingkungan produksi, dan mengakibatkan matinya sistem.
-
Grup keamanan baru di-deploy dengan AWS CloudFormation tanpa diuji di dalam sebuah lingkungan pra-produksi. Grup keamanan tersebut menjadikan aplikasi Anda tidak terjangkau oleh para pelanggan Anda.
-
Sebuah metode diubah tanpa pengujian unit. Perangkat lunak gagal saat di-deploy ke lingkungan produksi.
Manfaat menerapkan praktik terbaik ini: Perubahan tingkat kegagalan deployment perangkat lunak berkurang. Kualitas perangkat lunak meningkat. Pengembang memiliki kesadaran yang lebih tinggi tentang kelayakan kode mereka. Kebijakan keamanan dapat diluncurkan dengan penuh keyakinan untuk mendukung kepatuhan organisasi. Perubahan infrastruktur, misalnya pembaruan kebijakan penskalaan otomatis, diuji di awal untuk memenuhi kebutuhan lalu lintas.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Tinggi
Panduan implementasi
Pengujian dilakukan pada semua perubahan, dari kode aplikasi hingga infrastruktur, sebagai bagian dari praktik integrasi berkelanjutan yang Anda lakukan. Hasil-hasil pengujian dipublikasikan sehingga pengembang memiliki umpan balik dengan cepat. Organisasi memiliki standar pengujian bahwa semua perubahan harus lulus.
Gunakan kekuatan AI generatif dengan Pengembang Amazon Q untuk meningkatkan produktivitas pengembang dan kualitas kode Anda. Pengembang Amazon Q menyertakan pembuatan saran kode (berdasarkan model bahasa besar), produksi pengujian unit (termasuk kondisi batas), dan peningkatan keamanan kode melalui deteksi dan perbaikan kerentanan keamanan.
Contoh pelanggan
Sebagai bagian dari pipeline integrasi berkelanjutan mereka, AnyCompany Retail melakukan beberapa jenis pengujian pada semua artefak perangkat lunak. Mereka mempraktikkan pengembangan yang didorong pengujian sehingga semua perangkat lunak memiliki pengujian-pengujian unit. Begitu artefak dibangun, mereka kemudian menjalankan pengujian secara menyeluruh. Setelah pengujian putaran pertama selesai, mereka menjalankan pemindaian keamanan aplikasi statis, yang mencari kerentanan yang dikenali. Pengembang menerima pesan setelah setiap gerbang pengujian dilalui. Setelah semua pengujian selesai, artefak perangkat lunak kemudian disimpan di dalam sebuah repositori artefak.
Langkah-langkah implementasi
-
Bekerjalah dengan para pemangku kepentingan yang ada di organisasi Anda untuk mengembangkan sebuah standar pengujian untuk artefak perangkat lunak. Pengujian standar apa yang harus dilalui oleh semua artefak? Apakah ada persyaratan kepatuhan atau tata kelola yang harus disertakan di dalam cakupan pengujian? Apakah Anda perlu melakukan pengujian kualitas kode? Setelah pengujian selesai dilakukan, siapa yang perlu mengetahuinya?
-
Arsitektur Referensi Pipeline Deployment AWS
berisi daftar tepercaya untuk jenis-jenis pengujian yang dapat dilakukan pada artefak perangkat lunak sebagai bagian dari pipeline integrasi.
-
-
Instrumentasikan aplikasi Anda dengan pengujian-pengujian yang diperlukan berdasarkan standar pengujian perangkat lunak Anda. Setiap set pengujian harus diselesaikan dalam waktu kurang dari sepuluh menit. Pengujian harus berjalan sebagai bagian dari pipeline integrasi.
-
Gunakan Pengembang Amazon Q, sebuah alat AI generatif yang dapat membantu Anda membuat kasus pengujian unit (termasuk ketentuan batas), yang dapat menghasilkan fungsi dengan menggunakan kode dan komentar, dan menerapkan algoritme terkenal.
-
Gunakan Amazon CodeGuru Reviewer untuk melakukan pengujian kode aplikasi Anda apakah ada cacat.
-
Anda dapat menggunakan AWS CodeBuild untuk melakukan pengujian pada artefak perangkat lunak.
-
AWS CodePipeline dapat mengorkestrasi pengujian perangkat lunak Anda ke dalam pipeline.
-
Sumber daya
Praktik-praktik terbaik terkait:
Dokumen terkait:
-
Mengakselerasi Siklus Hidup Pengembangan Perangkat Lunak Anda dengan Amazon Q
-
Lembar Cheat Utama untuk Menggunakan Pengembang Amazon Q di IDE Anda
-
10 cara untuk membangun aplikasi lebih cepat dengan menggunakan Amazon CodeWhisperer
-
Praktik Terbaik untuk Rekayasa Perintah dengan Amazon CodeWhisperer
-
Pipeline Pengujian AWS CloudFormation Otomatis dengan TaskCat dan CodePipeline
-
Laporan Resmi tentang Mempraktikkan Integrasi Berkelanjutan dan Pengiriman Berkelanjutan di AWS
Video terkait:
Sumber daya terkait:
-
Membangun aplikasi menggunakan AI generatif dengan Amazon CodeWhisperer
-
Lokakarya Kebijakan sebagai Kode – Pengembangan yang Didorong Pengujian
-
Menjalankan pengujian unit untuk aplikasi Node.js dari GitHub dengan menggunakan AWS CodeBuild
-
Menggunakan Serverspec untuk pengembangan kode infrastruktur yang didorong pengujian
Layanan terkait: