Mình hay đùa rằng việc tìm bug giống như truy tìm tội phạm và người kiểm thử giống như thám tử vậy. Và muốn tìm được “tội phạm” của mình, trước hết người kiểm thử viên cần biết đặc điểm nhận diện của chúng, khoanh vùng những chỗ khả nghi, và truy tìm theo đầu mối. Mỗi loại bug khác nhau sẽ có những đặc thù khác nhau. Trong bài viết hôm nay, mình sẽ giới thiệu cho các bạn một số loại bug phổ biến cùng những đặc điểm đặc trưng của chúng. Nào, hãy cùng mình tìm hiểu nhé.
Functional Bug – Bug Chức Năng
Chúng ta có thể tìm thấy bug này khi kiểm tra tất cả các chức năng của hệ thống nhằm đảm bảo rằng chúng thực hiện những gì chúng phải làm. Nếu chức năng thực hiện có điều gì đó kỳ lạ, không có trong danh sách yêu cầu, thì đó là bug.
Hãy xem ví dụ: có một nút trong ứng dụng và nó phải mở cửa sổ A, nhưng thay vào đó, nó sẽ mở B hoặc hoàn toàn không mở bất kỳ thứ gì. Thì đó là một lỗi chức năng.
Khi không có yêu cầu chức năng, hoặc đặc tả chức năng không rõ ràng, thì loại bug này sẽ khó phát hiện hơn. Trong trường hợp này, kinh nghiệm trước đây với loại phần mềm tương tự sẽ rất hữu ích. Hoặc bạn cũng có thể thực hiện kiểm thử thăm dò để phát hiện thêm bug.
User Interface Bug – Bug UI
User Interface bug (bug UI) không khó phát hiện, bạn sẽ nhận thấy rằng các bug UI thường được tìm thấy khi tìm kiếm các lỗi chức năng. Tuy vậy, khi lên kế hoạch kiểm thử, hãy đảm bảo bạn đã đưa ra danh sách tất cả các mục cần kiểm tra giao diện vào checklist test case của mình nhé.
Nếu sản phẩm của bạn có bản mockup, việc bạn làm chỉ đơn giản là so sánh vị trí, hình dạng, màu sắc và các đặc điểm khác của phần giao diện sản phẩm với bản mockup.
Hoặc cũng có thể bạn được cung cấp hướng dẫn thiết kế thay vì mockup. Các nguyên tắc thường mô tả các phong cách và các yếu tố bổ sung ở các trạng thái khác nhau của chúng. Ví dụ: màu của liên kết thay đổi như thế nào khi ở trạng thái ban đầu, khi di chuột và sau khi nhấp.
Nếu không có tài liệu nào cả – đừng lo, bạn có thể tìm thấy hầu hết các bug UI chỉ bằng cách kiểm tra phần mềm. Hãy chú ý xem bố cục có bị vỡ không, các khối hoặc thành phần có bị chồng chéo, văn bản có nằm ngoài khối không, và tất cả các thành phần có đang đặt đúng chỗ không, có thành phần nào bị thiếu không…
Localization Bug – Bug Nội Địa Hoá
Localization bug (bug nội địa hoá) được tìm thấy khi bạn tiến hành localization testing. Bạn chỉ tìm kiếm các bug localization nếu phần mềm hỗ trợ một số ngôn ngữ và/hoặc được điều chỉnh để sử dụng trong các múi giờ khác nhau. Một số bug có thể được phát hiện khi bạn tiến hành kiểm tra:
- Hoạt động của phần mềm khi chuyển ngữ: Kiểm tra là liệu các ngôn ngữ khác nhau có hoạt động tốt như nhau hay không.
- Hiển thị ở các ngôn ngữ khác nhau: Văn bản phải được dịch trên tất cả các thành phần của hệ thống. Tiến hành kiểm tra tất cả các thành phần sau khi thay đổi ngôn ngữ mặc định. Nếu bạn thấy một số thành phần chưa được dịch – thì đó là một bug.
- Kiểm tra xử lý text trong khung như co text, hiển thị dấu ba chấm khi văn bản quá dài: Các từ và cụm từ có độ dài ngắn khác nhau trong các ngôn ngữ khác nhau. Do đó, văn bản có thể tràn khỏi khung hoặc phá vỡ hoàn toàn. Hãy lưu ý đến điều này khi tìm kiếm bug localization.
- Kiểm tra thời gian hiển thị theo ngôn ngữ: Tùy thuộc vào loại phần mềm, đôi khi cần kiểm tra xem thời gian có được hiển thị chính xác ở các ngôn ngữ khác nhau hay không. Hãy chú ý đến định dạng ngày và giờ vì định dạng này có thể khác nhau đối với các quốc gia khác nhau. Lưu ý về chỉ báo thời gian, nó phải tương ứng với múi giờ của quốc gia.
- Kiểm tra hiển thị tiền tệ: Nếu có cả tùy chọn thay đổi tiền tệ, bạn cũng cần kiểm tra xem nó có hoạt động tốt không.
Integration Bug – Bug Tích Hợp
Việc tích hợp giữa các thành phần phần mềm là điều rất phổ biến đối với sản phẩm phần mềm bất kể là một hệ thống phức tạp hay chỉ đơn giản là một trang web thông thường. Nếu thông tin không được chuyển đúng cách từ thành phần này sang thành phần khác, thì có thể đó là bug. Một số ví dụ về bug tích hợp như sau:
- Thông tin hiển thị trên trang web A được lấy từ trang web B và C. Nếu thông tin hiển thị trên trang web A khác với một trong hai trang web B, C thì đó là bug.
- Một hệ thống X lớn, nơi có rất nhiều tích hợp các thành phần. Giả sử chúng ta tạo một hợp đồng và chọn một cấu hình tương ứng với dữ liệu trong hợp đồng này. Nếu có hồ sơ cá nhân trong hệ thống nhưng nó không tự động được đưa vào hợp đồng thì đó là bug.
Bug Cập Nhật Hệ Thống
Cập nhật hệ thống là một phần không thể thiếu của phần mềm hiện đại. Chúng thường chứa các chức năng mới và các bản sửa lỗi quan trọng, nhưng cũng có thể có lỗi trong chính quá trình cập nhật. Một số lỗi cập nhật có thể xảy ra như: Mất một phần hoặc toàn dữ liệu người dùng, mất một phần hoặc toàn bộ cài đặt người dùng, người dùng bị đăng xuất khỏi tài khoản…
Bug Âm Thanh
Không phải tất cả các ứng dụng đều có âm thanh, nhưng những ứng dụng gửi thông báo hoặc có âm thanh là một trong những chức năng chính phải được kiểm tra kỹ lưỡng.
Điều đầu tiên cần làm là kiểm tra xem có âm thanh nào không. Nếu có, bạn cần đảm bảo chất lượng của âm thanh này phải tốt, không bị ngắt quãng hoặc méo tiếng. Đừng quên kiểm tra âm lượng và xem nó có tương ứng với yêu cầu khi đặt ở chế độ mặc định, tăng hoặc giảm âm lượng hay không.
Usability Bug – Bug Về Tính Khả Dụng
Nếu phần mềm gây ra sự không thoải mái khi sử dụng, rất có thể sẽ không có ai thích nó và nó sẽ không bao giờ trở nên phổ biến. Vì vậy các bug về tính khả dụng cần được đặc biệt chú ý.
Một số ví dụ về bug loại này như:
- Khó tiếp cận với một số chức năng: Ví dụ như người dùng không thể hoặc mất nhiều thời gian để tìm nút đăng ký.
- Màu sắc không phù hợp. Ví dụ: khi bạn không thể nhìn rõ văn bản do độ sáng nền và mắt bạn bị mỏi do sử dụng ứng dụng này liên tục.
- Các nút có chức năng không rõ ràng: Ví dụ: không có gợi ý bật lên, không có biểu tượng hoặc tên nút không rõ ràng.
Textures and 3D objects bug – Bug kết cấu và đối tượng 3D
Đây là một lỗi phổ biến trong thể loại trò chơi MMORPG và các trò chơi 3D khác. Đôi khi thật khó để tìm thấy chúng vì chúng có thể không được phân biệt bằng mắt thường. Để phát hiện những vấn đề như vậy, bạn phải hiểu sự khác biệt giữa bug kết cấu và bug đối tượng 3D.
- Bug kết cấu: Kết cấu chỉ là một hình ảnh được đặt trên đối tượng. Nếu nhân vật không thể đi xa hơn vì một chướng ngại vật vô hình nào đó, điều đó có nghĩa là nó không có kết cấu. Hoặc đôi khi có kết cấu nhưng lại không tương thích với đối tượng.
- Bug đối tượng 3D: Ví dụ, nhân vật của bạn đột nhiên biến mất sau khi thực hiện một hành động nào đó hoặc đi đến một địa điểm nào đó. Nó có thể xảy ra do sự không nhất quán và bí danh kém của các đối tượng chính xác ở trạng thái/vị trí này. Loại lỗi này có thể bị bỏ qua do kết cấu lớp phủ. Một ví dụ khác là khi bạn bị mắc kẹt ở một nơi nào đó và các đồ vật đang chặn đường bạn ra khỏi đó.
Content Bug – Bug nội dung
Nội dung của trang web thường được kiểm tra bởi nhóm chỉnh sửa hoặc viết quảng cáo vì họ biết chính xác những gì phải được viết ở đó. Tuy nhiên, một số lỗi nội dung quá rõ ràng để có thể bỏ qua. Nó có thể là một sai lầm trong tiêu đề hoặc tên công ty. Thiếu hình ảnh và liên kết không chính xác.
Kết Luận
Trên đây là một số loại bug phổ biến mình thường gặp khi kiểm thử phần mềm. Tuỳ thuộc vào mục đích và đối tượng kiểm thử khác nhau, mà bạn có thể cần phải xem xét tập trung vào tìm kiếm những loại bug khác nhau. Hi vọng bài viết này phần nào giúp ích được cho bạn trong quá trình tìm kiếm đó.
Hẹn gặp lại bạn vào những bài viết tiếp theo!
Happy Testing!