Bài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Phần 2: Kiểm thử phần mềm - Chiến lược kiểm thử phần mềm
Chiến lược kiểm thửlà sựtích hợp các kỹthuật
thiết kếca kiểm thửtạo thành một dãy các bước
nhằm hướng dẫn quá trình kiểm thửphần mềm
thành công.
Nó phác thảo lộtrình để:
nhà phát triểntổchức việc bảo đảm chất lượng,
khách hàng: hiểu được công sức, thời gian và
nguồn lực cần cho kiểm thử.
n Vþ Người kiểm thử cần định rõ các môđun tới hạn, là các môđun có các đặc tính sau: Chú trọng đến 1 vài yêu cầu phần mềm. Có mức điều khiển cao (trong cấu trúc chương trình). Phức tạp hoặc dễ có sai (có thể dùng Độ phức tạp vòng lặp, chẳng hạn). Có các yêu cầu thực hiện được xác định rõ. Các môđun tới hạn cần được kiểm thử càng sớm càng tốt n5. Bình luận phương pháp tích hợp 2005 Bộ môn CNFM – Đại học Công nghệ 43 NguyÔn V¨n Vþ Một kế hoạch kiểm thử tổng thể và một mô tả các kiểm thử đặc biệt phải được đưa vào “đặc tả kiểm thử ”. Đặc tả này phải được phân phối trong tiến trình kỹ nghệ phần mềm và trở thành 1 bộ phận cấu hình phần mềm. Nội dung tài liệu: b6. Tài liệu kiểm thử tích hợp 2005 Bộ môn CNFM – Đại học Công nghệ 44 NguyÔn V¨n Vþ Phạm vi kiểm thử Kế hoạch kiểm thử Các pha kiểm thử và các cụm Lịch trình Phần mềm chung (overhead) Môi trường và nguồn lực Thủ tục kiểm thử cụm n Thứ tự tích hợp Mục đích Các môđun được kiểm thử Các môđun đơn vị cho các môđun trong cụm b6.1. Nội dung tài liệu kiểm thử tích hợp 2005 Bộ môn CNFM – Đại học Công nghệ 45 NguyÔn V¨n Vþ Mô tả kiểm thử cho cụm m Mô tả phần mềm chung (overhead) Các kết quả mong đợi Các kỹ thuật và các công cụ đặc biệt Mô tả phần mềm chung Dữ liệu cho ca kiểm thử Các kết quả chờ đợi cho cụm n Các kết quả kiểm thử thực Các tham khảo Phụ lục b6.1. Tài liệu kiểm thử tích hợp 2005 Bộ môn CNFM – Đại học Công nghệ 46 NguyÔn V¨n Vþ Phạm vi kiểm thử : tổng quát các tính chất về chức năng đặc biệt, về sự thực hiện, về thiết kế nội tại cần kiểm thử; công sức kiểm thử được giới hạn lại; tiêu chuẩn đầy đủ cho từng pha kiểm thử được mô tả và ràng buộc về lịch trình được lập tài liệu. Kế hoạch kiểm thử : mô tả chiến lược tích hợp tổng thể; kiểm thử được chia thành các pha và các cụm nhắm đến các tính chất ứng xử và các chức năng đặc biệt. b6.2. Nội dung phạm vi, kế hoạch kiểm thử 2005 Bộ môn CNFM – Đại học Công nghệ 47 NguyÔn V¨n Vþ Tích hợp giao diện: các giao diện trong và ngoài được kiểm thử mỗi khi một môđun (hoặc cụm) được tích hợp vào trong cấu trúc. Thẩm định chức năng: tiến hành kiểm thử chức năng đã thiết kế nhằm bộc lộ các sai chức năng Nội dung thông tin: tiến hành kiểm thử dữ liệu đã thiết kế nhằm bộc lộ các sai gắn với các cấu trúc dữ liệu cục bộ và toàn cục Thực thi: tiến hành kiểm thử đã thiết kế nhằm kiểm nghiệm thực thi các hạn chế đã được thiết lập trong quá trình thiết kế phần mềm b6.3 Tiêu chuẩn kiểm thử tích hợp 2005 Bộ môn CNFM – Đại học Công nghệ 48 NguyÔn V¨n Vþ kiểm thử so sánh (comparision testing) còn được gọi là kiểm thử dựa vào nhau (back-to- back testing): Khi triển khai nhiều bản phần mềm từ cùng 1 đặc tả. Kiểm thử hộp đen cho các sản phẩm này được thực hiện với cùng ca kiểm thử & cùng các dữ liệu vào. So sánh các kết quả thu được: nếu có khác biệt nghĩa là có sai trong một sản phẩm nào đó! c. Kiểm thử so sánh 2005 Bộ môn CNFM – Đại học Công nghệ 49 NguyÔn V¨n Vþ Khái niệm: hệ thời gian thực là hệ thống đáp ứng đúng, chính xác các sự kiện của môi trường Mô hình chung d. Kiểm thử hệ thời gian thực - Kịp thời - Chính xác điều phối đáp ứng Bộ công tác sự kiện Phản hồi điều khiển dữ liệu vào xử lý dữ liệu - Tiếp nhận kịp thời - Chuyển dạng DL - Sắp thứ tự truyền - Xử lý nhanh - Phối hợp các bộ công tác - Đáp ứng kịp thời Cảm biến 2005 Bộ môn CNFM – Đại học Công nghệ 50 NguyÔn V¨n Vþ Rất khó khăn & kết quả chưa nhiều . Chiến lược kiểm thử 4 bước: 1. kiểm thử tác vụ: kiểm thử từng tác vụ một cách độc lập với nhau (kt:hộp trắng và hộp đen).Nó cho phép: • phát hiện sai về logic & chức năng. • chưa phát hiện sai về thời gian & ứng xử. 2. Kiểm thử ứng xử: a. Sử dụng công cụ CASE tạo mô hình hệ thống để mô phỏng ứng xử, xem ứng xử của nó như hậu quả của sự kiện từ ngoài. Dùng kết quả hoạt động phân tích này để thiết kế các ca kiểm thử (tương tự kỹ thuật đồ thị nhân quả). d1. Chiến lược kiểm thử hệ thời gian thực 2005 Bộ môn CNFM – Đại học Công nghệ 51 NguyÔn V¨n Vþ 2. Kiểm thử ứng xử: b. Phân lớp sự kiện (tương tự phân hoạch tương đương). Kiểm thử từng lớp sự kiện và nhận ứng xử của hệ thi hành để phát hiện các sai do xử lý đáp ứng các sự kiện đó. c. Kiểm thử mọi lớp sự kiện. Các sự kiện được đưa vào trong hệ thống theo thứ tự ngẫu nhiên và với tần xuất ngẫu nhiên nhằm phát hiện các sai ứng xử. d1.Chiến lược kiểm thử hệ thời gian thực(t) 2005 Bộ môn CNFM – Đại học Công nghệ 52 NguyÔn V¨n Vþ 3. kiểm thử liên tác: tìm các sai liên quan đến đáp ứng thời gian do không đồng bộ: a. Các tác vụ không đồng bộ khi liên tác với các tác vụ khác. Vì thế cần kiểm thử với nhịp điệu dữ liệu và mức tải với các xử lý khác nhau. b. Các tác vụ không đồng bộ do giao tiếp phụ thuộc hàng đợi thông điệp hoặc truy nhập kho dữ liệu cũng được thử để bộc lộ các sai về cỡ dữ liệu. d1.Chiến lược kiểm thử hệ thời gian thực(t) 2005 Bộ môn CNFM – Đại học Công nghệ 53 NguyÔn V¨n Vþ 4. kiểm thử hệ thống: sau khi tích hợp phần cứng & phần mềm cần tiến hành kiểm thử hệ thống để tìm ra các sai: giao diện (giữa phần cứng và phần mềm) môi trường (tác động từ môi trường: các sự kiện). Các ngắt (các loại ngắt và các xử lý xẩy ra như hậu quả của ngắt) d1.Chiến lược kiểm thử hệ thời gian thực(t) 2005 Bộ môn CNFM – Đại học Công nghệ 54 NguyÔn V¨n Vþ d2.Mô hình đặc trưng kiểm thử 4 bước Phần mềm Các lớp sự kiện được phân hoạch 1 3 5 4 2 tần suấtThứ tự Thử tác vụ, ứng xử ra Sự kiện module1 Module2 Thử liên tác nhịp? tải? time? CSDL cấu trúc? raHàng đợi Truy nhập 2005 Bộ môn CNFM – Đại học Công nghệ 55 NguyÔn V¨n Vþ Kiểm thử phần mềm chiếm đến 40% công sức của 1 dự án phát triển.Tự động hóa là nhu cầu Công cụ kiểm thử tự động mã trình: Bộ phân tích tĩnh: phân tích cấu trúc và định dạng chương trình Bộ kiểm toán mã: xem phần mềm có phù hợp với các chuẩn mã tối thiểu chưa? Bộ xử lý khai báo: xem những khai báo ứng xử của chương trình có thật sự phù hợp với sự thực hiện chương trình thực hay không? e. Công cụ kiểm thử tự động 2005 Bộ môn CNFM – Đại học Công nghệ 56 NguyÔn V¨n Vþ Bộ sinh tệp kiểm thử : cho ra các giá trị tiền xác định, các tệp vào điển hình cho chương trình chịu kiểm thử . Bộ sinh dữ liệu thử: giúp lựa chọn dữ liệu để làm chương trình ứng xử theo theo một cách đặc biệt? Bộ xác minh kết quả : đưa ra báo cáo giá trị trung bình kết quả cho chuyên gia bảo đảm chất lượng phần mềm e1. Công cụ kiểm thử tự động dữ liệu 2005 Bộ môn CNFM – Đại học Công nghệ 57 NguyÔn V¨n Vþ Các trợ giúp cho quá trình kiểm thử: • Cài đặt một chương trình dự định trong một môi trường kiểm thử • Nuôi chương trình đó bằng dữ liệu vào • Mô phỏng ứng xử của các môđun phụ Bộ so sánh đầu ra: so sánh một tập dữ liệu ra với một tập khác để xác định sự khác biệt e2. Công cụ kiểm thử tự động cài đặt 2005 Bộ môn CNFM – Đại học Công nghệ 58 NguyÔn V¨n Vþ Hệ tiến hành ký hiệu: dùng đặc tả đại số. Mô phỏng môi trường: là một hệ thống dựa vào máy tính chuyên biệt có thể kiểm thử các môi trường ngoại lai của phần mềm thời gian thực và mô phỏng các điều kiện vận hành đông thực sự. Bộ phân tích dòng dữ liệu: Phân tích quy mô và tần suất dòng dữ liệu e3. Công cụ kiểm thử tự động khác 2005 Bộ môn CNFM – Đại học Công nghệ 59 NguyÔn V¨n Vþ Câu hỏi đặt ra: Khi nào thì kiểm thử xong? Làm thế nào để biết rằng kiểm thử đã đủ? Về nguyên tắc: Không bao giờ kiểm thử được tất cả! Vận hành chương trình là đang kiểm thử. Î Kiểm thử tiếp tục khi chương trình còn hoạt động Kỹ sư phần mềm cần các tiêu chuẩn nghiêm ngặt để xác định sự cần thiết phải kiểm thử . f. Tiêu chuẩn đầy đủ của kiểm thử 2005 Bộ môn CNFM – Đại học Công nghệ 60 NguyÔn V¨n Vþ Musa & Ackerman: “Chúng ta không bao giờ có thể chắc chắn rằng một phần mềm nào đó là không có sai; song lại có thể kết luận rằng: chúng ta đã thực hiện đầy đủ các kiểm thử để tuyên bố rằng: “xác suất để CPU vận hành 1000 giờ vô lỗi trong 1 môi trường xác định (đã xác định một cách ngẫu nhiên) là không nhỏ hơn 0.995” với Độ tin tưởng là 95% f1. Khái niệm về kiểm thử đủ 2005 Bộ môn CNFM – Đại học Công nghệ 61 NguyÔn V¨n Vþ Mô hình thất bại phần mềm: Sử dụng mô hình ngẫu nhiên, lý thuyết độ tin cậy phần mềm, người ta đã đưa ra các mô hình thất bại phần mềm (được phát hiện trong quá trình kiểm thử ) là hàm của thời gian vận hành. f2. Mô hình đo độ thất bại 2005 Bộ môn CNFM – Đại học Công nghệ 62 NguyÔn V¨n Vþ Một mô hình là “mô hình thời gian vận hành Poatxông logarit”: f(t) = (1/p).ln(l0pt + 1) Ở đây: f(t) là số các thất bại tích luỹ sẽ xuất hiện khi 1 phần mềm được kiểm thử với thời gian vận hành là t l0 là mật độ thất bại theo thời gian (từ đầu kiểm thử). p là độ rút gọn thay đổi của mật độ thất bại do sai được phát hiện và đã sửa chữa. f3. Mô hình Poatxông lôgarit 2005 Bộ môn CNFM – Đại học Công nghệ 63 NguyÔn V¨n Vþ Mật độ thất bại tức thời có thể tính như sau: l(t) = l0 /(l0 pt + 1) Ở đây: l(t) là mật độ thất bại tức thời sẽ xuất hiện khi phần mềm được kiểm thử với thời gian vận hành là t l0 là mật độ thất bại theo thời gian (từ đầu k.thử). p là độ rút gọn thay đổi của mật Độ thất bại do sai được phát hiện và đã sửa chữa. Số tích lũy thất bại f(t) và Mật độ thất bại tức thời l(t) càng nhỏ thì độ tin cậy càng cao f3. Mô hình Poatxông lôgarit 2005 Bộ môn CNFM – Đại học Công nghệ 64 NguyÔn V¨n Vþ Thu thập các Độ đo trong quá trình kiểm thử phần mềm và dùng các mô hình Độ tin cậy của nó, chúng ta thu được các độ đo, từ đó có thể phát triển một cách suy luận có nghĩa trong việc trả lời câu hỏi: Đã kiểm thử xong chưa? Mặc dù còn phải bàn, nhưng những thực nghiệm đã có đến nay là tốt hơn nhiều so với phong cách ngây thơ thô thiển trước kia! f4. Đo mức độ đầy đủ của kiểm thử
File đính kèm:
- Bài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Phần 2 Kiểm thử phần mềm - Chiến lược kiểm thử phần mềm.pdf