17+ tai nạn khủng sẽ cho bạn biết tại sao phải kiểm thử phần mềm

Ngày đăng: 17/12/2018   -    Cập nhật: 13/08/2019
Nếu đã đặt câu hỏi: "Tại sao phải kiểm thử phần mềm?" thì trước khi đi vào câu trả lời mình nghĩ bạn sẽ cần phải hiểu kiểm thử phần mềm là gì đã chứ nhỉ...
 

Kiểm thử phần mềm là gì?


Kiểm thử phần mềm là quá trình được sử dụng để xác định tính chính xác, hoàn thiện chất lượng của phần mềm máy tính được phát triển.

Nó bao gồm một tập hợp các hoạt động được thực hiện với mục đích tìm lỗi trong phần mềm để có thể sửa lỗi trước khi phát hành phần mềm cho người dùng cuối.

Kiểm thử phần mềm cũng giúp xác định lỗi, lỗ hổng hoặc kết quả thiếu hoặc trái với yêu cầu thực tế.

 

Kiểm thử phần mềm đơn giản là tìm lỗi phần mềm hoạt động không như mong muốn

Kiểm thử phần mềm đơn giản là tìm lỗi phần mềm hoạt động không như mong muốn

Kiểm thử phần mềm có thể được thực hiện bằng tay (kiểm thử phần mềm thủ công - Manual Testing) hoặc sử dụng các công cụ tự động (kiểm thử phần mềm tự động - Automation testing). Một số người thích nói Kiểm thử phần mềm dưới dạng Kiểm thử hộp trắng và Kiểm thử hộp đen.

Kiểm tra rất là việc phải làm và phải làm tốt vì lỗi của phần mềm có thể sẽ làm bạn tốn tiền hoặc thậm chí gây ra nguy hiểm. Lỗi phần mềm có khả năng gây thiệt hại rất lớn về tiền tệ và con người, lịch sử có rất nhiều các ví dụ như vậy.

 

12 tai nạn vì lơ là kiểm thử phần mềm gây ra.


Đây là danh sách các tai nạn khủng khiếp, liên lụy hàng trăm ngàn người, tốn hàng tỷ đô la chỉ vì công tác kiểm thử phần mềm chưa được thực hiện tốt.

1. Vào tháng 4 năm 2015, Bloomberg ở London đã gặp sự cố do trục trặc phần mềm ảnh hưởng đến hơn 300.000 thương nhân trên thị trường tài chính. Nó buộc chính phủ phải hoãn việc bán nợ 3 tỷ bảng.

2. Nissan đã phải triệu hồi hơn 1 triệu xe khỏi thị trường do lỗi phần mềm trong các máy dò cảm ứng túi khí. Đã có báo cáo hai tai nạn do lỗi phần mềm này.

3. Starbucks đã buộc phải đóng cửa khoảng 60% các cửa hàng ở Mỹ và Canada do lỗi phần mềm trong hệ thống POS của mình vì họ không thể xử lý giao dịch.

4. Một số nhà bán lẻ bên thứ ba của Amazon, thấy giá sản phẩm của họ giảm xuống còn 1p do trục trặc phần mềm. Họ đã bị tổn thất nặng nề

5. Lỗ hổng trong Window 10. Lỗi này cho phép người dùng thoát khỏi các hộp bảo mật sandbox thông qua một lỗ hổng trong hệ thống win32k.

6. Năm 2015, máy bay chiến đấu F-35 trở thành nạn nhân của lỗi phần mềm, lỗi xảy ra khiến nó không thể phát hiện mục tiêu chính xác.

7. Máy bay Air300 A300 của China Airlines bị rơi do lỗi phần mềm vào ngày 26 tháng 4 năm 1994, vụ tai nạn đã cướp đi mạng sống của 264 người vô tội

8. Năm 1985, máy xạ trị Therac-25 của Canada bị trục trặc do lỗi phần mềm và đã truyền liều gây chết người cho bệnh nhân, khiến 3 người chết và 3 người khác bị thương nặng.

