เมตริกคุณภาพซอฟต์แวร์

เมตริกซอฟต์แวร์สามารถแบ่งออกเป็นสามประเภท -

  • Product metrics - อธิบายลักษณะของผลิตภัณฑ์เช่นขนาดความซับซ้อนคุณสมบัติการออกแบบประสิทธิภาพและระดับคุณภาพ

  • Process metrics - คุณสมบัติเหล่านี้สามารถใช้เพื่อปรับปรุงกิจกรรมการพัฒนาและการบำรุงรักษาซอฟต์แวร์

  • Project metrics- เมตริกนี้อธิบายลักษณะโครงการและการดำเนินการ ตัวอย่าง ได้แก่ จำนวนนักพัฒนาซอฟต์แวร์รูปแบบการรับพนักงานตลอดวงจรชีวิตของซอฟต์แวร์ต้นทุนตารางเวลาและผลผลิต

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

Software quality metricsเป็นส่วนย่อยของเมตริกซอฟต์แวร์ที่เน้นด้านคุณภาพของผลิตภัณฑ์กระบวนการและโครงการ สิ่งเหล่านี้มีความเกี่ยวข้องอย่างใกล้ชิดกับเมตริกกระบวนการและผลิตภัณฑ์มากกว่าเมตริกโครงการ

เมตริกคุณภาพซอฟต์แวร์สามารถแบ่งออกได้เป็นสามประเภท -

  • เมตริกคุณภาพผลิตภัณฑ์
  • เมตริกคุณภาพในกระบวนการ
  • เมตริกคุณภาพการบำรุงรักษา

เมตริกคุณภาพผลิตภัณฑ์

เมตริกนี้มีดังต่อไปนี้ -

  • เวลาเฉลี่ยที่จะล้มเหลว
  • ความหนาแน่นของข้อบกพร่อง
  • ปัญหาของลูกค้า
  • ความพึงพอใจของลูกค้า

เวลาเฉลี่ยที่จะล้มเหลว

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

ความหนาแน่นของข้อบกพร่อง

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

ปัญหาของลูกค้า

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

เมตริกปัญหามักจะแสดงในรูปของ Problems per User-Month (PUM).

PUM = Total Problems that customers reported (true defect and non-defect oriented 
problems) for a time period + Total number of license months of the software during 
the period

ที่ไหน

Number of license-month of the software = Number of install license of the software × 
Number of months in the calculation period

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

ความพึงพอใจของลูกค้า

ความพึงพอใจของลูกค้ามักวัดได้จากข้อมูลการสำรวจของลูกค้าผ่านมาตราส่วนห้าจุด -

  • พึงพอใจมาก
  • Satisfied
  • Neutral
  • Dissatisfied
  • ไม่พอใจมาก

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

  • เปอร์เซ็นต์ของลูกค้าที่พึงพอใจอย่างสมบูรณ์
  • เปอร์เซ็นต์ของลูกค้าที่พึงพอใจ
  • เปอร์เซ็นต์ของลูกค้าที่ไม่พอใจ
  • เปอร์เซ็นต์ของลูกค้าที่ไม่พึงพอใจ

โดยปกติแล้วจะใช้ความพึงพอใจเปอร์เซ็นต์นี้

เมตริกคุณภาพในกระบวนการ

เมตริกคุณภาพในกระบวนการเกี่ยวข้องกับการติดตามการมาถึงของข้อบกพร่องระหว่างการทดสอบเครื่องจักรอย่างเป็นทางการสำหรับบางองค์กร เมตริกนี้ประกอบด้วย -

  • ความหนาแน่นของข้อบกพร่องระหว่างการทดสอบเครื่อง
  • รูปแบบการมาถึงข้อบกพร่องระหว่างการทดสอบเครื่อง
  • รูปแบบการกำจัดข้อบกพร่องตามเฟส
  • ประสิทธิภาพในการกำจัดข้อบกพร่อง

ความหนาแน่นของข้อบกพร่องระหว่างการทดสอบเครื่อง

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

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

รูปแบบการมาถึงข้อบกพร่องระหว่างการทดสอบเครื่อง

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

  • ข้อบกพร่องที่มาถึงหรือข้อบกพร่องที่รายงานในระหว่างขั้นตอนการทดสอบตามช่วงเวลา (เช่นสัปดาห์) ทั้งหมดนี้จะไม่ใช่ข้อบกพร่องที่ถูกต้อง

  • รูปแบบของการมาถึงของข้อบกพร่องที่ถูกต้องเมื่อมีการกำหนดปัญหากับปัญหาที่รายงาน นี่คือรูปแบบข้อบกพร่องที่แท้จริง

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

รูปแบบการกำจัดข้อบกพร่องตามเฟส

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

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

สำหรับเมตริกสำหรับขั้นตอนการออกแบบและการเข้ารหัสนอกเหนือจากอัตราความบกพร่องแล้วองค์กรพัฒนาหลายแห่งยังใช้เมตริกเช่นการครอบคลุมการตรวจสอบและความพยายามในการตรวจสอบสำหรับการจัดการคุณภาพในกระบวนการ

ประสิทธิภาพในการกำจัดข้อบกพร่อง

สามารถกำหนดได้ดังนี้ -

$$ DRE = \ frac {Defect \: removed \: during \: a \: development \: phase} {Defects \: latent \: in \: the \: product} \ times 100 \% $$

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

เมตริกคุณภาพการบำรุงรักษา

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

  • แก้ไขดัชนีการจัดการสินค้าค้างและค้าง
  • แก้ไขเวลาตอบสนองและแก้ไขการตอบสนอง
  • เปอร์เซ็นต์การแก้ไขที่ค้างชำระ
  • แก้ไขคุณภาพ

แก้ไขดัชนีการจัดการสินค้าค้างและค้าง

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

Backlog Management Index (BMI) ใช้เพื่อจัดการ Backlog ของปัญหาที่เปิดอยู่และยังไม่ได้รับการแก้ไข

$$ BMI = \ frac {Number \: of \: problems \: closed \: during \: the \: month} {Number \: of \: problems \: arrival \: during \: the \: month} \ times 100 \% $$

ถ้าค่าดัชนีมวลกายมากกว่า 100 หมายความว่างานในมือจะลดลง ถ้า BMI น้อยกว่า 100 งานในมือจะเพิ่มขึ้น

แก้ไขเวลาตอบสนองและแก้ไขการตอบสนอง

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

องค์ประกอบที่สำคัญของการตอบสนองต่อการแก้ไขคือความคาดหวังของลูกค้าเวลาที่ตกลงกันในการแก้ไขและความสามารถในการตอบสนองความมุ่งมั่นที่มีต่อลูกค้า

เปอร์เซ็นต์การแก้ไขที่ค้างชำระ

คำนวณได้ดังนี้ -

$ Percent \: Delinquent \: Fixes = $

$ \ frac {Number \: of \: fixes \: that \: เกิน \: the \: response \: time \: criteria \: by \: ceverity \: level} {Number \: of \: fixes \: ส่งแล้ว \: ใน \: a \: ระบุ \: time} \ times 100 \% $

แก้ไขคุณภาพ

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

การแก้ไขข้อบกพร่องสามารถบันทึกได้สองวิธี: บันทึกในเดือนที่พบหรือบันทึกในเดือนที่ส่งการแก้ไข ประการแรกคือการวัดผลลูกค้า ประการที่สองคือการวัดกระบวนการ ความแตกต่างระหว่างวันที่ทั้งสองคือระยะเวลาแฝงของการแก้ไขที่บกพร่อง

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