REL08-BP02 Integrasikan pengujian fungsional sebagai bagian dari deployment Anda - AWS Well-Architected Framework

REL08-BP02 Integrasikan pengujian fungsional sebagai bagian dari deployment Anda

Uji fungsional dijalankan sebagai bagian dari deployment otomatis. Jika kriteria untuk sukses tidak terpenuhi, maka alur akan dihentikan atau dikembalikan. Pengujian ini dijalankan dalam lingkungan praproduksi, yang dilaksanakan sebelum perkembangan produksi. Idealnya, ini dilakukan sebagai bagian dari alur deployment.

Hasil yang diinginkan: Anda menggunakan otomatisasi untuk melakukan pengujian fungsional, dan data pengujian terkait mengurangi durasi dan biaya pengujian serta meningkatkan akurasi hasil pengujian. Anda mengintegrasikan pengujian fungsional sebagai bagian dari proses deployment Anda, yang membantu Anda mengotomatiskan pipeline rilis agar pembaruan aplikasi dan infrastruktur menjadi cepat dan andal.

Antipola umum:

  • Anda melakukan pengujian secara manual di luar pipeline deployment.

  • Anda melewatkan langkah-langkah pengujian dalam otomatisasi Anda melalui alur kerja darurat manual.

  • Anda tidak mengikuti rencana dan proses pengujian yang telah ditetapkan demi mempercepat jadwal.

Manfaat menjalankan praktik terbaik ini: Pengujian fungsional memvalidasi bahwa sistem beroperasi sesuai dengan persyaratan yang ditentukan. Pengujian ini digunakan untuk memverifikasi urutan kerja komponen yang diinginkan seperti antarmuka pengguna, API, basis data, dan kode sumber secara konsisten. Ketika Anda memeriksa komponen-komponen sistem ini, pengujian fungsional memverifikasi bahwa setiap fitur berperilaku seperti yang diharapkan, yang melindungi harapan pengguna sekaligus integritas perangkat lunak. Integrasikan pengujian fungsional sebagai bagian dari deployment rutin Anda, dan gunakan otomatisasi untuk melakukan deployment semua perubahan, yang mengurangi potensi kesalahan manusia.

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

Panduan implementasi

Integrasikan pengujian fungsional sebagai bagian dari deployment Anda. Uji fungsional dijalankan sebagai bagian dari deployment otomatis. Jika kriteria keberhasilan tidak terpenuhi, pipeline dihentikan atau dibatalkan. AWS CodePipeline menyediakan pipeline pengiriman berkelanjutan untuk pengujian otomatis, yang memungkinkan penguji untuk mengotomatiskan seluruh proses pengujian dan deployment. Pipeline ini terintegrasi dengan layanan AWS seperti AWS CodeBuild dan AWS CodeDeploy untuk mengotomatiskan fase pembuatan, pengujian, dan deployment siklus pengembangan perangkat lunak.

Langkah implementasi

  • Konfigurasikan pipeline Anda: Siapkan tahap pengadaan, pembuatan, pengujian, dan deployment menggunakan konsol AWS CodePipeline atau AWS Command Line Interface (CLI).

    • Tentukan sumber Anda: DenganAWS CodePipeline, Anda dapat secara otomatis mengambil kode sumber dari sistem kontrol versi seperti GitHub, AWS CodeCommit, atau Bitbucket, yang memverifikasi bahwa kode terbaru selalu digunakan untuk pengujian.

    • Otomatiskan pembangunan dan pengujian: AWS CodeBuild dapat membangun dan menguji kode Anda serta menghasilkan laporan pengujian. Ini mendukung kerangka pengujian populer seperti JUnit, NUnit, dan TestNG.

    • Lakukan deployment kode Anda: Setelah dibangun dan diuji, kode dapat di-deploy oleh AWS CodeDeploy ke lingkungan pengujian Anda, termasuk instans Amazon EC2, fungsi AWS Lambda, atau server on-premise.

    • Pantau pipeline: AWS CodePipeline dapat melacak kemajuan pipeline Anda dan status setiap tahap. Anda juga dapat menggunakan pemeriksaan kualitas untuk memblokir pipeline sesuai status pelaksanaan pengujian. Anda juga dapat menerima notifikasi untuk kegagalan tahap pipeline atau penyelesaian pipeline.

Sumber daya

Dokumen terkait: