Các nguyên lý ki m thể ử 1 Các nguyên lý 2 Vòng đời 4 Kiểm thử chức năng 3 Kỹ thuật kiểm thử 5 Kiểm thử cấu trúc 6 Quản lý chất lượng KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Chương 1 1 Nội dung Tại sa[.]
KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Chương Các nguyên lý kiểm thử Các nguyên lý Vòng đời Kỹ thuật kiểm thử Kiểm thử chức Kiểm thử cấu trúc Quản lý chất lượng Các nguyên lý Kiểm thử phần mềm Nội dung Tại cần kiểm thử Quá trình kiểm thử Tâm lý học kiểm thử Kiểm thử hồi quy kiểm thử lại Các kết mong đợi Mức độ ưu tiên cho kiểm thử Các thuật ngữ cơ bản Kiểm thử (IEEE): Kiểm thử tiến trình vận hành hệ thống thành phần điều kiện xác định, quan sát ghi nhận kết đưa đánh giá hệ thống thành phần Một “bug” là gì? Error (lỗi): hành động người tạo kết khơng Fault (sai sót): biểu lỗi (error) phần mềm Nó cũng được biết đến như là một khiếm khuyết (deffect) hay một bug Nếu được thực thi một sai sót (fault) có thể gây ra một thất bại Failure (thất bại): lệch lạc phần mềm so với kết dịch vụ mong đợi Failure Failurelà làmột sựkiện, kiện, fault faultlà làmột trạng trạngthái tháigây gâyra rabởi bởimột mộterror error Error Fault Failure Một người tạo error … tạo fault phần mềm …nó gây failure vận hành phần mềm Độ tin cậy và sai sót Độ tin cậy: xác xuất để phần mềm chạy khơng có thất bại khoảng thời gian định điều kiện định Một hệ thống có thể khơng có sai sót (khơng có sai sót, đúng ngay từ lần đầu tien) Một hệ thống phần mềm có thể đáng tin cậy nhưng vẫn có lỗi khơng? Một ứng dụng phần mềm khơng sai sót “fault free” có phải ln ln tin cậy khơng? Tại sao xẩy ra sai sót trong phần mềm? Phần mềm viết người Con người biết một số thứ chứ không biết mọi thứ Con người có các kỹ năng nhưng khơng phải là hồn hảo Con người tạo ra sai lầm (lỗi) Phát triển phần mềm sức ép giới hạn nghiệm ngặt Khơng có thời gian để kiểm tra những giả định có thể sai Các hệ thống có thể khơng hồn chỉnh Nếu bạn viết phần mềm bạn sẽ… Chi phí lỗi phần mềm là bao nhiêu? Các khoản tiền lớn Ariane 5 ($7billion) Mariner space probe to Venus ($250m) American Airlines ($50m) Rất nhỏ khơng có Một sự bất tiện nhỏ Tác động bất lợi khơng thấy được hoặc vơ hình Phần mềm khơng tuyến tính Đầu vào nhỏ có thể có tác động rất lớn Các hệ thống an tồn – quan trọng Lỗi phần mềm gây tử vong chấn thương Điều trị bằng bức xạ gây chết bệnh nhân(Therac 25) Tai nạn máy bay (Airbus & Korean Airlines) Thư nháp thấu chi ngân hàng gây ra các vụ tự tử Tại sao kiểm thử là cần thiết? Bởi vì phần mềm có khả năng bị sai sót Để học về độ tin cậy của phần mềm Để lập đầy khoảng thời gian chuyển giao giữa phân phối phần mềm và ngày phát hành Để chứng minh phần mềm khơng có sai sót Bởi vì kiểm thử nằm trong kế hoạch dự án Bởi vì thất bại có thể rất đắt đỏ Để tránh bị khách hang kiện Để tồn tại trong kinh doanh 10 Tại sao khơng kiểm thử mọi thứ? Avr menus options / menu Hệ thống có 20 hình Average: 10 fields / screen types input / field (date as Jan or 3/1) (number as integer or decimal) Around 100 possible values Total for 'exhaustive' testing: 20 x x x 10 x x 100 = 480,000 tests If second per test, 8000 mins, 133 hrs, 17.7 days (not counting finger trouble, faults or retest) 10 secs = 34 wks, = yrs, 10 = 40 yrs 11 Kiểm thử tồn diện? Kiểm thử tồn diện Khi tất cả các tester kiệt sức Khi tất cả các kiểm thử được lên kế hoạch được thực hiện Thực hiện tất cả các kết hợp giữa đầu vào và tiền điều kiện Bỏ thời gian để kiểm thử tồn diện? Thời gian vơ hạn Khơng mất nhiều thời gian lắmnot much time 12 Một khoảng thời gian khơng thực tế Kiểm thử bao nhiêu thì là đủ? Khơng bao giờ là đủ Khi bạn thực hiện xong cái mà bạn đã lên kế hoạch Khi khách hang/ người dung cảm thấy vui vẻ Khi bạn chứng minh được là hệ thống làm việc đúng đắn Khi bạn tự tin là hệ thống của bạn làm việc đúng đắn Nó phụ thuộc vào rủi ro cho hệ thống của bạn 13 Vậy thì kiểm thử bao nhiêu? Nó phụ thuộc vào rủi ro Rủi ro của các sai sót quan trọng cịn thiếu Rủi ro của chi phí thất bại phát sinh Rủi ro của phần mềm chưa được kiểm tra hoặc đang kiểm tra Rủi ro của việc chia sẻ thị trường và mất uy tín Rủi ro của việc thiếu cánh cửa thị trường Rủi ro của các kiểm thử khơng hiệu quả rủi ro này cịn lớn hơn cả chưa kiểm thử 14 Vì ít thời gian nên phải kiểm tra nhiều Thời gian kiểm tra ln ln bị giới hạn Sử dụng rủi ro để định Kiểm thử cái gì trước Kiểm thử cái gì nhiều nhất Làm thế nào để kiểm tra kỹ từng hạng mục Cái gì khơng kiểm tra (tại thời điểm này) Sử dụng rủi ro để Phân bổ thời gian sẵn có cho việc kiểm thử bằng cách phân quyền ưu tiên kiểm thử 15 Kiểm thử và chất lượng Kiểm thử thước đo chất lượng phần mềm Kiểm thử tìm lỗi; chúng bị loại chất lượng phần mềm cải thiện Kiểm thử kiểm tra Chức năng hệ thống, tính chính xác của các hoạt động Chất lương phi chức năng: độ tin cậy, tính sử dụng, khả năng bảo trì, tái sử dụng, khả năng kiểm thử được 16 Các nhân tố khác tác động đến kiểm thử Các u cầu hợp đồng Yêu cầu pháp lý Các yêu cầu đặc trù cơng nghiệp Thật Thật là khó khó khan khanđể đểquyết định định kiểm kiểm thử thử bao nhiêu làđủ đủ nhưngnó nókhơng khơngcó cónghĩa nghĩalà không thể 17 Các nguyên lý Kiểm thử phần mềm Nội dung Tại cần kiểm thử Quá trình kiểm thử Tâm lý học kiểm thử Kiểm thử hồi quy kiểm thử lại Các kết mong đợi Mức độ ưu tiên cho kiểm thử 18 Kế hoạch kiểm thử các mức độ khác Chính sách kiểm thử Mức độ cơng ty Chiến lược kiểm thử Kế hoạch kiểm thử High Level mức cao Mức độ dự án (IEEE 829) Test Plan Kế hoạch Detailed Kiểm thử Detailed chiDetailed tiết Test Plan Test TestPlan Plan Mức độ giai đoạn kiểm thử(IEEE 829) (vd giai đoạn kiểm thử hệ thống, 19 thành phần) Tiến trình kiểm thử Lên kế hoạch (mức độ chi tiết) Đặc tả Thực thi Ghi chép Kiểm tra sự hồn thành 20 ... lý Kiểm thử phần mềm Nội dung Tại cần kiểm thử Quá trình kiểm thử Tâm lý học kiểm thử Kiểm thử hồi quy kiểm thử lại Các kết mong đợi Mức độ ưu tiên cho kiểm thử Các thuật ngữ cơ bản Kiểm thử. .. Cái gì khơng? ?kiểm? ?tra (tại thời điểm này) Sử dụng rủi ro để Phân bổ thời gian sẵn có cho việc? ?kiểm? ?thử? ?bằng cách phân quyền ưu tiên? ?kiểm? ?thử? ? 15 Kiểm? ?thử? ?và? ?chất? ?lượng Kiểm thử thước đo chất lượng phần. .. định kiểm kiểm thử thử bao nhiêu làđủ đủ nhưngnó nókhơng khơngcó cónghĩa nghĩalà không thể 17 Các nguyên lý Kiểm thử phần mềm Nội dung Tại cần kiểm thử Quá trình kiểm thử Tâm lý học kiểm thử Kiểm