Vision

5 sự ngộ nhận phổ biến về kiểm thử phần mềm

Kiểm thử phần mềm đang ngày càng phát triển ở Việt Nam và được nhiều người quan tâm biết đến. Trong quá trình tìm hiểu và phát triển nghề nghiệp, mình thấy có những ngộ nhận về kiểm thử phần mềm mà nhiều người (bao gồm kỹ sư kiểm thử phần mềm, lập trình viên, nhà quản lý) thường mắc phải. Dưới đây là 5 ngộ nhận phổ biến đúc kết từ việc nghiên cứu tìm hiểu và kinh nghiệm cá nhân của một kỹ sư kiểm thử phần mềm được coi như “có chút kinh nghiệm” (7 năm).

Ngộ nhận 1: “Không làm lập trình được thì đi làm kiểm thử”

Đây là một trong những ngộ nhận phổ biến nhất về công việc kiểm thử phần mềm. Rất nhiều ứng viên đã chia sẻ như vậy trong những buổi phỏng vấn vào vị trí kỹ sư kiểm thử phần mềm. Họ chia sẻ rằng họ được đào tạo để trở thành lập trình viên nhưng vẫn chưa tìm được việc cho nên họ muốn chuyển qua công việc kiểm thử. Hoặc một dạng câu trả lời khác là tạm thời làm kiểm thử sao đó để chuyển qua làm lập trình viên. Sở dĩ có sự ngộ nhận này là do mọi người ngầm hiểu công việc kiểm thử là rất dễ làm và không cần kiến thức lập trình hoặc kiểm thử là những bước đầu tiên của lập trình.

Thực ra kiểm thử và lập trình là 2 công việc khác nhau và đòi hỏi những kỹ năng chuyên môn khác nhau. Không có gì đảm bảo một lập trình viên giỏi sẽ làm công việc kiểm thử tốt hơn một lập trình viên bình thường hoặc không phải là lập trình viên

Ngộ nhận 2: “Kiểm thử phần mềm ai làm chẳng được…”

Nhiều người quan niệm làm kiểm thử phần mềm rất dễ, chẳng cần biết lập trình, chỉ cần biết sơ sơ về kiến thức tin học và chút tỉ mỉ. Nếu ai đó có quan niệm như vậy thì cần phải nhìn nhận lại. Không có công việc nào là dễ dàng nếu như mình không có đủ kỹ năng cần thiết để làm nó hoặc chưa bao giờ làm nó. Nhiều người sau một thời gian làm công việc kiểm thử cũng nhận định công việc kiểm thử “cũng dễ thiệt”. Tuy nhiên, họ không nhận ra rằng làm được việc và làm xuất sắc là khác nhau. Kiểm thử phần mềm đòi hỏi những kỹ năng chuyên môn mà không phải ai cũng có sẵn như sự đam mê, tò mò, khả năng sáng tạo, khả năng quan sát, phân tích, trình bày, tranh luận, vv…và cả kiến thức lập trình. Kiểm thử phần mềm là một nghệ thuật mà đã là nghệ thuật thì không phải ai cũng có thể đam mê và làm được.

Vision

Ngộ nhận 3: “Cái gì…thời buổi này còn kiểm thử thủ công?”

Trong vài năm trở lại đây, mọi người đã được biết đến nhiều hơn về kiểm thử tự động. “Người người nhà nhà” làm kiểm thử tự động. Đi một vòng mấy website về tuyển dụng, số lượng tuyển dụng cho vị trí kiểm thử tự động tăng cao. Điều đó tạo nên một trào lưu làm kiểm thử tự động khiến cho nhiều người ngộ nhận là đây là thời đại của kiểm thử tự động và kiểm thử thủ công được gọi là “kiểm thử chân tay” mang hàm ý mỉa mai.

Kiểm thử tự động và kiểm thử thủ công thực ra là 2 cách tiếp cận việc kiểm thử hoàn toàn khác nhau. Kiểm thử tự động có thể thích hợp cho việc kiểm thử đệ quy, unit test nhưng kiểm thử tự động không thể giúp tìm được nhiều lỗi sản phẩm hơn. Một điều mà nhiều người vẫn hay quên rằng ngay cả công cụ kiểm thử tự động cũng có lỗi (dĩ nhiên là có rồi, con người phát triển mà) và chắc chắn là ít ra vẫn sẽ cần kỹ sư kiểm thử phần mềm để tìm lỗi cho nó.

