Informasi

3 cara untuk meningkatkan pengujian berkelanjutan untuk AI generatif​

AI generatif, ChatGPT, dan model bahasa besar (LLM) seperti GitHub Copilot dan alat pembuat kode AI lainnya mengubah praktik dan produktivitas pengembangan perangkat lunak. McKinsey melaporkan bahwa developer yang menggunakan alat AI generatif lebih bahagia, lebih produktif, dan mampu fokus pada pekerjaan yang lebih bermakna. Menurut laporan ini, AI dapat membantu pengembang mempercepat dokumentasi kode, pembuatan, dan pemfaktoran ulang mulai dari 20% hingga 50%.

Data ini menunjukkan bahwa lebih banyak CIO dan tim pengembang akan bereksperimen dengan kemampuan pengembangan perangkat lunak AI generatif untuk meningkatkan produktivitas pengembang dan mempercepat modernisasi aplikasi.

Jika AI generatif membantu mempercepat pengkodean dan pengembangan perangkat lunak, akankah pengujian dan jaminan kualitas dapat mengimbangi kecepatan yang lebih tinggi? Sayangnya, sejarah menunjukkan bahwa praktik pengujian tertinggal dibandingkan peningkatan produktivitas pengembangan dan pengembangan otomatisasi.

Kent Beck mendefinisikan test-driven development (TDD) pada akhir tahun 1990-an, dan otomatisasi pengujian telah ada selama beberapa waktu, tetapi banyak perusahaan terus kurang berinvestasi dalam pengujian perangkat lunak. Pengujian berkelanjutan tertinggal dari investasi dalam mengotomatiskan penerapan dengan CI/CD, membangun infrastruktur sebagai kode (IaC), dan praktik devops lainnya. Karena semakin banyak organisasi yang menggunakan devops untuk meningkatkan frekuensi penerapan, tim diharuskan untuk mengadopsi pengujian berkelanjutan, menggunakan tanda fitur, mengaktifkan rilis canary, dan menambahkan kemampuan AIops.

Berikut tiga cara agar pengembang dan tim dapat mengadaptasi pengujian berkelanjutan untuk lanskap pengembangan baru dengan kemampuan AI generatif.

Tingkatkan cakupan tes

Sebagai langkah pertama, tim jaminan kualitas (QA) harus mengharapkan lebih banyak kode pihak ketiga dari AI generatif, dan menambahkan alat dan otomatisasi untuk meninjau dan menandai kode ini.

“Alat AI generatif akan terus tumbuh lebih populer di tahun depan, dan ini akan meningkatkan kecepatan secara drastis tetapi juga menimbulkan risiko keamanan, kata Meredith Bell, CEO AutoRABIT. “Tim perlu menggabungkan analisis kode statis dan otomatisasi pengujian integrasi sekarang untuk bertindak sebagai pagar pembatas bagi teknologi baru ini.” Nominasi terbuka untuk Tempat Kerja Terbaik 2024 di bidang TI

Analisis kode statis dan dinamis, termasuk SAST, DAST, dan pengujian keamanan kode lainnya, adalah alat utama bagi tim pengembang yang ingin memanfaatkan kode yang dihasilkan AI atau mengintegrasikan sumber terbuka dan contoh pengkodean lain yang disarankan oleh LLM. Pengujian ini dapat mengidentifikasi kerentanan keamanan dan masalah pemformatan kode, terlepas dari apakah kode tersebut dibuat oleh pengembang atau AI.

Mengotomatiskan kasus uji

Tim QA juga harus mengharapkan tim pengembang untuk membangun fitur lebih cepat, yang berarti lebih banyak kasus pengujian yang memerlukan otomatisasi. Jika pengujian perangkat lunak tidak mampu mengimbangi kecepatan pengembangan dan pengkodean, bagaimana dan di mana alat AI generatif dapat menutup kesenjangan tersebut? Mush Honda, kepala arsitek kualitas di Katalon, menyarankan, “Pengujian yang dihasilkan AI berdasarkan perjalanan pengguna nyata harus digabungkan dengan pengujian visual, verifikasi aksesibilitas, dan tolok ukur performa di seluruh browser dan perangkat untuk memastikan semua rilis memenuhi pengalaman pengguna yang komprehensif.”

