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

Phần mềm di động

Phát triển ứng dụng di động là qui trình qua đó phần mềm được phát triển cho điện thoại di động hay thiết bị cầm tay tương tự.
2

Nhu cầu cấp bách

Tuần trước, tôi đã viết về vài “khu vực nóng” trong thị trường công nghệ và tôi tin nền di động sẽ là một trong chúng trong vài năm tới.
3

Hệ thống giáo dục mới

Tôi để ba tuần giảng dạy ở Trung Quốc.
4

Kinh nghiệm của kỹ sư phần mềm

“Em đã làm năm việc trong ba năm. Chẳng có gì để tự hào nhưng hồi tưởng lại, em đã học được bài học tốt và đó là lí do tại sao em quay lại thăm thầy.”
5

Lời khuyên từ bạn bè

Năm ngoái, một sinh viên năm thứ nhất nói với tôi trong ngày đầu tiên lên lớp: “Thầy nói cứ như là bố mẹ em nói, học, học và học nữa. Cuộc sống KHÔNG chỉ là học tập và là sinh viên đại học, em KHÔNG cần những lời khuyên có vẻ như của bố mẹ thế.”

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.

Làm chủ AI - Chatbot viết CV ứng tuyển việc làm

Khi để AI đồng hành trong hành trình phát triển sự nghiệp, bạn sẽ học được cách điều hướng tinh tế trong môi trường làm việc, từ đó từng bước thăng tiến trên nấc thang nghề nghiệp, bất kể bạn đang làm việc trong lĩnh vực nào hay giữ vai trò gì.

Làm chủ AI - Chatbot viết CV ứng tuyển việc làm

Từ sách - Phim - FN - 04/06/2026 08:00
Khi để AI đồng hành trong hành trình phát triển sự nghiệp, bạn sẽ học được cách điều hướng tinh tế trong môi trường làm việc, từ đó từng bước thăng tiến trên nấc thang nghề nghiệp, bất kể bạn đang làm việc trong lĩnh vực nào hay giữ vai trò gì.

Cuộc chiến về tài năng

Blog GS John VU - GS John Vu - 03/06/2026 12:00
Các công ty ở Thung lũng Silicon (San Jose) đang cạnh tranh về những kỹ sư phần mềm có kỹ năng với lương cao đáng kể và nhiều thưởng lớn.

Cảnh báo cho những ai thích nhắn tin "trêu lại lừa đảo": Tưởng vui nhưng sau đó phải hối hận

Kỹ năng - Quốc Vinh - 03/06/2026 11:00
Trông thì có vẻ vô hại, nhưng bạn không thể biết điều gì đang diễn ra ở phía sau hậu trường đâu.

Cha đẻ của bài kiểm tra IQ đầu tiên đã đúng

Suy ngẫm - Thiên An - 03/06/2026 10:00
Thay vì đóng khung năng lực của con bằng những điểm số ngắn hạn, cha mẹ cần nuôi dưỡng tư duy phát triển để giúp những đứa trẻ "nở muộn" có cơ hội bứt phá.

Dịch giả Nhật Bản thông thạo 8 ngoại ngữ dù mới học từ tuổi 49, sở hữu 5 bằng đại học

Truyền cảm hứng - Nhật Linh - 03/06/2026 09:00
Bắt đầu học ngoại ngữ ở tuổi gần 50, một dịch giả người Nhật đã chinh phục tới 8 ngoại ngữ, chứng minh rằng việc học không bị giới hạn bởi tuổi tác.

Làm chủ AI - Khi AI gánh giùm sự mệt mỏi của con người

Từ sách - Phim - Linh Chi - 03/06/2026 08:00
"Làm chủ AI” không dạy bạn cách dùng AI để nhào nặn cơ thể cho khớp với những tiêu chuẩn hoàn hảo mà giúp chúng ta cởi bỏ cái vỏ bọc tháo vát hàng ngày, được phép lười biếng, hoang mang và cả ốm yếu.

Giáo dục và toàn cầu hoá

Blog GS John VU - GS John Vu - 02/06/2026 12:00
Trong năm mươi năm qua, các nước đã phát triển chi phối kinh tế thế giới, đóng góp quãng hai phần ba GDP toàn cầu nhưng ngày nay nó tụt xuống còn một nửa.

1% người dùng biết quy tắc ngầm này để biến AI thành siêu trợ lý toàn năng

Kỹ năng - Lê Thảo - 02/06/2026 11:00
Phía sau hậu trường, các công ty trí tuệ nhân tạo (AI) đã âm thầm chèn thêm hàng nghìn từ hướng dẫn vào mỗi cuộc hội thoại để điều hướng hành vi của chatbot.

Kiểu tình bạn rất phổ biến sau tuổi 25: Không xuất hiện thường xuyên nhưng vẫn luôn có mặt khi cần

Suy ngẫm - S.A - 02/06/2026 10:00
Tình bạn của người trưởng thành có thể mang nhiều hình dạng khác nhau.

Céline Nhã Nguyễn: Từ những cuộc đấu trí trong nghề luật đến trở thành người phụ nữ Việt đầu tiên chinh phục Everest

Truyền cảm hứng - Yên Yên - 02/06/2026 09:00
Céline Nhã Nguyễn là người phụ nữ mà bạn không bao giờ đoán được sẽ xuất hiện ở đâu tiếp theo.

Minh triết từ nỗi bất an - Khi chúng ta không sống trong hiện tại

Từ sách - Phim - Thu An - 02/06/2026 08:00
Có lẽ không ít người cảm nhận rằng chúng ta đang sống giữa thời đại đầy lo lắng. Tại sao con người luôn lo lắng, bất an? Nỗi bất an đến từ đâu?  Làm sao tìm được sự an ổn?. “Minh triết từ nỗi bất an” của Alan Watts là quyển sách sẽ chia sẻ với chúng ta thông điệp mang đến sự bình an giữa thời đại đầy lo lắng này.

Bài học từ khoán ngoài

Blog GS John VU - GS John Vu - 01/06/2026 12:00
Khi tôi ở Trung Quốc tháng trước, tôi thấy điều gì đó mà tôi chưa bao giờ trông chờ: Việc đóng cửa một số nơi chế tạo ở Thượng Hải và Shenzheng.

Zalo ra mắt tính năng phụ đề cuộc gọi video

Kỹ năng - Nhật Hạ - 01/06/2026 11:00
Zalo vừa tung ra một tính năng AI mới vô cùng hữu ích giúp người dùng chuyển lời nói thành chữ theo thời gian thực ngay trên màn hình.

12 triệu người nghe Võ Hà Linh nói về điều hối hận nhất tuổi 34

Phong cách sống - Nguyễn Phượng - 01/06/2026 09:00
"Stress thì mua matcha latte, socola đá xay mà uống cho mát ruột chứ đi xăm gì cho cực", Võ Hà Linh 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