Ngộ nhận 4: “Kiểm thử làm chi cho tốn kém”

Rất nhiều người nghĩ kiểm thử là công việc tốn kém không cần thiết. Tại sao phải kiểm thử khi mình đã có những lập trình viên “pro”/”xuất sắc”/“siêu”. Thứ nhất, “pro”, “xuất sắc”, “siêu” hay những mỹ từ nào để nói về năng lực của lập trình viên là những từ ngữ mang tính tương đối. Thứ hai, đã là người là có sai sót.

Những người có quan niệm “kiểm thử là tốn kém” thì họ sẽ nhận ra thế nào tốn kém đúng nghĩa khi sản phảm đưa ra thị trường và bị phàn nàn về chất lượng sản phẩm. Chi phí để vá lỗi thì có thể cân đo đong đếm được còn chi phí để lấy lại niềm tin đã mất của khách hàng thì không biết đo làm sao. Lúc đó nhiều người sẽ nói “ Giá như, giá như có đội kiểm thử thì tốt biết bao…”

Một quan niệm khác cũng nguy hiểm không kém là để lập trình viên kiểm thử luôn sản phẩm. Tại sao không chứ? Không ai hiểu sản phẩm tốt hơn người đã làm ra nó. Có thể đúng nhưng không phải ai cũng có thể nhận ra lỗi của mình hoặc đủ dũng cảm và sự khách quan để thừa nhận lỗi của mình (Ở đây mình đang giả định là lập trình viên có đầy đủ kỹ năng của một kỹ sư kiểm thử phần mềm chuyên nghiệp, có thể làm 16 tiếng/1 ngày và chỉ nhận lương bằng với một lập trình viên chuyên code và làm 8 tiếng/1 ngày).

Ngộ nhận 5: “Kiểm thử rồi mà sao ứng dụng vẫn còn lỗi vậy?”

Oh, mấy sếp hay hỏi câu này. Bất cứ sản phẩm nào cũng sẽ có lỗi cho dù đội kiểm thử có chuyên nghiệp bao nhiêu. Muốn kiểm thử và tìm ra tất cả lỗi thì phải có điều kiện cần và đủ. Cần là kiểm thử hết tất cả mọi thứ liên quan đến công việc kiểm thử như các loại kiểm thử, kỹ thuật kiểm thử, phương pháp tiếp cận, cấp độ kiểm thử (xem thêm https://en.wikipedia.org/wiki/Software_testing). Cho dù có được điều kiện cần thì vẫn phải cần điều kiện đủ là có đủ thời gian để kiểm thử. Ngày nay, dưới áp lực của việc đưa sản phẩm ra thị trường càng sớm càng tốt để tăng tính cạnh tranh cho sản phẩm cho nên nhiều người đã chọn giải pháp là rút ngắn giai đoạn kiểm thử hoặc chấp nhận sản phẩm ra thị trường với những lỗi “chấp nhận được”. Dĩ nhiên, nói như thế không có nghĩa là kỹ sư kiểm thử phần mềm có quyền thở phào nhẹ nhõm và thờ ơ với công việc kiểm thử của mình. Trách nhiệm vẫn sẽ thuộc về kỹ sư kiểm thử phần mềm nếu như những lỗi đó nằm trong phạm vi kiểm thử.

Mình vừa chia sẻ 5 ngộ nhận phổ biến về công việc kiểm thử phần mềm. Những ngộ nhận trên cũng chính là những quan sát nhận định của chính mình trong thời gian làm công việc kiểm thử ở vị trí kỹ sư kiểm thử phần mềm hoặc trưởng nhóm kiểm thử. Những nhận định trên là mang tính chủ quan và có thể chỉ có giá trị tại thời điểm khi viết bài này và không loại trừ khả năng chính mình cũng đang ngộ nhận. Sự ngộ nhận tuy không xấu nhưng đừng để sự ngộ nhận cản trở bạn trở thành một kỹ sư kiểm thử phần mềm chuyên nghiệp hoặc con đường phát triển của công việc kiểm thử phần mềm. Một công việc đầy thử thách nhưng cũng không kém phần thú vị.

Kiểm thử phần mềm