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

Làm việc hay không làm việc

Tuần trước tôi nhận được một email: “Dường như là thầy đang khuyến khích sinh viên đi làm trong khi vẫn đang học đại học nhưng bố mẹ em bảo em rằng em phải tập trung vào học tập vì họ có thể chăm lo cho em. Đi làm sẽ làm phân tán học tập của em và em KHÔNG nên làm hai điều đồng thời thì sẽ không thành công trong cái nào. Thầy nghĩ thế nào?”
2

Phần mềm mã nguồn mở

Phần mềm “nguồn mở” là phần mềm được viết theo cách mã nguồn để mở, sẵn có cho mọi người dùng, thay đổi, cải tiến và tự do phân phối lại nó.
3

Tính toán mây

Một người quản lí hỏi: “Tác động của tính toán mây là gì? Công ti tôi được coi như dùng dịch vụ tính toán mây từ Microsoft. Điều gì sẽ xảy ra cho những người làm việc trong nhóm công nghệ thông tin hỗ trợ cho công ti?”
4

Lập mục đích

Bạn có biết thuyền trưởng dẫn hướng con thuyền của mình trên đại dương thế nào không?
5

Tri thức và kỹ năng

Tuần trước, tôi đã thảo luận với sinh viên về kĩ năng mà công nghiệp phần mềm cần. Khi tôi bảo họ rằng có nhiều việc làm cho xây dựng ứng dụng di động và làm việc với các ứng dụng bán sẵn trên thị trường Commercial Off The Shelf (COTS) như SAP và PeopleSoft, một sinh viên lập tức lên tiếng lo ngại rằng những điều đó không được dạy trong trường.

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.

Nghề nghiệp và việc làm

Blog GS John VU - GS John Vu - 23/06/2026 12:00
"Em hiểu rằng giáo dục đại học là quan trọng nhưng em vẫn bị lẫn lộn về chọn lựa của em khi kết thúc giáo dục bậc đại học rồi đi làm cùng việc làm như mọi người có sáu tháng đào tạo lập trình..."

Điều doanh nghiệp cần biết về GPT - “bộ não” phía sau chatbot AI

Kỹ năng - Vân Anh - 23/06/2026 11:00
GPT, viết tắt của Generative Pre-trained Transformer, là một lớp mô hình trí tuệ nhân tạo tạo sinh có khả năng tạo ra văn bản, tóm tắt tài liệu, viết email, trả lời câu hỏi, hỗ trợ lập trình hoặc phân tích dữ liệu theo yêu cầu bằng ngôn ngữ tự nhiên. Nói đơn giản, GPT giống như “bộ não ngôn ngữ” đứng sau nhiều chatbot AI nổi tiếng hiện nay, bao gồm Chat GPT.

Không phải nghèo hay xấu xí: 3 kiểu đàn ông này mới là “án tử xã hội”

Suy ngẫm - Ứng Hà Chi - 23/06/2026 10:00
Đàn ông có những vấn đề này không chỉ là lỗi hành vi, mà phản ánh sự rối loạn ở tầng nhận thức, khả năng tự kiểm soát và phán đoán cốt lõi.

Việt Nam có một nhà văn sở hữu tác phẩm được dịch ra ít nhất 3 thứ tiếng, là tài liệu nghiên cứu, giảng dạy tại Havard, Stanford, Oxford

Phong cách sống - Nhật Linh - 23/06/2026 09:00
Không chỉ là cây bút lớn của văn học Việt Nam hiện đại, nhà văn này còn là tác giả sở hữu tác phẩm có sức sống vượt ra khỏi biên giới quốc gia.

 'Để hiểu một người' - Chúng ta đang sống trong thời đại khủng hoảng kết nối 

Từ sách - Phim - TĐ - 23/06/2026 08:00
Thứ chúng ta cần nhất là các mối quan hệ, và thứ mà chúng ta xử lý vụng về nhất dường như cũng là các mối quan hệ.

Tính toán mây

