Không đảm đương được nếu không kiểm thử phần mềm

GS John Vu18/09/2025 13:00
Không đảm đương được nếu không kiểm thử phần mềm

Kiểm thử là cần thiết cho mọi dự án phần mềm.

Tuy nhiên, những người phát triển không thích kiểm thử và nhiều người quản lí phần mềm coi nó là “không quan trọng”. Khi lịch biểu sít sao, họ không có vấn đề gì khi giảm hoạt động kiểm thử hay thỉnh thoảng còn bỏ qua nó. Có hiểu lầm nào đó về kiểm thử như “kiểm thử là dễ”, “bất kì ai cũng có thể làm kiểm thử”, “kiểm thử là nhanh chóng vì mọi mã đã được viết rồi”, “kiểm thử sẽ làm chậm dự án lại”, và “bỏ qua kiểm thử, tiết kiệm tiền và để người dùng tìm lỗi rồi chúng ta sửa chúng về sau.” Đây tất cả đều sai và với thái độ xấu đó, chất lượng phần mềm KHÔNG thể được cải thiện.

Không có kiểm thử đúng, thảm hoạ phần mềm tiềm năng có thể dễ dàng biến thành thực tại. Sau đây là vài trường hợp rất nổi tiếng:

Cảng hàng không Heathrow của Anh mua hệ thống xử lí hành lí do máy tính kiểm soát để cho việc checkin được dễ dàng và nhanh chóng. Vào ngày khai mạc, khi hàng nghìn người làm checkin, hệ thống đã không làm việc, buộc các hãng hàng không cắt bỏ 34 chuyến bay và dừng kiểm tra hành lí với hàng nghìn hành khách mắc kẹt ở sân bay. 10 ngày sau, không ai có thể nhận diện được vấn đề và các hãng hàng không phải cắt bỏ 500 chuyến bay với hàng trăm nghìn hành khách giận dữ. Phí tổn của vấn đề này là vài trăm triệu đô la. Cuối cùng, một kĩ sư phần mềm tìm ra lỗi trong mã đã KHÔNG được kiểm thử vì người quản lí ra lệnh bỏ qua nó để đáp ứng lịch biểu.

Một thất bại lớn khác là hệ thống hộ chiếu của chính phủ Anh nơi chính phủ đưa vào hệ thống máy tính mới để kiểm tra hộ chiếu hiệu quả hơn trong các kì nghỉ lễ. Trong hai tuần đầu, hệ thống không chạy và hơn nửa triệu công dân Anh không vui vẻ gì khi khám phá ra rằng hộ chiếu của họ là “không hợp lệ” và họ không thể du hành được. Về sau, người ta mới tìm ra nguyên nhân chính là “Tràn chồng” trong mã và lí do là một số chức năng đã KHÔNG được kiểm thử khi người quản lí quyết định để cho người dùng tìm lỗi rồi họ có thể sửa chúng để tiết kiệm thời gian và tiền bạc.

Airbus A380 cũng kinh nghiệm các vấn đề lớn và bị trễ hơn 2 năm và chịu phí tổn trên tỉ đô la. Vấn đề là phiên bản phần mềm sai đã được dùng trong kiểm thử bởi vì nhiều nhóm đã KHÔNG dùng cùng qui trình quản lí cấu hình. Nhóm Đức dùng phiên bản lạc hậu của phần mềm còn hệ thống Pháp dùng phiên bản mới nhất. Cho nên khi Airbus tích hợp tất cả các hệ thống lại, các phiên bản khác nhau không sánh đúng. Người kiểm thử phần mềm KHÔNG tìm thấy cái gì sai trong khi kiểm thử trong môi trường của họ. Không có kiểm thử tích hợp, không ai biết khác biệt trong các phiên bản phần mềm.

Có hàng nghìn trường hợp mà việc thiếu kiểm thử có thể đóng góp vào thất bại của các dự án chính. Ngày nay phần mềm đang ngày càng lớn hơn và phức tạp hơn, kiểm thử đang trở nên ngày càng quan trọng hơn bao giờ. Chẳng hạn, người ta đã ước lượng rằng điện thoại di động đơn giản có trên 10 triệu dòng mã (LOC) còn “điện thoại thông minh” có trung bình 20 triệu dòng mã. Xe hơi trung bình có trên 200 triệu dòng mã còn máy bay và qui trình chế tạo tự động của nó yêu cầu trên tỉ dòng mã.

