งานปัจจุบันของฉันส่วนใหญ่เขียนโค้ดทดสอบ GUI สำหรับแอปพลิเคชันต่างๆที่เราใช้งาน อย่างไรก็ตามฉันพบว่าฉันมักจะคัดลอกและวางรหัสจำนวนมากในการทดสอบ เหตุผลสำหรับเรื่องนี้คือพื้นที่ที่ฉันทดสอบมีแนวโน้มที่จะคล้ายกันมากพอที่จะต้องมีการทำซ้ำ แต่ก็ไม่ได้คล้ายกันมากพอที่จะใส่รหัสลงในเมธอดหรือวัตถุ ฉันพบว่าเมื่อฉันพยายามใช้คลาสหรือวิธีการเพิ่มเติมอย่างกว้างขวางการทดสอบจะยุ่งยากมากขึ้นในการบำรุงรักษาและบางครั้งก็ยากที่จะเขียนตั้งแต่แรก
แต่ฉันมักจะคัดลอกโค้ดทดสอบขนาดใหญ่จำนวนหนึ่งจากส่วนหนึ่งแล้ววางลงในอีกส่วนหนึ่งและทำการเปลี่ยนแปลงเล็กน้อยตามที่ฉันต้องการ ฉันไม่ได้ใช้วิธีการเข้ารหัสที่มีโครงสร้างมากขึ้นเช่นการใช้หลักการหรือฟังก์ชั่น OO มากขึ้น
ผู้เขียนโค้ดคนอื่นรู้สึกเช่นนี้เมื่อเขียนรหัสทดสอบหรือไม่? เห็นได้ชัดว่าฉันต้องการที่จะปฏิบัติตามหลักการ DRY และ YAGNI แต่ฉันพบว่ารหัสทดสอบ (รหัสทดสอบอัตโนมัติสำหรับการทดสอบ GUI ต่อไป) สามารถทำให้หลักการเหล่านี้ยากที่จะปฏิบัติตาม หรือฉันต้องการเพียงแค่ฝึกฝนการเข้ารหัสและระบบโดยรวมที่ดีขึ้นในการทำสิ่งต่าง ๆ ?
แก้ไข: เครื่องมือที่ฉันใช้คือ SilkTest ซึ่งเป็นภาษาที่เป็นกรรมสิทธิ์ที่ชื่อว่า 4Test เช่นกันการทดสอบเหล่านี้ส่วนใหญ่ใช้สำหรับเดสก์ท็อปของ Windows แต่ฉันได้ทำการทดสอบเว็บแอปโดยใช้การตั้งค่านี้เช่นกัน