Xếp hạng mức độ ưu tiên của sự cố¶
BeeWare Docs Tools thường xuyên nhận được các báo cáo sự cố từ người dùng đang gặp vấn đề. Khi có báo cáo sự cố mới, báo cáo đó cần được xếp hạng mức độ ưu tiên — tức là, chúng tôi cần có người đọc báo cáo, thu thập thông tin do người báo cáo cung cấp và cố gắng tái hiện lại vấn đề được mô tả.
Thật không may, mặc dù các báo cáo sự cố thường xuất phát từ ý tốt, nhưng chúng thường không đầy đủ hoặc gây nhầm lẫn. Mục đích của quy trình phân loại là để bổ sung những thông tin còn thiếu trong báo cáo ban đầu. Điều này có nghĩa là hoặc cung cấp đủ chi tiết để chúng tôi có thể xác nhận cách tái hiện sự cố; hoặc xác nhận rằng người báo cáo ban đầu đã nhầm lẫn trong báo cáo của họ.
Việc phân loại vấn đề không có nghĩa là bạn phải khắc phục nó. Tùy thuộc vào vấn đề, việc phân loại thậm chí có thể không liên quan đến việc viết mã. Bạn có thể phân loại một vấn đề ngay cả khi chỉ có rất ít kiến thức về BeeWare Docs Tools, vì bạn cần có khả năng làm theo các bước được nêu trong báo cáo và tái hiện lại vấn đề đã được mô tả.
Phân loại các vấn đề được báo cáo¶
Tái hiện sự cố
Tái hiện sự cố¶
Bạn không thể khắc phục một vấn đề nếu ngay từ đầu bạn không gặp phải vấn đề đó. Do đó, việc tái hiện vấn đề là điều kiện tiên quyết để khắc phục nó. Trong lĩnh vực phần mềm, các vấn đề thường được gọi là "lỗi", và các trường hợp gặp sự cố thường được gọi là "báo cáo lỗi".
Ai đó đã gửi báo cáo lỗi. Bạn cần xác minh xem các bước mà người báo cáo mô tả có dẫn đến lỗi được báo cáo hay không. Bạn có thể tái hiện kết quả tương tự bằng cách thực hiện chính xác theo hướng dẫn trong báo cáo không? Nếu không thể, bạn cần tìm hiểu nguyên nhân tại sao.
Để bắt đầu tái hiện một sự cố, bạn cần thiết lập một môi trường phát triển.
Lỗi trong mã nguồn¶
Trong trường hợp lý tưởng, bạn sẽ có cùng cấu hình với người đã báo cáo lỗi, thực hiện theo các bước hướng dẫn và có thể tái hiện lỗi như mô tả. Tuy nhiên, trong nhiều trường hợp, việc này sẽ không đơn giản như vậy. Nhiều báo cáo lỗi chỉ bao gồm những lời giải thích mơ hồ và một loạt điều kiện không rõ ràng. Vấn đề là nhiều lỗi thay đổi tùy theo các điều kiện liên quan, bao gồm cách tương tác với chúng, các điều kiện tiên quyết khác nhau, hệ điều hành, phiên bản hệ điều hành, kiến trúc CPU, hoặc máy của người dùng là cũ và chậm hay mới và nhanh. Chúng ta có càng nhiều thông tin về tình huống xung quanh lỗi, thì càng tốt. Hãy thử tái tạo bộ điều kiện mà người báo cáo đã cung cấp. Nếu bạn không thể làm được điều đó, bước tiếp theo của bạn có thể là yêu cầu thêm thông tin từ người đã báo cáo lỗi.
Cách tốt nhất để tái hiện một lỗi là sử dụng ví dụ nhỏ nhất có thể mà vẫn thể hiện được vấn đề. Hầu hết các trường hợp, người báo cáo sẽ không cung cấp một ví dụ tối thiểu cần thiết; nếu họ cung cấp bất kỳ ví dụ nào, thì đó sẽ là bản sao trực tiếp từ ứng dụng "thực tế" của họ. Mục tiêu của bạn là giảm thiểu báo cáo xuống dạng đơn giản nhất có thể mà vẫn thể hiện được vấn đề. Trường hợp tái hiện tốt nhất là chương trình nhỏ nhất có thể. Việc giảm thiểu này tự nó đã hữu ích vì nó xác định được vấn đề thực sự là gì. Bất kỳ ai cũng có thể lấy ví dụ tối thiểu đó, chạy nó, và họ sẽ quan sát thấy lỗi được mô tả.
Lỗi trong tài liệu¶
Các lỗi trong tài liệu có thể biểu hiện dưới nhiều hình thức khác nhau. Có những vấn đề về định dạng dẫn đến các sự cố hiển thị. Đôi khi đó thậm chí không phải là lỗi; người dùng có thể đã đọc nhầm tài liệu hoặc mắc phải một sai lầm thực sự. Điều này không nhất thiết có nghĩa là tài liệu không có vấn đề. Nội dung có thể không rõ ràng hoặc không chính xác, dẫn đến sự nhầm lẫn hoặc hiểu sai. Có thể một khái niệm đáng lẽ phải được đề cập lại không được đề cập, vì nó hoàn toàn không được ghi chép trong tài liệu.
Khi có báo cáo lỗi liên quan đến tài liệu, bạn nên kiểm tra xem vấn đề được báo cáo có thực sự vẫn còn tồn tại hay không. Đối với các vấn đề về hiển thị, bạn cần biên dịch tài liệu để xem liệu có thể tái hiện lại vấn đề đó hay không. Đối với các vấn đề về nội dung, bạn chỉ cần đọc qua để xác nhận rằng chưa có ai gửi bản cập nhật nào.
Cập nhật vấn đề¶
Bước cuối cùng trong quy trình phân loại là ghi lại kết quả kiểm tra bằng cách để lại bình luận về vấn đề đó.
Nếu bạn có thể tái hiện vấn đề chính xác như mô tả, thì chỉ cần thông báo như vậy là đủ. Hãy để lại bình luận cho biết bạn đã xác nhận rằng mình gặp phải vấn đề tương tự, hoàn toàn giống như cách người báo cáo ban đầu mô tả.
Nếu bạn có thể cung cấp thêm thông tin bối cảnh, vui lòng nêu rõ các chi tiết đó. Điều này có thể bao gồm việc có thể tái hiện lại sự cố trên một hệ điều hành khác, hoặc với phiên bản khác của một số phần mềm liên quan, hoặc bất kỳ yếu tố nào khác có sự khác biệt so với báo cáo ban đầu.
Nếu báo cáo ban đầu thiếu các chi tiết cần thiết để tái hiện sự cố, hãy bổ sung những chi tiết đó. Điều này có thể bao gồm việc cung cấp thông tin về hệ điều hành hoặc phiên bản mà báo cáo ban đầu chưa đề cập, nhật ký hệ thống hoặc bản ghi theo dõi ngăn xếp (stack trace) đầy đủ hơn, hoặc hướng dẫn chi tiết hơn về trình tự thao tác chính xác cần thực hiện để tái hiện sự cố. Nếu bạn đã tìm ra một cách đơn giản hơn để tái hiện sự cố (hoặc người báo cáo ban đầu chưa cung cấp trường hợp tái hiện), bạn có thể bổ sung chi tiết về phương pháp tái hiện đó.
Nếu bạn không thể tái hiện lại sự cố, hãy để lại bình luận và mô tả chi tiết những gì bạn đã thử. Việc xác định được nơi mà sự cố không xảy ra cũng quan trọng gần như việc xác định nơi nó có xảy ra, bởi điều đó giúp thu hẹp phạm vi các nguyên nhân có thể. Nếu bạn có bất kỳ giả thuyết nào về lý do tại sao bạn không thể tái hiện vấn đề - ví dụ, nếu bạn nghĩ đó là lỗi sử dụng, hoặc vấn đề đã được giải quyết nhờ bản cập nhật hệ điều hành gần đây - hãy đưa giả thuyết đó vào bình luận của bạn.
Cuối cùng, bạn có thể đưa ra bất kỳ đề xuất nào cho nhóm phát triển chính. Nếu bạn cho rằng báo cáo ban đầu có sai sót, hãy đề xuất đóng vấn đề này; nếu bạn có giả thuyết về nguyên nhân của vấn đề, bạn cũng có thể đề xuất điều đó. Những ý kiến của bạn sẽ giúp nhóm phát triển chính xác định hướng xử lý vấn đề trong bước tiếp theo.
Lúc này, bạn có thể chọn thử khắc phục sự cố mà bạn vừa tái hiện được; hoặc bạn có thể ghi chép lại những phát hiện của mình và thử tái hiện một sự cố khác.