Bug เปิดใหม่และใหม่


55

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

หากระบุคุณสมบัติของบั๊กเหมือนกันคุณจะเปิด ID บั๊กที่มีอยู่อีกครั้งหรือเปิดขึ้นใหม่พร้อมลิงก์ไปยังบั๊กที่ถูกปิดหรือไม่?

คำตอบ:


86

สาเหตุไม่เท่าเทียมกัน ข้อผิดพลาดใหม่อาจมีเหตุผลพื้นฐานที่แตกต่างกันแม้ว่ามันจะดูเหมือนกัน ดังนั้นให้เปิดบั๊กใหม่แล้วชี้ไปที่อันเก่าเพื่อช่วยนักพัฒนา


23
+1 มีโรคdifferntมากมายที่มีวิธีการรักษาต่างกันที่มีอาการร่วมกัน
FrustratedWithFormsDesigner

มันจะยุติธรรมที่จะอนุมานว่าถ้าข้อผิดพลาดที่พิสูจน์แล้วว่ามีสาเหตุเดียวกันคุณเปิดมันอีกครั้ง?
KMoraz

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

1
@KMoraz ฉันจะบอกว่าไม่ สมมติว่ามันได้รับการแก้ไขใน 1.0, 1.1 ไม่ได้มี แต่มันปรากฏขึ้นอีกครั้งใน 1.2 หากตัวติดตามปัญหาของคุณให้คุณเชื่อมโยงกับการเปิดตัวเซิร์ฟเวอร์ในครั้งเดียวคุณจะสูญเสียประวัติที่พบและแก้ไขใน 1.0 เพิ่งเปิดบั๊กใหม่
Andy

1
@Andy อย่าคิดว่ามันจะเปลี่ยนแปลงอะไร แต่อาจมี 1.1 และไม่มีใครสังเกต ...
joshuahedlund

35

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


16

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


2
การอ้างถึง bug IDs ในโน้ตแพทช์เป็นเพียงแค่ .. ไม่เป็นมิตรมาก
โทมัส Bonini

3
@krelp มันจะมีประโยชน์เมื่อคุณทำงานกับผู้ขายเพื่อแก้ไขปัญหาและคุณสามารถติดตาม bug ID ที่คุณได้รับพร้อมกับ bug id ในบันทึกประจำรุ่น
Darryl Braaten

1
@Krelp ฉันสงสัยว่าทำไมมันถึงเป็นความคิดที่ไม่ดีดังนั้นฉันจึงถามที่นี่: programmers.stackexchange.com/questions/142258/… บางทีคุณอาจมีบางอย่างในเรื่องนี้? :)
Travis Northcutt

นี่เป็นจุดที่ดี
KMoraz

4

โดยทั่วไปแล้วให้เปิดบั๊กใหม่

แต่ถ้าคุณได้รับอนุญาตให้ทำการตรวจสอบบางครั้งแรกผมจะตรวจสอบประวัติของคุณในรหัสที่มา

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

การดูประวัติของไฟล์ที่มีการแก้ไขข้อผิดพลาดจะยืนยันหรือกำจัดอย่างรวดเร็วว่าเป็นไปได้


1
"(กล่าวคือพวกเขาไม่ได้รับล่าสุดหลังจากแก้ไขการตรวจสอบดั้งเดิม) ทำการเปลี่ยนแปลงแล้วเช็คอินโดยไม่ทำ diff" ... หากเกิดเหตุการณ์ที่ระบบควบคุมแหล่งของคุณเสีย
JoelFan

@JoelFan - ไม่จำเป็น บางครั้งการผสานอัตโนมัติทำงานไม่ถูกต้องและบางครั้งการผสานด้วยตนเองไม่ทำงานอย่างถูกต้อง หรืออาจเป็นกรณีที่พวกเขาพลาดการเปลี่ยนแปลงเมื่อพวกเขาทำ diff ฯลฯ สิ่งที่ฉันพูดคือกลิ่นของความผิดพลาดของมนุษย์และการตรวจสอบประวัติการควบคุมแหล่งที่มา 2 นาทีอาจช่วยได้มาก การทะเลาะ
Wonko the Sane

1
การตรวจสอบประวัตินั้นมีค่าอยู่แล้ว ... เพราะถ้าหากระบบควบคุมแหล่งข้อมูลของคุณเสียคุณต้องการที่จะรู้
mjfgates

2
ถ้ามันเกิดขึ้นall the timeมันไม่ใช่ SCM ที่พังมันเป็นทีมพัฒนาของคุณ ...
Daenyth

1

ฉันเห็นด้วยกับข้อเสนอแนะของผู้โพสต์ก่อนหน้านี้เพื่อเปิดบั๊กใหม่เนื่องจากอาจไม่เป็นสาเหตุเดียวกัน

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


1

ไม่ใช่การเปรียบเทียบที่ดีที่สุด - เพียงเพราะอาการของคนสองคนเท่ากันก็ไม่ได้หมายความว่าโรค / สาเหตุของโรคจะเหมือนกัน

จากวิกิพีเดีย:

ข้อบกพร่องของซอฟต์แวร์คือข้อผิดพลาดข้อบกพร่องความล้มเหลวหรือความผิดพลาดในโปรแกรมคอมพิวเตอร์หรือระบบที่ทำให้เกิดผลลัพธ์ที่ไม่ถูกต้องหรือไม่คาดคิดหรือทำงานในลักษณะที่ไม่ได้ตั้งใจ ข้อบกพร่องส่วนใหญ่เกิดขึ้นจาก .....

ข้อผิดพลาดเป็นข้อบกพร่องในรหัสและมันมีอาการ / ผลกระทบ บั๊กไม่ใช่อาการ จุดบกพร่องคือข้อผิดพลาดในรหัส เพียงเพราะอาการเหมือนกันมันไม่ได้แปลว่าข้อบกพร่องเดียวกันจะทำให้เกิดอาการ

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

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

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

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