Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
5. Integrasi berkelanjutan
Sistem ML menjalankan tes untuk memvalidasi bahwa sistem bekerja dari ujung ke ujung, memeriksa kemungkinan titik kegagalan. Pengujian dijalankan secara otomatis pada komit, dan pengujian yang lebih lama dijalankan pada jadwal tetap. Pengujian memeriksa area rekayasa perangkat lunak tradisional seperti di tingkat unit dan sistem. Selain itu, tes menangkap rincian dari ML dengan memeriksa data, fitur, dan model.
5.1 Pemeriksaan kode lokal |
Sebelum memasukkan kode ke dalam repositori kode terpusat, pengembang secara lokal menjalankan pemeriksaan seperti pengujian unit dasar dan analisis statis. Menjalankan pemeriksaan ini sebelum melakukan meningkatkan kualitas kode secara keseluruhan dan menangkap masalah sebelum memasuki kontrol versi. |
5.2 Analisis kode statis |
Repositori kode pusat memiliki alat analisis kode statis yang berjalan pada komit, dengan cepat. Perkakas ini harus meningkatkan gaya kode dan pemformatan. Ini juga harus memeriksa kerentanan keamanan umum dalam kode sumber dan infrastruktur, bug umum, dan kelemahan lain dalam kode. |
5.3 Tes kualitas data |
Tes kualitas data harus, minimal, memeriksa apakah data tidak melanggar skema tetap. Pendekatan yang lebih komprehensif adalah menghitung statistik data saat menelan, menetapkan batasan pada data, dan menjalankan tes terhadap ini. Dimungkinkan untuk mengatur tes kualitas data secara independen atau sebagai bagian dari pipa. Statistik dan kendala digunakan kembali untuk pemantauan. |
5.4 Tes fitur |
Sebagai bagian dari pipeline yang lengkap, kepentingan fitur dihasilkan. Tes fitur menegaskan bahwa pentingnya fitur, atau cara model menghubungkan nilai fitur, tidak berubah. Tes fitur dapat dimasukkan ke dalam pemantauan karena mereka dapat memperingatkan dan melacak pelanggaran dalam input model. |
5.5 Tes unit |
Unit test untuk semua kode—model, aplikasi, dan infrastruktur—dijalankan sebelum commit dan on commit. Setiap pengujian unit memberikan pemeriksaan pada potongan kode penting untuk mengonfirmasi bahwa itu berfungsi seperti yang diharapkan. Dalam kasus kode ML, pengujian dapat dijalankan untuk kebenaran algoritmik. |
5.6 Tes integrasi |
Tes integrasi memverifikasi bahwa pipeline berjalan dari ujung ke ujung dengan sukses, termasuk mempertahankan infrastruktur terkait untuk pipeline. Tes ini memvalidasi bahwa sistem bekerja dan mencatat seperti yang diharapkan. Jika penerapan terpisah, harus ada end-to-end pengujian untuk ini juga untuk memastikan penerapan berfungsi. |
5.7 Tes asap |
Sistem ini memiliki tes asap yang berjalan dalam regresi mini dan cepat dari setiap fungsi. Tes asap adalah bagian dari integrasi berkelanjutan, dan dapat berjalan di lingkungan kontainer untuk meniru fungsionalitas cloud. |
5.8 Pengujian beban |
Pengujian beban sesuai permintaan sudah ada. Selain menangkap bagaimana sistem ML berperilaku di bawah beban tinggi dan rendah, uji beban memberikan statistik pada throughput atau latensi seluruh sistem. Data yang dikumpulkan melalui uji beban memberikan informasi tentang ukuran sumber daya dan kebijakan penskalaan. |
5.9 Tes fungsional model |
Output dan input model dijalankan melalui tes fungsional otomatis. Untuk memeriksa perilaku dalam suatu kemampuan, output dan input untuk model diuji pada data nyata atau palsu dengan contoh dasar. |
5.10 Tes inferensi model dengan kasus ekstrim |
Sebagai bagian dari pengujian fungsionalitas minimum, pengujian model harus memeriksa perilaku ekstrem yang diberikan input tertentu sebelum promosi model. Ini menempatkan pagar pembatas tambahan untuk membantu mencegah perilaku yang tidak terduga. |