Kiểm thử và đảm bảo chất lượng phần mềm cung cấp một cái nhìn toàn diện về kiểm thử và đảm bảo chất lượng phần mềm. Dưới đây là tóm tắt các nội dung chính:
- Mở đầu: Nhấn mạnh tầm quan trọng của kiểm thử và đảm bảo chất lượng phần mềm trong bối cảnh phát triển công nghệ thông tin. Tài liệu chỉ ra rằng lỗi luôn tiềm ẩn và có thể gây thiệt hại lớn, đồng thời nêu rõ sự cần thiết của kiểm thử chặt chẽ và khoa học.
- Chương 1: Các Khái niệm:
- Định nghĩa: Giải thích “kiểm thử” là quá trình thực thi chương trình để tìm lỗi.
- Các thuật ngữ: Phân biệt “Lỗi (Error)”, “Sai sót (Fault)”, “Hỏng hóc (Failure)” và “Hậu quả (Incident)”. Định nghĩa “Trường hợp thử (Test case)”, “Thẩm tra (Verification)” và “Xác nhận (Validation)”.
- Nguyên nhân xuất hiện lỗi: Thường do đặc tả không đầy đủ, thiết kế vội vàng, và lỗi trong quá trình viết mã.
- Chi phí sửa lỗi: Chi phí sửa lỗi tăng gấp 10 lần theo thời gian nếu lỗi được phát hiện muộn hơn trong quy trình phát triển.
- Tổng quan về kiểm thử phần mềm: Mục tiêu là tìm ra càng nhiều lỗi càng tốt trong điều kiện thời gian và nguồn lực cho phép, đồng thời giảm thiểu rủi ro và tạo niềm tin về chất lượng.
- Công việc của người kiểm thử: Kiểm tra hoạt động của chương trình theo yêu cầu, tìm lỗi, chuyển cho lập trình viên sửa chữa, dự đoán nguyên nhân lỗi, và viết tài liệu báo cáo lỗi.
- Tố chất của kiểm thử viên tốt: Tỉ mỉ, nhạy bén, nghiêm khắc, mềm dẻo, cầu toàn, phán đoán tốt, cư xử khôn khéo và kiên trì.
- Quy trình phần mềm: Giới thiệu khái niệm quy trình phần mềm, các hoạt động cơ bản (đặc tả, thiết kế, thực thi, thẩm định, phát triển) và các mô hình quy trình phổ biến (thác nước, tiến hóa, dựa trên thành phần).
- Mô hình thác nước: Mô tả các giai đoạn chính: định nghĩa và phân tích nhu cầu, thiết kế phần mềm, thực hiện và kiểm thử từng đơn vị, tích hợp và kiểm thử hệ thống, hoạt động và bảo dưỡng.
- Thiết kế phần mềm và đưa vào sử dụng: Phác thảo quá trình thiết kế phần mềm và các hoạt động cụ thể (kiến trúc, trừu tượng, giao diện, thành phần, cấu trúc dữ liệu, thuật toán).
- Sự phát triển phần mềm: Nhấn mạnh sự thay đổi liên tục của phần mềm và tầm quan trọng của việc xem xét phát triển và duy trì như một chuỗi liên tục.
- Quy trình phát triển hợp nhất (RUP): Giới thiệu RUP như một mô hình quy trình lai ghép, kết hợp các yếu tố từ nhiều mô hình khác nhau, với các khía cạnh động, tĩnh và thực tế.
- Nguyên tắc cơ bản của kiểm thử phần mềm: Kiểm thử phải tuân theo yêu cầu khách hàng, được lập kế hoạch trước, bắt đầu từ nhỏ và mở rộng dần, không thể kiểm thử mọi khía cạnh, và cần có sự tham gia của bên thứ 3.
- Vòng đời của việc kiểm thử: Mô tả các công đoạn phát triển và cách khắc phục lỗi.
- Phân loại kiểm thử: Chia thành hai mức: theo mức độ chi tiết của bộ phận (đơn vị, hệ thống, tích hợp) và dựa trên phương pháp thử nghiệm (hộp đen, hộp trắng).
- Sự tương quan giữa các giai đoạn phát triển và kiểm thử: Mô hình chữ V giải thích mối quan hệ giữa các công đoạn xây dựng phần mềm và các giai đoạn kiểm thử tương ứng.
- Sơ lược các kỹ thuật và công đoạn kiểm thử: Phân loại kiểm thử tầm hẹp (hộp trắng, hộp đen) và kiểm thử tầm rộng (module, tích hợp, hệ thống, chấp nhận).
- Chương 2: Kiểm chứng và Xác nhận:
- Kiểm chứng và xác nhận (V&V): Giải thích “Kiểm chứng: Chúng ta có làm ra sản phẩm đúng không?” và “Xác nhận: Chúng ta có làm ra đúng sản phẩm không?”. Nhấn mạnh V&V bao quát nhiều hoạt động đảm bảo chất lượng phần mềm.
- Tổ chức việc kiểm thử phần mềm: Đề cập đến mâu thuẫn lợi ích khi người phát triển tự kiểm thử và vai trò của nhóm kiểm thử độc lập (ITG).
- Chiến lược kiểm thử phần mềm: Mô tả các bước kiểm thử theo vòng xoắn ốc: kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hợp lệ và kiểm thử hệ thống.
- Tiêu chuẩn hoàn thành kiểm thử: Không có câu trả lời xác định, nhưng có thể dựa trên các mô hình thống kê về độ tin cậy phần mềm.
- Phát triển phần mềm phòng sạch (Cleanroom software development): Một quy trình phát triển phần mềm nhằm tránh lỗi ngay từ đầu bằng các phương pháp chính thống.
- Nghệ thuật của việc gỡ lỗi: Mô tả gỡ lỗi là quá trình loại bỏ lỗi sau khi kiểm thử thành công, nhấn mạnh tính nghệ thuật và phức tạp của nó.
- Tiến trình gỡ lỗi: Giải thích các khó khăn khi gỡ lỗi (triệu chứng và nguyên nhân xa nhau, triệu chứng biến mất, lỗi con người, vấn đề thời gian, v.v.).
- Xem xét tâm lý: Đề cập đến khía cạnh tâm lý trong việc gỡ lỗi.
- Cách tiếp cận gỡ lỗi: Giới thiệu ba cách tiếp cận: bó buộc mạnh bạo, lật ngược và loại bỏ nguyên nhân.
Công nghệ thông tin Sách giáo trình
Kiểm thử và đảm bảo chất lượng phần mềm- Tác giả: Thạc Bình Cường
- Ngôn ngữ: Tiếng Việt
