May 10, 2012

Khi nào release được phần mềm? Cách xác định trên số bugs

Khi nào có thể release phần mềm/hệ thống?

Câu hỏi đặt ra: Lấy đâu là căn cứ để một project manager có thể release sản phẩm?

Thực tế có các trường hợp:

- Ép release để khớp với thời hạn của hợp đồng (đã hết deadline)
- Căn cứ trên project scope đã định nghĩa từ đầu dự án
- Chấm dứt dự án trước thời hạn do budget đã hết

Đây là các trường hợp khá cực đoan.

Xét theo góc độ chất lượng:
Dự án đã đủ ổn định, đã kiểm thử tìm ra đủ số lỗi và fix hay chưa?
Cách này có vẻ hợp lý hơn.

Có một số phương pháp để xác định chất lượng phần mềm dựa trên số lỗi

1. (Dễ làm) Xác định trên mật độ lỗi
  Khi số mật độ lỗi lũy tích đã được tìm ra hoặc được fix (trên KLOC) vượt quá một giới hạn (chuẩn) nào đó.

  2. Số lỗi lũy tích hội tụ về hằng số.
  Khi đó, có thể hiểu rằng phần mềm đã được kiểm thử đủ và không thể tìm ra nhiều lỗi hơn nữa.
  Tuy nhiên, cần loại trừ trường hợp: Test chưa đủ kỹ.
2a. Khi đó, cần áp dụng chuẩn 1 và 2: Release phần mềm khi số lỗi hội tụ và vượt một ngưỡng đặt trước

3. (Không thực tế) Chia đội test làm hai (A và B), cấy (bug seeding) lỗi giống nhau và để đội A và B cùng test. Tỉ lệ giữa lỗi tìm ra được của hai đội sẽ cho biết số lỗi tồn tại nhưng chưa tìm ra của phần mềm. Từ đó, xác định được độ ổn định (của lỗi) và đưa ra quyết định release.

4. (Không thực tế nhưng khá dễ làm) Chia ngẫu nhiên phần mềm thành 2 phần A và B và để hai đội test riêng biệt.

Khi đó, số lỗi duy nhất và tổng số lỗi (gần đúng) được tính bằng:
Defects_Unique = Defects_A + Defects_B - Defects_A&B
Defects_Total = ( Defects_A * DefectsB ) / Defects_A&B

Số lỗi cần phải test thêm là Defects_Total - Defects_Unique.


Tham khảo: http://www.stevemcconnell.com/ieeesoftware/bp09.htm

--
Best Regards,
Nguyen Hung Vu [aka: NVH] ( in Vietnamese: Nguyễn Vũ Hưng )
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
http://www.facebook.com/nguyenvuhung
Nguyễn Vũ Hưng's blog on Free and Open Source: http://nguyenvuhungvietnam.wordpress.com/
Học tiếng Nhật: http://hoc-tiengnhat.blogspot.com/
Vietnamese LibreOffice: http://libo-vi.blogspot.com/
Mozilla & Firefox tiếng Việt: http://mozilla-vi.blogspot.com/

Disclaimer: When posted to social networking groups include, but not limited Linux Users' Groups,
Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not*
the opinion of my employer(s), associations and/or groups I join.

No comments: