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

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?
2

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.
3

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.
4

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.
5

Đả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.

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.

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

Blog GS John VU - GS John Vu - 18/09/2025 13:00
Kiểm thử là cần thiết cho mọi dự án phần mềm.

Xem Sex Education, tôi thấy mình sai khi dạy con: Nhiều cha mẹ Việt cần thay đổi

Điện ảnh - Lam Chi - 18/09/2025 12:00
Tôi chưa bao giờ thấy sai khi dạy con, cho tới khi tôi xem phim Sex Education.

Tính năng miễn phí của Google Maps mà dân sành ăn không bao giờ mách cho bạn

Kỹ năng - Hy Chu - 18/09/2025 11:00
Nhiều người còn gọi tính năng chính là nơi lưu trữ “kho báu” của họ.

Trung niên mới thấm: Người ở lại bên ta thật sự quá hiếm hoi

Suy ngẫm - Tích Thành - 18/09/2025 10:00
Hầu hết những người từng xuất hiện trong đời bạn đều sẽ rời đi, không vì ai sai, chỉ vì đó là quy luật. Hiểu được điều này, bạn sẽ học cách trân trọng hiện tại và nhẹ nhàng tiễn đưa những mối duyên đã đến hồi kết.

Người đàn ông 30 tuổi mất hai tay vẫn giao đồ ăn, viết thư pháp bằng chân nuôi sống gia đình

Truyền cảm hứng - Ứng Hà Chi - 18/09/2025 09:00
Cuộc đời Li Xiangyang là minh chứng cho sức mạnh kiên cường của con người trước nghịch cảnh.

Rachel Aviv - cây bút tài hoa đứng sau tác phẩm Người lạ với chính ta

Từ sách - Phim - Quìn - 18/09/2025 08:00
Với bề dày sự nghiệp báo chí và văn học phi hư cấu, Rachel Aviv đã kiến tạo nên một dấu ấn hiếm có trong lĩnh vực viết về sức khỏe tâm thần.

Quản lý hệ thông tin

Blog GS John VU - GS John Vu - 17/09/2025 13:00
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ư.

Xem Sex Education, không ngờ có ngày tôi lại được con dạy cho bài học đắt giá!

Điện ảnh - Thanh Hương - 17/09/2025 12:00
Con tôi đã dạy tôi điều đó trước cả khi tôi dạy nó.

Làm theo những bước đơn giản sau, bạn sẽ biết đường link có phải bẫy lừa đảo hay không

Kỹ năng - Nhật Hạ - 17/09/2025 11:00
Kiểm tra đường link là điều rất cần thiết khi tham gia vào không gian mạng hiện nay

66% Gen Z Việt Nam chủ động tiết kiệm và đầu tư sớm

Phong cách sống - Thúy Hạnh - 17/09/2025 10:00
Khảo sát Gen Z Decoded của Visa cho thấy thế hệ trẻ sinh năm 1997 - 2010 đang định hình xu hướng thanh toán tại Việt Nam.

Đàn ông sau 35: Nếu không “khởi động lại”, bạn sẽ tụt hậu mãi mãi

Suy ngẫm - Ứng Hà Chi - 17/09/2025 09:00
35 tuổi có thể là khởi đầu của cuộc khủng hoảng tuổi trung niên hoặc là khúc dạo đầu cho sự thay đổi ở tuổi trung niên.

Sức mạnh của người thấu cảm - Lăng kính của bạn quyết định thực tại của bạn

Từ sách - Phim - Quìn - 17/09/2025 08:00
Bạn có bao giờ tự hỏi: tại sao có những lúc, dù rất nỗ lực hướng về điều tích cực, ta vẫn cứ thu hút những trải nghiệm khiến mình mệt mỏi, thất vọng?

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

Blog GS John VU - GS John Vu - 16/09/2025 13:00
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?

Xem Sex Education: Chỉ vì sự hấp tấp khiến con không muốn thân thiết với mẹ nữa

Điện ảnh - Thanh Hương - 16/09/2025 12:00
Chúng ta không cần trở thành bạn của con – nhưng hãy là một người mẹ mà con đủ tin tưởng để không cần phải giấu mình.

Chiêu lừa đảo mới: Người dùng iPhone coi chừng mất sạch tiền trong tài khoản ngân hàng

Kỹ năng - KV - 16/09/2025 11:00
Một thủ đoạn tấn công mới và cực kỳ tinh vi đang cho phép tin tặc gửi email lừa đảo từ địa chỉ email chính thức của Apple, dễ dàng vượt qua mọi hệ thống bảo mật và khiến người dùng sập bẫy một cách không ngờ tớ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
Thứ 5, 18/09/2025