9. Vào tháng Tư năm 1999, một lỗi phần mềm gây ra sự thất bại của vụ phóng vệ tinh quân sự trị giá 1,2 tỷ đô la, tai nạn tốn kém nhất trong lịch sử.

10. Vào tháng 5 năm 1996, một lỗi phần mềm đã khiến tài khoản ngân hàng của 823 khách hàng của một ngân hàng lớn ở Hoa Kỳ được ghi có 920 triệu đô la Mỹ.

11. Gần đây, lỗi phần mềm đã khiến rất nhiều hệ thống xảy ra vấn đề dữ liệu bị mất cắp như Facebook, thegioididong,...

12. Trong tháng 9/2018, vụ việc Zalo và các dịch vụ khác của VNG cũng gặp sự cố không thể truy cập được.

và dưới đây là...

 

5 vụ lỗi phần mềm nổi tiếng nhất lịch sử.


Trong lịch sử của thế giới công nghệ có rất nhiều sự cố về phần mềm. Nhưng 5 sự số dưới đây được cho là nổi tiếng nhất.

1. Sự kiện đầu tiên sinh ra Bug

Đó sự kiện xảy ra vào ngày 9/9/1947, một chiếc máy tính Mark II ở trường Đại học Harvard vì lý do nào đó đã không hoạt động.
 


Bug đầu tiên được tìm thấy

Bug đầu tiên được tìm thấy


Sau khi kiểm tra, các kỹ sư đã phát hiện ra nguyên nhân - một con bướm đã mắc kẹt bên trong máy tính. Sự cố máy tính được ghi nhận vào nhật ký lúc 3 giờ 45 phút chiều, trong đó có đoạn: “Con bọ (bug) thực tế đầu tiên đã được tìm thấy.”

Ngày nay, thuật ngữ “bug” (lỗi) trong lĩnh vực phát triển phần mềm không còn được hiểu theo nghĩa đen mà thuật ngữ Bug được nói đến một lỗ hổng hoặc lỗi trong một chương trình máy tính là nguyên nhân để chương trình không đưa ra được kết quả như mong muốn hoặc dẫn đến một tai nạn nào đó.


2. Sự kiện Y2K


Các nhà phát triển phần mềm đã không bao giờ nghĩ rằng phần mềm của họ có thể tồn tại qua năm 1999. Nhiều lập trình viên đã cho rằng viết "19" trước biến "năm" là không cần thiết.

Chính vì thế hầu hết biến "năm" chỉ được lưu bằng 2 số, ví dụ: năm 1999 được lưu là 99.

Sự kiện Y2K

Sự kiện Y2K

Do đó khi sắp bước sang năm 2000, các phần mềm sẽ cập nhật về năm 1900 thay vì năm 2000. Chính vì thế mà nhiều người đã lo lắng rằng tên lửa hạt nhân sẽ được phóng ra, máy bay chở hàng trăm hành khách sẽ rơi...

Nhưng điều đó đã không xảy ra vì chúng ta vẫn ở đây.

Tuy nhiên, đã có hàng tỷ đô la được chi ra để tiến hành nâng cấp các phần mềm và thực tế đã ghi nhận: ở Tây Ban Nha, một trang web về thời tiết đã chuyển sang ngày 1-1-1900 và ở Úc, một số máy bán vé xe buýt đã không hoạt động

 

3. Vụ tên lửa Dhahran làm chết 28 lính Mỹ


Vào tháng 2/1991, trong cuộc Chiến tranh vùng Vịnh (hay còn được gọi là Chiến tranh vịnh Ba Tư hay là Chiến dịch Bão Táp Sa Mạc là cuộc xung đột giữa Iraq và liên minh gần 30 quốc gia) một tên lửa của Iraq đã đi lọt vào căn cứ Mỹ ở Dhahran làm chết 28 lính Mỹ.
 

Pin của Pattriot khiến phần mềm phát hiện mục tiêu chạy chậm 0.33 giây sau 100 giờ

Pin của Pattriot khiến phần mềm phát hiện mục tiêu chạy chậm 0.33 giây sau 100 giờ