Có nhiều lí do tại sao các dự án phần mềm có thể đi sai nhưng kiểm thử là chỗ bạn tìm ra vấn đề và sửa chúng trước khi đưa ra cho người dùng. Kiểm thử là một trong những nhân tố quan trọng và mấu chốt nhất trong mọi dự án phần mềm lớn nhỏ. Người phần mềm giỏi không bao giờ nên bỏ qua kiểm thử hay dành ít thời gian trong kiểm thử và chúng ta cần có thái độ “Chúng ta KHÔNG thể đảm đương được nếu KHÔNG kiểm thử.”

English vesion

software testing

Testing is a necessity on every software projects. However, developers do not like to test and many software managers consider it “Not important”. When schedule is tight, they have no problem reduce testing activities or sometime skip it. There are some misconceptions about testing such as “testing is easy”, “anyone can do testing”, “testing is quick since all the code has been written”, “testing will slow the project down”, and “Skip the test, save money and let users find defects then we can fix them later”. These are all false and with that bad attitude, software quality can NOT be improved.

Without properly testing, potential software disasters can easily turn into reality. Following are some well known cases:

British’s Heathrow’s airport terminal 5 brought a computer control baggage handling system so check in would be easy and fast. On opening day, where thousands people checked in, the system did not work, forcing airlines to cancel 34 flights and suspended all baggage check in with thousand travelers stranded in the airport. The next 10 days, no one can identify the problems and airlines had to cancel 500 flights with hundred thousands angry travelers. The cost of the problem was several hundred million dollars. Finally, a software engineer found a defect in the code that has NOT been tested as manager ordered it skipped to meet the schedule.

Another major fiasco is the British government’s passport system where the government brought a new computer system to check passports more efficiently during holiday seasons. In the first two weeks, the systems failed and more than half a million British citizens were less than happy to discover that their passports were “invalid” and they could not travel. Later, it was found the main cause was a “Stack overflow” in the code and the reason was some functions were NOT tested as manager decided to let users find defects then they can fix them to save time and money.

The Airbus A380 also experienced significant problems and delays for more than 2 years and cost over a billion dollars. The problem was the wrong versions of software had been used during testing because several groups did NOT use the same configuration management process. The German group used an out-of-date version of software and the French system used the latest version. So when Airbus integrated all systems together, the different versions did not match. Software testers did NOT find anything wrong during testing as they tested them in their own environment. Without integration test, nobody knows the difference in the software version.

There are thousands of cases where a lack of testing can be attributed to the failure of major projects. Today software are growing larger and more complex, testing is becoming more and more important than ever. For example, it is estimated that simple mobile phones have over 10 million lines of code (LOC) and “Smart phone” have on the average 20 million lines of code. An average car has over 200 million lines of code and an airplane and its automated manufacturing process would require over billion lines of code. There are many reasons why software projects can go wrong but testing is where you find problems and fix them before release to users. Testing is one of the most important and critical factors in every large and small software projects. A good software people should never skip testing or spend less time during testing and as we need to have an attitude that “We can NOT afford Not to test”.

 


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

Đối thoại với sinh viên ở Vô Tích, Trung Quốc

Tháng trước khi tôi tới dạy ở Vô Tích, Trung Quốc, một sinh viên nói với tôi: “...Điều tốt hơn có lẽ là thầy đọc bài giảng về điều chúng em cần chứ không phải là cái gì đó quá tiên tiến mà có thể tốt ở Mĩ nhưng không tốt ở Trung Quốc.”
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

Cách học tốt hơn

Ngày nay sinh viên đại học có nhiều sao lãng ngăn cản họ học tập.
4

Qui trình đơn giản cho dự án nhỏ

Hôm qua, một sinh viên đã tốt nghiệp vài năm trước tới gặp tôi. Anh ta nói: “Em cần lời khuyên của thầy để thiết lập qui trình tốt nhằm phát triển phần mềm có chất lượng với chi phí thấp nhất có thể được."
5

Cách chọn bạn và thành công ở đại học

