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
Kiểm thửFM làyếu tốquyết địnhcủa SQA, làkhâu
điển hình của rà soát đặc tả, thiết kế, lập mã.
kiểm thửtheo Glen Myers: Là quá trình vận hành
chương trình đểtìm ra lỗi.
Cần vận hành nhưthếnào để:
hiệu suất tìm ra lỗi là cao nhất ?
chí phí (thời gian, công sức) ít nhất?
Câu hỏi: Lý do? Vai trò? Mục tiêu? Quan niệm? Lợi
ích khác? Loại-mức? Dòng thông tin? Tiến trình ?
ệ 43 Nguyễn Văn Vỵ thí dụ, xét điều kiện C = A ∩ B A và B là hai biến Bool. Khi đó ràng buộc đầu ra của C là một cặp giá trị của t và f. Chiến lược kiểm thử BRO đòi hỏi rằng tập ba cặp ràng buộc (t,t), (t,f) và (f,t) đều được phủ bởi các thực thi của C. ¾ Căp (t,t) ứng với C = t ¾ Căp (t,f) và (f,t) ứng với C = f h6. Chiến lược BRO – tạo ràng buộc1 2005 Bộ môn CNFM – Đại học Công nghệ 44 Nguyễn Văn Vỵ Xét điều kiện C = (B = E). Khi đó ràng buộc đầu ra là “ = “ tương ứng với t và “ ” tương ứng với f Xét điều kiện C là hội biến Bool và biểu thức quan hệ: A và B = E. Khi đó các ràng buộc của C là các cặp (t,t), (t,f) và (f,t); với (B = E) có giá trị t tương ứng với “=“, và giá trị f tương ứng với “”; Bởi vậy tập các ràng buộc đầu ra của C phải gồm 4 phần tử: (t,=), (t,) và (f,=). Phủ của các ràng buộc này bảo đảm phát hiện được sai biến Bool hoặc toán tử quan hệ trong C. h7. Chiến lược BRO – tạo ràng buộc2 2005 Bộ môn CNFM – Đại học Công nghệ 45 Nguyễn Văn Vỵ Xét điều kiện C là hội của hai biểu thức quan hệ (A>B) và (E=F) Tập ràng buộc đầu ra sẽ (t,t), (t,f) và (f,t) và tương ứng sẽ là: (>,=); (>,,>); (=,=) và (<,=). Phủ của ràng buộc này bảo đảm rằng phát hiện được sai ở các toán tử quan hệ trong C. h8. Chiến lược BRO – tạo ràng buộc 3 2005 Bộ môn CNFM – Đại học Công nghệ 46 Nguyễn Văn Vỵ Phương pháp kiểm thử dòng dữ liệu tuyển chọn các đường của chương trình tương ứng với việc định vị các xác định biến và sử dụng biến trong chương trình. Đã có một số chiến lược kiểm thử dòng dữ liệu và so sánh chúng. Giả sử rằng mỗi câu lệnh của chương trình được gán với số câu lệnh duy nhất và mỗi hàm không được cải biên các tham số của nó và các biến toàn cục. i. Kiểm thử điều khiển theo dòng dữ liệu 2005 Bộ môn CNFM – Đại học Công nghệ 47 Nguyễn Văn Vỵ Với mỗi câu lệnh S ta định nghĩa: DEF(S) = { X / câu lệnh S chứa định nghĩa X} USE(S) = { X / câu lệnh S chứa 1 sử dụng X} Nếu S là câu lệnh if hoặc câu lệnh vòng lặp thì DEF(S) là rỗng, còn USE(S) của nó được xác định tùy theo điều kiện trong S. i1. Định nghĩa các dòng dữ liệu 2005 Bộ môn CNFM – Đại học Công nghệ 48 Nguyễn Văn Vỵ Giả thiết: định nghĩa biến X ở câu lệnh S vẫn còn sống ở câu lệnh S’ nếu có một con đường từ S tới S’ mà trên đó không chứa một định nghĩa nào khác của X. Một dây truyền DU sử dụng X ký hiệu là DU = [X,S,S’] với X trong DEF(S) và trong USE(S’), và định nghĩa X trong S vẫn còn sống trong S’. Chiến lược kiểm thử dòng dữ liệu đòi hỏi rằng: mọi DU đều phải được phủ ít nhất một lần. i2. Chiến lược lần vết theo dòng dữ liệu 2005 Bộ môn CNFM – Đại học Công nghệ 49 Nguyễn Văn Vỵ kiểm thử DU không bảo đảm phủ tất cả các nhánh của chương trình; tuy nhiên 1 nhánh không được phủ bởi DU kiểm thử là rất hiếm. Với chiến lược theo dòng, phần lớn trạng thái chương trình được kiểm soát kiểm thử dòng dữ liệu là hữu ích với các đường của chương trình có chứa các câu lệnh if hoặc vòng lặp. i3. Đánh giá chiến lược theo dòng dữ liệu 2005 Bộ môn CNFM – Đại học Công nghệ 50 Nguyễn Văn Vỵ Có bốn loại vòng lặp: mỗi loại dùng một tập các phép thử khác nhau Vòng lặp đơn. k. Kiểm thử điều khiển theo vòng lặp 2005 Bộ môn CNFM – Đại học Công nghệ 51 Nguyễn Văn Vỵ k1. Kiểu vòng lặp lồng nhau Kết hợp mỗi vòng lặp ngoài với mọi vòng lặp trong 2005 Bộ môn CNFM – Đại học Công nghệ 52 Nguyễn Văn Vỵ Kết hợp mỗi vòng lặp trước với mọi vòng lặp sau k2. Kiểu vòng lặp nối tiếp 2005 Bộ môn CNFM – Đại học Công nghệ 53 Nguyễn Văn Vỵ Với mỗi loại vòng lặp, thường chỉ sử dụng ba giá trị lặp: hai giá trị biên và một giá trị giữa hai biên k3. Chọn giá trị cho mỗi loại vòng lặp Các giá trị lặp của một vòng lặp Các giá trị lặp nên chọn 2005 Bộ môn CNFM – Đại học Công nghệ 54 Nguyễn Văn Vỵ a Khái niệm Là kiểm thử yêu cầu chức năng Đối tương: mô đun, hệ con, toàn hệ thống Đặc trưng: Thuyết minh: các chức năng đủ & vận hành đúng Thực hiện: qua giao diện Cơ sở: đặc tả, điều kiện vào/ra và cấu trúc dữ liệu Ít chú ý tới cấu trúc logic nội tại của nó C. Kiểm thử hộp đen 2005 Bộ môn CNFM – Đại học Công nghệ 55 Nguyễn Văn Vỵ Phần mềm Kết quả ra Đặc tả hệ thống phần mềm 1.……… 2….…… ……… n ……… Giao diện Chức năng dữ liệu Dữ liệu đầu vào ? ? ? ? Khởi đầu –kết thúc Đầu ra liên quan a. Mô hình khái niệm kiểm thử hộp đen 2005 Bộ môn CNFM – Đại học Công nghệ 56 Nguyễn Văn Vỵ Tìm các loại sai liên quan: Chức năng: đủ, đúng đắn Giao diện: vào, ra: đủ, phù hợp, đúng, tiện lợi Cấu trúc, truy cập dữ liệu: thông suốt, đúng đắn Thực thi: trôi chảy, kịp thời, chịu lỗi, phục hồi Khởi đầu - kết thúc: mỗi tiến trình thông suốt b. Mục đích kiểm thử hộp đen 2005 Bộ môn CNFM – Đại học Công nghệ 57 Nguyễn Văn Vỵ Các câu hỏi tập trung trả lời : Hiệu lực của chức năng (chức năng, hiệu suất, giao diện) đạt được đến đâu? Lớp đầu vào nào cho các ca kiểm thử tốt? Sự nhạy cảm của môđun với giá trị vào nào? Các biên của lớp dữ liệu được cô lập chưa? Chiu lỗi với nhịp điệu/khối lượng dữ liệu như thế nào? Tổ hợp dữ liệu đặc biệt ảnh hưởng gì đến hoạt động hệ thống? Những tiến trình nào (khởi đầu, kết thúc) chưa thông suốt? c. Câu hỏi cho kiểm thử hộp đen 2005 Bộ môn CNFM – Đại học Công nghệ 58 Nguyễn Văn Vỵ Vấn đề: Các tiến trình của mỗi chức năng hệ thống đủ lớn Các dữ liệu dày đặc, đa dạng Không dự kiến tới mọi sự bất thường Tiêu chuẩn hướng đến: Thu gọn ca kiểm thử đến mức có thể (ít, đơn giản). Phát hiện sai trên lớp dữ liệu, số đặc biệt (không phải 1 sai cụ thể gắn với 1 kiểm thử cụ thể) d. Vấn đề và tiêu chuẩn lựa chọn 2005 Bộ môn CNFM – Đại học Công nghệ 59 Nguyễn Văn Vỵ 1. Phân hoạch tương đương 2. Phân tích giá trị biên 3. Đồ thị nhân quả Câu hỏi: đầu vào, điều kiên? Loại sai? Khó khăn? Kỹ thuật dùng: vấn đề giải quyết? Phương châm – nguyên tắc? Bước đi? Kết quả? ưu, nhược? e. Các kỹ thuật kiểm thử hộp đen 2005 Bộ môn CNFM – Đại học Công nghệ 60 Nguyễn Văn Vỵ Là một kỹ thuật của kiểm thử hộp đen Nguyên tắc: chia miền vào của chương trình thành các lớp dữ liệu để lập ra các ca kiểm thử theo mỗi lớp đó. Cơ sở: dữ liệu trong 1 lớp tương đương tác động như nhau lên chương trình, tạo ra cùng một tráng thái: đúng hay sai của chương trình Mục tiêu: tìm ra 1 ca kiểm thử để bộc lộ 1 lớp sai, Î rút gọn số ca kiểm thử cần phát triển. Ca kiểm thử được thiết kế cho từng lớp tương đương f. Phân hoạch tương đương 2005 Bộ môn CNFM – Đại học Công nghệ 61 Nguyễn Văn Vỵ Phương châm xác định các lớp tương đương: 1. Điều kiện vào là phạm vi rộng giới hạn một miền hay những giá trị đặc biệt thì cần xác định: • 1 lớp tương đương hợp lệ • 2 lớp tương đương không hợp lệ. 2. Điều kiện vào đặc tả một thành phần của một tập hoặc điều kiện Bool thì cần xác định: • 1 lớp tương đương hợp lệ • 1 lớp tương đương không hợp lệ. f1. Chọn lớp tương đương 2005 Bộ môn CNFM – Đại học Công nghệ 62 Nguyễn Văn Vỵ Các sai có xu hướng xuất hiện ở biên của vùng dữ liệu (hơn là ở “trung tâm”). Các sai có thể cả trong và ngoài biên ¾ kiểm thử không chỉ chú ý đến các dữ liệu biên mà còn chú ý đến các dữ liệu sát biên (trong, ngoài). Các ca kiểm thử được xác định nhằm thực hiện các giá trị biên và sát biên f2. Phân tích giá trị biên 2005 Bộ môn CNFM – Đại học Công nghệ 63 Nguyễn Văn Vỵ Phương châm (phân tích giá trị biên): 3. Nếu điều kiện vào là một miền giới hạn bởi a và b thì cần thiết kế các ca kiểm thử cho cả a và b, và cả trên,dưới a và b. 4. Nếu điều kiện vào đặc tả một số giá trị thì thiết kế các ca kiểm thử cho cả các số trên và dưới số nhỏ nhất & lớn nhất. f3. Chọn lớp tương đương giá trị biên 2005 Bộ môn CNFM – Đại học Công nghệ 64 Nguyễn Văn Vỵ Áp dụng phương châm 1 và 2 cho cả điều kiện ra. Áp dụng điều kiện giá trị biên cho cả chương trình trung gian có các biên của cấu trúc dữ liệu được mô tả f3. Áp dụng cho giá trị biên ra 2005 Bộ môn CNFM – Đại học Công nghệ 65 Nguyễn Văn Vỵ f4. Mô hình phân hoạch & phân tích giá trị biên ..... x xx x xx xx x xx x ..... Chọn Lớp tương đương Miền rộng Nhiều giá trị Miền giới hạn Một số giá trị Chọn Ca kiểm thử x x x … x x x x b a min maxx x 2005 Bộ môn CNFM – Đại học Công nghệ 66 Nguyễn Văn Vỵ Là một kỹ thuật để thiết kế ca kiểm thử Cung cấp một biểu diễn chính xác giữa các điều kiện logic (đầu vào) và các hành động tương ứng (đầu ra- kêt quả). Được xây dựng dựa trên các mô đun chức năng, lôgíc tiến trình và đặc tả hệ thống Kỹ thuật gồm 4 bước g. Kỹ thuật đồ thị nhân quả 2005 Bộ môn CNFM – Đại học Công nghệ 67 Nguyễn Văn Vỵ g1. Các bước tiến hành Lập DS nguyên nhân-kết quả theo môđun Phát triển đồ thị nhân-quả Chuyển đồ thi Æ bảng quyết định Xây dựng các ca kiểm thử theo luật của bảng Đặc tả hệ thống phần mềm Các mô đun chức năng 2005 Bộ môn CNFM – Đại học Công nghệ 68 Nguyễn Văn Vỵ g2. Ví dụ kỹ thuật đồ thị nhân quả Modul Nguyên nhân Kết quả Định danh A Số > a đúng A1 Số ≥ a nghi ngờ A2 Số = a nghi ngờ A3 Số < a sai A4 B Số nguyên đúng B1 Danh sách nhân quả theo modul 2005 Bộ môn CNFM – Đại học Công nghệ 69 Nguyễn Văn Vỵ g2. Ví dụ kỹ thuật đồ thị nhân quả Có nhiều công cụ để xây dựng đồ thị nhân quả. Đồ thị có hướng thường hay được dùng hơn cả Môđun A Môđun B Môđun A1 Môđun A2 Môđun A3 Môđun A4 Môđun B 2005 Bộ môn CNFM – Đại học Công nghệ 70 Nguyễn Văn Vỵ g3. Bảng quyết định của đồ thị nhân quả Định danh Điều kiện đúng nghi ngờ Sai A1 Số > a X B1 Số nguyên X A2,A3 Số ≥ a X A4 Số < a X … … .. .. .. 2005 Bộ môn CNFM – Đại học Công nghệ 71 Nguyễn Văn Vỵ g4. Chọn ca kiểm thử Chọn 2 ca kiểm thử Môđun A1 Môđun B Ca 1: A1 & B số >a đúng Môđun A2 Môđun A3 Môđun A4 Môđun B Ca 2: A2,A3,A4 & B số ≤a ? 2005 Bộ môn CNFM – Đại học Công nghệ 72 Nguyễn Văn Vỵ C©u hái và thảo luận
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.pdf