Sự việc này sau đó được xác minh là nguyên do tính toán giờ của hệ thống phòng thủ tên lửa bị chậm do không tính toán đến sai số do pin gây ra. Sau mỗi giờ thì đồng hồ lại sai 1 mili giây và sau 100 giờ thì đã sai 0,33 giây.

Với 0,33 giây thì radar có thể phát hiện được tên lửa nhưng hệ thống phòng thủ không kịp khai hỏa. Và hậu quả dấn tới là 28 lính Mỹ thiệt mạng.

 

4. Sai số hơn 100km do lập trình theo Mét nhưng điều khiển lại dùng đơn vị Feet.

 
Nhầm lẫn giữa Feet và Mét khiến tàu vũ trụ Mars Climate Orbite lệch quỹ đạo 100 km

Nhầm lẫn giữa Feet và Mét khiến tàu vũ trụ Mars Climate Orbite lệch quỹ đạo hơn 100 km

Năm 1998, NASA phóng con tàu Mars Climate Orbiter để thăm dò khí hậu sao hỏa. Nhưng nó vĩnh viễn không thực hiện thành công nhiệm vụ của mình vì:

Người điều khiển mặt đất sử dụng đơn vị feet trong khi phần mềm lập trình chỉ sử dụng đơn vị mét. Việc này dẫn tới sai số quỹ đạo hơn 100 km. Dẫn đến việc bay quá gần khí quyển sao hỏa.

Và Mars Climate Orbiter đã biến thành bụi vũ trụ.

 

5. Thiệt hại 370 triệu USD do lỗi phần mềm chuyển từ 64 bit sang 16 bit.


tên lửa Ariane 5 đã nổ tung như pháo hoa.

Tên lửa đẩy Ariane 5 đã nổ tung sau khi phóng 30 giây.


Vào ngày 4/6/1996, chỉ sau 30 giây được phóng lên, tên lửa Ariane 5 đã nổ tung như pháo hoa.

Sự cố này sau đó được mô phỏng lại với một điều kiện tượng nhằm tìm ra nguyên nhâ đã cho thấy phần mềm máy tính đã chuyển dữ liệu sử dụng biến kiểu số động 64-bit sang biến sử dụng số 16-bít để biểu diễn phương nằm ngang.

Những biến này đã sử dụng một kích thước khác trong bộ nhớ là nguyên nhân hàng loạt lỗi ảnh hưởng đến tất cả máy tính trong tên lửa làm tê liệt hệ thống và đã kích hoạt hệ thống tự phá hủy.

Sự cố này đã làm bay màu 370 triệu USD chỉ trong tích tắc.


...
 

Có thể bạn nghĩ rằng những vụ lớn như thế này thì chỉ có các ông lớn, hi hữu.. còn mình thì bé tý, không ăn nhằm gì. Nhưng bạn đã sai hoặc thực sự bạn chưa làm việc nhiều trong lĩnh vực lập trình phần mềm.

Là một lập trình viên, bạn sẽ biết rằng: "Thằng Tester cực kỳ khó chịu vì lúc nào nó cũng tìm ra lỗi trong code của mình rồi bắt mình sửa. Nhưng trong thâm tâm lại thầm cảm ơn nó vì cũng may mà những lỗi này đã không xảy ra ở lúc Releases sản phẩm."


 

Tổng kết


Vậy đó, mình nghĩ chỉ cần bạn thấy những nguy cơ và tai nạn tốn kém như vậy thì bạn đã có cho mình câu trả lời "tại sao phải kiểm thử phần mềm" rồi chứ nhỉ?


Trong lập trình, Công việc lập trình là một công việc sáng tạo thì Kiểm thử phần mềm giúp cho thành quả của sự sáng tạo đó đến với mọi người một cách tốt nhất, tối thiểu hóa chi phí bảo trì, hạn chế rủi ro...

=> Tức là tiền về túi sẽ nằm yên trong túi của mình.


>> Nếu bạn muốn trở thành người đóng góp quan trọng cho một phần mềm tốt thì hãy xem ngay khóa học Chuyên viên Kiểm thử phần mềm trong hơn 4 tháng của NIIT - ICT Hà Nội này nhé.

 

---

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI

Dạy học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150 
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp
Bình luận Facebook
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!