Khi vào đại học, một trong những điều mới đầu tiên bạn có lẽ cần là chọn bạn. Bạn là một phần của cuộc sống và tình bạn nào đó có thể kéo dài một thời gian lâu, nếu bạn cẩn thận về loại bạn mình chọn lựa. Bạn tốt có thể giúp bạn cực kì nhiều nhưng bạn xấu có thể làm hại bạn còn hơn bạn có thể hình dung.

Quản lý hệ thông tin

Ngày nay Công nghệ thông tin có ở mọi nơi và kiểm soát nhiều thứ, từ doanh nghiệp chế tạo lớn tới doanh nghiệp nhỏ, từ các hệ thống của chính phủ cho tới các hệ thống doanh nghiệp tư.

Thành đạt và tận hưởng

Nhiều sinh viên thường hỏi tôi: em cần thời gian học tập, em cần thời gian với bạn bè, em cần thời gian cho bản thân mình, em cần thời gian với gia đình, em cần thời gian để ngủ. Em tìm đâu ra thời gian để làm mọi việc đó? Làm sao em có thể tạo ra lịch biểu cho mọi hoạt động?

Kiểm thử tích hợp

Ngày nay, các hệ thông tin như lập kế hoạch, quản lý... đều rất lớn và phức tạp nên phải được kiểm thứ cẩn thận.

An ninh tính toán

Không may an ninh thông tin vẫn không được nhiều người phát triển phần mềm xem xét một cách nghiêm chỉnh, hay không được dạy như một môn yêu cầu ở hầu hết các đại học. Khi công nghệ phát triển phổ biến hơn, việc lạm dụng nó trở nên ngày một nghiêm trọng hơn.

Dự báo thị trường khoán ngoài

Theo nhiều nghiên cứu mới, một số địa chỉ khoán ngoài ở Trung và Đông Âu đang có vấn đề khi họ phải cạnh tranh với những địa chỉ mới ở châu Phi, Trung Đông và Đông Nam Á. Lí do đơn giản: Chi phí làm kinh doanh tăng lên.

Đảm bảo chất lượng phần mềm

Khi dự án phần mềm trở nên lớn hơn và phức tạp hơn, vai trò của Đảm bảo chất lượng phần mềm – Software Quality Assurance (SQA) trở nên gay gắt hơn.

Việc làm công nghệ

Với tất cả những không chắc chắn của thị trường việc làm ngày nay, phần lớn các trường của Mĩ đều khuyên sinh viên sắp vào của họ: “Nếu bạn muốn có việc làm được trả lương cao khi bạn tốt nghiệp, hãy học các khu vực công nghệ như kĩ sư phần mềm, khoa học máy tính hay quản lí hệ thông tin.”

Đào tạo phần mềm

Theo nhiều nghiên cứu, phần lớn dự án phần mềm thất bại vì cả người quản lí dự án và người phát triển phần mềm đều KHÔNG nhận được đào tạo thích hợp.

'Sức mạnh của Đạo' - khi người bận rộn học cách không cản đường chính mình

Có những cuốn sách đổi đời người ta không phải bằng một chân lý lớn, mà bằng một tai nạn nhỏ. Với Max Landsberg, đó là một mảnh gỗ nhỏ mắc trong cổ họng vào một tối thứ Sáu — và ba mươi năm để hiểu vì sao mình lại ngồi ăn pizza kiểu ấy.

'Sức mạnh của Đạo' - khi người bận rộn học cách không cản đường chính mình

Từ sách - Phim - Minh Nguyệt - 30/07/2026 08:00
Có những cuốn sách đổi đời người ta không phải bằng một chân lý lớn, mà bằng một tai nạn nhỏ. Với Max Landsberg, đó là một mảnh gỗ nhỏ mắc trong cổ họng vào một tối thứ Sáu — và ba mươi năm để hiểu vì sao mình lại ngồi ăn pizza kiểu ấy.

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

Blog GS John VU - GS John Vu - 29/07/2026 11:00
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?”

Vì sao người Mỹ vẫn yêu quý Phạm Xuân Ẩn

