ความครอบคลุมการทดสอบในการทดสอบซอฟต์แวร์
ความครอบคลุมการทดสอบคืออะไร?
ความครอบคลุมการทดสอบหมายถึงหน่วยวัดในการทดสอบซอฟต์แวร์ที่วัดจำนวนการทดสอบที่ดำเนินการโดยชุดการทดสอบ โดยจะรวมถึงการรวบรวมข้อมูลว่าส่วนใดของโปรแกรมที่ถูกดำเนินการเมื่อรันชุดทดสอบ เพื่อพิจารณาว่าส่วนใดของคำสั่งแบบมีเงื่อนไขได้ถูกนำไปใช้
พูดง่ายๆ ก็คือเทคนิคเพื่อให้แน่ใจว่าการทดสอบของคุณกำลังทดสอบโค้ดของคุณ หรือคุณใช้โค้ดจำนวนเท่าใดจากการรันการทดสอบ
ความคุ้มครองการทดสอบทำอะไรได้บ้าง?
- การค้นหาพื้นที่ของข้อกำหนดที่ไม่ได้นำมาใช้โดยชุดกรณีทดสอบ
- ช่วยสร้างกรณีทดสอบเพิ่มเติมเพื่อเพิ่มความครอบคลุม
- การระบุการวัดเชิงปริมาณของความครอบคลุมของการทดสอบ ซึ่งเป็นวิธีการทางอ้อมสำหรับการตรวจสอบคุณภาพ
- การระบุกรณีทดสอบที่ไม่มีความหมายซึ่งไม่ได้เพิ่มความครอบคลุม
ความครอบคลุมการทดสอบสามารถทำได้อย่างไร?
- ความครอบคลุมของการทดสอบสามารถทำได้โดยใช้เทคนิคการทบทวนแบบคงที่ เช่น การทบทวนโดยผู้ทรงคุณวุฒิ การตรวจสอบ และคำแนะนำแบบทีละขั้นตอน
- โดยการเปลี่ยนข้อบกพร่องเฉพาะกิจให้เป็นกรณีทดสอบที่ปฏิบัติการได้
- ที่ระดับโค้ดหรือระดับการทดสอบหน่วย ความครอบคลุมของการทดสอบสามารถทำได้โดยการใช้การครอบคลุมโค้ดอัตโนมัติหรือเครื่องมือความครอบคลุมการทดสอบหน่วย
- ความครอบคลุมการทดสอบเชิงฟังก์ชันสามารถทำได้โดยใช้เครื่องมือการจัดการการทดสอบที่เหมาะสม
ประโยชน์ของความครอบคลุมการทดสอบในวิศวกรรมซอฟต์แวร์
- สามารถรับประกันคุณภาพของการทดสอบได้
- สามารถช่วยระบุได้ว่าส่วนใดของโค้ดที่ได้รับการสัมผัสจริงสำหรับการเผยแพร่หรือการแก้ไข
- สามารถช่วยระบุเส้นทางในแอปพลิเคชันของคุณที่ไม่ได้ทดสอบได้
- ป้องกัน ข้อบกพร่อง การรั่วไหล
- สามารถควบคุมเวลา ขอบเขต และต้นทุนได้
- การป้องกันข้อบกพร่องในระยะแรกของวงจรชีวิตโครงการ
- สามารถกำหนดจุดตัดสินใจและเส้นทางทั้งหมดที่ใช้ในแอปพลิเคชัน ซึ่งช่วยให้คุณเพิ่มความครอบคลุมของการทดสอบได้
- ช่องว่างในข้อกำหนด กรณีทดสอบ และข้อบกพร่องในระดับหน่วยและระดับรหัสสามารถพบได้ด้วยวิธีง่ายๆ
อะไรคือความแตกต่างหลักระหว่างการครอบคลุมโค้ดและความครอบคลุมการทดสอบ?
ความครอบคลุมของรหัส และความครอบคลุมของการทดสอบเป็นเทคนิคการวัดที่ช่วยให้คุณสามารถประเมินคุณภาพของโค้ดแอปพลิเคชันของคุณได้
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญบางประการระหว่างบูธของวิธีการครอบคลุมเหล่านี้:
พารามิเตอร์ | รหัสครอบคลุม | ครอบคลุมการทดสอบ |
---|---|---|
คำนิยาม | ข้อกำหนดการครอบคลุมโค้ดที่ใช้เมื่อมีการใช้โค้ดแอปพลิเคชันเมื่อแอปพลิเคชันกำลังทำงาน | ความครอบคลุมการทดสอบหมายถึงแผนการทดสอบโดยรวม |
เป้าหมาย | เมตริกการครอบคลุมโค้ดสามารถช่วยให้ทีมตรวจสอบการทดสอบอัตโนมัติของพวกเขาได้ | การครอบคลุมการทดสอบจะให้รายละเอียดเกี่ยวกับระดับการทดสอบโค้ดลายลักษณ์อักษรของแอปพลิเคชัน |
ชนิดย่อย | ความครอบคลุมของรหัสแบ่งออกเป็นประเภทย่อย เช่น ความครอบคลุมของใบแจ้งยอด ความครอบคลุมของเงื่อนไข ความครอบคลุมของสาขา ความครอบคลุมของ Toogle ความครอบคลุมของ FSM | ไม่มีประเภทย่อยของวิธีครอบคลุมการทดสอบ |
สูตรความครอบคลุมการทดสอบ
หากต้องการคำนวณความครอบคลุมของการทดสอบ คุณต้องทำตามขั้นตอนด้านล่าง:
ขั้นตอน 1) จำนวนบรรทัดโค้ดทั้งหมดในคุณภาพของซอฟต์แวร์ที่คุณเป็น การทดสอบ
ขั้นตอน 2) จำนวนบรรทัดของโค้ดที่กรณีการทดสอบทั้งหมดดำเนินการอยู่ในปัจจุบัน
ตอนนี้ คุณต้องหา (X หารด้วย Y) คูณด้วย 100 ผลลัพธ์ของการคำนวณนี้คือ % ความครอบคลุมของการทดสอบของคุณ
ตัวอย่างเช่น:
หากจำนวนบรรทัดของโค้ดในส่วนประกอบของระบบคือ 500 และจำนวนบรรทัดที่ดำเนินการในกรณีทดสอบที่มีอยู่ทั้งหมดคือ 50 ความครอบคลุมการทดสอบของคุณคือ:
(50 / 500) * 100 = 10%
ตัวอย่างความครอบคลุมการทดสอบ
1 ตัวอย่าง:
เช่น หาก “มีด” เป็นรายการที่คุณต้องการทดสอบ ถ้าอย่างนั้นก็ต้องเน้นตรวจดูว่าหั่นผักหรือผลไม้ได้แม่นยำหรือไม่ อย่างไรก็ตาม ยังมีปัจจัยอื่นๆ ที่ต้องคำนึงถึง เช่น ผู้ใช้ควรจะสามารถจัดการได้อย่างสะดวกสบาย
2 ตัวอย่าง:
เช่น หากคุณต้องการตรวจสอบแอปพลิเคชั่นแผ่นจดบันทึก จากนั้นการตรวจสอบคุณสมบัติที่สำคัญก็เป็นสิ่งจำเป็น อย่างไรก็ตาม คุณจำเป็นต้องครอบคลุมด้านอื่น ๆ เนื่องจากแอปพลิเคชัน Notepad ตอบสนองตามที่คาดไว้ขณะใช้งานแอปพลิเคชันอื่น ผู้ใช้เข้าใจการใช้งานแอปพลิเคชัน ไม่ขัดข้องเมื่อผู้ใช้พยายามทำสิ่งผิดปกติ เป็นต้น
ข้อเสียของความครอบคลุมการทดสอบ:
- งานส่วนใหญ่ในพื้นที่การทดสอบเป็นงานที่ต้องดำเนินการด้วยตนเอง เนื่องจากไม่มีเครื่องมือใดที่จะทำให้เป็นอัตโนมัติ ดังนั้นจึงต้องใช้ความพยายามอย่างมากในการวิเคราะห์ข้อกำหนดและสร้างกรณีทดสอบ
- ความครอบคลุมการทดสอบทำให้คุณสามารถนับคุณสมบัติต่างๆ แล้ววัดผลกับการทดสอบหลายๆ รายการ อย่างไรก็ตาม ยังมีพื้นที่สำหรับข้อผิดพลาดในการตัดสินอยู่เสมอ