Last Updated on February 22, 2023 by
Setiap perangkat lunak yang dibangun akan melalui tahap pengujian (testing) terlebih dahulu. Ada banyak jenis pengujian yang dapat dilakukan dengan kebutuhannya masing-masing. Sebagai Quality Assurance (QA) atau tester, mereka bertanggung jawab untuk melakukan pengujian dan memastikan perangkat lunak dapat berjalan tanpa ada gangguan. Regression testing adalah salah satu jenis pengujian perangkat lunak yang akan kita bahas lebih dalam pada artikel ini.
Table of Contents
Jenis-Jenis Pengujian secara Umum
Sebelum menyelam lebih dalam tentang pengujian ini, mari pahami dulu berbagai jenis pengujian perangkat lunak lainnya.
- System Testing merupakan pengujian yang dilakukan untuk memastikan berjalan sesuai persyaratan kebutuhan pengguna (user requirement).
- Unit Testing merupakan pengujian yang dilakukan untuk memastikan program layak untuk dipakai dan pengujian ini berfokus pada unit terkecil perangkat lunak baik dari modul ataupun dari komponennya.
- Integration Testing merupakan pengujian dari penggabungan atau unit-unit dalam perangkat lunak bekerja sebagai kombinasi.
- Usability Testing merupakan pengujian untuk memastikan perangkat lunak sudah sesuai dengan persyaratan dari user dari hasil umpan balik untuk meningkatkan ataupun memperbaiki perangkat lunak.
- Performance Testing merupakan pengujian yang dilakukan untuk memastikan sistem memenuhi kriteria kinerja dari segi waktu, misalnya response time.
- Smoke Testing merupakan pengujian yang dilakukan untuk memastikan fungsi-fungsi penting dalam perangkat lunak dapat berjalan dengan baik.
- Stress Testing merupakan pengujian yang dilakukan untuk memastikan server pada website kuat untuk menampung pengunjung yang mana pengujian ini dilakukan ketika membangun website.
- Sanity Testing merupakan pengujian yang dilakukan ketika perangkat lunak sudah hampir jadi dan memastikan bug saat smoke testing telah bersih atau telah diperbaiki.
- Regression testing adalah pengujian untuk memastikan fungsional sistem dapat bekerja dengan baik dan memastikan meminimalisir terjadinya bugyang mungkin terjadi ketika memperbarui fitur-fitur pada perangkat lunak.
Itulah berbagai jenis pengujian ketika perangkat lunak akan dirilis. Nah, selanjutnya mari menyelam lebih dalam tentang Regression testing.
Apa itu Regression testing?
Sebelumnya telah dijelaskan sedikit tentang apa itu regression testing. Regression testing adalah salah satu pengujian yang penting untuk dilakukan. Ketika Anda melakukan perubahan pada kode program, pengujian ini berperan penting untuk memastikan kode program tersebut tidak berdampak pada fitur yang telah ada. Jadi, fitur-fitur tersebut masih berfungsi dengan baik.
Terdapat istilah dalam pengujian yang dikenal juga dengan Verification Method ini, yakni test case (uji kasus). Test case merupakan rancangan mengenai tindakan yang dilakukan oleh seorang QA untuk melakukan verifikasi terhadap fitur perangkat lunak. Nah, test case yang dieksekusi ulang pada pengujian ini harus dipastikan fungsionalitas perangkat lunak berjalan dengan baik dan perubahan yang dilakukan tidak menghasilkan bug.
Teknik pada Regression testing
Ada tiga teknik yang dapat digunakan ketika melakukan regression testing. Adapun ketiga teknik dalam regression testing adalah sebagai berikut.
1. Re-test All
Teknik pertama, re-test all merupakan teknik yang digunakan pengujian perangkat lunak yang mana semua pengujian baik dalam bucket maupun suite dieksekusi ulang. Teknik ini memerlukan resource yang besar dan waktu yang lama, sehingga dari segi biaya teknik ini lumayan mahal.
2. Regression Test Selection
Regression test selection ini dilakukan dengan mengeksekusi beberapa test cases yang dipilih dari test suite dan memastikan kode yang telah dimodifikasi dapat berdampak atau tidaknya pada perangkat lunak.
Teknik ini terdiri dari dua bagian, yaitu reusable test cases dan obsolete test cases. Reusable test cases ini dapat digunakan untuk siklus regression selanjutnya, sedangkan obsolete test case tidak dapat digunakan siklus regression selanjutnya.
3. Prioritization of Test Cases
Seperti namanya, prioritization of test cases merupakan teknik yang memprioritaskan test cases berdasarkan beberapa dampak, misalnya memprioritaskan test case yang bergantung pada dampak bisnis. Teknik ini memungkinkan untuk mengurangi regression test suite karena hanya prioritas test cases yang dieksekusi.
Kapan Regression Testing Dilakukan?
Selain saat kode program diubah atau dimodifikasi, ada beberapa skenario lain kapan harus menggunakan regression testing adalah sebagai berikut.
- Pengujian dilakukan ketika menambahkan fungsionalitas baru ditambahkan pada perangkat lunak.
- Pengujian dilakukan ketika permasalahan kinerja perangkat lunak diperbaiki.
- Pengujian dilakukan ketika requirementperangkat lunak berubah.
- Pengujian dilakukan ketika defect(kesalahan) diperbaiki.
Cara Kerja Regression Testing
Regression testing dilakukan dengan langkah-langkah berikut.
- Langkah pertama untuk regression testingadalah mengidentifikasi atau mendeteksi perubahan yang ada pada kode program.
- Prioritaskan yang teridentifikasi perubahan dan requirementproduk,
- Pilih test casedan tool
- Pertimbangkan skenario test dan tentukan waktu eksekusi test case.
- Jadwalkan dan eksekusi test cases.
Tools untuk Melakukan Regression Testing
Sebenarnya, melakukan pengujian ini dapat dilakukan secara manual, tetapi baik dari segi waktu maupun biaya tentunya akan bertambah. Di samping itu, terdapat tantangan yang akan dihadapi, misalnya kompleksitas pengujian dan akurasi yang kurang optimal. Maka, terdapat solusi atas masalah ini, yaitu pengujian secara otomatis. Pengujian otomatis dapat dilakukan menggunakan beberapa tools berikut ini.
1. testRigor
Tools pertama untuk regression testing adalah testRigor. Tool ini memungkinkan pengguna untuk membangun pengujian end-to-end dengan berbagai kompleksitas yang dapat mencakup mobil, web dan API dalam satu pengujian.
Beberapa fitur yang tersedia dalam testRigor, yaitu versi publik secara gratis selamanya, bahasa yang digunakan hanya bahasa Inggris, pengujian yang tak terhingga, terintegrasi dengan CI/CD dan manajemen test case, serta pengujian untuk email dan sms.
2. Avo Assure
Avo Assure merupakan tool sebagai solusi untuk pengujian tanpa kode. Beberapa klik saja, pengujian sudah dapat dijalankan, sehingga menjadi lebih cepat. Tool ini memiliki fitur smart scheduling untuk mengeksekusi test case dalam virtual machine secara independen atau paralel.
Fitur lainnya yang tak kalah menarik adalah Avo Assure terintegrasi dengan Jira, Jenkins, ALM, Salesforce, QTest, dan masih banyak lagi. Anda dapat menggunakan fitur Mind Maps untuk mendefinisikan rencana dan desain test case.
3. Subject7
Tool Subject7 ini mampu secara otomatis melakukan pengujian dengan mudah, cepat, serta berbasis cloud. Dengan skala yang tinggi pun, Anda dapat melakukan regression testing tanpa menulis kode sepatah katapun.
Beberapa fitur yang dimiliki, yaitu terintegrasi dengan tool DevOps/Agile menggunakan plugin native, open API, eksekusi high-scale paralel baik di cloud maupun on-premise, serta tersedia report berupa rekaman video jika terjadi defect.
4. Katalon Studio
Katalon Studio merupakan tool end-to-end untuk pengujian regression dan fungsional. Selain dapat melakukan pengujian all-in-one baik untuk web services, website, maupun mobile application, Katalon Studio dapat menjalankan script di berbagai perangkat, environment, dan browser. Untuk reportnya dapat dikostumisasi dalam LOG, HTML, PDF, CSV sesuai dengan kebutuhan.
5. Quick Test Professional (QTP)
QTP merupakan tool untuk regression dan fungsional testing dengan otomatis. Selain itu, QTP termasuk data driven dan menggunakan bahasa VBScript. Terdapat button untuk record, play, dan stop. Sehingga, aktivitas atau setiap action-nya akan terekam dan dapat diputar kembali.
Konfigurasi Manajemen
Ada beberapa hal yang perlu diperhatikan ketika melakukan proses regression testing agar lebih efektif, seperti:
- Kode harus di bawah configuration management tool.
- Tidak boleh ada perubahan kode saat proses pengujian.
- Databaseperangkat lunak tidak boleh ada perubahan dan harus diisolasi.
Keunggulan dan Kelemahan
Regression testing memiliki beberapa keunggulan, antara lain:
- Dapat memastikan bugyang diperbaiki atau perubahannya tidak berdampak pada fungsionalitas perangkat lunak.
- Meningkatkan kualitas produk.
- Dapat menggunakan tooluntuk pengujian otomatis dan tidak perlu repot menguji secara manual.
- Memastikan issueyang telah diperbaiki tidak terjadi lagi.
Meskipun regression testing adalah pengujian yang penting dan juga sangat dibutuhkan, tetapi melakukan pengujian ini akan menghadapi beberapa tantangan atau memiliki kelemahan. Jika test case tidak menggunakan pengujian otomatis, maka akan memakan banyak waktu dan eksekusi yang berulang-ulang.
Kesimpulan
Demikian uraian tentang regression testing agar fungsionalitas perangkat lunak yang dibangun dapat berjalan dengan baik tanpa hambatan. Regression testing adalah salah satu solusi pengujian yang tidak boleh luput ketika akan merilis perangkat lunak. Jadi, sudah mempersiapkan pengujian perangkat lunak, Anda? Untuk informasi menarik lainnya, pantengin terus Appkey.id, ya!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.