Kiểm thử và đảm bảo chất lượng phần mềm

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
c¸c thÇy c« gi¸o vÒ dù héi gi¶ng côm
Advertisements

GV: BÙI VĂN TUYẾN.
TRÌNH BỆNH ÁN KHOA NGOẠI TỔNG HỢP.
TỔNG QUAN MÔN HỌC KINH TẾ LƯỢNG
Cơ cấu thương mại hàng hóa việt nam – nhật bản giai đoạn
Học phần: LẬP TRÌNH CƠ BẢN
BÀI GIẨNG NGUYÊN LÝ THỐNG KÊ
Chương 5. Hàng đợi (Queue) PGS. TS. Hà Quang Thụy.
Nguyễn Văn Vũ An Bộ môn Tài chính – Ngân hàng (TVU)
ĐẠI SỐ BOOLEAN VÀ MẠCH LOGIC
LASER DIODE CẤU TRÚC CẢI TIẾN DỰA VÀO HỐC CỘNG HƯỞNG
1 BÁO CÁO THỰC TẬP CO-OP 3,4 PHÒNG TRỊ BỆNH TRÊN CHÓ MÈO Sinh viên: Nguyễn Quang Trực Lớp: DA15TYB.
Trường Đại Học Điện Lực Khoa Đại Cương Hóa Đại Cương.
II Cường độ dòng điện trong chân không
BÀI TIỂU LUẬN KẾT THÚC MÔN LÍ LUẬN DẠY HỌC HIỆN ĐẠI
CHƯƠNG 2 HỒI QUY ĐƠN BIẾN.
Sự nóng lên và lạnh đi của không khí Biến thiên nhiệt độ không khí
TIÊT 3 BÀI 4 CÔNG NGHỆ 9 THỰC HÀNH SỬ DỤNG ĐỒNG HỒ VẠN NĂNG.
Bài giảng tin ứng dụng Gv: Trần Trung Hiếu
ĐỘ PHẨM CHẤT BUỒNG CỘNG HƯỞNG
MA TRẬN VÀ HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH
ĐỒ ÁN: TUABIN HƠI GVHD : LÊ MINH NHỰT NHÓM : 5
TÁC ĐỘNG CỦA THU HỒI ĐẤT KHU VỰC NÔNG THÔN ĐẾN THU NHẬP VÀ CHI TIÊU CỦA CÁC HỘ GIA ĐÌNH TẠI THÀNH PHỐ CẦN THƠ NCS Lê Thanh Sơn.
BÀI 5: PHÂN TÍCH PHƯƠNG SAI (ANOVA)
NGHIÊN CỨU HÌNH THÁI , CẤU TRÚC GAN , ĐƯỜNG KÍNH VÀ PHỔ DOPPLER TĨNH MẠCH CỬA QUA SIÊU ÂM Ở BỆNH NHÂN XƠ GAN (ĐỀ CƯƠNG CKII NỘI TIÊU HÓA)
Chương 6 TỰ TƯƠNG QUAN.
Chương 2 HỒI QUY 2 BIẾN.
Tối tiểu hoá hàm bool.
CHƯƠNG 7 Thiết kế các bộ lọc số
TRƯỜNG ĐẠI HỌC TÂY NGUYÊN KHOA: KHTN&CN BỘ MÔN: CÔNG NGHỆ MÔI TRƯỜNG
Bài tập Xử lý số liệu.
HIỆN TƯỢNG TỰ TƯƠNG QUAN (Autocorrelation)
CHƯƠNG 2 DỰ BÁO NHU CẦU SẢN PHẨM
ĐẠI HỌC HÀNG HẢI VIỆT NAM
Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY
CHƯƠNG 1: KHÁI QUÁT VỀ HỆ THỐNG VIỄN THÔNG
GV giảng dạy: Huỳnh Thái Hoàng Nhóm 4: Bùi Trung Hiếu
(Cải tiến tính chất nhiệt điện bằng cách thêm Sb vào ZnO)
LỌC NHIỄU TÍN HIỆU ĐIỆN TIM THỜI GIAN THỰC BẰNG VI ĐiỀU KHIỂN dsPIC
NỘI DUNG Chương 1: Giới thiệu môn học
cho Ngân hàng Nhà nước Việt Nam
PHÁT XẠ NHIỆT ĐIỆN TỬ PHẠM THANH TÂM.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐỊNH GIÁ CỔ PHẦN.
CHƯƠNG 11. HỒI QUY ĐƠN BIẾN - TƯƠNG QUAN
Bộ khuyếch đại Raman.
SỰ PHÁT TẦN SỐ HIỆU HIỆU SUẤT CAO TRONG TINH THỂ BBO
Kinh tế vĩ mô của nền kinh tế mở: Những khái niệm cơ bản
BIẾN GIẢ TRONG PHÂN TÍCH HỒI QUY
Võ Ngọc Điều Đại học Bách Khoa TP Hồ Chí Minh Lê Đức Thiện Vương
Corynebacterium diphtheriae
CHUYÊN ĐỀ 5: KỸ THUẬT TỔ CHỨC HOẠT ĐỘNG HỌC CỦA HỌC SINH
QUẢN TRỊ HÀNG TỒN KHO VÀ TIỀN MẶT
PHAY MẶT PHẲNG SONG SONG VÀ VUÔNG GÓC
GV: ThS. TRƯƠNG QUANG TRƯỜNG TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM
CHƯƠNG II: LÝ THUYẾT HIỆN ĐẠI VỀ THƯƠNG MẠI QUỐC TẾ.
KIỂM TRA BÀI CŨ CÂU 1: * Nêu định nghĩa đường thẳng vuông góc với mặt phẳng? * Nêu cách chứng minh đường thẳng d vuông góc với mp(α)? d  CÂU 2: * Định.
NHIỆT LIỆT CHÀO MỪNG QUÝ THẦY CÔ VỀ DỰ GIỜ LỚP 7A Tiết 21 - HÌNH HỌC
Tiết 20: §1.SỰ XÁC ĐỊNH ĐƯỜNG TRÒN. TÍNH CHẤT ĐỐI XỨNG CỦA ĐƯỜNG TRÒN
Chương I: BÀI TOÁN QHTT Bài 5. Phương pháp đơn hình cho bài toán QHTT chính tắc có sẵn ma trận đơn vị xét bt: Với I nằm trong A, b không âm.
XLSL VÀ QHTN TRONG HÓA (30)
Líp 10 a2 m«n to¸n.
ĐÀI TIẾNG NÓI VIỆT NAM TRƯỜNG CAO ĐẲNG PTTH 1.
PHƯƠNG PHÁP CHỌN MẪU TRONG NGHIÊN CỨU MARKETING
Chuyển hóa Hemoglobin BS. Chi Mai.
CƠ HỌC LÝ THUYẾT 1 TRƯỜNG ĐẠI HỌC KĨ THUẬT CÔNG NGHIỆP THÁI NGUYÊN
Quản trị kinh doanh nông nghiệp
KHUẾCH ĐẠI VÀ DAO ĐỘNG THÔNG SỐ QUANG HỌC
LỢI NHUẬN VÀ RỦI RO.
CƠ CHẾ PHẢN ỨNG 1. Gốc tự do, carbocation, carbanion, carben, arin
Μεταγράφημα παρουσίασης:

