Pengujian perangkat lunak, secara spesifik regression testing, adalah sebuah proses yang diperlukan ketika perangkat lunak atau lingkungannya berubah untuk memastikan bahwa perangkat lunak masih bekerja sesuai dengan ekspektasi. Termotivasi oleh kebutuhan industri nyata, penelitian ini melaporkan pengalaman dalam melakukan transisi dari regression testing manual menjadi otomatis bagi salah satu aplikasi di PT. XYZ. Sebelum penelitian, regression testing dilakukan secara manual yang bersifat subjektif dan menghabiskan banyak biaya. Otomatisasi pengujian pun diterapkan pada tahap eksekusi dan integrasi hasil pengujian sebagai upaya untuk meningkatkan produktivitas dan efisiensi pengujian. Untuk mencari alternatif eksekusi pengujian yang efisien, eksperimen dilakukan dengan memisahkan alur yang menjalankan tes yang terkait perubahan dengan teknik seleksi dan alur yang menjalankan semua tes. Berdasarkan analisis aplikasi yang diuji, setiap alur memiliki kelebihan dan kekurangannya masing-masing. Hasil penelitian menunjukkan bahwa otomatisasi pengujian dapat memberi manfaat untuk regression testing, rilis aplikasi, dan alur pengembangan aplikasi. Kerangka yang dipaparkan dalam makalah ini diharapkan dapat dijadikan sebagai pedoman untuk aplikasi industri lainnya dengan spesifikasi serupa yang juga ingin menerapkan otomatisasi pengujian. Software testing, particularly regression testing, is required when there are changes in the software or its environment to ensure that the software still performs as expected. Motivated by real industry needs, this study reports on the experience of transitioning from manual to automated regression testing in one of the mobile applications at PT. XYZ. Prior to this study, regression testing was conducted manually which incurred a lot of costs and was by nature subjective. Test automation is then applied to the activities of test execution and test result integration as an effort to increase test productivity and efficiency. To make the test execution efficient, this study conducts an experiment by separating the flow that runs the tests related to changes using regression test selection technique and the flow that runs all tests. Based on the empirical analysis, each flow has its own trade-offs. The results show that test automation can provide benefits for regression testing, application releases, and software engineering flow. The framework presented in this paper aims to serve as a guideline for other industrial applications with similar specifications that are also considering to implement test automation. |