Phong cách sống - Tô Giang - 29/07/2026 09:00
Giáo sư Larry Berman là tác giả "Perfect Spy", cuốn sách được độc giả Việt Nam biết đến với tên gọi "X6 - Điệp viên hoàn hảo" viết về Thiếu tướng tình báo Phạm Xuân Ẩn.

'Sức mạnh của Đạo': Lý - Nhận ra các khuôn mẫu để biết nên hành động lúc nào và như thế nào

Từ sách - Phim - TĐ - 29/07/2026 08:00
Lý nghĩa là các khuôn mẫu. Khi nhận ra các khuôn mẫu trong con người, tình huống và tự nhiên, bạn sẽ có cái nhìn rõ hơn về cách thức và thời điểm vận dụng các dòng chảy ngầm của vũ trụ sao cho có lợi cho bản thân. Đoạn trích dưới đây từ cuốn sách "Sức mạnh của Đạo" của tác giả Max Landsberg sẽ giúp bạn hiểu thêm về "Lý".

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

Blog GS John VU - GS John Vu - 28/07/2026 11:00
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.

4 hành động thể hiện bạn là người EQ thấp

Kỹ năng - Kim Linh - 28/07/2026 10:00
Người có EQ (trí tuệ cảm xúc) thấp thường dễ hành động theo cảm tính, vô tình khiến cả bản thân lẫn người khác rơi vào những tình huống khó xử.

Nhà thiết kế nổi tiếng Việt Nam làm tài xế xe công nghệ để kiếm sống, mừng rỡ khi được khách 'boa' 2.000 đồng

Phong cách sống - Anh Khôi - 28/07/2026 09:00
Bài đăng của nhà thiết kế nhanh chóng nhận được làn sóng tương tác lớn từ giới giải trí.

Sắp phát hành: Đại chiến AI

Tủ sách - FN - 28/07/2026 08:00
Suốt nhiều thập kỷ, AI luôn được xem như một tương lai "đã cận kề", nhưng hết lần này đến lần khác vẫn chưa đáp ứng được những kỳ vọng. Phải đến khi ChatGPT, Gemini cùng hàng loạt công cụ AI tạo sinh khác bùng nổ, nhân loại mới thực sự tự hỏi: Có phải thời hoàng kim của AI đã điểm?

Cách giúp cho một dự án đang thất bại

Blog GS John VU - GS John Vu - 27/07/2026 11:00
Một người quản lí dự án hỏi tôi: “Dự án phần mềm của tôi không chạy tốt, tổ của tôi mệt mỏi và nản chí. Tôi phải làm gì?”

Bạn luôn đưa ra lời khuyên tuyệt vời cho người khác, ngoại trừ chính mình

Suy ngẫm - TĐ - 27/07/2026 10:00
"Tạo khoảng cách với bản thân" (self-distancing) giải thích vì sao lời khuyên bạn có thể dành cho một người bạn chỉ trong năm phút lại là điều bạn không thể tự nói với chính mình suốt cả một tháng.

Phạm Xuân Ẩn trong Mậu Thân 1968: Cuộc đấu trí từ bản cung của kẻ phản bội

Phong cách sống - Bích Phương - 27/07/2026 09:00
"Tiêu hết rồi các anh ơi!", Đại tá Tư Cang từng nhận định bi quan sau đợt 1 Tết Mậu Thân. Nhưng nguồn tin, phân tích chiến lược của ông Phạm Xuân Ẩn đã giúp Cụm H.63 nhìn ra bước ngoặt của cuộc chiến.

'Điệp viên hoàn hảo' Phạm Xuân Ẩn - Nghệ thuật xử lý thông tin và tư duy báo chí

Từ sách - Phim - Trúc Linh - 27/07/2026 08:00
Phạm Xuân Ẩn nhận thấy nghề báo và nghề tình báo có nhiều kỹ năng gần giống nhau. Một phóng viên giỏi phải tìm được sự thật bên trong tin đồn.

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

Blog GS John VU - GS John Vu - 26/07/2026 11:00
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ì?”

Lời khuyên cho những người đang dùng hộ chiếu chưa gắn chip

Kỹ năng - Thùy Linh - 26/07/2026 10:00
Thực hiện thao tác này sẽ giúp công dân rút ngắn thời gian làm thủ tục xuất nhập cảnh và nâng cao trải nghiệm di chuyển tại sân bay.
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