เพิ่มการทดสอบหน่วยสำหรับข้อบกพร่องใหม่แต่ละรายการ


35

ในงานของฉันนักพัฒนาทั้งหมดที่แก้ไขข้อผิดพลาดจะต้องเพิ่มการทดสอบหน่วยใหม่ที่เตือนเกี่ยวกับข้อบกพร่องประเภทนี้ (ในกรณีที่มันเกิดขึ้นอีกครั้ง) หากไม่สามารถทดสอบหน่วย (ตัวอย่างเช่นปัญหาการออกแบบเว็บเพจ) แผนก QA จะต้องสร้างกรณีทดสอบเพื่อตรวจสอบด้วยตนเอง

แนวคิดเบื้องหลังคือถ้าหากไม่พบข้อบกพร่องก่อนที่จะเปิดตัวผลิตภัณฑ์เนื่องจากไม่มีการทดสอบหน่วยที่เหมาะสมในการตรวจจับ ดังนั้นผู้พัฒนาจะต้องเพิ่มมัน

คำถามคือสิ่งนี้เป็นเรื่องธรรมดาในวิธีการพัฒนาซอฟต์แวร์หรือไม่ เทคนิคนี้มีชื่อหรือไม่? ฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับมัน แต่ฉันต้องการข้อมูลบางอย่างเพื่อเริ่มต้นด้วย


6
มันเรียกว่าการทดสอบการถดถอยและค่อนข้างบ่อย ฉันสามารถเชื่อมโยงบทความวิกิพีเดียได้เท่านั้น แต่ยังห่างไกลจากความสมบูรณ์แบบ
devmiles.com

23
เป็นวิธีปฏิบัติที่ดีที่สุดในการทำเช่นนี้และหาได้ยากจริงๆในความเป็นจริง
Sardathrion - Reinstate Monica

1
คุณสามารถยืนยันว่าการเช็คอินทุกครั้งจะต้องมีการเปลี่ยนแปลงการทดสอบหน่วยที่ตรงกัน
Carra

“ เรียกว่าการทดสอบการถดถอย” - บางครั้งเรียกว่า“ การทดสอบการถดถอย” ผิดพลาด
kirelagin

คำตอบ:


28

นี่เป็นเรื่องธรรมดา เราใช้สิ่งนี้ในทีมของเรา สำหรับข้อบกพร่องในการผลิตทุกครั้งผู้พัฒนาจะต้องเพิ่มบันทึกเกี่ยวกับสาเหตุของปัญหาเพิ่มหน่วยทดสอบที่ล้มเหลวและเพิ่มการวิเคราะห์ผลกระทบการทดสอบก่อนที่ตั๋วจะถูกผลักไปยังสถานะ dev เพื่อตรวจสอบในรหัส

การทดสอบหน่วยที่ล้มเหลวจะต้องผ่านก่อนที่เราจะสามารถส่งรหัสไปยังการผลิตได้

ฉันไม่คิดว่าจะมีชื่อเฉพาะยกเว้น "การทดสอบการถดถอย" ทั่วไป สิ่งนี้มีประโยชน์มากและเราเริ่มเห็นการเพิ่มขึ้นของคุณภาพของผลิตภัณฑ์หลังจากที่เราเริ่มทำตามกระบวนการนี้


14

แน่นอน!

หากคุณสามารถยอมรับว่าการทดสอบหน่วยเป็นสิ่งที่ดีแล้วคุณจะรู้ว่าหากมีข้อผิดพลาดจะมีการทดสอบหน่วยที่ขาดหายไปซึ่งครอบคลุมเส้นทางรหัสนั้น

ดังนั้นสิ่งที่ควรเกิดขึ้นคือคุณเขียนการทดสอบหน่วยที่แสดงข้อผิดพลาดที่มีอยู่แก้ไขข้อผิดพลาดที่เกิดขึ้นจริงแล้วการทดสอบหน่วยจะผ่าน

หากคุณไม่มีการทดสอบหน่วยเลยอาจเป็นวิธีที่ดีในการเริ่มแนะนำการทดสอบหน่วยในโครงการ


11

เทคนิคคือการพัฒนาที่ขับเคลื่อนด้วยการทดสอบ มันไม่ได้เกี่ยวกับการพบจุดบกพร่องที่คล้ายกันในครั้งต่อไปแม้ว่าชุดการทดสอบที่ทำซ้ำได้จะมีประโยชน์เสมอ ประเด็นก็คือคุณสามารถแสดงให้เห็นว่าคุณได้แยกสิ่งที่ผิดกับรหัสพิสูจน์ว่าผิดแก้ไขได้พิสูจน์ว่าการแก้ไขนั้นถูกต้อง

มีคำพูดที่ฉันจำไม่ได้หรือพบได้ แต่โดยคร่าวๆคือ: "ข้อผิดพลาดทุกข้อคือการทดสอบที่ยังไม่ได้เขียน"

การพยายามขายมันเป็นการทดสอบการถดถอยเป็นการต่อสู้ที่สูญหาย IMHO เมื่อพิจารณาว่าสิ่งเหล่านี้เกิดข้อผิดพลาดซ้ำ ๆ กันบ่อยนักพัฒนาส่วนใหญ่จะพูดว่า "ทำไมต้องรำคาญเมื่อฉันสามารถแก้ไขได้"


0

เทคนิคนี้ค่อนข้างธรรมดาและในความเห็นของฉันชื่อที่ดีที่สุดคือ "การทดสอบการขับเคลื่อนที่มีข้อบกพร่อง" (ฉันพบด้วยตัวเองแล้วพบว่ามันอธิบายไว้ภายใต้ชื่อนี้มานานแล้ว )


บางครั้งคุณอาจเห็นบางคนเรียกการทดสอบเหล่านี้ว่า "การทดสอบการถดถอย" แต่โดยส่วนตัวแล้วฉันพบว่ามันค่อนข้างยากที่จะพิสูจน์ชื่อนี้ คำจำกัดความที่แพร่หลายมากขึ้น (และอีกนัยหนึ่งที่สมเหตุสมผลสำหรับชื่อนี้) ของ "การทดสอบการถดถอย" คือ "การทดสอบที่ดำเนินการหลังจากทำการเปลี่ยนแปลงรหัสเพื่อให้แน่ใจว่าคุณไม่ได้แนะนำการถดถอย" และ CI ของคุณ ที่ทดสอบแต่ละสาขาเมื่อพุชไปที่ที่เก็บตอบสนอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.