Chiến thuật kiểm tra phần mềm

28 337 0
Chiến thuật kiểm tra phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trường Đại Học Bách Khoa Tp. Hồ Chí Minh Khoa Công Nghệ Thông Tin Chương 10 CHIẾN THUẬT KIỂM NGHIỆM PHẦN MỀM ✦ ✦✦ ✦ Verification & Validation ✦ ✦✦ ✦ Unit test & Integration test ✦ ✦✦ ✦ Kiểm nghiệm hướng đối tượng ✦ ✦✦ ✦ Nghệ thuật gỡ rối -Trang256- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm NỘI DUNG 10.1. Một số khái niệm 10.1.1. Verification và validation 10.1.2. Một chiến thuật kiểm nghiệm phổ biến 10.2. Kiểm nghiệm từng module 10.3. Kiểm nghiệm tích hợp 10.3.1. Tích hợp từ trên xuống (top-down) 10.3.2. Tích hợp từ dưới lên (bottom-up) 10.3.3. Kiểm nghiệm hồi quy (regression) 10.4. Kiểm nghiệm tính năng (validation) -Trang257- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm NỘI DUNG (t.t) 10.5. Kiểm nghiệm hướng đối tượng 10.5.1. Kiểm nghiệm đơn vò hướng đối tượng 10.5.2. Kiểm nghiệm tích hợp hướng đối tượng 10.5.3. Kiểm nghiệm theo kòch bản 10.6. Nghệ thuật gỡ rối (debug) 10.6.1. Brute force 10.6.2. Loại trừ nguyên nhân 10.6.3. Theo vết -Trang258- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm MỘT SỐ KHÁI NIỆM  Chiến thuật kiểm tra phần mềm tích hợp các phương pháp tạo ra test-case trở thành một chuỗi các bước có thứ tự để có thể kiểm nghiệm phần mềm thành công.  Bao gồm các công việc  Lập kế hoạch kiểm nghiệm  Sinh test-case  Thực hiện kiểm nghiệm, thu thập kết qủa và đánh giá -Trang259- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm VERIFICATION và VALIDATION Verification: các hành động để đảm bảo cho phần mềm được hiện thực đúng theo một chức năng cụ thể nào đó    “Are we building the product right ?” Validation: các hành động để đảm bảo cho phần mềm được xây dựng theo đúng yêu cầu của khách hàng    “Are we building the right product ?” -Trang260- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm MỘT CHIẾN THUẬT KIỂM NGHIỆM PHỔ BIẾN -Trang261- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm Phân tích toàn bộ hệ thống Kiểm nghiệm toàn bộ hệ thống Phân tích yêu cầu Thiết kế Mã hoá Kiểm nghiệm đơn vò Kiểm nghiệm tích hợp Kiểm nghiệm tính năng MỘT CHIẾN THUẬT KIỂM NGHIỆM PHỔ BIẾN (t.t) -Trang262- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm  Bắt đầu tại từng module rồi tích hợp lớn dần đến toàn bộ hệ thống.  Các kỹ thuật khác nhau thích hợp tại các giai đoạn khác nhau.  Kiểm nghiệm có thể được tiến hành bởi người phát triển phần mềm, nhưng đối với các dự án lớn thì việc kiểm nghiệm phải được tiến hành bởi một nhóm độc lập.  Kiểm nghiệm và sửa lỗi là các hoạt động độc lập nhưng việc sửa lỗi phải phù hợp với các chiến thuật kiểm nghiệm. KIỂM NGHIỆM TỪNG MODULE  Tiến hành kiểm nghiệm trên từng đơn vò nhỏ nhất của phần mềm, đó là module mã nguồn, sau khi đã thiết kế, mã hoá và biên dòch thành công  Thường dùng kỹ thuật kiểm nghiệm white-box  Có thể tiến hành kiểm nghiệm cùng lúc nhiều module. -Trang263- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm -Trang264- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM TỪNG MODULE (t.t) Module ………. ~~~~~~ ~~~~~~ ~~~~~~ interface local data structures boundary conditions independent paths error handling paths test- cases driver stub stub  Mỗi module mã nguồn không phải là một chương trình hoàn chỉnh và đôi khi phải gọi các module chưa được kiểm nghiệm khác    có thể phải thiết lập driver và/hoặc stub: phí tổn khá lớn (70%)  Driver là một chương trình chính có nhiệm vụ nhận dữ liệu kiểm nghiệm, chuyển dữ liệu đó xuống cho module để kiểm tra và in ra các kết quả kiểm tra tương ứng.  Stub thay thế các module được gọi bởi module đang kiểm tra. -Trang265- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM TỪNG MODULE (t.t) [...]... văn bản đặc tả yêu cầu của phần mềm Áp dụng kỹ thuật black-box Kiểm nghiệm tính năng bao gồm Xem xét lại cấu hình phần mềm Kiểm nghiệm alpha Kiểm nghiệm beta - Trang 272 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM TÍNH NĂNG (t.t) Kiểm nghiệm alpha Được tiến hành ngay tại nơi sản xuất phần mềm Nhà phát triển phần mềm sẽ quan sát người sử... chữa Kiểm nghiệm beta Phần mềm được kiểm tra bên ngoài phạm vi của đơn vụ sản xuất Khách hành trực tiếp sử dụng và ghi nhận lỗi để báo lại cho nhà phát triển sửa chữa - Trang 273 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM HƯỚNG ĐỐI TƯNG Về cơ bản chiến thuật kiểm nghiệm hướng đối tượng cũng theo thứ tự giống như kiểm nghiệm cổ điển: kiểm. .. hành kiểm nghiệm theo đơn vò Kiểm nghiệm hồi quy có thể được tiến hành thủ công bằng cách thực hiện lại các test-case đã tạo ra Hoặc có thể dùng một công cụ capture-playback để thực hiện tự động - Trang 271 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM TÍNH NĂNG Kiểm nghiệm tính năng hiểu theo cách đơn giản nhất là: các chức năng của phần mềm. .. hành kiểm nghiệm khi có sự thay thế mới Tiến hành kiểm nghiệm hồi quy để phát hiện các lỗi khác trong từng module - Trang 267 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm TÍCH HP TỪ TRÊN XUỐNG (t.t) M1 M2 M5 M8 M3 M6 M4 M7 Tích hợp kiểu từ trên xuống theo hình thức depth-first - Trang 268 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến. .. cấp của chương trình - Trang 269 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm TÍCH HP TỪ DƯỚI LÊN (t.t) Mo Ma D2 D3 cluster 3 cluster 1 D1 Mb cluster 2 - Trang 270 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM HỒI QUY Việc kết hợp các module lại với nhau có thể ảnh hưởng đến vòng lặp điều khiển,... điển: kiểm nghiệm đơn vò - kiểm nghiệm tích hợp - kiểm nghiệm chức năng -kiểm nghiệm toàn bộ hệ thống - Trang 274 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM ĐƠN VỊ HƯỚNG ĐT Không thể tách rời từng tác vụ của đối tượng/lớp để kiểm nghiệm Tác vụ được đóng bao trong lớp Các lớp con có thể override một tác vụ nào đó Kiểm nghiệm đơn vò hướng... đối tượng tập trung vào các lớp kiểm nghiệm hành vi của lớp - Trang 275 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM TÍCH HP HƯỚNG ĐT Khái niệm sơ đồ phân cấp không còn nhiều ý nghóa trong chương trình hướng đối tượng kiểm nghiệm tích hợp theo cách khác Hai hình thức kiểm nghiệm tích hợp hướng đối tượng Kiểm nghiệm trên cơ sở thread: tích... Chương trình phải báo lỗi và liệt kê 2 nhóm bò trùng thời khoá biểu - Trang 277 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm NGHỆ THUẬT GỢ RỐI Gỡ rối là một quá trình nhằm loại bỏ các lỗi được phát hiện trong quá trình kiểm tra Gỡ rối được thực hiện như là một kết quả của việc kiểm tra: lỗi phát hiện được tìm kiếm nguyên nhân sửa lỗi Có 3 hình thức gỡ... tìm thấy dòng gây ra lỗi - Trang 282 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KẾT THÚC MÔN HỌC Thi cuốii kỳ ? Thi cuố kỳ ? Phânntích Thiếttkế á-Phâ tích Thiế ke Hiệnnthực/triểnnkhai -Hiệ thực/triể khai Kiểm nghiệm -UML Kiểm nghiệm -UML Tấttcả nộiidung Tấ cả nộ dung Chúc mừng bạn đã hoàn tất môn học Công Nghệ Phần Mềm ! - Trang 283 Khoa Công Nghệ... này - Trang 278 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm NGHỆ THUẬT GỢ RỐI (t.t) Gỡ rối là công việc khó khăn và dễ gây tâm lý chán nản bởi nguyên nhân gây ra lỗi nhiều khi lại mơ hồ: do time-out, do độ chính xác, do chủ quan lập trình Khả năng gỡ rối gần như là bẩm sinh của mỗi người - Trang 279 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm . Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm MỘT SỐ KHÁI NIỆM  Chiến thuật kiểm tra phần mềm tích hợp các phương pháp. Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm MỘT CHIẾN THUẬT KIỂM NGHIỆM PHỔ BIẾN -Trang261- Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm

Ngày đăng: 30/09/2013, 10:20

Hình ảnh liên quan

M8 Tích hợp kiểu từ trên xuống theo hình thức depth-first - Chiến thuật kiểm tra phần mềm

8.

Tích hợp kiểu từ trên xuống theo hình thức depth-first Xem tại trang 13 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan