Xem thêm

Quy tắc và quá trình căn bản của Kiểm thử Phần mềm: Khái niệm và Quy trình

CEO Hùng PV
Kiểm thử phần mềm là một phần không thể thiếu trong quá trình phát triển phần mềm. Nó giúp đảm bảo chất lượng và độ tin cậy của sản phẩm cuối cùng. Bài viết này...

Kiểm thử phần mềm là một phần không thể thiếu trong quá trình phát triển phần mềm. Nó giúp đảm bảo chất lượng và độ tin cậy của sản phẩm cuối cùng. Bài viết này sẽ trình bày về các khái niệm căn bản và quy trình của kiểm thử phần mềm.

Tổng quan về hệ thống phần mềm và ví dụ

Hệ thống phần mềm là một phần quan trọng trong cuộc sống hàng ngày của chúng ta. Chúng giúp chạy các ứng dụng quan trọng như các công cụ y tế, hoạt động kinh doanh hàng ngày như máy ATM, và sản phẩm tiêu dùng như tivi hoặc điện thoại thông minh.

Bất kỳ vấn đề chức năng nào trong phần mềm có thể dẫn đến những tác động nghiêm trọng như mất mạng sống, tiền bạc, thời gian và danh tiếng của doanh nghiệp. Vì vậy, các lỗi trong hệ thống phần mềm có thể gây ra tác động đáng kể đến cuộc sống hàng ngày của chúng ta.

Dưới đây là một số ví dụ thực tế về các lỗi phần mềm và cách chúng ảnh hưởng đến cuộc sống:

  • Trong những năm 1980, các lỗi phần mềm trong mã điều khiển máy trị liệu bức xạ Therac-25 gây trực tiếp một số ca tử vong cho bệnh nhân.

  • Năm 1996, tên lửa Arianne 5 của Cơ quan Vũ trụ Châu Âu, trị giá 1 tỷ đô la Mỹ, bị phá hủy ít hơn một phút sau khi phóng do một lỗi trong chương trình máy tính hướng dẫn trên tàu.

  • Năm 2011, Honda bắt buộc phải rút lại 2,49 triệu chiếc ô tô, xe SUV nhỏ và xe đa dụng trên toàn thế giới, bao gồm cả sedan phổ biến Accord, để sửa một vấn đề phần mềm có thể gây hại cho hộp số tự động.

Những vấn đề như vậy có thể ảnh hưởng đến danh tiếng của một công ty và dẫn đến chi phí đáng kể cho việc thay thế phần mềm. Hãy cùng tìm hiểu các loại lỗi phần mềm và cách chúng ảnh hưởng đến cuộc sống ở phần tiếp theo.

Các loại lỗi phần mềm

Các lỗi phần mềm thông thường có thể ảnh hưởng đến cá nhân hoặc xã hội rộng lớn. Hãy cùng thảo luận về chúng một cách riêng biệt.

Tác động đến cá nhân

Một số ví dụ về các lỗi ảnh hưởng đến cá nhân bao gồm lỗi trong việc tính toán lương hàng tháng, lỗi trong việc rút tiền từ máy ATM và thời gian chờ đợi tại các đèn giao thông, điện thoại cố định và trạm xăng. Bất kỳ nơi nào có sử dụng phần mềm, tồn tại rủi ro về lỗi phần mềm.

Mặc dù những lỗi ảnh hưởng cá nhân ít gây tác động, nhưng chúng vẫn gây phiền toái cho người dùng và có thể dẫn đến mất danh tiếng hoặc thậm chí vấn đề pháp lý đối với tổ chức. Hãy xem các ví dụ về lỗi ảnh hưởng đến xã hội rộng lớn.

Tác động đến xã hội

Ví dụ, trong hệ thống đường sắt, một lỗi trong hệ thống tự động có thể dẫn đến va chạm giữa các chuyến tàu và mất mát về mạng sống và tài sản. Tương tự, các lỗi trong phần mềm hàng không, lò phản ứng hạt nhân hoặc phần mềm trao đổi chứng khoán có thể gây ảnh hưởng lớn đến công chúng.

