การแยกข้อบกพร่อง/ข้อบกพร่องในการทดสอบซอฟต์แวร์

⚡ สรุปอย่างชาญฉลาด

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

  • 🔘 วัตถุประสงค์: ประเมิน จัดลำดับความสำคัญ และมอบหมายข้อบกพร่องใหม่ทุกรายการ เพื่อให้แน่ใจว่าไม่มีสิ่งสำคัญใดตกหล่น
  • ☑️ ความถี่: โดยปกติจะมีการประชุมสองถึงสามครั้งต่อสัปดาห์ ปรับให้เหมาะสมกับตารางเวลาของโครงการและปริมาณข้อบกพร่อง
  • ✅ เข้าร่วม: ผู้จัดการโครงการ หัวหน้าทีมทดสอบ หัวหน้าฝ่ายเทคนิค และหัวหน้าทีมพัฒนา ต้องเข้าร่วมในฐานะสมาชิกที่จำเป็น
  • 🧪 ระดับความรุนแรงและลำดับความสำคัญ: ระดับความรุนแรงวัดผลกระทบต่อผลิตภัณฑ์ ส่วนลำดับความสำคัญจะกำหนดลำดับการแก้ไขปัญหา
  • 🛠️ ผลลัพธ์ของการประชุม: ตัวชี้วัดการคัดกรองข้อบกพร่องจะทำหน้าที่เป็นนาทีและนำไปใช้ในการคัดกรองครั้งต่อไป
  • ⚡ เครื่องมือ: ทุกการตัดสินใจจะถูกบันทึกไว้ในบั๊ก tracระบบ King System ทำให้บันทึกการตรวจสอบยังคงอยู่หลังจากการประชุม

กระบวนการคัดกรองข้อผิดพลาดและข้อบกพร่องในการทดสอบซอฟต์แวร์

'การตรวจสอบข้อบกพร่อง' คืออะไร?

การคัดแยกข้อบกพร่อง (Defect triage) คือกระบวนการที่แต่ละข้อบกพร่องจะได้รับการจัดลำดับความสำคัญตามความรุนแรง ความถี่ ความเสี่ยง ฯลฯ คำว่า Triage ใช้ในบริบทนี้ การทดสอบซอฟต์แวร์ / ฝ่ายควบคุมคุณภาพจะกำหนดความรุนแรงและลำดับความสำคัญของข้อบกพร่องใหม่ ๆ

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

ทำไมเราจึงต้องมี 'Defect Triage'?

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

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

เหตุใดการคัดกรองข้อผิดพลาดและข้อบกพร่องจึงมีความจำเป็นในโครงการ QA

จำเป็นต้องดำเนินการ 'Defect Triage' ในรุ่นบ่อยแค่ไหน

ความถี่ของการประชุมคัดแยกข้อบกพร่องไม่ได้รับการแก้ไข ขึ้นอยู่กับสถานการณ์ของโครงการ

ต่อไปนี้เป็นปัจจัยสำคัญบางประการที่เป็นตัวกำหนดความถี่ของการประชุมคัดแยกข้อบกพร่อง:

ปัจจัยสำคัญเหล่านี้คือ:

  • ตามกำหนดการของโครงการ
  • จำนวนข้อบกพร่องในระบบ
  • ผลกระทบต่อตารางความพร้อมของสมาชิกในทีม
  • ความสมบูรณ์ของโครงการโดยรวม

โดยปกติแล้ว การประชุมคัดแยกข้อบกพร่องจะจัดขึ้นสองหรือสามครั้งในหนึ่งสัปดาห์

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

ใครคือผู้เข้าร่วมที่ได้รับมอบอำนาจและผู้เข้าร่วมรายอื่นของ 'Defect Triage'

ผู้เข้าร่วมบังคับ

สมาชิกโครงการด้านล่างนี้จะมีส่วนร่วมในการประชุม Defect Triage เสมอ

  • Project Manager
  • หัวหน้าทีมทดสอบ
  • หัวหน้าฝ่ายเทคนิค
  • หัวหน้าทีมพัฒนา

ผู้เข้าร่วมทางเลือก

  • นักพัฒนา
  • ทดสอบ
  • นักวิเคราะห์ธุรกิจ

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

บทบาทและความรับผิดชอบของผู้เข้าร่วมระหว่าง 'การตรวจสอบข้อบกพร่อง'

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

หัวหน้าทีมทดสอบ

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

หัวหน้าฝ่ายพัฒนา

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

Project Manager

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

ผู้จัดการโครงการเป็นผู้กำหนดวันวางจำหน่าย ดังนั้นการตัดสินใจขั้นสุดท้ายเกี่ยวกับข้อบกพร่องที่มีข้อโต้แย้งมักตกอยู่กับผู้จัดการโครงการ ดังแสดงในภาพด้านล่าง

หน้าที่ความรับผิดชอบของผู้จัดการโครงการในการประชุมคัดกรองข้อบกพร่อง

จะเกิดอะไรขึ้นในระหว่างการประชุม 'Defect Triage'

  • หัวหน้าทีมทดสอบส่งรายงานข้อบกพร่องพร้อมข้อบกพร่องใหม่ออกไป ในระหว่างการประชุมคัดแยกข้อบกพร่อง ข้อบกพร่องแต่ละรายการจะได้รับการวิเคราะห์เพื่อดูว่ามีการจัดลำดับความสำคัญและความรุนแรงที่ถูกต้องหรือไม่
  • ลำดับความสำคัญจะถูกจัดเรียงใหม่หากจำเป็น
  • ข้อบกพร่องจะได้รับการวิเคราะห์และประเมินตามระดับความรุนแรง
  • รวมถึงการหารือเกี่ยวกับความซับซ้อนของข้อบกพร่อง ความเสี่ยง การปฏิเสธ และการมอบหมายข้อผิดพลาดใหม่
  • การอัปเดตจะถูกบันทึกไว้ในบั๊ก tracระบบกษัตริย์
  • วิศวกร QA จะทำการเปลี่ยนแปลงข้อบกพร่องแต่ละข้อและหารือกับผู้เข้าร่วมแต่ละคน
  • ช่อง "ความคิดเห็น" ได้รับการอัปเดตอย่างถูกต้องโดยระบุประเด็นสำคัญของการประชุม

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

แง่มุม ความรุนแรง ลำดับความสำคัญ
มันวัดอะไร ความเสียหายที่เกิดขึ้นนั้นส่งผลกระทบต่อผลิตภัณฑ์หรือฟังก์ชันการทำงานมากน้อยเพียงใด ต้องแก้ไขข้อบกพร่องนี้ให้เสร็จเร็วแค่ไหนเมื่อเทียบกับงานอื่นๆ
ปกติกำหนดโดย ผู้ทดสอบที่รายงานข้อบกพร่อง เห็นพ้องกันในขั้นตอนการคัดกรอง โดยมีผู้จัดการโครงการและฝ่ายผลิตภัณฑ์เป็นผู้นำ
ขับโดย ผลกระทบทางเทคนิคและฟังก์ชันการทำงานที่ได้รับผลกระทบ ผลกระทบทางธุรกิจ การมองเห็นของลูกค้า และวันวางจำหน่าย
ตัวอย่างของความไม่ตรงกัน ความรุนแรงสูง แต่ลำดับความสำคัญต่ำ: ข้อผิดพลาดในฟังก์ชันที่ไม่มีใครใช้จนกว่าจะถึงไตรมาสถัดไป ความรุนแรงต่ำ แต่ความสำคัญสูง: ชื่อบริษัทสะกดผิดบนหน้า Landing Page

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

ผลลัพธ์ของ 'Defect Triage' คืออะไร?

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

รายงานฉบับนี้เป็นจุดเชื่อมโยงระหว่างการคัดกรองเบื้องต้นกับภาพรวมที่กว้างขึ้น กระบวนการจัดการข้อบกพร่องโดยทั่วไปแล้ว ทีมต่างๆ มักจะบันทึกข้อมูลต่อไปนี้ลงในไฟล์นี้:

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

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

คำถามที่พบบ่อย

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

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

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

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

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

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

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

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

สรุปโพสต์นี้ด้วย: