Test  Viewpoint
Menu
  • Home
  • Basic Knowledge
  • Manual Testing
  • Test Automation
  • Blog
  • About Me
  • Contact
Menu
Defect Taxonomies Phần 9

Experience-Based Technique: Defect Taxonomies (Phần 9)

Posted on November 14, 2023November 27, 2023 by Test Viewpoint

Phân Loại Lỗi Là Gì?

Phân loại lỗi – Defect Taxonomies là một hệ thống phân loại được sử dụng để phân loại và tổ chức các lỗi hoặc khuyết điểm trong quá trình kiểm thử phần mềm. Nó giúp tổ chức các lỗi theo các danh mục cụ thể, giúp kiểm thử viên và nhóm phát triển hiểu rõ hơn về các vấn đề có thể xảy ra trong phần mềm và cách xử lý chúng. Phân loại lỗi cũng có thể giúp ích trong việc báo cáo và phân tích các vấn đề trong quá trình phát triển và kiểm thử.

Cách Phân Loại Lỗi Phổ Biến

Phân loại lỗi có thể dựa trên IEEE 1044 Standard for Software Productivity Metrics, CMMI (Capability Maturity Model Integration) và các hệ thống tuỳ chỉnh được xây dựng dựa trên nhu cầu cụ thể của tổ chức phát triển phần mềm.

Dưới đây là cách phân loại phổ biến được đề cập đến trong cuốn sách “Managing the Testing Process” của Rex.

No.CategoriesSubcategoriesDescription
FunctionalSpecificationĐặc tả chức năng trong tài liệu đặc tả hoặc trong những tài liệu khác bị sai.
FunctionĐặc tả đúng nhưng việc thực hiện nó sai.
TestSai sót trong dữ liệu kiểm thử, thiết kế kiểm thử, thông số kỹ thuật kiểm thử hoặc một nơi nào khác.
SystemInternal InterfaceGiao tiếp hệ thống nội bộ không thành công; nói cách khác, có một vấn đề tích hợp thuộc loại nào đó bên trong đối tượng kiểm thử.
Hardware DevicesPhần cứng của hệ thống hoặc máy chủ lưu trữ hệ thống bị lỗi
Operating SystemHệ điều hành bên ngoài đối tượng kiểm thử bị lỗi
Software ArchitectureMột số giả định thiết kế cơ bản tỏ ra không hợp lệ, chẳng hạn như giả định rằng dữ liệu có thể được di chuyển từ bảng này sang bảng khác hoặc qua một số mạng trong một khoảng thời gian không đổi.
Resource ManagementCác giả định thiết kế là ổn, nhưng một số việc triển khai giả định là sai. Ví dụ, thiết kế của các bảng dữ liệu gây ra độ trễ.
ProcessArithmeticPhần mềm tính toán sai. Điều này không có nghĩa là chỉ toán học cơ bản; nó cũng có thể bao gồm các chức năng phân tích số hoặc kế toán tinh vi, bao gồm các sự cố xảy ra do các vấn đề về làm tròn và độ chính xác.
InitializationMột thao tác không thành công trong lần sử dụng đầu tiên, khi không có dữ liệu trong danh sách, v.v..
Control or SequenceMột hành động xảy ra sai thời điểm hoặc sai lý do, chẳng hạn như nhìn màn hình hoặc fields theo thứ tự sai.
Static LogicCác ranh giới được xác định sai, các lớp tương đương không bao gồm các phần tử đúng và loại trừ các phần tử sai, v.v.
OtherĐã xảy ra lỗi xử lý hoặc luồng điều khiển không phù hợp với các danh mục trước đó.
DataTypeLoại dữ liệu sai, dù sử dụng loại dữ liệu tích hợp sẵn hay do người dùng xác định.
StructureCấu trúc hoặc loại dữ liệu phức tạp không hợp lệ hoặc được sử dụng không phù hợp.
Initial ValueGiá trị khởi tạo của phần tử dữ liệu không chính xác. Chẳng hạn như danh sách số lượng cần mua mặc định là 0 thay vì 1.
OtherXảy ra lỗi liên quan đến dữ liệu không khớp với các nhóm trước đó.
CodeÁp dụng cho một số lỗi đánh máy đơn giản, lỗi chính tả, lỗi văn phong hoặc lỗi mã hóa khác xảy ra và dẫn đến lỗi.
DocumentationÁp dụng cho các tình huống trong đó tài liệu cho biết hệ thống thực hiện X với điều kiện Y, nhưng thay vào đó, hệ thống thực hiện Z – một hành động không hợp lệ.
StandardsÁp dụng cho các tình huống trong đó hệ thống không đáp ứng các tiêu chuẩn hoặc quy định của ngành, chính phủ hoặc nhà cung cấp hoặc tuân theo các tiêu chuẩn mã hóa hoặc giao diện người dùng hoặc tuân thủ các quy ước đặt tên, v.v..
OtherĐã biết nguyên nhân gốc rễ, nhưng không phù hợp với bất kỳ loại nào trước đó, điều này sẽ hiếm gặp nếu đây là một phân loại hữu ích.
HousekeepingDuplicateHai báo cáo lỗi mô tả cùng một lỗi.
Not a ProblemHành vi được ghi nhận là đúng. Báo cáo phát sinh từ sự hiểu lầm của người thử nghiệm về hành vi đúng. Tình huống này khác với lỗi thử nghiệm vì điều này xảy ra trong quá trình thực hiện thử nghiệm và là vấn đề diễn giải kết quả thực tế.
Bad UnitLỗi này là một vấn đề thực sự, nhưng nó phát sinh từ một lỗi phần cứng ngẫu nhiên khó xảy ra trong môi trường sản xuất.
Root Cause NeededÁp dụng khi lỗi được xác nhận là đã đóng bằng kiểm thử nhưng không có ai trong quá trình phát triển cung cấp nguyên nhân gốc rễ.
UnknownKhông ai biết cái gì bị hỏng. Lý tưởng nhất là điều này áp dụng cho một số ít báo cáo, thường là khi một lỗi không liên tục không xuất hiện trong một thời gian dài, dẫn đến kết luận rằng một số thay đổi khác đã sửa lỗi như một tác dụng phụ.

Lưu ý rằng cách phân loại này tập trung vào nguyên nhân gốc rễ, ít nhất là theo nghĩa cuối cùng điều gì đã được chứng minh là sai trong mã gây ra lỗi. Bạn cũng có thể có một phân loại “nguyên nhân gốc của quy trình” để chỉ ra lỗi đã được đưa ra ở giai đoạn nào trong quá trình phát triển. Lưu ý rằng cách phân loại như vậy sẽ vô ích đối với chúng ta trong việc thiết kế các bài kiểm tra. Ngay cả việc phân loại tập trung vào nguyên nhân gốc rễ cũng có thể hơi khó sử dụng cho mục đích thiết kế thử nghiệm.

Mục Đích Của Việc Sử Dụng Phân Loại Lỗi

Việc sử dụng Defect Taxonomies giúp tăng cường quản lý chất lượng phần mềm bằng cách:

  • Giúp xác định và phân loại các vấn đề phần mềm một cách rõ ràng.
  • Tạo điều kiện thuận lợi để báo cáo và theo dõi lỗi.
  • Cải thiện việc giao tiếp giữa các thành viên trong dự án phát triển và kiểm thử.
  • Hỗ trợ việc tối ưu hóa quy trình kiểm thử và sửa lỗi.
  • Cung cấp dữ liệu thống kê về lỗi để giúp quản lý ra quyết định.

Related

Category: Basic KnowledgeManual Testing

Archives

  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023

Categories

  • Basic Knowledge
  • Manual Testing
  • Test Automation

About Me

Xin chào các bạn. Mình là một kỹ sư kiểm thử phần mềm. Ngành công nghệ thông tin nói chung và công việc kiểm thử phần mềm nói riêng luôn luôn đổi mới đòi hỏi phải học hỏi mỗi ngày. Với mình chia sẻ những gì học được là cách tốt nhất để mình học những điều mới. Hãy cùng mình tìm hiểu thông qua blog này nhé!

Newsletter

Nhận thông báo về bài viết mới nhất qua email

Popular Posts

About Me

Xin chào các bạn. Mình là một kỹ sư kiểm thử phần mềm. Ngành công nghệ thông tin nói chung và công việc kiểm thử phần mềm nói riêng luôn luôn đổi mới đòi hỏi phải học hỏi mỗi ngày. Với mình chia sẻ những gì học được là cách tốt nhất để mình học những điều mới. Hãy cùng mình tìm hiểu thông qua blog này nhé!

  • Facebook
  • Instagram
  • YouTube

Recent Posts

Newsletter

Nhận thông báo về bài viết mới nhất qua email

©2025 Test Viewpoint