Kiểm thử và đảm bảo chất lượng phần mềm Kiểm thử giá trị biên

Nội dung Kiểm thử hàm Kiểm thử giá trị biên Kiểm thử lớp tương đương Kiểm thử bảng quyết định ...

Tổng quan Các chương trình có thể coi là một hàm (toán học) Các đầu vào chương trình là miền xác định của hàm Các đầu ra là miền giá trị của hàm Phân tích giá trị biên (boundary value analysis - BVA) là kỹ thuật kiểm thử hàm phổ biến nhất Mục tiêu của kiểm thử hàm là sử dung kiến thức về hàm để xác định các ca kiểm thử Trước kia chủ yếu tập trung vào miền xác định, nhưng nay đã dựa trên cả miền giá trị của hàm để xác định ca kiểm thử Một phương thức hay một chương trình có thể được xem như một hàm trong toán học. Phân tích giá trị biên là kỹ thuật kiểm thử chức năng phổ biến nhất. Mục đích là sử dụng hiểu biết về bản chất của hàm để xác định các ca kiểm thử, tập trung vào cả miền đầu vào và miền đầu ra.

Phân tích giá trị biên (BVA) Phân tích giá trị biên tập trung vào biên của miền xác định để xây dựng ca kiểm thử Lý do là lỗi thường xảy ra ở gần các giá trị biên này Chương trình viết bằng ngôn ngữ không có kiểm tra kiểu mạnh càng cần kiểm thử giá trị biên Javascript, php, Visual Basic Lý do của việc thực hiện phân tích giá trị biên là lỗi thường xảy ra ở các giá trị biên này. Các ngôn ngữ không kiểm tra kiểu khi dịch càng cần kiểm thử với các giá trị biên này.