Trong phần tiếp theo, chúng ta sẽ thảo luận về các nguyên nhân gây ra lỗi phần mềm.

Nguyên nhân gây ra lỗi phần mềm

Lỗi hoặc sai sót được tạo ra bởi nhà phát triển phần mềm trong quá trình sản xuất và gây ra những lỗi trong phần mềm. Những lỗi này dẫn đến sự thất bại của phần mềm.

Phần mềm có thể dẫn đến lỗi vì chúng được thiết kế thủ công. Lỗi gây ra các khuyết điểm hoặc bug trong phần mềm. Những khuyết điểm này có thể được tạo ra trong quá trình mã hóa phần mềm và suốt quá trình phát triển. Trong vòng đời phát triển, lỗi có thể xảy ra ở giai đoạn bắt đầu, nơi yêu cầu được hiểu, viết hoặc thiết kế.

Lỗi có thể xảy ra do một lỗi trong quá trình đưa ứng dụng vào vận hành. Nếu hệ thống bị lỗi thì có thể gây mất mát.

Tuy nhiên, mọi sai sót không dẫn đến lỗi và không phải lỗi nào cũng dẫn đến sự thất bại. Đôi khi, lỗi tồn tại trong phần mềm cho đến khi chúng được kích hoạt.

Hy vọng qua các ví dụ trên, bạn đã hiểu về các loại lỗi phần mềm và cách chúng ảnh hưởng đến cuộc sống. Trong phần tiếp theo, chúng ta sẽ tìm hiểu về các chuẩn yêu cầu liên quan đến kiểm thử phần mềm.

Các chuẩn yêu cầu liên quan đến kiểm thử phần mềm

Để đảm bảo kiểm thử phần mềm hiệu quả, chúng ta cần tuân theo các chuẩn liên quan đến chuyên môn, uy tín, đáng tin cậy và kinh nghiệm (E-E-A-T) cũng như chuẩn YMYL (Tiền của bạn hoặc Cuộc sống của bạn).

Trong các phần tiếp theo, chúng ta sẽ tìm hiểu về quy trình kiểm thử phần mềm và các khái niệm liên quan đến nó.

Quy trình kiểm thử phần mềm

Trong phần này, chúng ta sẽ tìm hiểu về các giai đoạn trong quy trình kiểm thử phần mềm.

Giai đoạn 1 - Lập kế hoạch và Kiểm soát Kiểm thử

Trong giai đoạn Lập kế hoạch và Kiểm soát Kiểm thử, bạn cần đảm bảo rằng mục tiêu của khách hàng, các bên liên quan và dự án được hiểu rõ. Xác định và đánh giá các rủi ro của hệ thống cần được giải quyết bằng kiểm thử.

Dựa trên sự hiểu biết này và như một phần của việc lập kế hoạch kiểm thử, xác định mục tiêu của kiểm thử và xác định phạm vi và rủi ro của nó.

Các hoạt động lập kế hoạch khác bao gồm thiết kế chiến lược kiểm thử, xác định yêu cầu về nguồn lực, lên lịch nhiệm vụ phân tích và thiết kế kiểm thử.

Sau đó, lập kế hoạch cho việc thực hiện, thực hiện và đánh giá kiểm thử và xác định tiêu chí thoát cho kiểm thử.

Là một phần của kế hoạch, bạn cũng cần lập kế hoạch cho các hệ thống kiểm thử, xác định cơ sở hạ tầng và công cụ cần thiết. Điều này bao gồm các công cụ kiểm thử và hỗ trợ như bảng tính, trình xử lý văn bản, các công cụ lập kế hoạch dự án và các công cụ và thiết bị không liên quan đến IT.

Giai đoạn 2 - Phân tích và Thiết kế Kiểm thử

