Pekerjaan saya saat ini kebanyakan menulis kode uji GUI untuk berbagai aplikasi yang kami kerjakan. Namun, saya menemukan bahwa saya cenderung menyalin dan menempel banyak kode dalam pengujian. Alasan untuk ini adalah bahwa area yang saya uji cenderung cukup mirip sehingga perlu pengulangan tetapi tidak cukup mirip untuk merangkum kode ke dalam metode atau objek. Saya menemukan bahwa ketika saya mencoba menggunakan kelas atau metode lebih luas, tes menjadi lebih rumit untuk dipelihara dan kadang-kadang sulit untuk menulis.
Sebagai gantinya, saya biasanya menyalin sebagian besar kode uji dari satu bagian dan menempelnya ke bagian lain, dan membuat perubahan kecil yang saya butuhkan. Saya tidak menggunakan cara pengkodean yang lebih terstruktur, seperti menggunakan lebih banyak prinsip atau fungsi OO.
Apakah coders lain merasakan hal ini ketika menulis kode tes? Jelas saya ingin mengikuti prinsip KERING dan YAGNI, tetapi saya menemukan bahwa kode uji (kode uji otomatis untuk pengujian GUI) dapat membuat prinsip-prinsip ini sulit untuk diikuti. Atau apakah saya hanya perlu lebih banyak praktik pengkodean dan sistem keseluruhan yang lebih baik dalam melakukan sesuatu?
EDIT: Alat yang saya gunakan adalah SilkTest, yang dalam bahasa eksklusif disebut 4Test. Selain itu, tes ini sebagian besar untuk aplikasi desktop Windows, tetapi saya juga telah menguji aplikasi web menggunakan pengaturan ini juga.