Blog GS John VU - GS John Vu - 22/06/2026 12:00
Một người quản lí hỏi: “Tác động của tính toán mây là gì? Công ti tôi được coi như dùng dịch vụ tính toán mây từ Microsoft. Điều gì sẽ xảy ra cho những người làm việc trong nhóm công nghệ thông tin hỗ trợ cho công ti?”

Thất nghiệp đừng vội hoảng: 5 kỹ năng "hái ra tiền" tự học miễn phí giúp bạn lật ngược thế cờ

Kỹ năng - Kiều Dương - 22/06/2026 11:00
Thay vì lo âu khi CV gửi đi chưa có phản hồi, hãy tận dụng khoảng thời gian này để trang bị 5 kỹ năng hữu ích hoàn toàn miễn phí trên mạng.

Tỷ phú Elon Musk và 5 lời khuyên: Chỉ cần làm được 1 điều, cơ hội thành công sẽ tăng vọt

Suy ngẫm - Phương Anh - 22/06/2026 10:00
Vị tỷ phú này cho rằng, để đạt được thành công, mỗi người cần phải mạnh mẽ và nỗ lực thực hiện những điều sau.

Câu chuyện đằng sau tấm ảnh sét đánh đỉnh Landmark 81 thu hút "bão like"

Phong cách sống - Vũ Thanh Bình - 22/06/2026 09:00
Sau 7 năm theo dõi hiện tượng giông sét, tác giả bức ảnh đã ghi lại được khoảnh khắc sét đánh trúng đỉnh tòa nhà Landmark 81 trong cơn mưa lớn tại TPHCM.

Biến tiềm năng thành tài năng - Chúng ta đang sống trong một nền văn hóa tôn thờ tài năng thiên bẩm

Từ sách - Phim - TĐ - 22/06/2026 08:00
 Adam Grant cho rằng tiềm năng không nằm ở nơi bạn bắt đầu, mà nằm ở quãng đường bạn có thể đi được.

Công nghiệp công nghệ thông tin ở Nga

Blog GS John VU - GS John Vu - 21/06/2026 12:00
Khi lần đầu tiên tôi tới thăm Nga năm 1996 để tiến hành nghiên cứu về xu hướng phần mềm, tôi đã bị ấn tượng về lực lượng lao động kĩ năng cao quãng vài nghìn người phát triển phần mềm, nhiều người có bằng tiến sĩ và thạc sĩ với đào tạo chuyên sâu về toán học và vật lí.

Vì sao quẹt thẻ ngân hàng thanh toán đúng chỗ nhưng bạn không được hoàn tiền như quảng cáo?

Kỹ năng - Thu Thủy - 21/06/2026 11:00
Bạn nghĩ mình đã quẹt thẻ tại đúng nhà hàng, đúng chương trình ưu đãi nhưng vẫn không nhận được hoàn tiền như kỳ vọng. Trong khi đó, người khác chi tiêu tương tự lại được hưởng đầy đủ. Sự khác biệt nằm một mã 4 chữ số ít ai để ý.

Sau 30 tuổi, bạn biết mình có thể làm khác đi, nhưng chưa dám

Suy ngẫm - Hà Nguyên - 21/06/2026 10:00
Không phải không muốn cố gắng, mà là không biết cố vào lúc nào.

Từng bị smartphone "khai tử", Gen Z bất ngờ hồi sinh dòng máy ảnh 20 năm tuổi

Phong cách sống - Minh Ngọc - 21/06/2026 09:00
Bị smartphone 'khai tử' suốt hơn 10 năm, máy ảnh compact bất ngờ hồi sinh: Gen Z đang săn lùng thứ công nghệ lỗi thời này vì điều gì?

Cô đơn ở đỉnh cao

Từ sách - Phim - Minh Nguyệt - 21/06/2026 08:00
Có một câu hỏi mà nhiều lãnh đạo tự hỏi mình sau một cuộc họp dài, khi căn phòng đã vắng hết người: tại sao mình lại cô đơn đến vậy?
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