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

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

Tôi nhận được một email từ một sinh viên phần mềm năm thứ nhất, cô ấy hỏi: “Có bao nhiêu kiểm thử phần mềm trong dự án phần mềm? Cái gì cần được đưa vào trong kế hoạch kiểm thử? Các kiểm thử này được tiến hành theo trật tự nào? Xin thầy giúp đỡ.”

Đáp: Mục đích của kiểm thử phần mềm là đánh giá chất lượng của công việc được thực hiện ở từng bước của qui trình phát triển phần mềm. Người quản lí kiểm thử phải lập kế hoạch kiểm thử lúc bắt đầu của dự án đồng thời với lúc người quản lí dự án lập kế hoạch cho các hoạt động dự án. Bản kế hoạch kiểm thử nên bao gồm các thủ tục kiểm thử, trường hợp kiểm thử, thông tin lỗi, lịch biểu kiểm thử, và dữ liệu hiệu năng được dùng cho kiểm thử phần mềm. Người kiểm thử KHÔNG nên chờ đợi kiểm thử mọi thứ ở lúc cuối của nỗ lực phát triển, sau khi viết mã đã được thực hiện. Họ phải làm việc với người phát triển qua qui trình phát triển để đảm bảo rằng phần mềm được phát triển như dự định, và để cải tiến chất lượng, tính tin cậy và tính bảo trì phần mềm.

Việc kiểm thử phần mềm thường bắt đầu ở mức cấu phần (kiểm thử đơn vị, kiểm thử chức năng) rồi đi lên tới sản phẩm phần mềm (kiểm thử tích hợp, kiểm thử rà lại, kiểm thử hệ thống, kiểm thử chấp nhận v.v). Trong dự án nhỏ, những người phát triển thường làm cả việc viết mã và kiểm thử. Trong dự án lớn hơn, nên có nhóm kiểm thử độc lập làm kiểm thử để tránh thiên lệch của người phát triển khi làm kiểm thử công việc riêng của họ. Điều này không có nghĩa là người phát triển không kiểm thử và người kiểm thử phải làm mọi kiểm thử. Về căn bản, cả người phát triển và người kiểm thử đều phải làm việc cùng nhau trong toàn dự án để đảm bảo rằng mọi kiểm thử được tiến hành đúng. Người phát triển phải kiểm thử mã riêng của họ để loại bỏ các lỗi, đảm bảo thực hiện đúng, và luồng thông tin cũng như kiểm tra dữ liệu để đảm bảo rằng tính toàn vẹn được bảo trì. (như kiểm thử mô đun, kiểm thử đơn vị) trước khi người kiểm thử bắt đầu các hoạt động kiểm thử của họ.

Người kiểm thử thường bắt đầu bằng “kiểm thử chức năng” để làm lộ ra các lỗi chức năng trong phần mềm rồi tiến hành “kiểm thử tích hợp” để đảm bảo mọi chức năng làm việc đúng và luồng thực hiện đang xảy ra như dự định. Người kiểm thử phải tiến hành “kiểm thử nội dung thông tin” để kiểm lỗi trong cấu trúc dữ liệu cục bộ hay toàn cục. Họ phải kiểm thử “tính toàn vẹn giao diện” để chắc cả giao diện trong và ngoài làm việc đúng, đặc biệt khi mô đun mới được thêm vào cho phần mềm. Khi thay đổi xảy ra, họ phải tiến hành “kiểm thử rà lại” để kiểm các lỗi có thể lan truyền từ mô đun nọ sang mô đun kia và đảm bảo toàn bộ sản phẩm phần mềm làm việc được.

Sau khi thẩm tra rằng sản phẩm phần mềm làm việc đúng, người kiểm thử có thể tiến hành “kiểm thử hệ thống” để chắc cả phần cứng và phần mềm đều làm việc như đã lập kế hoạch. Trong kiểm thử này, người kiểm thử sẽ cho chạy “kiểm thử an ninh” để thẩm tra bảo vệ hệ thống chạy đúng để ngăn cản việc thâm nhập không đúng hay thay đổi dữ liệu. Họ tiến hành “kiểm thử chịu căng thẳng” để kiểm tra xem nó giải quyết tốt đến đâu với nhưng yêu cầu tài nguyên bất thường (như, chất lượng, tần xuất, hay khối lượng) và “kiểm thử hiệu năng” để kiểm tra hiệu năng khi chạy của phần mềm, đặc biệt phần mềm thời gian thực. Họ có thể tiến hành “kiểm thử phục hồi” để kiểm tra khả năng của hệ thống phục hồi từ hỏng hóc.

Nếu mọi kiểm thử trong “kiểm thử hệ thống” đều qua được, người kiểm thử có thể làm việc cùng khách hàng để chuẩn bị cho “kiểm thử chấp nhận” nơi họ đảm bảo phần mềm làm việc đúng với người dùng được dự định trong môi trường làm việc của họ. Hai kiểm thử chính trong thời gian này: “kiểm thử Alpha” là thời kì kiểm thử mà sản phẩm phần mềm sẵn sàng được dùng trong “môi trường kiểm thử” của khách hàng nhưng có thể có một số lỗi nhỏ. Nó là cơ hội cuối cùng để được trắc nghiệm từ khách hàng rằng phần mềm làm việc như được dự định. “Kiểm thử Beta” là thời kì kiểm thử trong đó sản phẩm phần mềm là đầy đủ không có lỗi và dùng được trong môi trường “sản xuất”. Mục đích của kiểm thử Beta là kiểm thử khả năng của công ti hỗ trợ cho sản phẩm. Kiểm thử Beta phục vụ như bằng chứng rằng sản phẩm phần mềm là sẵn sàng cho việc gửi đi cho mọi khách hàng.

Tác phẩm, tác giả, nguồn

  • Tác phẩm: Quản lý dự án
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
  • Wiki hóa: https://kipkis.com

Có thể bạn muốn xem