ความครอบคลุมการทดสอบในการทดสอบซอฟต์แวร์

ความครอบคลุมการทดสอบคืออะไร?

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

พูดง่ายๆ ก็คือเทคนิคเพื่อให้แน่ใจว่าการทดสอบของคุณกำลังทดสอบโค้ดของคุณ หรือคุณใช้โค้ดจำนวนเท่าใดจากการรันการทดสอบ

ความคุ้มครองการทดสอบทำอะไรได้บ้าง?

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

ความครอบคลุมการทดสอบสามารถทำได้อย่างไร?

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

ประโยชน์ของความครอบคลุมการทดสอบในวิศวกรรมซอฟต์แวร์

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

อะไรคือความแตกต่างหลักระหว่างการครอบคลุมโค้ดและความครอบคลุมการทดสอบ?

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

ต่อไปนี้เป็นข้อแตกต่างที่สำคัญบางประการระหว่างบูธของวิธีการครอบคลุมเหล่านี้:

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

สูตรความครอบคลุมการทดสอบ

หากต้องการคำนวณความครอบคลุมของการทดสอบ คุณต้องทำตามขั้นตอนด้านล่าง:

ขั้นตอน 1) จำนวนบรรทัดโค้ดทั้งหมดในคุณภาพของซอฟต์แวร์ที่คุณเป็น การทดสอบ

ขั้นตอน 2) จำนวนบรรทัดของโค้ดที่กรณีการทดสอบทั้งหมดดำเนินการอยู่ในปัจจุบัน

ตอนนี้ คุณต้องหา (X หารด้วย Y) คูณด้วย 100 ผลลัพธ์ของการคำนวณนี้คือ % ความครอบคลุมของการทดสอบของคุณ

ตัวอย่างเช่น:

หากจำนวนบรรทัดของโค้ดในส่วนประกอบของระบบคือ 500 และจำนวนบรรทัดที่ดำเนินการในกรณีทดสอบที่มีอยู่ทั้งหมดคือ 50 ความครอบคลุมการทดสอบของคุณคือ:

(50 / 500) * 100 = 10%

ตัวอย่างความครอบคลุมการทดสอบ

1 ตัวอย่าง:

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

2 ตัวอย่าง:

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

ข้อเสียของความครอบคลุมการทดสอบ:

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