Studi empiris dan replikasi mengungkapkan bahwa pengembang sering salah memahami efektivitas teknik pengujian dan peninjauan kode. Kesalahan penilaian ini—seringkaliStudi empiris dan replikasi mengungkapkan bahwa pengembang sering salah memahami efektivitas teknik pengujian dan peninjauan kode. Kesalahan penilaian ini—seringkali

Mengapa Developer Terus Memilih Teknik Pengujian yang Salah

2025/12/15 05:09

:::info Penulis:

  1. Sira Vegas
  2. Patricia Riofr´ıo
  3. Esperanza Marcos
  4. Natalia Juristo

:::

Abstrak

1 Pendahuluan

2 Studi Asli: Pertanyaan Penelitian dan Metodologi

3 Studi Asli: Ancaman Validitas

4 Studi Asli: Hasil

5 Studi Replikasi: Pertanyaan Penelitian dan Metodologi

6 Studi Replikasi: Ancaman Validitas

7 Studi Replikasi: Hasil

8 Diskusi

9 Karya Terkait

10 Kesimpulan dan Referensi

Abstrak

Masalah berulang dalam pengembangan perangkat lunak adalah pengambilan keputusan yang salah tentang teknik, metode, dan alat yang akan digunakan. Sebagian besar, keputusan ini didasarkan pada persepsi pengembang tentang hal tersebut. Faktor yang mempengaruhi persepsi orang adalah pengalaman masa lalu, tetapi itu bukan satu-satunya. Dalam penelitian ini, kami bertujuan untuk menemukan seberapa baik persepsi tentang efektivitas deteksi cacat dari berbagai teknik sesuai dengan efektivitas nyata mereka tanpa adanya pengalaman sebelumnya.

\ Untuk melakukan ini, kami melakukan studi empiris plus replikasi. Selama studi asli, kami melakukan eksperimen terkontrol dengan mahasiswa yang menerapkan dua teknik pengujian dan satu teknik tinjauan kode. Pada akhir eksperimen, mereka mengikuti survei untuk mengetahui teknik mana yang mereka anggap paling efektif. Hasilnya menunjukkan bahwa persepsi peserta salah dan ketidaksesuaian ini mahal dalam hal kualitas.

\ Untuk mendapatkan wawasan lebih lanjut tentang hasil, kami mereplikasi eksperimen terkontrol dan memperluas survei untuk memasukkan pertanyaan tentang pendapat peserta mengenai teknik dan program. Hasil studi replikasi mengkonfirmasi temuan studi asli dan menunjukkan bahwa persepsi peserta mungkin didasarkan bukan pada pendapat mereka tentang kompleksitas atau preferensi untuk teknik tetapi pada seberapa baik mereka pikir bahwa mereka telah menerapkan teknik tersebut.

1. Pendahuluan

Praktik yang semakin populer saat ini adalah perusahaan pengembangan perangkat lunak membiarkan pengembang memilih lingkungan teknologi mereka sendiri. Ini berarti bahwa pengembang yang berbeda dapat menggunakan alat produktivitas yang berbeda (bahasa pemrograman, IDE, dll.). Namun, rekayasa perangkat lunak (SE) adalah disiplin yang intensif manusia di mana keputusan yang salah dapat berpotensi membahayakan kualitas perangkat lunak yang dihasilkan. Dalam SE, keputusan tentang metode, teknik, dan alat mana yang akan digunakan dalam pengembangan perangkat lunak biasanya didasarkan pada persepsi dan/atau pendapat pengembang daripada bukti, seperti yang disarankan oleh Dyb˚a et al. [19] dan Zelkowitz et al. [55].

\ Namun, bukti empiris mungkin tidak tersedia, karena metode, teknik, atau alat tertentu mungkin belum dipelajari dalam pengaturan tertentu atau bahkan sama sekali. Atau, pengembang mungkin hanya tidak mengenal studi tersebut, menurut Vegas & Basili [49]. Atas dasar ini, penting untuk menemukan seberapa baik persepsi pengembang (keyakinan) sesuai dengan kenyataan dan, jika tidak, cari tahu apa yang ada di balik ketidaksesuaian ini, seperti yang dicatat oleh Devanbu et al.[14]. Menurut Psikologi, pengalaman berperan dalam persepsi orang. Hal ini juga telah diamati oleh Devanbu et al. [14] dalam SE.

\ Namun, penelitian ini bertujuan untuk menemukan seberapa baik persepsi cocok dengan kenyataan tanpa adanya pengalaman sebelumnya dalam teknologi yang digunakan. Ini masuk akal karena beberapa alasan: 1) pengalaman bukan satu-satunya faktor yang mempengaruhi persepsi pengembang; 2) tim pengembangan biasanya terdiri dari campuran orang dengan dan tanpa pengalaman; dan 3) tidak jelas jenis pengalaman apa yang mempengaruhi persepsi. Misalnya, Dieste et al. [17] menyimpulkan bahwa pengalaman akademis daripada profesional dapat mempengaruhi kualitas eksternal kode yang dihasilkan oleh pengembang ketika menerapkan Test-Driven Development.

\ Kami bertujuan untuk mempelajari apakah persepsi tentang efektivitas tiga teknik deteksi cacat sesuai dengan kenyataan, dan jika tidak, apa yang ada di balik persepsi ini. Sejauh pengetahuan kami, ini adalah makalah pertama yang secara empiris menilai masalah ini. Untuk tujuan ini, kami melakukan studi empiris plus replikasi dengan mahasiswa. Selama studi asli kami mengukur (sebagai bagian dari eksperimen terkontrol) efektivitas dua teknik pengujian dan satu teknik tinjauan kode ketika diterapkan oleh peserta. Kami kemudian memeriksa teknik yang dianggap paling efektif (dikumpulkan melalui survei) terhadap yang sebenarnya.

\ Selain itu, kami menganalisis biaya ketidaksesuaian antara persepsi dan kenyataan dalam hal hilangnya efektivitas. Temuan utama meliputi:

– Orang yang berbeda memandang teknik yang berbeda lebih efektif. Tidak ada satu teknik yang dianggap lebih efektif daripada yang lain. – Persepsi 50% peserta (11 dari 23) salah.

– Persepsi yang salah tentang teknik dapat mengurangi efektivitas 31pp (poin persentase) rata-rata.

\ Temuan ini membawa kami untuk memperluas tujuan studi dalam replikasi untuk menyelidiki apa yang mungkin ada di balik persepsi peserta. Untuk melakukan ini, kami memeriksa pendapat mereka tentang teknik yang mereka terapkan dan program yang mereka uji dalam replikasi eksperimen terkontrol. Temuan utama meliputi:

– Hasil replikasi mengkonfirmasi temuan studi asli.

– Peserta berpikir bahwa efektivitas teknik bergantung secara eksklusif pada kinerja mereka dan bukan pada kemungkinan kelemahan teknik itu sendiri. – Pendapat tentang kompleksitas teknik dan preferensi untuk teknik tampaknya tidak berperan dalam persepsi efektivitas. Hasil ini berguna bagi pengembang dan peneliti. Mereka menyarankan:

– Pengembang harus menyadari keterbatasan penilaian mereka.

– Alat harus dirancang yang memberikan umpan balik kepada pengembang tentang seberapa efektif teknik tersebut.

– Kombinasi terbaik dari teknik yang akan diterapkan harus ditentukan yang pada saat yang sama mudah diterapkan dan efektif. – Instrumen harus dikembangkan untuk membuat hasil empiris tersedia bagi pengembang.

\ Materi yang terkait dengan studi yang disajikan di sini dapat ditemukan di https://github.com/GRISE-UPM/Misperceptions. Artikel ini disusun sebagai berikut. Bagian 2 menjelaskan studi asli. Bagian 3 menyajikan ancaman validitasnya. Bagian 4 membahas hasilnya. Bagian 5 menjelaskan studi replikasi berdasarkan modifikasi yang dilakukan pada studi asli. Bagian 6 menyajikan ancaman validitasnya. Bagian 7 melaporkan hasil studi replikasi ini. Bagian 8 membahas temuan kami dan implikasinya. Bagian 9 menunjukkan karya terkait. Akhirnya, Bagian 10 menguraikan kesimpulan dari pekerjaan ini.

\ \

:::info Makalah ini tersedia di arxiv di bawah lisensi CC BY-NC-ND 4.0.

:::

\

Penafian: Artikel yang diterbitkan ulang di situs web ini bersumber dari platform publik dan disediakan hanya sebagai informasi. Artikel tersebut belum tentu mencerminkan pandangan MEXC. Seluruh hak cipta tetap dimiliki oleh penulis aslinya. Jika Anda meyakini bahwa ada konten yang melanggar hak pihak ketiga, silakan hubungi [email protected] agar konten tersebut dihapus. MEXC tidak menjamin keakuratan, kelengkapan, atau keaktualan konten dan tidak bertanggung jawab atas tindakan apa pun yang dilakukan berdasarkan informasi yang diberikan. Konten tersebut bukan merupakan saran keuangan, hukum, atau profesional lainnya, juga tidak boleh dianggap sebagai rekomendasi atau dukungan oleh MEXC.