OPS05-BP02 Menguji dan memvalidasi perubahan - Pilar Keunggulan Operasional

OPS05-BP02 Menguji dan memvalidasi perubahan

Setiap perubahan yang di-deploy harus diuji untuk menghindari kesalahan dalam produksi. Praktik terbaik ini difokuskan untuk menguji perubahan dari kontrol versi hingga build artefak. Di samping perubahan kode aplikasi, pengujian harus menyertakan infrastruktur, konfigurasi, kontrol keamanan, dan 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 menghasilkan tingkat kepastian kualitas artefak yang lebih tinggi.

Organisasi Anda harus mengembangkan standar pengujian untuk semua artefak perangkat lunak. Pengujian otomatis dapat mengurangi kerja yang melelahkan dan mencegah kesalahan pengujian manual. Uji manual mungkin diperlukan dalam beberapa kasus. Developer 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. Developer memiliki akses ke hasil pengujian dan validasi. Organisasi memiliki standar pengujian yang berlaku untuk semua perubahan perangkat lunak.

Antipola umum:

  • Anda men-deploy perubahan perangkat lunak baru tanpa pengujian apa pun. Perangkat lunak gagal berjalan dalam produksi, dan mengakibatkan matinya sistem.

  • Grup keamanan baru di-deploy dengan AWS CloudFormation tanpa diuji dalam lingkungan praproduksi. Grup keamanan tersebut menjadikan aplikasi Anda tidak terjangkau oleh pelanggan Anda.

  • Sebuah metode diubah tanpa pengujian unit. Perangkat lunak gagal saat di-deploy ke produksi.

Manfaat menjalankan praktik terbaik ini: Tingkat kegagalan perubahan deployment perangkat lunak menjadi berkurang. Kualitas perangkat lunak meningkat. Developer memiliki kesadaran yang lebih tinggi tentang kelayakan kode mereka. Kebijakan keamanan dapat diluncurkan dengan penuh keyakinan untuk mendukung kepatuhan organisasi. Perubahan infrastruktur seperti pembaruan kebijakan penskalaan otomatis diuji di awal untuk memenuhi kebutuhan lalu lintas.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan: Tinggi

Panduan implementasi

Pengujian dilakukan pada semua perubahan, dari kode aplikasi hingga infrastruktur, sebagai bagian dari praktik integrasi berkelanjutan Anda. Hasil pengujian dipublikasikan sehingga developer memiliki umpan balik yang cepat. Organisasi memiliki standar pengujian bahwa semua perubahan harus lulus.

Gunakan kekuatan AI generatif dengan Amazon Q Developer untuk meningkatkan produktivitas dan kualitas kode pengembang. Amazon Q Developer mencakup 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 menjalankan pengujian menyeluruh. Setelah pengujian putaran pertama selesai, mereka menjalankan pemindaian keamanan aplikasi statis, yang mencari kerentanan yang dikenali. Developer menerima pesan setelah setiap gerbang pengujian dilalui. Setelah semua pengujian selesai, artefak perangkat lunak disimpan di dalam repositori artefak.

Langkah implementasi

  1. Bekerjalah dengan pemangku kepentingan di organisasi Anda untuk mengembangkan 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, siapa yang perlu mengetahuinya?

    1. Arsitektur Rujukan Pipeline Deployment AWS berisi daftar terpercaya untuk jenis-jenis pengujian yang dapat dilakukan pada artefak perangkat lunak sebagai bagian dari pipeline integrasi.

  2. Instrumentasikan aplikasi Anda dengan pengujian yang diperlukan berdasarkan standar pengujian perangkat lunak Anda. Setiap set pengujian harus selesai dalam waktu kurang dari sepuluh menit. Pengujian harus berjalan sebagai bagian dari pipeline integrasi.

    1. Gunakan Amazon Q Developer, alat AI generatif yang dapat membantu membuat kasus pengujian unit (termasuk kondisi batas), menghasilkan fungsi menggunakan kode dan komentar, dan mengimplementasikan algoritma terkenal.

    2. Gunakan Amazon CodeGuru Reviewer untuk menguji kode aplikasi Anda guna mendeteksi kecacatan.

    3. Anda dapat menggunakan AWS CodeBuild untuk melakukan pengujian pada artefak perangkat lunak.

    4. AWS CodePipeline dapat mengorkestrasi pengujian perangkat lunak Anda ke dalam pipeline.

Sumber daya

Praktik terbaik terkait:

Dokumen terkait:

Video terkait:

Sumber daya terkait:

Layanan terkait: