Đang tải...

Lửng Lọc Lõi

Đeo kính để soi Bug cho rõ, nhíu mày để nhắc Dev sửa cho kỹ. Với tôi, 'chạy được' thôi là chưa đủ! 🧐💻


0

Vai Trò Tester Trong Quy Trình Kiểm Thử: Từ Cơ Bản Đến Thực Tế Dự Án

Lửng Lọc Lõi
Lửng Lọc Lõi

5 tháng trước · 13 phút đọc

Tester thực sự làm gì trong một dự án?

Mình nhớ hồi mới bắt đầu học testing, cứ tưởng tester chỉ ngồi "click click" rồi viết ra "lỗi này lỗi kia". Thực tế thì khác hẳn. Lần đầu tiên tham gia sprint planning, mình bị choáng vì tester phải đọc tài liệu yêu cầu, đặt câu hỏi cho dev và BA, rồi lên kế hoạch kiểm thử - tất cả trước khi có 1 dòng code nào được viết ra.

Vai trò của tester trong quy trình phát triển phần mềm rộng hơn nhiều người nghĩ. Không phải "phase cuối cùng trước khi release", mà là người đảm bảo chất lượng từ sớm, từ khi requirement còn trên giấy.

343468 Tester tham gia từ đầu - không phải chỉ cuối quy trình

Cụ thể hơn, trong một dự án phần mềm điển hình, tester đảm nhiệm 3 nhóm công việc chính:

  • Phân tích và lên kế hoạch: Đọc tài liệu yêu cầu (requirement), xác định rủi ro, viết test plan
  • Thực hiện kiểm thử: Viết test case, chạy test, log bug khi phát hiện lỗi
  • Theo dõi và báo cáo: Verify bug đã fix, viết báo cáo kiểm thử, tham gia họp review

Nhiều bạn trái ngành lo lắng "không có IT background thì không làm được". Thật ra, phần lớn công việc daily của tester là logic, tỉ mỉ, và biết đặt câu hỏi đúng chỗ - không phải viết code. Mình sẽ phân tích từng phần cụ thể để bạn thấy rõ.


Manual testing vs automation testing: khác nhau thế nào?

Đây là câu hỏi mình nhận nhiều nhất từ người mới học. Nghe tên thì có vẻ phức tạp, nhưng hiểu đơn giản như sau:

Manual testing (kiểm thử thủ công) là bạn tự tay thực hiện các bước kiểm tra trên phần mềm. Mở app, nhập dữ liệu, quan sát kết quả, so sánh với kết quả mong đợi. Không dùng code, không dùng tool đặc biệt - chỉ cần não và đôi tay.

Automation testing (kiểm thử tự động) là viết code để máy tự làm những bước trên cho bạn. Tool phổ biến nhất là Selenium - bạn viết script, Selenium sẽ tự mở trình duyệt, click nút, nhập form, check kết quả, rồi báo cáo lại.

343469 Manual phù hợp người mới, automation là bước tiếp theo khi đã vững

Vậy cái nào quan trọng hơn? Câu trả lời: cả hai đều cần, nhưng thứ tự học phải đúng.

Tiêu chí Manual Testing Automation Testing
Cần biết code? Không Có (Python, Java, JS)
Phù hợp khi nào? Tính năng mới, UI phức tạp Regression, lặp đi lặp lại
Tốc độ Chậm hơn Nhanh hơn
Chi phí setup Thấp Cao ban đầu
Người mới nên học trước? Sau khi vững manual

Một lỗi mình hay thấy ở người mới: rush vào học Selenium ngay từ đầu vì nghe "automation nghe sang hơn". Kết quả là không viết được test case logic, không biết test cái gì, chỉ copy script trên mạng rồi không hiểu đang làm gì.

Kiểm thử thủ công vững = nền tảng để automation có ý nghĩa. Bạn cần hiểu "cần kiểm tra cái gì" trước khi nghĩ đến "viết code để kiểm tra tự động".


Hoạt động hàng ngày của tester trên dự án thực tế

Bạn đang review ticket trên Jira. Có 5 bug cần verify từ hôm qua, 3 test case cần viết cho tính năng mới, và một cuộc họp daily standup sau 30 phút. Đây là một buổi sáng bình thường của tester.

1. Viết test case

Test case (kịch bản kiểm thử) là tài liệu mô tả: cần kiểm tra cái gì, làm như thế nào, kết quả đúng là gì. Mỗi test case thường có:

  • Test Case ID: Mã định danh (ví dụ: TC_LOGIN_001)
  • Test Description: Mô tả ngắn đang test gì
  • Preconditions: Điều kiện trước khi test (đã có tài khoản, đã đăng nhập...)
  • Steps: Các bước thực hiện từng bước một
  • Expected Result: Kết quả mong đợi sau khi làm đúng steps