Emily Arnott, manajer pemasaran konten di Blameless, yakin bahwa QA juga harus mempertimbangkan penggunaan LLM untuk menghasilkan dan mengotomatiskan lebih banyak kasus pengujian. “Pengujian otomatisasi dapat menggunakan alat AI seperti LLM untuk menjadi lebih cepat dan fleksibel,” katanya. “LLM memungkinkan Anda untuk meminta skrip menggunakan bahasa alami, sehingga Anda dapat mengatakan, ‘Tuliskan saya skrip yang menguji potongan kode ini dengan setiap input dari file log ini’ dan dapatkan sesuatu yang berfungsi.”

Menskalakan dan mengelola data pengujian

Hal lain yang diharapkan adalah peningkatan kompleksitas pengujian. Misalnya, membuat kasus uji untuk mesin telusur dapat memanfaatkan perjalanan pengguna dan kata kunci populer yang direkam dalam file log dan alat observasi. Namun dengan semakin banyak perusahaan menjelajahi LLM dan penelusuran AI, menggunakan antarmuka dan permintaan kueri bahasa natural, kasus pengujian juga perlu menjadi lebih terbuka.

Untuk memenuhi permintaan ini, QA memerlukan kumpulan data pengujian yang jauh lebih besar dan dinamis. Tim pengembang harus mencari cara untuk mengotomatiskan pengujian aplikasi yang dikembangkan dengan LLM dan antarmuka kueri bahasa alami.

“Dalam lingkungan yang gesit, waktu sangat penting, dan sistem pengelolaan data pengujian swalayan yang komprehensif sangatlah penting,” kata Roman Golod, CTO & salah satu pendiri di Accelario. “Tim pengembang harus mampu secara otomatis menghasilkan database virtual dari lingkungan produksi hingga nonproduksi.”

Meningkatkan kemampuan pengujian, frekuensi, dan ukuran kumpulan data pengujian mungkin memerlukan tim pengembang untuk meninjau arsitektur dan kapasitas pengembang dan infrastruktur pengujian. Sunil Senan, SVP dan kepala global data, analitik, dan AI di Infosys, menambahkan, “Tim aplikasi harus mempertimbangkan migrasi pipeline devsecops ke hyperscaler dengan kemampuan otomatisasi pengujian berbasis AI seperti pembuatan data sintetis, pembuatan skrip pengujian, dan pengujian deteksi anomali untuk meningkatkan operasi ML.”

Kesimpulan

Singkatnya, QA dapat meningkatkan cakupan dan kedalaman pengujian dengan meningkatkan otomatisasi pengujian, menskalakan pengujian berkelanjutan, menggunakan kemampuan pembuatan pengujian AI generatif, dan memusatkan set data pengujian besar.

“Tim pengembangan aplikasi terdepan akan mengadopsi pengujian eksplorasi berbasis AI dan pengujian regresi berkelanjutan,” kata Esko Hannula, SVP manajemen produk di Copado. “Pengujian akan beralih dari reaktif ke proaktif, dengan AI mengidentifikasi kasus dan bug tepi bahkan sebelum fitur dibuat. Tingkat pengujian berkelanjutan robotik ini seharusnya tidak hanya mempercepat pengembangan tetapi juga mendorong kualitas aplikasi ke tingkat yang tidak dapat kami capai dengan otomatisasi pengujian dasar.”

Coty Rosenblath, CTO di Katalon, menambahkan, “Kami melihat pengujian yang lebih rumit untuk memvalidasi produksi, di mana mereka mungkin hanya memiliki sintetis yang relatif sederhana di masa lalu. Tim sedang membangun rangkaian pengujian dinamis yang dapat berfokus secara khusus pada bidang perubahan dan risiko serta menghindari penundaan rilis menunggu rangkaian regresi penuh.”

Kemampuan AI generatif yang digunakan dalam pengkodean dan pengembangan perangkat lunak harus menjadi peringatan terakhir bagi para devops dan pemimpin QA untuk berinvestasi dalam pengujian berkelanjutan, memusatkan data pengujian, meningkatkan cakupan pengujian, dan meningkatkan frekuensi pengujian. Cari platform pengujian untuk menambahkan kemampuan AI generatif untuk memenuhi tujuan ini.

Sumber : https://www.infoworld.com/article/3705049/3-ways-to-upgrade-continuous-testing-for-generative-ai.html