Hướng Dẫn Bài Onboarding: Exploratory Testing Course

 Phần Onboarding sẽ gồm 2 khóa: Reproduction Course và Exploratory Testing Course.

Nếu bạn vượt qua bài Reproduction Course thì sẽ có thể tham gia Reproduce Bug (Tái hiện lỗi) của người khác. Tuy nhiên, giá Reproduce Bug của người khác, bạn sẽ chỉ nhận được một phần nhỏ so với Bug bạn tìm được. Vì vậy, để thực sự kiếm được nhiều tiền thì bạn sẽ cần phải vượt qua bài Exploratory Testing Course để có thể tham gia vào các cycle testing. Như hình bên dưới, các bạn thấy rằng các lỗi sẽ có giá từ $16.5-$22/bug bạn tìm được, còn reproduce chỉ có giá $0.6/ reprod.

-----------------------------------------------------
Ở Exploratory sẽ hướng dẫn bạn về cách testing và viết report như thế nào.

Chúng ta sẽ gồm các loại bug như sau:
1. Functional Bugs (Lỗi về chức năng): Liên quan đến chức năng phần mềm không hoạt động như dự kiến, ví dụ: nút không hoạt động, form không submit, app bị crash. Đánh giá theo mức độ ảnh hưởng: Low, High, Critical tùy vào mức nghiêm trọng và tác động đối với người dùng/công ty .

1.1 Critical Functional Bug

Mức nghiêm trọng nhất – ảnh hưởng trực tiếp và nghiêm trọng đến việc sử dụng sản phẩm.

Ví dụ:

  • App bị crash, reload vô hạn, hoặc treo hoàn toàn.

  • Không thể đăng nhập, đăng ký, mua hàng, thanh toán.

  • Tính năng chính không hoạt động (ví dụ: giỏ hàng không thêm được sản phẩm).

  • Thao tác làm mất dữ liệu người dùng (xóa tài khoản, xóa dữ liệu mà không có cảnh báo).

  • Lỗi server: mã lỗi 500, ứng dụng ngắt kết nối máy chủ, Internal Server Error.

Khi nào báo là Critical:

  • Ảnh hưởng đến đa số người dùng, tái hiện được dễ dàng.
  • Không có cách khắc phục/người dùng bị chặn hoàn toàn.

1.2. High Functional Bug

Nghiêm trọng vừa – ảnh hưởng đến chức năng chính nhưng vẫn có cách để tiếp tục sử dụng hoặc chỉ ảnh hưởng một phần.

Ví dụ:

  • Nút không hoạt động trên một số trình duyệt/thao tác nhất định.

  • Không thể upload ảnh/avatar/file nhưng trang vẫn hoạt động.

  • Form gửi dữ liệu không báo lỗi đúng (ví dụ: không hiển thị lỗi khi thiếu trường bắt buộc).

  • Popup không đóng được, trừ khi reload.

  • Tính năng hoạt động sai với thông tin đầu vào bình thường (ví dụ: tính toán sai giá trị).

Khi nào báo là High:

  • Người dùng có thể bị ảnh hưởng, nhưng không bị chặn hoàn toàn.

  • Lỗi xảy ra trên phần chính của hệ thống, nhưng có workaround.

1.3. Low Functional Bug

Ít nghiêm trọng – lỗi nhỏ không ảnh hưởng nhiều đến chức năng hoặc chỉ xảy ra trong điều kiện đặc biệt.

Ví dụ:

  • Nút bị chậm phản hồi, nhấn hai lần mới hoạt động.

  • Tooltip không hiển thị đúng.

  • Một trường form không tự động validate nhưng vẫn submit được.

  • Một bước phụ bị thiếu nhưng không ảnh hưởng đến kết quả cuối.

Khi nào báo là Low:

  • Chỉ ảnh hưởng nhẹ đến trải nghiệm người dùng.

  • Người dùng vẫn có thể sử dụng tính năng đúng mục đích.

2. Content Bugs (Lỗi nội dung) Liên quan đến nội dung như văn bản, nhãn, ảnh, video, link, dữ liệu… Ví dụ: link hỏng (404), thiếu text, thiếu bản dịch, ảnh hoặc icon bị lỗi. Nhấn mạnh rằng lỗi chính tả không được xem là content bug.

3. Visual Bugs (Lỗi giao diện) Gồm các lỗi UI/UX như sai layout, phần tử bị lệch, chồng chéo, bị cắt khung, responsive sai trên thiết bị khác nhau… . Các lỗi có thể sửa bằng chỉnh CSS/HTML. Nếu lỗi giao diện gây ảnh hưởng đến chức năng (ví dụ click vào button bị che), thì sẽ nâng thành Functional Bug.

4. Usability Suggestions (Đề xuất cải thiện trải nghiệm) Không phải lỗi, mà là các gợi ý để cải thiện trải nghiệm người dùng. Không báo là bug, nhưng tester có thể đề xuất nếu thấy UI/flow chưa tối ưu.


-----------------------------------------------------
Dưới đây là  Bug Report Template (English) — Giải thích bằng tiếng Việt

📝 Title (Tiêu đề lỗi)

After sorting by price from low to high, lower priced products are displayed after higher priced ones on the product listing page.

📌 Giải thích:
Tiêu đề nên mô tả lỗi tổng quát, không chỉ một trường hợp cụ thể. Ở đây bạn nêu rõ:

  • WHAT: Lỗi hiển thị sản phẩm không đúng thứ tự giá.

  • HOW: Sau khi chọn chế độ sắp xếp theo giá thấp đến cao.

  • WHERE: Trên trang danh sách sản phẩm (có cũng tốt, không bắt buộc).

🔗 URL

https://example.com/products

📌 Giải thích:

  • Nếu test trên website, cần để link nơi xảy ra lỗi.

  • Nếu test mobile app, phần này để trống.

👣 Steps to Reproduce (Các bước thực hiện)

  1. Open "https://www.abc.com/"

  2. Scroll down to the product listing section

  3. Click on the “Sort by: Price (Low to High)” option

  4. Observe the order of the displayed products

📌 Giải thích:

  • Bắt đầu bằng mở trang hoặc mở app

  • Không cần liệt kê quá chi tiết, nhưng phải đầy đủ logic.

  • Nếu lỗi xảy ra chỉ với một loại đăng nhập, thiết bị, hoặc tài khoản đặc biệt, phải ghi rõ ở bước liên quan.

🧪 Actual Result (Kết quả thực tế)

Products with higher prices are displayed before products with lower prices despite selecting the “Low to High” sorting option.
Example: Product A ($30) appears before Product B ($20).

📌 Giải thích:

  • Viết khác với tiêu đề nhưng cùng ý nghĩa, mô tả chi tiết hơn.

  • Nêu ví dụ cụ thể nếu có.

Expected Result (Kết quả mong đợi)

Products should be displayed in ascending order based on their price.
For example, Product B ($20) should appear before Product A ($30).

📌 Giải thích:

  • Viết rõ kết quả mà bạn kỳ vọng hệ thống nên hoạt động.

  • Không dùng chung chung như “works correctly”.

  • Không đảo phủ định so với actual result. Ví dụ nếu actual là “does not show A”, expected không nên là “should not fail to show A”.

📷 Attachment

[Screenshot/video file]

📌 Giải thích:

  • Với content/visual bug, cần đăng ảnh.

  • Với function bug, cần quay video ở dạng mp4, không quá 1 phút và có hiển thị ngày tháng và URL đính kèm.

  • Đảm bảo highlight chuột trong video.

-----------------------------------------------------

Ví dụ 1 report:
Title: User cannot select refined location directly from map modal
Bug type: Functional
Severity: Low
URL: https://www.abc.com/
Steps:
  1. 1. Open test website http://www.abc.com
  2. 2. Create and login to account
  3. 3. Click in the header location selection at the top navbar
  4. 4. Input location as 'Alberta' and try to move map pin
Actual result:

Trying to select location intuitively from map is not supported when some location names such as 'Alberta' are used. This is because the map does not load in the 'set location' modal. There is also no region filters applied.

Expected result:

Setting location by moving map pin in modal should be possible for intuitive location selection. Whether location is set or not, this is to refine the location being set. Region filters should also apply.


Trên đây chỉ là giới thiệu cơ bản về bài Exploratory test, các bạn nên đọc các tài liệu chính thức trong khóa học để có được đầy đủ thông tin nhất. Ngoài ra, khi tham gia testing các bạn cần dùng AI có sẵn trên phần viết report để chỉnh sửa report theo yêu cầu để ra để tránh Test Team Leader reject (Ngoài ra để hỗ trợ các bạn có thể dùng thêm ChatGPT để chỉnh sửa theo yêu cầu).
Chúc các bạn vượt qua Onboarding và sớm nhận được cycle testing.

Nhận xét