Kiểm thử phần mềm

GS John Vu12/04/2024 12:00
Kiểm thử phần mềm

Là một nhà chuyên môn về phần mềm trong hơn 30 năm, tôi biết rằng kiểm thử phần mềm không phải là việc nhàm chám mà là nghề mang tính sáng tạo cao bởi vì nó yêu cầu nhiều tư duy, phân tích và canh tân.

Gần đây tôi có đọc một bài báo nói rằng 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, không được kính trọng cho nên thay vì nghiên cứu khoa học máy tính hay kĩ nghệ phần mềm, sinh viên nên nghiên cứu cái gì đó khác để làm “điều quan trọng.” Tôi không biết tác giả nghĩ gì trong đầu về những vấn đề quan trọng nhưng là một nhà chuyên môn về phần mềm trong hơn 30 năm, tôi biết rằng phần mềm KHÔNG là việc nhàm chám mà là nghề mang tính sáng tạo cao bởi vì nó yêu cầu nhiều tư duy, phân tích và canh tân.

Kiểm thử phần mềm KHÔNG phải là kĩ năng thấp nhưng là một phần quan trọng của qui trình phát triển phần mềm. Nó yêu cầu người kiểm thử phần mềm phải có đầu óc logic để phân tích sự hợp lí của qui trình phần mềm, để nhận diện các lỗi và để bảo đảm sản phẩm cuối cùng đáp ứng các yêu cầu. Kiểm thử là việc rất thách thức, chẳng hạn kiểm thử trò chơi máy tính, được thiết kế để mô phỏng xúc cảm từ những người chơi, yêu cầu người kiểm thử phải có các quyết định về xúc cảm và chủ quan. Kiểm thử các phần mềm mấu chốt như hệ thống máy tính của vệ tinh hay máy bay yêu cầu người kiểm thử phải hội tụ vào mọi kịch bản có thể để khử bỏ mọi rủi ro và ngăn ngừa thảm hoạ.

Ngược với khái niệm là người làm phần mềm ngồi cả ngày trước máy tính, người làm phần mềm tốt không chỉ là người kĩ thuật mà còn là người doanh nghiệp. Họ bao giờ cũng tham gia cùng khách hàng, người dùng, người quản lí trên cơ sở hàng ngày cho nên họ có thể có hiểu biết rõ ràng về các yêu cầu doanh nghiệp. Việc của người kĩ sư phần mềm là tạo ra sản phẩm đáp ứng yêu cầu của khách hàng, người dùng và người quản lí. Bằng việc hoàn thành những yêu cầu này, họ giải quyết các vấn đề, phân tích vấn đề; tạo ra các sản phẩm canh tân mà không chỉ là những thứ được ưa chuộng nhưng còn là những thứ vui cho mọi người. Để tham gia cùng người dùng một cách có hiệu quả, người kĩ sư phần mềm chuyên nghiệp phải có quan điểm kĩ thuật và quan điểm doanh nghiệp để hiểu doanh nghiệp đang cố gắng đạt tới cái gì.

Khi đối diện với thách thức họ náo nức, xúc động của họ lên cao và họ bắt đầu phân tích tình huống theo cách tiếp cận logic để tạo ra giải pháp tốt nhất có thể được. Nhiều kĩ sư phần mềm nói với tôi rằng họ tin kiến trúc, thiết kế và lập trình cho phần mềm là “nghệ thuật” và họ vừa là nhà khoa học vừa là nghệ sĩ. Họ cảm thấy giống nhà khoa học bởi vì điều đó yêu cầu tư duy logic, phân tích và tổ chức nhưng cũng giống nghệ sĩ bởi vì họ tạo ra thứ có tính trí tuệ và biến đổi chúng thành thứ vật lí – tác phẩm phần mềm, như nhạc sĩ, hoạ sĩ hay nhà văn bởi vì sản phẩm của họ là kết quả của tâm trí sáng tạo cao, dứt khoát không phải là cái gì đó nhàm chán.

Về mặt truyền thống, người kĩ sư phần mềm không nói ra lời về công việc của họ và ích lợi tích cực họ đem tới cho doanh nghiệp và xã hội. Họ để hàng giờ làm việc cũng như nhạc sĩ làm việc nhọc nhằn để tìm ra sự hài hoà hoàn hảo hay nhà thơ cố gắng đi tới những vần thơ hoàn hảo. Tuy nhiên, khác với nghệ sĩ, người làm việc chủ yếu một mình, qua việc phát triển phần mềm, người kĩ sư phần mềm thường xuyên tham gia với nhau để duy trì mối quan hệ tích cực với khách hàng của mình bằng việc trao đổi và chứng tỏ cách sản phẩm của họ sẽ đáp ứng cho yêu cầu của khách hàng. Mối nối giữa cách tiếp cận xúc cảm và vấn đề doanh nghiệp và công nghệ trong môi trường phát triển trở thành rõ ràng khi thẩm định thành công mà người làm phần mềm đạt tới trong việc chuyển giao kết quả tích cực cho doanh nghiệp.

Điều không may là tôi cũng thấy rằng nhiều người làm kiểm thử phần mềm, người được huấn luyện theo qui trình truyền thống kiểm thử mã chỉ dựa trên ngôn ngữ lập trình và thường không tham gia có hiệu quả với doanh nghiệp và do vậy đạt tới mức độ thành công và kính trọng ít hơn. Kiểm thử phần mềm là một bộ môn trong số nhiều việc huấn luyện kĩ nghệ phần mềm nhưng trong khoa học máy tính truyền thống, nó đơn thuần hội tụ vào kiểm thử lập trình, không mấy 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 họ có thể không hiểu tầm quan trọng của việc nắm bắt thông tin 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, (kiểm thử tính dùng được trong công nghiệp trò chơi máy tính) mà chỉ biết cách kiểm thử mã.

Dùng cách tiếp cận xúc cảm tới kiểm thử cũng tạo khả năng cho người kĩ sư phần mềm đưa bộ môn phần mềm tới cuộc sống – dùng những ví dụ dự án cuộc sống thực mà đã bị thất bại do thiếu hụt trong kiểm thử và thủ tục đảm bảo chất lượng sẽ có hiệu quả hơn nhiều cách tiếp cận truyền thống “mã trước hỏi câu hỏi sau”. Nếu người kĩ sư phần mềm có thể tham gia với doanh nghiệp và ngành công nghiệp công nghệ ở mức độ xúc cảm, họ sẽ hiểu giá trị gia tăng và ích lợi doanh nghiệp của kiểm thử cũng như cách nó có thể là điều lí thú. Kiểm thử thực sự là cách tiếp cận “toàn trí” bởi vì nó yêu cầu cả logic và xúc cảm trong việc hướng dẫn phát triển phần mềm để khử lỗi và rủi ro qua cách tiếp cận logic và có cấu trúc.

Huấn luyện truyền thống nói rằng chuẩn bị kiểm thử xảy ra sau khi lập trình được hoàn tất, điều thực sự quá muộn bởi 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 hội tụ vào kiểm thử ở mọi pha của vòng đời phát triển, đ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ử và kịch đoạn 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ò mấu chốt trong thành công hay thất bại của dự án và họ cần tham gia vào công việc ở giai đoạn sớm, hội tụ vào mọi chi tiết một cách có hiệu quả để xác định yêu cầu từ dự án và thực sự nắm được những mức thấp nhất về điều người dùng và khách hàng muốn. Khi làm điều này, thảm hoạ có thể được ngăn ngừa, việc dùng sản phẩm có thể là vui đùa và doanh nghiệp sẽ bắt đầu nhận ra ích lợi đúng của dự án thành công. Tôi tin phần mềm là việc 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.

English version

Software Testing

Recently I read an article stated that software is a boring job (Sit in front of computer all day) and software testing is a low skill, not respected so instead of study computer science or software engineering, students should study something else to do “Important things”. I do not know what the author has in mind about important things but as a software professional for more than 30 years, I know that software is NOT a boring job but a highly creative career because it requires a lot of thinking, analyzing and innovating. Software testing is NOT a low skill but an important part of the software development process. It requires software tester to have is a logical mind to analyze the rational of a software process to identify defects and make sure that the final product meets the requirements. Testing is a very challenging job, for example testing a computer game designed to stimulate emotion from players requires testers to have both emotional and subjective decisions. Testing critical softwares such as a satellite or airplane computer systems requires testers to focus on every possible scenarios to eliminate all risks and prevent disasters.

Contradict to the notion that software people sit in front of a computer all day, a good software engineer is not just technical but also business people. They always engage with customers, users, managers on daily basis so they could have clear understanding of the business requirements. The job of a software engineer is to create products that meet the requirements of customers, users, and managers. By fulfilling these requirements, they solve problems, analyzing issues; create innovative products which are not only a favourable things but also fun things for everybody. In order to engage with their users effectively, professional software engineer must possess a technical standpoint and the business view to understand what the business is trying to achieve. When facing a challenge they are excited, their emotional run high and they begin to analyze the situation in a logical approach to create the best solution possible. Many software engineers told me that they believe the architecture, design and programming of software are an “art” and they are both scientist and artists. They feel like scientists because it requires logical thinking, analyzing and organizing but also artists because they create intellectual thing and transform them into physical things – a software masterpieces just like musicians, painters or writers because their products are the results of highly creative minds, definitely not something boring.

Traditionally, software engineer is not so vocal about their works and the positive benefits they are bringing to the business and society. They suffer long hours of working just like musician works hard to find perfect harmony or a poet tries to come up with perfect verses. However, different from artists who work mostly alone, throughout the development of software, software engineers are constantly engaging with each others to maintain a positive relationship with their customers by communicating and demonstrating how their products will meet customer’s requirements. The connection between an emotive approach and business and technology issues in a development environment becomes clear when assessing the success that software people achieve in delivering positive outcomes for the business.

Unfortunately, I also found that many software testers who are trained in the traditional process of testing code based on the programming language only and often fail to engage effectively with the business and thus achieve a lesser degree of success and respect. Software testing is one discipline among many of software engineering training but in traditional computer science, it is merely focus on programming testing, not much in design testing, architecture testing, requirement testing, business verification, quality attribute testing and emotional testing. For example they may not understand the importance of capturing information that demonstrates the value testing is bringing to the business or the excitement of testing the “feeling” of users when using the product (Usability testing in computer game industry) but only know how to test code.

Using an emotive approach to testing will also enable software engineers to bring the software discipline to life – using real life examples of projects that have failed due to shortfalls in the testing and quality assurance procedures will be much more effective than the traditional “code first ask question later” approach. If software engineers can engage the business and technology industry on an emotional level, they will understand the added value and business benefits of testing as well as how it could be an exciting thing. Testing is really the “whole brain” approach because it requires both logic and emotion in guiding the software development in eliminating errors and risks via logical and structured approach. Traditional training stated that testing preparation happens after programming is completed which is really too late because it only focus on detecting defect of the implementation (Coding). Software engineering training focus on testing at every phases of the development life cycle, which mean testing starts when the project starts and test cases and test scripts must be prepared as early as possible.

I believe software testers have critical role in the success or failure of projects and they need to engage the business at the earlier stage, focusing on every details effectively to determine the requirements from the project and really get to the lowest levels of what users and customers want. In doing this, disaster can be averted, using of the product could be fun and businesses will start to realize the true benefits of successful projects. I believe software is an exciting job and software tester need to be recognized on what they have contributed.

 


Gửi bình luận
(0) Bình luận
1

Công nghệ cao

Trong bài diễn văn hàng năm với quốc hội Mĩ để báo cáo về hoàn cảnh quốc qua và nêu đại cương kế hoạch mà chính phủ Mĩ muốn theo đuổi trong tương lai, tổng thống Barack Obama đã làm nổi bật tiềm năng cho tạo việc làm trong các lĩnh vực công nghệ sinh học và công nghệ thông tin.
2

Thiếu hụt kỹ năng công nghệ thông tin

Trong vài năm qua, vấn đề thiếu hụt kĩ năng CNTT thường được nhắc tới ở Mĩ và nó làm khuấy động nhiều cuộc tranh cãi.
3

Đối thoại với sinh viên ở Nam Kinh, Trung Quốc

Tháng trước khi tôi đọc bài giảng ở Nam Kinh, Trung Quốc, tôi có cơ hội nói chuyện với sinh viên đại học và họ hỏi tôi nhiều câu hỏi. Một sinh viên ghi lại nó và công bố nó trong báo trường như sau:
4

Lập kế hoạch dự án phần mềm

Một người phát triển phần mềm tới gặp tôi: “Tôi được đề bạt làm quản lí một dự án nhỏ. Ông chủ của tôi bảo tôi hội tụ vào viết mã chứ KHÔNG lập kế hoạch bởi vì lập kế hoạch là phí thời gian. Viết mã sẽ cho tổ nhiều thời gian hơn để hoàn thành dự án. Câu hỏi của tôi là làm sao lập kế hoạch cho dự án mà không phí thời gian và vẫn đạt tới thành công?”
5

Tại sao học công nghệ tính toán?

Một người mẹ hỏi tôi: “Tại sao thầy cổ vũ học công nghệ tính toán? Con gái tôi sẽ tốt nghiệp phổ thông năm nay và nó quan tâm tới khu vực công nghệ. Chọn lựa của nó là gì?”

Nhu cầu kỹ sư phần mềm

Hiện nay có nhu cầu rất lớn về người làm phần mềm trên toàn cầu. Ở Mĩ rất khó thuê được kĩ sư phần mềm tại các thành phố chính như San Jose, Boston, Seattle hay New York.

