Tester là gì? Công việc, kỹ năng và mức lương nghề kiểm thử phần mềm
Nếu lập trình viên là người xây ngôi nhà, thì tester là người nghiệm thu: mở từng cánh cửa, thử từng ổ điện, xả từng đường ống trước khi bàn giao cho chủ nhà. Bài viết này giải thích tester là gì theo đúng cách nghề này vận hành trong dự án thật — không phải định nghĩa sách vở.
Tester là gì?
Tester (kiểm thử viên phần mềm) là người chịu trách nhiệm đánh giá chất lượng của phần mềm trước khi nó đến tay người dùng. Công việc không dừng ở "bấm thử xem có lỗi không", mà là đặt câu hỏi có hệ thống: phần mềm này được kỳ vọng làm gì, trong điều kiện nào nó sẽ hỏng, và rủi ro nào đáng để bỏ thời gian kiểm tra nhất.
Điểm cốt lõi khiến nhiều người hiểu sai: kiểm thử không chứng minh được phần mềm không có lỗi. Nó chỉ cho thấy những lỗi đã tìm ra. Một tester giỏi vì thế không phải người bấm nhiều nhất, mà là người chọn đúng chỗ để bấm — nơi lỗi có xác suất xuất hiện cao và hậu quả lớn nhất.
Kiểm thử cho thấy sự hiện diện của lỗi, chứ không chứng minh sự vắng mặt của lỗi. — Nguyên tắc kiểm thử số 1 theo ISTQB.
Phân biệt QA, QC và Tester
Ba thuật ngữ này bị dùng lẫn lộn liên tục trong tin tuyển dụng ở Việt Nam. Về bản chất chúng khác nhau ở phạm vi: QA hướng tới quy trình, QC hướng tới sản phẩm, còn Tester là người trực tiếp thực thi việc kiểm thử.
| Tiêu chí | QA (Quality Assurance) | QC (Quality Control) | Tester |
|---|---|---|---|
| Mục tiêu | Ngăn lỗi phát sinh | Phát hiện lỗi trong sản phẩm | Thực thi kiểm thử để tìm lỗi |
| Đối tượng tác động | Quy trình, tiêu chuẩn, cách làm việc | Sản phẩm đã build | Chức năng, màn hình, API cụ thể |
| Câu hỏi tiêu biểu | "Quy trình của mình có đang sinh ra lỗi không?" | "Bản build này có đạt chuẩn không?" | "Nhập giá trị này thì hệ thống phản ứng thế nào?" |
| Thời điểm tham gia | Từ đầu dự án, xuyên suốt | Sau khi có sản phẩm | Từ giai đoạn phân tích yêu cầu trở đi |
Một ngày làm việc của tester gồm những gì?
Công việc thực tế xoay quanh một vòng lặp lặp đi lặp lại theo mỗi sprint. Dưới đây là những đầu việc chiếm phần lớn thời gian:
- Đọc và phản biện yêu cầu (requirement / user story): tìm chỗ mơ hồ, thiếu, mâu thuẫn — đây là lúc tester tạo ra giá trị lớn nhất, vì sửa một yêu cầu sai rẻ hơn sửa một tính năng đã code xong rất nhiều.
- Thiết kế test case: chuyển yêu cầu thành các tình huống kiểm tra cụ thể, có dữ liệu đầu vào và kết quả mong đợi rõ ràng.
- Chuẩn bị dữ liệu và môi trường test: tạo tài khoản, seed dữ liệu, kiểm tra bản build đã deploy đúng version chưa.
- Thực thi test: chạy test case, quan sát hành vi thật, so sánh với kết quả mong đợi.
- Ghi nhận bug: viết bug report đủ để lập trình viên tái hiện được lỗi mà không cần hỏi lại.
- Retest và regression test: xác nhận lỗi đã được sửa, đồng thời kiểm tra bản sửa không làm hỏng chức năng khác.
- Báo cáo: tóm tắt tình trạng chất lượng để team và quản lý ra quyết định phát hành.
Tester cần những kỹ năng gì?
Kỹ năng nền tảng (bắt buộc)
- Tư duy phản biện và tư duy hệ thống — biết đặt câu hỏi "điều gì xảy ra nếu…" một cách có cấu trúc.
- Hiểu cách web/ứng dụng hoạt động: client – server, HTTP request/response, status code, cookie/session.
- Kỹ thuật thiết kế test case: phân vùng tương đương, phân tích giá trị biên, bảng quyết định.
- Viết bug report rõ ràng, phân loại được Severity và Priority.
- Tiếng Anh đọc hiểu — tài liệu, log lỗi và phần lớn công cụ đều bằng tiếng Anh.
Kỹ năng nâng cao (tăng lương)
- SQL: truy vấn trực tiếp cơ sở dữ liệu để kiểm chứng dữ liệu, thay vì chỉ tin vào giao diện.
- API testing: kiểm thử ở tầng dịch vụ, phát hiện lỗi sớm hơn và ổn định hơn test qua giao diện.
- Automation testing: viết kịch bản tự động với Playwright, Selenium hoặc Cypress cho phần regression lặp lại.
- Hiểu nghiệp vụ (domain): ngân hàng, bảo hiểm, y tế, viễn thông — đây là thứ khiến tester khó bị thay thế nhất.
- CI/CD cơ bản: biết test của mình chạy ở đâu trong pipeline và đọc được kết quả.
Mức lương và lộ trình thăng tiến
Mức lương dưới đây là khoảng tham chiếu phổ biến trên thị trường IT Việt Nam, thay đổi theo thành phố, quy mô công ty và việc bạn có làm cho khách hàng nước ngoài hay không. Hãy coi đây là bản đồ định hướng, không phải cam kết.
| Cấp bậc | Kinh nghiệm | Khoảng lương tháng | Năng lực đặc trưng |
|---|---|---|---|
| Fresher / Intern | 0 – 1 năm | 6 – 10 triệu | Chạy test case có sẵn, log bug |
| Junior Tester | 1 – 2 năm | 10 – 18 triệu | Tự thiết kế test case, thạo một domain |
| Middle / Senior | 3 – 5 năm | 20 – 40 triệu | Chủ động test strategy, API + SQL + automation |
| Lead / QA Manager | 5+ năm | 40 – 70+ triệu | Quản lý chất lượng, quy trình và con người |
Sau mốc middle, lộ trình thường tách làm hai nhánh: đi sâu kỹ thuật (Automation Engineer, SDET, Performance Tester, Security Tester) hoặc đi rộng về quản lý (Test Lead, QA Manager). Cả hai nhánh đều cần nền tảng test design vững — khác biệt chỉ nằm ở việc bạn dành thời gian cho code hay cho người.
Người trái ngành có làm tester được không?
Được, và đây là một trong số ít vị trí IT thực sự thân thiện với người trái ngành. Lý do: điểm khởi đầu của nghề là tư duy và sự tỉ mỉ, không phải khả năng viết thuật toán. Rất nhiều tester giỏi xuất phát từ ngân hàng, kế toán, y tế hoặc sư phạm — và chính kiến thức nghiệp vụ cũ trở thành lợi thế khi test hệ thống trong đúng lĩnh vực đó.
Điều cần thực tế: bạn vẫn phải bù phần nền tảng kỹ thuật (cách web hoạt động, HTTP, cơ sở dữ liệu). Khoảng thời gian hợp lý để đi từ con số 0 đến đủ điều kiện ứng tuyển fresher là 4 – 8 tháng học nghiêm túc, tùy cường độ.
Bắt đầu từ đâu nếu bạn quyết định theo nghề?
- Hiểu nền tảng: cách web hoạt động, HTTP, client – server, vòng đời phát triển phần mềm (SDLC).
- Học quy trình kiểm thử và các kỹ thuật thiết kế test case cơ bản.
- Luyện viết test case và bug report trên một sản phẩm thật — có thể là chính ứng dụng bạn đang dùng hằng ngày.
- Bổ sung SQL và API testing để kiểm chứng dữ liệu ở tầng sâu hơn giao diện.
- Cân nhắc chứng chỉ ISTQB Foundation để hệ thống hoá kiến thức và có lợi thế khi lọc CV.
- Làm quen automation ở mức đọc hiểu và viết được kịch bản đơn giản.
Nếu bạn muốn một lộ trình chi tiết theo từng tháng, kèm tiêu chí để biết khi nào nên chuyển sang bước tiếp theo, hãy đọc bài lộ trình học tester cho người mới bắt đầu ở phần bài viết liên quan bên dưới.
Câu hỏi thường gặp
Tester có cần biết lập trình không?
Ở giai đoạn đầu thì không bắt buộc. Bạn có thể làm manual tester với tư duy test design tốt, SQL cơ bản và hiểu biết về API. Tuy nhiên từ mức middle trở lên, khả năng đọc code và viết kịch bản tự động hoá gần như là điều kiện cần để tăng lương và mở rộng cơ hội.
Học tester mất bao lâu thì đi làm được?
Trung bình 4 – 8 tháng học nghiêm túc để đủ điều kiện ứng tuyển vị trí fresher hoặc junior. Mốc quan trọng là khi bạn tự thiết kế được test case cho một yêu cầu chưa từng thấy và viết được bug report mà lập trình viên tái hiện được ngay.
Tester và QA khác nhau thế nào?
QA tập trung vào quy trình để ngăn lỗi phát sinh, còn tester trực tiếp thực thi kiểm thử để tìm lỗi trong sản phẩm. Trên thực tế tại Việt Nam, hai chức danh này thường được dùng thay thế nhau trong tin tuyển dụng, nên hãy đọc kỹ phần mô tả công việc thay vì chỉ nhìn tiêu đề.
Nghề tester có bị AI thay thế không?
AI thay thế phần lặp lại: sinh test case mẫu, viết script nháp, tóm tắt log. Phần không thay thế được là đánh giá rủi ro, hiểu nghiệp vụ và quyết định điều gì đáng kiểm thử. Tester biết dùng AI như một công cụ sẽ có lợi thế; tester chỉ chạy test case có sẵn thì rủi ro cao hơn.