Đầu vào hợp lệ của chương trình P Từ đây chúng ta giả sử có chương trình P nhận hai biến đầu vào là y1 và y2 thỏa mãn a ≤ y1 ≤ b and c ≤ y2 ≤ d P(y1, y2) where a <= y1 <= b, c <= y2 <= d Chương trình nhận n đầu vào sẽ có không gian đầu vào n chiều

Miền xác định

Chọn giá trị Phân tích giá trị biên sẽ chọn các giá trị: Ví dụ: Giá trị nhỏ nhất Ngay trên giá trị nhỏ nhất Một giá trị bình thường Ngay dưới giá trị lớn nhất Giá trị lớn nhất Ví dụ: a <= y1 <=b thì sẽ chọn a, a+1, a+b/2, b-1, b. Chọn giá trị biên là chọn giá trị nằm trên biên dưới, giá trị lớn hơn biên 1 đơn vị, một giá trị bình thường, một giá trị nằm trên biên trên và một giá trị ngay dưới biên trên.

Giả thiết khiếm khuyết đơn Phân tích giá trị biên dựa trên nguyên lý giả định khuyếm khuyết đơn: “Hỏng hóc xảy ra hiếm khi do hai (hoặc hơn) khiếm khuyết cùng xảy ra” Do đó các ca kiểm thử theo phương pháp này được tạo bằng việc lấy các giá trị bình thường của các chiều/biên rồi lần thay mỗi chiều bằng các giá trị cực trị như trên. Giả thuyết khiếm khuyết đơn: Giả thuyết là một có một khiếm khuyết thì gây ra hỏng hóc (failure) ngay, không cần đến nhiều khiếm khuyết faults mới gây ra hỏng hóc. Với giả thuyết này, chỉ cần đưa một biến ở các giá trị biên và vận biên, các biến khác để ở giá trị bình thường là đã phát hiện ra lỗi.

Các ca kiểm thử theo phân tích giá trị biên . . .. . .. . . T = { <y1nom, y2min>, <y1nom, y2min+>, <y1nom, y2nom>, <y1nom, y2max->, <y1nom, y2max+>, <y1min, y2nom>, < 1nin+, y2nom>, <y1max-, y2nom>, <y1max, y2nom> }

Các ca kiểm thử cho Triangle Case # a b c Expected Output 1 100 Isosceles 2 3 Equilateral 4 199 5 200 Not a Triangle 6 7 8 9 10 11 12 13 14 15

Tổng quát hóa BVA Có hai cách tổng quát hóa : Theo số biến, sẽ có (4n +1) ca kiểm thử cho n biến Theo loại khoảng của biến Phụ thuộc ngôn ngữ lập trình Tính rời rạc của biến Tính rời rạc không bị chặn (không có cận trên và cận dưới rõ ràng) Biến logic Với hàm có n biến, như vậy sẽ có 4n + 1 ca kiểm thử. Tuy nhiên cần xét đến loại khoảng biến, có phụ thuộc ngôn ngữ lập trình không, biên có rời rạc không, có cận trên và dưới không, hay biến có là biến logic?

Hạn chế của BVA BVA hiệu quả với các chương trình có các đầu vào độc lập nhau và biểu diễn đại lượng vật lý bị chặn BVA lấy các ca kiểm thử mà không tính đến chức năng của hàm, hay ý nghĩa của các biến Hạn chế của BVA: Tốt khi các biến đầu vào độc lập, và biểu diễn các đại lượng vật lý. BVA chọn dữ liệu kiểm thử không quan tâm đến bản chất hàm, và không quan tâm đến ngữ nghĩa của biến.

Kiểm thử biên mạnh Kiểm thử biên mạnh (robustness testing) là một mở rộng đơn giản của BVA Ngoài năm giá trị biên bổ sung thêm hai giá trị ngoài biên: Giá trị ngay trên giá trị cực đại (max+) và Giá trị ngay dưới giá trị cực tiểu (min-). Mục đích chính là xem chương trình có kiểm tra giá trị hợp lệ của đầu vào không. Kiểm thử BVA mạnh: Bổ sung thêm hai biên ngoài miền xác định, sát biên dưới và sát biên trên. Mục đích là xem chương trình có kiểm tra khoảng hợp lệ của biến đầu vào không, hay có bắt ngoại lệ cho các giá trị ngoài khoảng này không.