Kỹ năng cần có để thành công

Tốt nghiệp Khoa học máy tính và làm việc như một người phát triển phần mềm, nhưng phần lớn thời gian em chỉ viết mã. Tuy nhiên, sau khi một người bạn giới thiệu cho em về blog của thầy, em bắt đầu tự hỏi em cần cái gì để thành công?

Học Khoa học máy tính

Mọi người bảo rằng Khoa học máy tính (CS) là khó, học sinh học nó thường bỏ. Họ khuyên em đừng chọn CS ở đại học.

Tính toán đám mây

Bạn tôi gợi ý rằng tôi dùng dịch vụ tính toán mây cho công ty của tôi nhưng tôi không biết nó là gì.

Thất nghiệp khắp thế giới

Năm nay (2013) là năm mà thất nghiệp trong những người tốt nghiệp đại học đã đạt tới mức trầm trọng với trên 75 triệu người tốt nghiệp đại học không có việc làm.

Cung cấp nhân lực cho công ty, giải pháp đơn giản cho vấn đề phức tạp?

Trong khi các công ti quá bận rộn không làm việc được với đại học. Đại học cũng cho rằng họ KHÔNG biết công ti cần gì cho nên họ không thể cung cấp nhân sự phù hợp được. Làm sao chúng ta giải quyết vấn đề này?”

Người kiểm thử và người phát triển phần mềm

Người phát triển phần mềm đã thay đổi thiết kế và mã mà không nói cho người kiểm thử biết, nên kịch đoạn kiểm thử của người kiểm thử không làm việc.

Làm việc ở nước ngoài

Tôi đã nhận được nhiều emails từ những người tốt nghiệp đại học hỏi về cơ hội làm việc ở Mĩ cho các công ti như Microsoft, Google, Apple hay Facebook v.v.

Con đường chuyển hóa - Nói nhiều không bằng nói đúng

Ngày xưa, đức Phật ở trong rừng với các thầy đệ tử. Một hôm, Phật cầm một nắm lá lên và hỏi các thầy: “Nắm lá trong tay tôi nhiều, hay nắm lá trong rừng này nhiều?”. Các vị trả lời: “Nắm lá trong tay của đức Thế Tôn so với nắm lá trong rừng thì chẳng là bao nhiêu hết”.

Apple lưu ý người dùng không nên lạm dụng một nút bấm trên iPhone

Kỹ năng - Huỳnh Duy - 03/08/2026 11:00
Thao tác tưởng chừng vô hại này có thể khiến iPhone đối mặt với nguy cơ hư hỏng.

Bạn có đang mắc phải tình trạng “Rumination” - Càng nghĩ càng mắc kẹt?

Suy ngẫm - TĐ - 03/08/2026 10:00
Có lẽ ai cũng từng trải qua những đêm nằm thao thức vì một cuộc tranh cãi chưa có hồi kết, một quyết định sai lầm trong quá khứ hay nỗi lo về tương lai. Chúng ta tin rằng nếu tiếp tục suy nghĩ thêm một chút nữa, câu trả lời sẽ xuất hiện. Nhưng thực tế, điều xảy ra thường là ngược lại.

Khi "văn hóa đọc" không chỉ dừng lại ở việc “đọc”: Công nghệ đang định nghĩa lại cách con người tiếp nhận tri thức?

Phong cách sống - Minh Ngọc - 03/08/2026 09:00
Không còn chỉ gói gọn trong những trang sách, tri thức ngày nay được tiếp nhận qua video, podcast, AI và nhiều nền tảng số khác, đặt ra câu hỏi liệu công nghệ đang làm phai nhạt văn hóa đọc hay mở ra một "văn hóa tiếp nhận thông tin" mới.

Con đường chuyển hóa - Nói nhiều không bằng nói đúng

Từ sách - Phim - FN - 03/08/2026 08:00
Ngày xưa, đức Phật ở trong rừng với các thầy đệ tử. Một hôm, Phật cầm một nắm lá lên và hỏi các thầy: “Nắm lá trong tay tôi nhiều, hay nắm lá trong rừng này nhiều?”. Các vị trả lời: “Nắm lá trong tay của đức Thế Tôn so với nắm lá trong rừng thì chẳng là bao nhiêu hết”.

Vi công nhân: Xu hướng khoán ngoài toàn cầu mới

Blog GS John VU - GS John Vu - 02/08/2026 11:00
Thiếu hụt kĩ năng CNTT toàn cần đã đạt tới điểm găng vào lúc nền kinh tế toàn cầu đang phục hồi chậm chạp.

Bức ảnh này có bao nhiêu khuôn mặt?

Thư giãn - PV - 02/08/2026 10:00
Bức ảnh này có bốn khuôn mặt, và sau nhiều ngày tìm kiếm, tôi chỉ tìm thấy ba khuôn mặt. Tôi sẽ rất ấn tượng nếu bạn có thể tìm thấy cả bốn khuôn mặt.

TP.HCM, vợ chồng mang "nhà di động" 1,5 tỷ đồng đưa bố mẹ phượt 2.000km

Phong cách sống - Mộc Khải - 02/08/2026 09:00
Mong muốn đưa bố mẹ đi khám phá những vùng đất mới, gia đình chị Đoàn Thanh Giang đã huy động hai chiếc ô tô, trong đó có một "nhà di động", đưa 3 thế hệ rong ruổi hơn 2.000km xuyên miền Bắc.

Tiệm bánh nửa đêm

Tủ sách - FN - 02/08/2026 08:00
Ở Hwawoldang, mỗi món bánh sẽ giúp người đã khuất tìm lại ký ức, nói lời còn dang dở trước khi đi qua thế giới bên kia. Đó là Tiệm bánh nửa đêm.

Đối thoại với sinh viên ở Nam Kinh, Trung Quốc

Blog GS John VU - GS John Vu - 01/08/2026 11:00
Tháng trước khi tôi đọc bài giảng ở Nam Kinh, Trung Quốc, tôi có cơ hội nói chuyện với sinh viên đại học và họ hỏi tôi nhiều câu hỏi. Một sinh viên ghi lại nó và công bố nó trong báo trường như sau:

Sự im lặng là hình thức bác bỏ cao nhất

Suy ngẫm - Tr. Quang - 01/08/2026 10:00
Trong các mối quan hệ giữa người với người, khi đối mặt với mưu mô và những lời vu khống vô căn cứ, phản ứng đầu tiên của hầu hết mọi người là tranh cãi, phản bác và đối đầu trực diện.

Cứ 10 người trẻ Hàn Quốc thì 9 người sợ gặp bạn bè, khi các mối quan hệ thành khoản chi tiêu bị cắt giảm

Phong cách sống - Dun - 01/08/2026 09:00
Khi giá một bữa ăn tăng nhanh hơn thu nhập, thứ bị cắt không phải là món ăn mà là chính cuộc hẹn. Từ Seoul đến New York và Tokyo, "friendflation" đang cho thấy lạm phát không chỉ làm nhẹ giỏ hàng đi chợ mà còn làm nguội đi các mối quan hệ, và với nền kinh tế, đó là cú đòn giáng thẳng vào sức cầu nội địa.

‘Sức mạnh của Đạo’ - Nghệ thuật sống trong dòng chảy của Đạo

Từ sách - Phim - FN - 01/08/2026 08:00
​​​​​​​Trong nhịp sống hiện đại, hội chứng cuồng công việc (workaholism) hay kiệt sức (burnout) đang dần trở thành “căn bệnh thời đại”. Con người bận rộn theo đuổi thành công, không ngừng tối ưu hiệu suất và lấp kín từng khoảng thời gian trong ngày, nhưng lại hiếm khi cảm thấy viên mãn, hạnh phúc trong việc mình làm.

Công nghệ cao

Blog GS John VU - GS John Vu - 31/07/2026 11:00
Trong bài diễn văn hàng năm với quốc hội Mĩ để báo cáo về hoàn cảnh quốc qua và nêu đại cương kế hoạch mà chính phủ Mĩ muốn theo đuổi trong tương lai, tổng thống Barack Obama đã làm nổi bật tiềm năng cho tạo việc làm trong các lĩnh vực công nghệ sinh học và công nghệ thông tin.

Giới khoa học chụp não người đang toan tính trả thù và phát hiện ra thứ đáng sợ hơn cả ma túy

Suy ngẫm - Long Vân - 31/07/2026 10:00
"Quân tử trả thù mười năm chưa muộn", câu nói cửa miệng quen thuộc hóa ra không chỉ đơn thuần là một triết lý sống. Dưới lăng kính của thần kinh học hiện đại, nó là mô tả chính xác về một chu kỳ gây nghiện đáng sợ.

Nhạc sĩ Trần Tiến đi xe ôm lên tận đỉnh núi, ước mơ bỏ hết thế gian

Phong cách sống - Tùng Ninh - 31/07/2026 09:00
"Tôi đi 43 nước, không nước nào thân yêu bằng Việt Nam" – nhạc sĩ Trần Tiến nói.
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS