Gần đây tôi có đọc một bài nói rằng lĩnh vực phần mềm là việc nhàm chán, ngồi cả ngày trước máy tính và kiểm thử phần mềm là kỹ năng thấp, chuyên sửa lỗi cho người khác, không được coi trọng.
Là một người đã làm việc trong công nghệ phần mềm trên 30 năm, tôi có thể nói rằng lĩnh vực phần mềm không bao giờ là việc nhàm chám mà đòi hỏi tính sáng tạo cao vì nó yêu cầu tư duy phân tích và giải quyết vấn đề. Kiểm thử phần mềm không phải là kỹ năng thấp, nó là một phần rất quan trọng của quy trình phát triển phần mềm. Người kiểm thử phần mềm phải có đầu óc lý luận sắc bén để phân tích, nhận diện các lỗi, và bảo đảm sản phẩm đáp ứng các yêu cầu của người dùng.
Kiểm thử là công việc thách thức và không dễ dàng. Chẳng hạn kiểm thử trò chơi máy tính (Videogames), được thiết kế để mô phỏng xúc cảm từ người dùng, người kiểm thử phải bảo đảm trò chơi hoạt động mạnh mẽ, kích thích trí tưởng tượng của người dùng. Kiểm thử các phần mềm quan trọng như hệ thống quỹ đạo vệ tinh hay kiểm soát không lưu. Người kiểm thử phải khử bỏ mọi rủi ro và ngăn ngừa thảm hoạ.
Ngược với quan niệm sai lầm là người làm phần mềm chỉ ngồi cả ngày trước máy tính, theo tôi, người làm phần mềm không chỉ là người kỹ thuật mà còn tham gia vào hoạt động của doanh nghiệp. Họ tiếp xúc và trao đổi với khách hàng nên họ hiểu biết rõ ràng về các yêu cầu doanh nghiệp. Việc làm của kỹ sư phần mềm là tạo ra sản phẩm đáp ứng yêu cầu của khách và người dùng. Bằng việc hoàn thành những yêu cầu này, họ phải phân tích, nghiên cứu, giải quyết vấn đề và sáng tạo ra các sản phẩm. Họ phải phân tích tình huống của người dùng để tạo ra giải pháp tốt nhất.
Nhiều kỹ sư phần mềm nói với tôi rằng kiến trúc, thiết kế và lập trình cho phần mềm là một tác phẩm nghệ thuật và họ vừa là nhà khoa học vừa là nghệ sĩ. Là một nhà khoa học bởi vì việc làm đó yêu cầu tư duy logic, phân tích và tổ chức nhưng đồng thời cũng là nghệ sĩ bởi vì họ sáng tạo và biến chúng thành tác phẩm phần mềm, như nhạc sĩ, hoạ sĩ hay nhà văn. Sản phẩm của họ là kết quả của tâm thức sáng tạo cao, dứt khoát, không phải là gì đó nhàm chán. Kỹ sư phần mềm không mấy khi nói về công việc của họ hay ích lợi đem tới cho doanh nghiệp, họ thường xuyên bận rộn trong việc làm để duy trì mối quan hệ với khách hàng bằng việc trao đổi và chứng minh sản phẩm của họ sẽ đáp ứng cho yêu cầu.
Điều không may là nhiều người kiểm thử phần mềm chỉ dựa trên ngôn ngữ lập trình và không mấy khi tham gia với doanh nghiệp. Kiểm thử phần mềm là một môn quan trọng trong việc huấn luyện phần mềm như trong chương trình khoa học máy tính truyền thống. Nó đơn thuần hội tụ vào kiểm thử mã, không mấy khi hội tụ vào kiểm thử thiết kế, kiểm thử kiến trúc, kiểm thử yêu cầu, trắc nghiệm doanh nghiệm, kiểm thử thuộc tính chất lượng và kiểm thử xúc cảm. Chẳng hạn nhiều người kiểm thử phần mềm có thể không hiểu tầm quan trọng của việc chứng tỏ giá trị mà kiểm thử đem lại cho doanh nghiệp hay sự lý thú của kiểm thử “cảm giác” của người dùng khi dùng sản phẩm mà chỉ biết cách kiểm thử mã.
Nếu kỹ sư phần mềm có thể tham gia vào cách vận hành của doanh nghiệp ở mức độ sâu hơn, họ sẽ hiểu giá trị và ích lợi của kiểm thử. Kiểm thử thực sự đòi hỏi một kiến thức rộng về chất lượng và những thuộc tính của nó để đáp ứng sự yêu cầu của khách hàng. Cách huấn luyện và đào tạo cổ điển chủ trương rằng kiểm thử xảy ra sau khi lập trình được hoàn tất, điều đó không còn đúng nữa vì nó chỉ hội tụ vào phát hiện khiếm khuyết của việc thực hiện (viết mã). Huấn luyện kỹ nghệ phần mềm ngày nay hội tụ vào kiểm thử ở mọi phía của vòng đời phát triển phần mềm từ yêu cầu, kiến trúc, thiết kế và thành lập, điều có nghĩa là kiểm thử bắt đầu khi dự án bắt đầu và trường hợp kiểm thử phải được chuẩn bị sớm nhất có thể được.
Tôi tin người kiểm thử phần mềm có vai trò quan trọng trong sự thành công hay thất bại của dự án và họ cần tham gia vào mọi công việc, mọi chi tiết để xác định yêu cầu từ dự án và hiểu rõ nhu cầu của người dùng và khách hàng. Tôi tin phần mềm là việc làm có tính sáng tạo và lý thú và người kiểm thử phần mềm cần được thừa nhận về điều họ đã đóng góp.
Giáo sư John Vũ
Viện trưởng Viện nghiên cứu phần mềm Đại học Carnegie Mellon (Mỹ)
Kỹ sư trưởng của Tập đoàn Boeing
Để trở thành Tester (nhân viên kiểm thử) hay Kỹ sư phần mềm, bạn có thể theo học ngành Công nghệ thông tại Đại học trực tuyến FUNiX. Đây là trường đại học trực tuyến đầu tiên của Việt Nam, học viên của trường có thể là sinh viên trường khác, người đi làm, học sinh, hay bất cứ ai có nhu cầu nâng cao kỹ năng công nghệ.
Đặc biệt các mentor - chuyên gia giảng dạy của trường là các sếp lớn, nhà tuyển dụng đến từ các công ty hàng đầu về công nghệ của Việt Nam. Sinh viên sẽ được học những kinh nghiệm, kiến thức thực tế.