Kiểm thử phần mềm (Tester) đ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.
Nội dung
- 1. “Không làm lập trình được thì đi làm kiểm thử”
- 2. Ai cũng có thể làm Tester
- 3. Làm Tester thì không cần kỹ năng lập trình
- 4. Thời buổi này mà còn “kiểm thử thủ công”
- 5. Nghề Tester không đòi hỏi nhiều khả năng phân tích, sáng tạo
- 6. Kiểm thử làm chi cho tốn kém
- 7. Kiểm thử rồi mà sao ứng dụng vẫn còn lỗi vậy?
- 8. Công việc KTPM không có nhiều thử thách và cơ hội phát triển nghề nghiệp
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
2. Ai cũng có thể làm Tester
Nếu chỉ nhìn vào khoảng thời gian một người mới tiếp cận với kiểm thử phần mềm (KTPM) cho đến khi họ có thể làm được việc thì đúng là không lâu. Song, thực tế thì khoảng cách về kỹ năng và hiệu quả công việc giữa Tester làm được việc và Tester xuất sắc là khá lớn. Bởi kiểm thử phần mềm không chỉ đòi hỏi những kiến thức chuyên môn mà còn cần tới những kỹ năng mà chỉ khi làm thực tế nhiều bạn mới có thể tự trang bị cho mình. Sự đam mê công nghệ, khả năng tư duy sáng tạo, quan sát, phân tích và lập trình…là những kỹ năng cốt yếu để một Tester có thể làm tốt công việc. Chắc chắn, bạn sẽ không muốn chỉ dừng lại ở vị trí một Tester làm được việc thôi đúng không nào?
3. Làm Tester thì không cần kỹ năng lập trình
Một Tester “toàn năng” không chỉ cần kiểm thử các chức năng (functional testing), mà còn cần phải biết kiểm thử tự động (automation testing) và kiểm thử hiệu năng (performance testing) cho sản phẩm. Thậm chí, bạn còn cần phải tìm hiểu và xây dựng giải pháp/công cụ phục vụ kiểm thử tự động/hiệu năng. Và để làm được những điều đó, bạn phải nắm vững kỹ thuật, phải biết lập trình để xây dựng thêm tính năng cho phù hợp với nhu cầu dự án.
4. Thời buổi này mà 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ó.
5. Nghề Tester không đòi hỏi nhiều khả năng phân tích, sáng tạo
Công việc của một Tester thời @ không chỉ dừng lại ở việc kiểm thử mà họ có thể phải tham gia phân tích, đánh giá yêu cầu và đưa ra những đề xuất để cải thiện tính năng của sản phẩm cùng nhóm phát triển phần mềm. Thông qua việc đánh giá công nghệ, kiến trúc họ sẽ phải xác định các rủi ro về chất lượng (quality), bảo mật (security), hiệu năng (performance), tính dễ sử dụng (usability)… Vậy nên khả năng phân tích càng tốt và tính sáng tạo càng cao thì công việc của bạn sẽ càng hiệu quả và lý thú.
6. 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).
7. Kiểm thử rồi mà sao ứng dụng vẫn còn lỗi vậ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ử. 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ử.
8. Công việc KTPM không có nhiều thử thách và cơ hội phát triển nghề nghiệp
Cùng với sự suy thoái kinh tế toàn cầu, cạnh tranh trong lĩnh vực CNTT có lẽ hiện nay đang ở mức cao nhất. Một công ty đưa ra sản phẩm hoặc dịch vụ phần mềm sẽ ít có cơ hội sửa sai nếu như sản phẩm hoặc dịch vụ đó không đáp ứng được nhu cầu của người dùng. Điều này đặt một gánh nặng rất lớn lên đội ngũ phát triển phần mềm nói chung và Tester nói riêng. Cụ thể hơn là chất lượng công việc phải cao hơn; thời gian dành cho kiểm thử ít đi; kiểm thử sẽ phải được thực hiện trên nhiều môi trường và tình huống khác nhau; Tester sẽ phải toàn diện hơn để có thể đảm nhận nhiều loại công việc khác nhau trong từng giai đoạn của dự án v.v. Điều này đòi hỏi Tester phải tận dụng cơ hội và thời gian nhàn rỗi để trau dồi thêm kiến thức, kỹ năng nhằm chuẩn bị cho những thử thách sắp tới hơn là chỉ “đóng khung” trong công việc của dự án hiện tại. Với đà phát triển của CNTT và tầm quan trọng ngày càng tăng của sản phẩm phần mềm trong công việc và cuộc sống, KTPM càng ngày càng trở nên quan trọng và có thể thấy được điều này thông qua sự phát triển qui mô nhanh chóng của những công ty chuyên cung cấp dịch vụ KTPM tại Việt Nam trong thời gian qua. Tester bây giờ có nhiều chọn lựa hơn trong công việc, ví dụ như trở thành chuyên gia tư vấn hoặc chuyên gia kỹ thuật cho KTPM. Và bạn chắc chắn sẽ luôn có cơ hội để trở thành chuyên gia hay nhà quản lý cấp cao trong công ty. Một điều không thể phủ nhận là tất cả những người thành công trong nhiều lĩnh vực khác nhau đều có một điểm chung là bắt nguồn từ sự đam mê, tâm huyết với ngành nghề mà họ theo đuổi. Và nghề KTPM cũng không phải là ngoại lệ. Công việc KTPM đã, đang và sẽ luôn tồn tại những việc có phần đơn giản, lặp đi lặp lại và cũng không thiếu những việc thử thách thực sự. Có thể thấy ở người Tester giỏi dáng dấp của một Tester “truyền thống” với kỹ năng và kiến thức nền tảng về kiểm thử; dáng dấp của một Business Analyst với kỹ năng phân tích và đánh giá yêu cầu; dáng dấp của một người Developer với kỹ năng thiết kế và lập trình cơ bản; dáng dấp của Expertise End-User (Người dùng cuối thành thạo) với khả năng đánh giá rủi ro và chất lượng sản phẩm trước khi đưa ra thị trường. Điều này có thể là khó khăn nhưng cũng là thử thách hấp dẫn cho những Tester muốn thăng hoa trên con đường nghề nghiệp. Trên con đường trở thành chuyên gia, thử thách lớn nhất đối với Tester không phải là công nghệ mới hay vấn đề kỹ thuật hóc búa mà là vượt qua chính bản thân mình để luôn giữ được “lửa nghề”.
Nguồn:
https://www.imic.edu.vn/tin-tuc-cong-nghe/30203/8-ngo-nhan-pho-bien-ve-nghe-kiem-thu-phan-mem.html