Về cơ bản, kiểm thử phần mềm bao gồm 2 cách tiếp cận là kiểm thử tự động và kiểm thử thủ công. Ở cấp độ nâng cao, kiểm thử phần mềm được chia thành kiểm thử hộp đen, kiểm thử hộp xám, kiểm thử hộp trắng.
Khi kiểm thử hộp đen, tester không cần biết về code mà chỉ cần kiểm tra phần mềm bằng cách nhập dữ liệu và kiểm tra đầu ra. Nếu kiểm thử hộp trắng, tester cần có kiến thức về code. Tester sẽ gặp nhiều thuận lợi nếu biết về lập trình như: C, C++, C#,…
Khi kiểm thử hộp trắng hay kiểm thử tự động, tester cần biết code. Bởi vì, kiểm thử tự động gồm code coverage, statement,… cho nên tester cần có kiến thức cơ bản về cơ sở dữ liệu và kỹ năng lập trình.
Đôi lúc, tester cần xác minh cơ sở dữ liệu nên cần có kiến thức cơ bản về các lệnh SQL như của 'create', 'select', 'update ', 'and '. Bên cạnh đó, "SQL injection" là một trong những kỹ thuật được dùng để hack cơ sở dữ liệu bằng cách chèn lệnh không mong muốn.
Để tăng cường khả năng bảo mật phần mềm, tester nên có kiến thức về SQL và các lệnh JavaScript. Ngoài ra, trong Agile Testing, tester thường làm việc với một hoặc nhóm lập trình viên để kiểm thử phần mềm. Vì vậy, tester bắt buộc phải biết code để có thể tạo nên kịch bản test auto.
Kết luận: Như vậy là bạn đã có được đáp án cho câu hỏi:
“Tester có cần biết code hay không?”. Thực tế cho thấy, tester có kiến thức cơ bản hay chuyên sâu về ngôn ngữ lập trình sẽ dễ dàng hơn để phát hiện lỗi trong hệ thống phần mềm và có thể hỗ trợ hay gợi ý developer vấn đề mà hệ thống phần mềm đang gặp phải.