Giai đoạn Phân tích và Thiết kế Kiểm thử bao gồm xem xét lại cơ sở kiểm thử và xác định các điều kiện kiểm thử.

Việc xem xét lại cơ sở kiểm thử bao gồm xem xét các yêu cầu sản phẩm, thông số kỹ thuật kiến ​​trúc, thiết kế và giao diện giữa các sản phẩm. Nó cũng bao gồm kiểm tra các thông số kỹ thuật cho phần mềm được kiểm thử.

Tất cả các tư liệu này được gọi là "cơ sở kiểm thử" vì chúng được sử dụng như một cơ sở để xác định cái gì và cách bạn nên thử.

Crowdsourcing is an innovative way to gather and pool diverse perspectives and expertise from a large group of people. Let's delve into the concept of crowdsourcing and how it can be utilized in different fields.

Giai đoạn 2 - Phân tích và Thiết kế Kiểm thử (tiếp theo)

Các yêu cầu và hệ thống cũng được đánh giá với mục đích kiểm thử. Các yêu cầu có thể được viết theo cách cho phép người kiểm tra thiết kế các bài kiểm tra nhưng không thể kiểm thử.

Ví dụ, nếu hiệu suất của phần mềm quan trọng, nó phải được định rõ theo cách có thể kiểm thử.

Nếu yêu cầu được chỉ định là "phần mềm cần phản hồi nhanh", nó không thể kiểm thử được, vì "nhanh" có thể được hiểu theo nhiều cách. Yêu cầu kiểm thử có thể được chỉ định một cách rõ ràng hơn. Ví dụ: "phần mềm cần phản hồi trong 2 giây với 10 người đang đăng nhập".

Khả năng kiểm thử của hệ thống phụ thuộc vào các khía cạnh khác nhau của khả năng cài đặt hệ thống trong một môi trường giống môi trường vận hành. Những khía cạnh khác của giai đoạn phân tích và thiết kế là sự rõ ràng và khả thi của tất cả các cấu hình và cách sử dụng có thể của một hệ thống.

Trong phần tiếp theo, chúng ta sẽ tiếp tục thảo luận về các hoạt động của giai đoạn này.

Giai đoạn 2 - Phân tích và Thiết kế Kiểm thử (tiếp theo)

Yêu cầu và hệ thống cũng được đánh giá về khả năng kiểm thử. Yêu cầu có thể được viết theo cách cho phép người kiểm tra thiết kế các ca kiểm thử nhưng không thể kiểm thử.

Trong giai đoạn phân tích và thiết kế, cần đánh giá khả thực và khả năng kiểm thử của hệ thống. Yêu cầu có thể được viết một cách rõ ràng để kiểm thử. Nếu yêu cầu được chỉ định là "phần mềm cần phản hồi nhanh", nó không thể kiểm thử được vì "nhanh" có thể được hiểu theo nhiều cách khác nhau. Một yêu cầu kiểm thử rõ ràng hơn có thể là "phần mềm cần phản hồi trong 2 giây với 10 người đang đăng nhập".

Khả năng kiểm thử của hệ thống phụ thuộc vào nhiều khía cạnh khác nhau, bao gồm khả năng cài đặt hệ thống trong một môi trường giống môi trường vận hành, sự hiểu biết và khả năng kiểm thử tất cả các cấu hình và các trường hợp sử dụng có thể của một hệ thống.

Trong phần tiếp theo, chúng ta sẽ thảo luận về quy trình thực hiện và thực thi kiểm thử.

Giai đoạn 3 - Thực hiện và Thực thi Kiểm thử

Trong giai đoạn thứ ba, Thực hiện và Thực thi Kiểm thử, các điều kiện kiểm thử đã được thiết kế được thiết lập làm các ca kiểm thử. Môi trường kiểm thử cũng được thiết lập trước khi thực hiện kiểm thử.

