2009-10-20 29 views
5

Tôi đang cố gắng tạo một số chỉ số nội bộ để chứng minh (xác định?) TDD cải thiện tỷ lệ lỗi trong mã như thế nào.Theo dõi tỷ lệ lỗi tốt nhất là gì? Các lỗi trên KLOC?

Có cách nào tốt hơn so với lỗi/KLOC không? Còn về 'mật độ chức năng' của một ngôn ngữ thì sao?

Mọi nhận xét hoặc đề xuất sẽ hữu ích.

Cảm ơn - Jonathan

Trả lời

8

Bạn cũng có thể xem xét bản đồ tỷ lệ phát hiện sai sót và tỷ lệ độ phân giải khiếm khuyết ... làm thế nào lâu để tìm lỗi, và một khi họ đang tìm thấy, bao lâu họ làm để sửa chữa? Theo hiểu biết của tôi, TDD có nghĩa vụ phải cải thiện về thời gian sửa chữa bởi vì nó làm cho các khuyết tật được biết trước đó ... phải không?

+0

Được bỏ phiếu cho việc đề cập việc làm * công việc * của tôi dễ dàng hơn. –

+0

Tôi đã đi xa đến mức nói rằng ít khuyết tật hơn trong nhóm phát triển và vào QA, nhưng đó là những gì tôi hy vọng chứng minh (và định lượng). Cảm ơn - Jonathan – jdharley

+0

Hãy cho chúng tôi biết kết quả – Burt

3

Bất kỳ biện pháp nào là sự so sánh tùy ý các lỗi đối với kích thước mã; miễn là so sánh tương tự, nó sẽ hoạt động. Ví dụ: khuyết tật/kloc trong C tới lỗi/kloc trong C. Nếu bạn thay đổi ngôn ngữ, nó sẽ ảnh hưởng đến chỉ số trong mọi trường hợp, vì cùng một chương trình bằng một ngôn ngữ khác có thể ít bị lỗi hơn.

3

tôi đề nghị sử dụng tỷ lệ giữa lần:

  1. thời gian dành sửa chữa lỗi
  2. thời gian dành viết mã khác

này có vẻ hợp lệ trên ngôn ngữ ...


Nó cũng hoạt động nếu bạn chỉ có một ước tính sơ bộ của một số cơ sở mã lớn. Bạn vẫn có thể so sánh nó với mã mới bạn đang viết, để gây ấn tượng với bạn về quản lý ;-)

3

Đo khuyết tật không phải là điều dễ dàng. Người ta muốn tính đến sự phức tạp của mã, nhưng điều đó vô cùng lộn xộn và khó chịu. Khi đo chất lượng mã Tôi khuyên bạn nên:

  1. Đo tình trạng hiện tại (tỷ lệ khuyết tật của bạn là gì bây giờ)
  2. Thực hiện một sự thay đổi (đánh giá ngang hàng, đào tạo, hướng dẫn mã, vv)
  3. Đo tỷ lệ khuyết tật mới (có điều cải thiện?)
  4. Chuyển đến 2

Nếu bạn đang đi để so sánh lập trình chắc chắn rằng bạn so sánh lập trình viên thực hiện công việc tương tự trong cùng một ngôn ngữ. Không so sánh coder hoạt động trong phần sâu bên trong của công cụ tính toán phức tạp nhất của bạn với coder, người viết mã lưu trữ các thứ trong cơ sở dữ liệu.

Tôi cố gắng đảm bảo rằng các lập trình viên biết rằng quá trình đang được đo không phải là các lập trình viên. Điều này giúp cải thiện chất lượng của các số liệu.

+0

Tôi thấy so sánh các lập trình viên chủ yếu dựa vào nguyên tắc làm việc theo nhóm, vì vậy tôi sẽ không làm điều đó. Cảm ơn nhận xét. – jdharley

+0

Bạn có thể bị sốc bao nhiêu "nhà quản lý" nghĩ rằng đó là một ý tưởng tốt. Nếu bạn đo lường các lập trình viên riêng lẻ, họ sẽ tìm cách để chơi game cho hệ thống. –

1

Tôi hoài nghi về tất cả các phép đo liên quan đến LOC, không chỉ vì khả năng diễn đạt tương đối khác nhau của ngôn ngữ, mà bởi vì các lập trình viên sẽ thay đổi đủ về tính biểu cảm của mã của họ.

Những điều tôi sẽ đo vì lợi ích của quản lý dự án bao gồm:

  • Số khuyết tật mở về dự án. Không có vô hướng đơn nào có thể cho bạn biết dự án ở đâu và nó gần với trạng thái có thể giải phóng được như thế nào, nhưng đây vẫn là một số tiện dụng để có mặt và xem theo thời gian.
  • Tỷ lệ phát hiện lỗi. Đây không phải là tỷ lệ giới thiệu các khiếm khuyết mới vào hệ thống, nhưng đó có lẽ là proxy gần nhất bạn sẽ tìm thấy.
  • Tỷ lệ phân giải khuyết tật. Nếu điều này nhỏ hơn tỷ lệ phát hiện, bạn sẽ tụt lại phía sau - nếu nó lớn hơn, bạn đang tiến lên phía trước.

Tất cả các số này hữu ích hơn nếu bạn kết hợp chúng với thông tin mức độ nghiêm trọng. Một sản phẩm có 20 lỗi nhỏ có thể tiến gần hơn để phát hành hơn một lỗi với 2 lỗi bị lỗi. Nếu bạn đang xóa các lỗi nhỏ nhưng không phải là lỗi nghiêm trọng, bạn phải làm cho các nhà phát triển tập trung lại sự chú ý của họ.

Tôi sẽ theo dõi các con số này cho mỗi dự án và mỗi nhà phát triển. Lý do để thực hiện chúng cho mỗi dự án phải rõ ràng. Số lượng nhà phát triển chắc chắn không phải là toàn bộ hình ảnh về kỹ năng hoặc năng suất của một người đóng góp riêng lẻ, nhưng có thể chỉ cho bạn những người có thể cần đào tạo hoặc khắc phục.

Bạn cũng có thể gắn thẻ tất cả các vé trong hệ thống theo dõi lỗi theo mô-đun dự án (đặc biệt là cho các dự án lớn hơn) để bạn có thể biết khi nào các mô-đun quan trọng ở trạng thái mong manh.

0

Tại sao bạn không xem xét các lỗi trong mỗi trường hợp sử dụng? hoặc khuyết tật theo yêu cầu. Chúng tôi đã phải đối mặt với các vấn đề thực tế khi đến KLOC.

Các vấn đề liên quan