กลับมาอีกครั้ง กับภาคต่อของ Test Process ที่ยังไม่จบ หลังจากหายไปนานโข T_T มาครั้งนี้ไม่รอช้าค่ะ มาแนะนำกันต่อเลยล่ะกันค่ะ Go Go Go……

หลังจากที่เราดำเนินงานซะจน หุหุ อ่ะ ๆๆๆ เจอ Defect แล้ว รวมทั้ง ส่งรายงานผลของปัญหาทีพบกันไปแล้ว และเราก็นั่งลัลล้า…. รอให้ทางโปรแกรมเมอร์ท่านแก้ไขปัญหาต่าง ๆ ที่เราพบจนเสร็จเรียบร้อยแล้ว คราวนี้ก็มาถึงคราวของเหล่าท่าน Tester ทั้งหลาย ลงมือทดสอบกันอีกครั้งว่า defect ต่าง ๆ ที่ท่านส่งไปนั้นได้รับการแก้ไขปัญหาแล้วหรือยัง ซึ่งใน Phase นี้ คงมีคำศัพท์ที่คุ้น ๆ หูกันอยู่ 2 คำค่ะ คือ Re- Test และ Regression Testing ค่ะ

ทั้งนี้ ในการตรวจสอบปัญหาใน Phase นี้ ก่อนอื่น เราเองจะต้องมาตรวจสอบสถานะของปัญหาแต่ละข้อกันเสียก่อนว่า

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

Regression Testing

photo by bbc.co.uk

Purpose

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

Entry Criteria

  • ทำการ  Test Execution เรียบร้อยแล้ว
  • ทีมผู้พัฒนาทำการแจ้งยืนยันความพร้อมของระบบ ทั้งนี้ ทีมผู้พัฒนาจะต้องดำเนินการต่าง ๆ ดังต่อไปนี้ เรียบร้อยแล้ว
  • ทำการแก้ไขปัญหาจากรายงานปัญหา (Defects Report) ที่พบเรียบร้อยแล้ว
  • ทำการ Update / Deployment Source code ไปที่ Test Environment เรียบร้อยล้ว
  • ทำการแจ้งปรับสถานะต่าง ๆ ของรายงานปัญหาที่แจ้งเรียบร้อยแล้ว

Process

  • ทาง Test Team จะทำการตรวจสอบความพร้อมของระบบก่อนที่จะทำการทดสอบระบบค่ะ  ในส่วนนี้ ทาง Test Team จะทำการตรวจสอบในเบื้องต้นเท่านั้นค่ะ ในขั้นตอนนี้ จะเป็นขั้นตอนในลักษณะเดียวกันกับใน Test Process – Phase 3:Test Execution ค่ะ
  • จากนั้น ก็เริ่มลงมือเข้าสู่กระบวนการ Regression Test กันเลยค่ะ แต่สำหรับครั้งนี้ เราจะดำเนินงานตาม Defects Report กันนะค่ะ หรือ กล่าวได้อีกรูปแบบนึงก็คือ ตาม Test Case ใน Test Process – Phase 3:Test Execution ค่ะ  แต่จะเน้นในส่วนของ Case ที่ไม่ผ่านก่อนค่ะ ซึ่งในส่วนนี้ ยังคงนำข้อมูลต่าง ๆ ที่เราเคยเตรียมไว้แล้วใน  Test Process – Phase 2:Test Design and Preparation มาใช้กันได้ค่ะ
  • เมื่อทดสอบระบบไปแล้ว พบปัญหาใด ๆ เราก็ทำการ Record ไว้ และทำการส่ง Defect หรือ ปัญหาในการใช้งานนั้น ๆ ผ่าน ระบบ Defects Tracking กันเช่นเดิมค่ะ
  • เมื่อทาง Test Team ทำการทดสอบระบบเรียบร้อยแล้ว  จะทำการ Review Defects กับทีมต่าง ๆ ที่เกี่ยวข้องทั้งหมดอีกครั้งค่ะ  เพื่อสรุปภาพรวมให้ทุกทีมได้ทราบอย่างทั่วถึงกัน ซึ่งในการทดสอบครั้งนี้ จะมีลักษณะของ Defects ที่พบคือ
    • Defects ใหม่ ที่ไม่พบใน Test Process – Phase 3:Test Execution ค่ะ
    • Defects เก่าที่เคยรายงานไปแล้ว แต่ยังคงพบปัญหาเดิมอยู่
    • Defects เก่าที่รายงานไปแล้ว และทำการแก้ไขเรียบร้อย

Exit Criteria

  • เมื่อทาง Test Team ดำเนินการต่าง ๆ แล้วดังนี้
    • ดำเนินการทดสอบตามรายละเอียดของปัญหาเรียบร้อยแล้ว
    • ดำเนินการส่งรายงานปัญหาต่าง ๆ ที่พบทั้งหมดเรียบร้อยแล้ว
    • ดำเนินการ Review Defects ต่าง ๆ กับทีมที่เกี่ยวข้อง

หลังจากที่เราดำเนินการไปแล้ว ทั้งใน Phase ของ Test Execution และ Regression Test เรียบร้อยแล้ว อยากฝากให้ ลองนำมาคำนวน Effectiveness และ Efficiency ของการ Test กันเล่น ๆ กันบ้่าง ว่าเป็นอย่างไรกันบ้างนะค่ะ  *v*

อ่านบทความเกี่ยวกับ Test Process เพิ่มเติม :-