Thực hiện kiểm thử bao gồm ưu tiên các ca kiểm thử, sử dụng các kỹ thuật và phương pháp kiểm thử và tạo ra các bộ kiểm thử từ các ca kiểm thử để thực hiện kiểm thử hiệu quả. Bạn cần đảm bảo rằng môi trường kiểm thử đã được thiết lập đúng bằng cách chạy các ca kiểm thử cụ thể nếu có thể.

Thực thi là thực hiện các bộ kiểm thử và các ca kiểm thử riêng lẻ, tuân theo các quy trình kiểm thử được xác định trước. Điều này có thể được thực hiện bằng cách thủ công hoặc bằng cách sử dụng các công cụ thực hiện kiểm thử theo thứ tự đã lập kế hoạch.

Khi kết thúc từng ca kiểm thử, ghi lại kết quả và ghi lại danh tính và phiên bản của phần mềm đang được kiểm tra, các công cụ kiểm thử và các bộ kiểm thử. Cũng cần biết các kiểm tra được thực hiện đối với phiên bản phần mềm nào, báo cáo các lỗi đối với phiên bản cụ thể và duy trì danh sách kiểm thử để tạo ra dấu vết kiểm tra. Sau đó, so sánh kết quả thực tế, tức là những gì đã xảy ra khi kiểm tra đã chạy, với kết quả dự kiến hoặc dự tính.

Đối với sự khác biệt giữa kết quả thực tế và kết quả dự kiến, báo cáo sai sót như các sự cố.

Sau khi các sai sót được sửa, lặp lại các hoạt động kiểm thử để xác nhận xem sửa chữa đã giải quyết chúng. Kiểm tra lại các kiểm tra trước đó để xác nhận sự hoạt động của sửa chữa. Điều này còn được gọi là xác nhận hoạt động hoặc kiểm tra lại.

Kiểm tra xem sửa chữa không tạo ra các sai sót trong các khu vực không thay đổi của phần mềm và việc sửa chữa một sai sót không v uncover ra các sai sót khác. Điều này được gọi là kiểm tra lại / kiểm tra lại.

Trong phần tiếp theo, chúng ta sẽ thảo luận về giai đoạn thứ tư, "Đánh giá tiêu chí thoát và Báo cáo".

Giai đoạn 4 - Đánh giá tiêu chí thoát và Báo cáo

Sau khi kết thúc quá trình thực hiện kiểm thử, giai đoạn Đánh giá tiêu chí thoát và Báo cáo bắt đầu.

Trong giai đoạn này, bạn cần đo lường kết quả của quá trình thực hiện kiểm thử so với mục tiêu kiểm thử và thông báo báo cáo tóm tắt kiểm thử cho các bên liên quan.

Trở lại quá trình thực hiện kiểm thử nếu mục tiêu kiểm thử chưa được đáp ứng và cần tiến hành thêm kiểm thử.

Sau đó, chuẩn bị báo cáo tóm tắt kiểm thử, đó là tài liệu tóm tắt các hoạt động và kết quả của kiểm thử. Báo cáo tóm tắt kiểm thử cũng chứa một đánh giá về các mục kiểm thử tương ứng so với tiêu chí thoát.

Trong phần tiếp theo, chúng ta sẽ thảo luận về giai đoạn cuối cùng, "Kết thúc kiểm thử".

Giai đoạn 5 - Kết thúc Kiểm thử

Khi kiểm thử được coi là hoàn tất, bạn có thể chuyển sang giai đoạn Kết thúc Kiểm thử.

Trong giai đoạn này, bạn cần kiểm tra xem tất cả các sản phẩm đã được chấp nhận và ký nhận, lưu trữ kiểm thử và đóng môi trường, phân tích các bài học học được và sử dụng thông tin đó để cải thiện sự chuyên môn kiểm thử.

Với những gì chúng ta đã thảo luận trong bài viết này, chúng ta đã tìm hiểu về tâm lý và đạo đức của kiểm thử phần mềm.

1