Tester Có Cần Biết Lập Trình Không? Trả Lời HR Cho Người Trái Ngành

5 tháng trước · 10 phút đọc
Nỗi sợ số một của người trái ngành khi apply tester
Mình nhớ lúc mới chuyển ngành, câu hỏi đầu tiên mình Google là: "Tester có cần biết lập trình không?" Rồi đọc được vài JD (job description) có dòng chữ "Ưu tiên biết Python/Java" là lại hoảng.
Nhưng thực ra, câu trả lời không phải có hoặc không. Nó phụ thuộc vào loại tester bạn muốn làm.
Manual hay automation - lựa chọn ban đầu quyết định cần học gì
Có hai hướng chính trong testing: manual testing (kiểm thử thủ công) và automation testing (kiểm thử tự động). Manual tester tập trung vào việc hiểu nghiệp vụ, viết test case, tìm bug bằng tay. Automation tester viết script để máy chạy test tự động. Hai vai trò này yêu cầu nền tảng kỹ thuật khác nhau hoàn toàn.
Người mới trái ngành thường bắt đầu từ manual testing - và đây là con đường hoàn toàn hợp lý, không phải "cửa sau" hay tạm thời. Nhiều senior QA làm manual suốt 5-7 năm, lương tốt, career path rõ ràng.
Manual tester thật sự cần gì?
Không cần viết code. Nhưng cần tư duy logic, kiên nhẫn, và tỉ mỉ hơn mức bình thường.
Cụ thể, manual tester cần làm tốt 4 việc:
1. Viết test case rõ ràng - Mô tả từng bước thực hiện, dữ liệu đầu vào, kết quả mong đợi. Người khác đọc vào phải reproduce được bug, không phụ thuộc vào người viết.
2. Báo cáo bug chi tiết - Bug report thiếu thông tin là bug report vô dụng. Dev không biết reproduce từ đâu, ticket nằm đó không ai fix.
3. Đọc hiểu yêu cầu (requirement) - Biết sản phẩm cần làm gì để biết test cái gì. Đây là kỹ năng quan trọng hơn code rất nhiều.
4. Giao tiếp tốt với dev và BA - Tester là cầu nối. Bạn cần giải thích bug rõ cho dev, hỏi lại BA khi requirement mơ hồ.
4 kỹ năng cốt lõi manual tester cần - không có 'viết code' trong danh sách này
Mình từng thấy bạn kế toán chuyển sang tester, làm rất tốt vì quen với sự tỉ mỉ và kiểm tra số liệu. Kỹ năng từ ngành cũ chuyển được nhiều hơn bạn nghĩ.
Thấy khó ở phần viết test case bình thường lắm - mình cũng mất khoảng 2 tuần viết mãi mới ra được test case đúng format. Không ai viết ngon ngay từ đầu.
Cần biết thêm gì để không bị loại sớm?
Dù là manual tester, có 3 thứ bạn nên biết ở mức cơ bản - không cần giỏi, nhưng cần đủ để không bị loại ngay vòng đầu phỏng vấn.
Đọc log lỗi (error log)
Log là nhật ký hệ thống ghi lại những gì xảy ra. Khi app crash, log cho biết lỗi ở đâu. Bạn không cần hiểu từng dòng code, nhưng cần biết tìm dòng có chữ ERROR hay Exception, copy vào bug report. Dev sẽ cảm ơn bạn vì điều này.
Hiểu cơ bản về API
API (Application Programming Interface) là cách hai phần mềm nói chuyện với nhau. Ví dụ: app đặt đồ ăn gửi yêu cầu lên server, server trả về danh sách nhà hàng - đó là API hoạt động. Tester cần hiểu khái niệm request/response, status code (200 = thành công, 404 = không tìm thấy, 500 = lỗi server). Công cụ hay dùng là Postman - giao diện click-click, không cần gõ code.
Postman cho phép test API mà không cần viết một dòng code nào
Đọc hiểu test script cơ bản
Nếu team có automation, bạn sẽ thỉnh thoảng xem script để hiểu test đang làm gì. Không cần sửa hay viết, chỉ cần đọc và hiểu logic: "bước này đang click nút gì", "bước kia đang kiểm tra text gì".
Ba thứ này học được trong 1-2 tháng tự học, không cần đi học lập trình bài bản. Nếu bạn muốn có nền tảng IT căn bản trước khi học, khóa Kiến Thức Nhập Môn IT của F8 miễn phí và phù hợp để bắt đầu.
Automation testing - khi nào cần và cần code đến đâu?
Nếu bạn muốn làm automation tester, thì có - cần biết lập trình. Không nhiều như dev, nhưng đủ để viết và đọc script.
Thông thường automation tester dùng Selenium (với Java hoặc Python), Playwright, hoặc Cypress (JavaScript). Ngôn ngữ phổ biến nhất là Python vì cú pháp dễ đọc, cộng đồng lớn.
Nhưng đây là điều mình muốn nói thẳng: đừng cố học automation ngay khi mới vào nghề. Lý do đơn giản - bạn cần hiểu "test cái gì" trước khi học "test tự động như thế nào". Nhiều bạn học Selenium 2 tháng nhưng không biết viết test case cơ bản, đi phỏng vấn bị hỏi regression testing là gì thì không trả lời được.
Con đường từ manual đến automation - đừng bỏ qua bước đầu
Lộ trình mình gợi ý:
- Tháng 1-3: Manual testing - viết test case, bug report, học Jira, học SQL cơ bản
- Tháng 4-6: API testing với Postman, đọc log, hiểu quy trình Agile
- Tháng 6+: Bắt đầu xem automation nếu muốn, học Python cơ bản
SQL cơ bản thì bắt buộc dù manual hay automation - bạn cần query database để kiểm tra dữ liệu sau khi test. Không cần viết stored procedure, chỉ cần SELECT, WHERE, JOIN là đủ dùng 80% công việc.
Cách trả lời HR khi bị hỏi "Bạn có biết lập trình không?"
Đây là câu hỏi khiến nhiều bạn trái ngành lọng cọng nhất. Trả lời "không" ngắn gọn thì dễ bị loại. Trả lời "có" mà không có gì để chứng minh thì còn tệ hơn.
Mình gợi ý khung trả lời như thế này:
"Mình chưa có background lập trình chuyên sâu, nhưng mình đã tự học và hiểu được [những gì bạn thật sự biết]. Mình biết đọc error log, dùng Postman để test API cơ bản, và hiểu cấu trúc request/response. Với manual testing, mình tự tin vào kỹ năng viết test case và tìm bug. Mình đang học thêm Python để bước sang automation trong 6 tháng tới."
Cụ thể hóa những gì bạn biết - đừng chỉ nói 'tôi không biết code'
Ba nguyên tắc khi trả lời:
Không giấu điểm yếu, nhưng đừng dừng ở đó. HR biết bạn trái ngành từ CV rồi. Họ hỏi để xem bạn có tự nhận thức và có kế hoạch không, không phải để loại bạn ngay.
Nêu cụ thể những gì bạn biết. "Tôi hiểu cơ bản" không thuyết phục bằng "Tôi dùng Postman test API, biết đọc status code và log lỗi".
Cho thấy bạn đang học. Nói "mình đang học Python" tốt hơn nhiều so với "mình sẽ học sau khi vào làm". Khác biệt lớn.
Một lưu ý thực tế: một số công ty tuyển manual tester không yêu cầu code gì cả - họ cần người tỉ mỉ, giao tiếp tốt, hiểu nghiệp vụ. Đừng tự filter mình ra trước khi HR làm điều đó.
Checklist chuẩn bị trước khi phỏng vấn tester lần đầu
Mình tổng hợp lại những gì bạn cần chuẩn bị - không phải để "qua mặt" HR, mà để thật sự tự tin khi ngồi trước họ.
Kiến thức cần có:
- Biết phân biệt manual và automation testing
- Giải thích được test case là gì, bug report gồm những gì
- Hiểu smoke testing (test nhanh xem app chạy được không), sanity testing (test nhanh sau fix), regression testing (test lại cũ sau thay đổi)
- Biết vòng đời bug: New → Assigned → Fixed → Verified → Closed
- Hiểu API ở mức: request là gì, response là gì, status code phổ biến
Công cụ nên thử qua:
- Jira hoặc Trello - quản lý task và bug
- Postman - test API cơ bản
- TestRail hoặc Google Sheets - quản lý test case
Câu hỏi phổ biến HR hay hỏi:
- "Bạn hiểu testing là gì?"
- "Nếu thấy bug, bạn làm gì?"
- "Bạn có kinh nghiệm viết test case không?"
- "Tại sao chuyển sang tester?"
Chuẩn bị kỹ trước phỏng vấn giúp bạn tự tin trả lời mọi câu hỏi
Với câu "Tại sao chuyển sang tester?", mình khuyên bạn trả lời thật. Nếu bạn thích tỉ mỉ, thích tìm lỗi, thích đảm bảo chất lượng - nói đúng vậy. HR nghe hàng trăm câu trả lời mỗi tuần, câu thật thường ấn tượng hơn câu học thuộc.
Bạn cũng có thể tải checklist đầy đủ này để ôn trước buổi phỏng vấn: Tải checklist phỏng vấn tester
Không muộn khi bắt đầu ở tuổi 28, 32, hay 35. Mình biết nhiều bạn trái ngành vào nghề muộn nhưng lên senior nhanh vì kỹ năng mềm và kinh nghiệm từ ngành cũ giúp họ hiểu nghiệp vụ tốt hơn những bạn học IT thẳng từ đầu. Tỉ mỉ là thứ dạy được - nhưng quen tỉ mỉ từ kế toán, y tế, hay giáo viên thì có lợi thế thật sự.
Test kỹ một lần tốt hơn fix lỗi nhiều lần. Bước vào nghề cũng vậy - chuẩn bị kỹ từ đầu sẽ tiết kiệm bạn rất nhiều thời gian sau này.