Ví dụ test case đăng nhập đơn giản:

TC_LOGIN_001: Đăng nhập với email và mật khẩu đúng
Precondition: Tài khoản [email protected] đã được tạo
Steps:
  1. Mở trang đăng nhập
  2. Nhập email: [email protected]
  3. Nhập password: Test@1234
  4. Click nút Đăng nhập
Expected: Chuyển hướng về trang Dashboard

343470 Viết test case rõ ràng giúp bất kỳ ai cũng reproduce được lỗi

2. Log bug (báo cáo lỗi)

Phát hiện lỗi chỉ là 20% việc. 80% còn lại là mô tả lỗi đủ rõ để dev fix được. Một bug report tốt gồm:

  • Tiêu đề: Ngắn gọn, đủ để hiểu vấn đề ("Nút Thanh toán không hoạt động khi giỏ hàng trống")
  • Steps to reproduce: Làm thế nào để tái hiện lỗi
  • Actual result: Thực tế đang xảy ra gì
  • Expected result: Kết quả đúng phải là gì
  • Severity/Priority: Mức độ nghiêm trọng
  • Evidence: Screenshot, video, log

3. Regression testing sau fix

Dev fix xong bug, tester verify lại - không chỉ test đúng bug đó, mà còn kiểm thử hồi quy (regression testing) các tính năng liên quan để chắc fix này không làm hỏng thứ khác. Mình từng skip bước này vì nghĩ "thay đổi nhỏ thôi", kết quả là tính năng thanh toán bị ảnh hưởng dù fix chỉ ở phần hiển thị giá.

Bộ công cụ tester thường dùng hàng ngày: Jira (quản lý bug và task), TestRail hoặc Google Sheets (quản lý test case), Postman (test API), browser DevTools (debug frontend).


Tester cần kỹ năng gì? Checklist cho người trái ngành

25, 30, hay 35 tuổi chuyển sang testing đều không muộn. Mình từng đào tạo một bạn 32 tuổi từ ngành kế toán - hiện tại đang là senior tester sau 3 năm. Lý do bạn ấy chuyển được nhanh: không có IT background nhưng có tư duy logic và tính tỉ mỉ cực kỳ cao.

Dưới đây là checklist kỹ năng thực tế - không phải lý thuyết sách vở:

343471 Kỹ năng mềm quan trọng không kém kỹ năng kỹ thuật với tester

Kỹ năng bắt buộc (phải có trước khi đi xin việc):

  • [ ] Viết test case đủ 5 phần: ID, Description, Precondition, Steps, Expected Result
  • [ ] Log bug rõ ràng: tiêu đề cụ thể, steps reproduce, actual vs expected, screenshot
  • [ ] Phân biệt được smoke testing, sanity testing, regression testing
  • [ ] Dùng được Jira cơ bản: tạo ticket, cập nhật status, filter
  • [ ] Biết đọc basic HTML/CSS để tìm element khi test (không cần viết code)
  • [ ] Tiếng Anh đọc tài liệu kỹ thuật cơ bản

Kỹ năng nên có sau 3-6 tháng đầu:

  • [ ] Postman: gửi GET/POST request, check response cơ bản
  • [ ] SQL cơ bản: SELECT, WHERE, JOIN để verify dữ liệu trong database
  • [ ] Viết automation test case đơn giản bằng Selenium
  • [ ] Đọc hiểu log lỗi (error log, console log)

Kỹ năng mềm - thường bị bỏ qua nhưng quan trọng hơn bạn nghĩ:

  • [ ] Tư duy phá vỡ hệ thống: luôn hỏi "nếu user làm vậy thì sao?"
  • [ ] Giao tiếp rõ ràng: mô tả lỗi dev hiểu ngay, không cần giải thích thêm
  • [ ] Kiên nhẫn: có lúc test đi test lại 20 lần một tính năng
  • [ ] Ưu tiên công việc: biết bug nào cần báo ngay, bug nào có thể đợi

Kỹ năng IT background? Thật ra không phải zero cũng không phải phải biết code giỏi. Hiểu cơ bản về web hoạt động như thế nào (request/response, frontend/backend, database) là đủ để bắt đầu. Khóa Kiến Thức Nhập Môn IT của F8 cover đúng phần nền tảng này - miễn phí và phù hợp người chưa có background.


Đưa vai trò tester vào CV khi trái ngành

Đây là phần nhiều bạn vướng nhất. "Mình chưa có kinh nghiệm tester, CV ghi gì?" Câu trả lời: ghi đúng những gì bạn đã làm, dù là tự học hay project nhỏ.

Cách xử lý CV khi chưa có kinh nghiệm chính thức

Mình từng hướng dẫn rất nhiều bạn trái ngành viết CV và nhận ra 1 pattern: người được gọi phỏng vấn không phải người có CV đẹp nhất, mà là người chứng minh được tư duy tester.

Phần Mục tiêu nghề nghiệp - đừng viết chung chung "muốn học hỏi và phát triển". Viết cụ thể:

"Tìm kiếm vị trí Fresher Tester để ứng dụng kỹ năng viết test case, log bug và kiểm thử manual. Có kinh nghiệm tự thực hành trên dự án [tên dự án tự làm]. Mục tiêu sau 1 năm: thành thạo API testing và cơ bản automation."

343472 CV tester fresher cần chứng minh tư duy, không phải kinh nghiệm

Phần Kỹ năng - chia thành 2 nhóm rõ ràng:

  • Testing skills: Viết test case, Log bug, Manual testing, Regression testing, Postman (nếu đã học)
  • Tools: Jira, TestRail (hoặc Google Sheets), Browser DevTools

Phần Dự án - đây là phần quan trọng nhất. Bạn chưa có dự án thực tế? Tự tạo:

  • Chọn một website/app thật (Shopee, Traveloka, bất kỳ app nào)
  • Viết 10-15 test case cho tính năng đăng nhập hoặc tìm kiếm
  • Chạy test, log bug (thật, app thật có bug thật)
  • Ghi vào CV: "Tự thực hành kiểm thử tính năng [X] trên [App Y], viết 15 test case, phát hiện 3 lỗi"

Phần Kinh nghiệm cũ từ ngành khác - đừng giấu. Kế toán? Bạn quen tỉ mỉ với số liệu, đó là kỹ năng tester quý. Giáo viên? Bạn giỏi mô tả chi tiết từng bước - đúng thứ bug report cần. Bán hàng? Bạn biết user experience từ góc độ khách hàng.

Mỗi vị trí cũ, thêm 1 bullet point liên quan đến tư duy quality: "Kiểm tra báo cáo tài chính, đảm bảo độ chính xác trước khi submit" - nghe quen không? Đó chính là mindset tester.

Cuối cùng: tải template bug report và checklist kỹ năng ở các section trên, thực hành trên 1 app thật, rồi mang kết quả vào CV. Đó là cách thuyết phục nhất với hiring manager - không phải bằng lời nói, mà bằng bằng chứng thực tế bạn đã làm.


Lộ trình học tester thực tế: bắt đầu từ đâu?

"Học theo thứ tự gì?" - câu này mình trả lời ít nhất 10 lần mỗi tuần. Dưới đây là lộ trình mình thấy hiệu quả nhất, không phải lộ trình "nghe hay" trên giấy.

Tháng 1-2: Nền tảng testing và tư duy

Bắt đầu bằng cách hiểu web hoạt động thế nào - không cần học code, nhưng cần hiểu khái niệm: browser gửi request, server trả response, frontend hiển thị, database lưu dữ liệu. Không có nền tảng này, bạn sẽ không biết tại sao bug xảy ra và không biết test ở tầng nào.

Song song đó: học viết test case. Thực hành ngay trên các app thật - không cần chờ học xong lý thuyết.

343473 Thực hành sớm trên app thật hiệu quả hơn học lý thuyết thuần

Tháng 3-4: Công cụ thực chiến

  • Jira: tạo project cá nhân, tự log bug vào đó
  • Postman: học gửi request cơ bản, đọc response JSON
  • SQL cơ bản: SELECT, WHERE, JOIN - đủ để verify dữ liệu
  • Browser DevTools: tab Network để xem request/response, tab Console để đọc lỗi JS

Tháng 5-6: Automation cơ bản

Bắt đầu với Selenium WebDriver. Mục tiêu không phải viết automation toàn bộ - mà là hiểu automation test case trông như thế nào, và tại sao cần viết manual test case tốt trước.

Một lưu ý thực tế: Phần lớn công ty tuyển fresher tester hiện tại vẫn ưu tiên manual testing skills hơn automation. Automation là điểm cộng, không phải điều kiện bắt buộc với fresher.

Về chứng chỉ: ISTQB Foundation Level là chứng chỉ testing được công nhận rộng rãi nhất tại Việt Nam. Không phải bắt buộc để đi làm, nhưng có ích khi cạnh tranh CV với các ứng viên khác. Tài liệu ôn tập chính thức từ ISTQB miễn phí trên website của họ.

Test kỹ 1 lần > fix lỗi nhiều lần - đây không chỉ là slogan. Với người mới vào nghề, thói quen test kỹ ngay từ đầu sẽ tạo ra sự khác biệt rõ rệt sau 6-12 tháng. Bắt đầu từ 1 app, 10 test case, 1 bug report chuẩn. Từ đó mở rộng dần.

Nếu bạn muốn thực hành thêm, tải checklist kỹ năng Tài liệu ISTQB Foundation Level chính thức và template bug report ở phần trước - đó là 2 tài liệu mình khuyên dùng ngay từ ngày đầu học.