Các ca kiểm thử biên mạnh cho P . . . ... . … . . .

Kiểm thử trường hợp xấu nhất Điều gì xảy ra khi nhiều hơn một biến nhận các giá trị (gần) cực trị? Khi các biến có tương tác với nhau thì cần kiểm tra các bộ giá trị kết hợp các cực trị này Có thể kết hợp với kiểm thử mạnh để có bộ kiểm thử trường hợp xấu nhất mạnh Kiểm thử trường hợp xấu nhất: cho nhiều biến ở các giá trị cực đại/tiểu. Tốt trong trường hợp các biến đầu vào có tương tác với nhau. Tương tự có thể có kiểm thử trường hợp xấu nhất mạnh – nhiều biến ở ngay ngoài khoảng xác định.

Các ca kiểm thử trường hợp xấu nhất cho P .. . .. .. . .. .. . .. .. . .. .. . ..

Các ca kiểm thử trường hợp xấu nhất mạnh cho P ... . … ... . … ... . … ... . … ... . … ... . … ... . …

Kiểm thử giá trị đặc biệt Kiểm thử giá trị đặc biệt là phương pháp được thực hiện nhiều nhất trên thực tế, nó cũng trực quan nhất, và không có dạng cố định nhất Sử dụng kỹ nghệ và kiến thức miền ứng dụng để phán đoán và đưa ra ca kiểm thử Mặc dù mang tính chủ quan cao, đây vẫn là phương pháp hiệu quả để phát hiện khiếm khuyết của chương trình

Hướng dẫn áp dụng BVA Trừ kiểm thử giá trị đặc biệt, kiểm thử giá trị biên là phương pháp thô sơ nhất Cân nhắc các tình huống để chọn phương pháp phù hợp: Các biến có độc lập hay phụ thuộc nhau không Có cần các giá trị mạnh hay giá trị thường Single fault versus multiple fault assumption Có thể áp dụng BVA cho miền giá trị (đầu ra), hay các biến khác trong chương trình như biến đếm vòng lặp, biến trung gian, chỉ số mảng, con trỏ,.. Hướng dẫn áp dụng BVA Trừ các giá trị đặc biệt, kiểm thử dựa trên các giá trị biên là cơ bản nhất. Để tạo được các ca kiểm thử thỏa đáng với BVA cần xác định: các biến có phụ thuộc nhau không, có cần các giá trị mạnh không, và lỗi thường do một khiếm khuyết hay nhiều? BVA có thể áp dụng cả với giá trị đầu ra, và các biến cục bộ, như biên vòng lặp, chỉ số mảng, con trỏ.

Bài toán chia hoa hồng Một người bán hàng chuyên bán khóa, báng và nòng súng trường cho một cửa hàng. Giá của Khóa = 45, báng = 30, và nòng = 25 đô Mỗi người bán hàng phải bán ít nhất một bộ đầy đủ mỗi tháng (100 đô) Người bán giỏi nhất bán được 70 khóa, 80 báng, 90 nòng một tháng Stock = κοντάκι όπλου, Barrel = κάνη όπλου, Lock = όχι σκανδάλη

Bài toán chia hoa hồng Hàng tháng mỗi người bán sẽ gửi báo cáo về cho cửa hàng với tổng số hàng bán được cho mỗi thị trấn anh ta đến Số thành phố đến được mỗi tháng là từ 1 đến 10. Người bán nhận được: 10% nếu số tiền bán được <= 1000 đô, 15% trên 800 đô tiếp theo, và 20% của số tiền vượt quá 1800.

Các ca kiểm thử theo khoảng đầu ra Nòng 90 72 40 Khóa 22.2 70 60 33.3 60 Báng 80

Các ca kiểm thử miền giá trị Case # Locks Stocks Barrels Sales Comm. Comments 1 100 10 min 2 9 975 97.5 border- 3 970 97 4 955 95.5 5 1000 border 6 11 1025 103.75 border+ 7 1030 104.5 8 1045 106.75 Các ca kiểm thử xoay quanh biên đầu ra (Comm.)

Các ca kiểm thử giá trị đặc biệt TT Khóa Báng Nòng Số bán Hoa hồng Ghi chú 1 10 11 9 1005 100.75 border+ 2 18 17 19 1795 219.25 3 1805 221 Các ca kiểm thử đặc biệt, lân cận của các biên đầu ra.

Bài tập Áp dụng lý thuyết vào các chương trình cho các bài toán minh họa đã xây dựng Viết unit test (ví dụ Junit)