Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.1 Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Lý thuyết Kiểm Tra Phần Mềm Bài 01: GV: Email: Bộ môn: Giới thiệu Kiểm tra Phần mềm Nguyễn Ngọc Tú nntu@hoasen.edu.vn Kỹ thuật Phần mềm Nội dung Tại phải kiểm tra ? Các hệ thống phần mềm Nguyên nhân khiếm khuyết phần mềm Vai trò việc kiểm tra trình phát triển phần mềm Quan hệ Kiểm tra chất lượng phần mềm Kiểm tra đến mức đủ ? Kiểm tra phần mềm ? Các nguyên lý tổng quát việc kiểm tra phần mềm Quy trình kiểm tra Lập kế hoạch điều khiển Phân tích thiết kế Hiện thực việc thực thi Đánh giá tiêu chuẩn lập báo cáo Kiểm tra hoạt động cuối Triết lý việc kiểm tra phần mềm NNTu Software Testing S2008 Tại phải kiểm tra ? Xét ví dụ đơn giản Xác định dạng tam giác từ độ dài ba cạnh: a,b,c c a b NNTu Software Testing S2008 Tại phải kiểm tra ? Xét ví dụ đơn giản Xác định ngày Nhập vào số mô tả ngày/tháng/năm Đánh giá liệu đầu vào xác định ? 02 NNTu 11 79 ? Software Testing S2008 ? ? Tại phải kiểm tra ? Xét ví dụ đơn giản NNTu Bài toán tính huê hồng bán hàng Hệ thống ATM Chuyển đổi tiền tệ Điều khiển lau kính xe … Software Testing S2008 Các hệ thống phần mềm Gia tăng tiện nghi sống Ngân hàng – ATM Sản phẩm tiêu dùng – xe, thiết bị di động … Qua Thực tế Không kỳ vọng Hoạt động không – gây nhiều vấn đề NNTu Tiền bạc Thời gian Tổn hại người Software Testing S2008 Các hệ thống phần mềm “Lỗi phần mềm chuyện hiển nhiên sống Chúng ta dù cố gắng đến mức thực tế lập trình viên xuất sắc không lúc viết đoạn mã lỗi Tính trung bình, lập trình viên loại tốt có từ đến lỗi 100 dòng lệnh Người ta ước lượng việc kiểm tra để tìm lỗi chiếm phân nửa khối lượng công việc phải làm để có phần mềm hoạt động được” (Software Testing Techniques, Second Edition, by Boris Beizer, Van Nostrand Reinhold, 1990, ISBN 1850328803) NNTu Software Testing S2008 Nguyên nhân khiếm khuyết Con người tạo lỗi (error – mistake) Hệ xuất khiếm khuyết (sai lầm / sai sót - fault , rối bug) mã, hệ thống, phần mềm, tài liệu đưa dư thừa – đưa vài thứ không xác vào mô tả yêu cầu phần mềm, … bỏ sót, thiếu số phần đáng phải có mô tả yêu cầu phần mềm, … Khi mã thực thi, hệ thống thực công việc sai xót Æ thực không mong đợi (failure – hỏng hóc) Hệ không mong đợi (Incident) Khiếm khuyết gây tượng không mong đợi tất khiếm khuyết NNTu Software Testing S2008 Nguyên nhân khiếm khuyết Hành vi người Biến đổi logic chương trình Æ Fault Hành vi chương trình Æ Error Æ Failure Hệ chuỗi trình không mong đợi NNTu Æ Incident Software Testing S2008 Nguyên nhân khiếm khuyết Khiếm khuyết xảy NNTu Áp lực thời gian Mã phức tạp Hạ tầng phức tạp Thay đổi công nghệ Tương tác nhiều hệ thống Software Testing S2008 10 Quy trình kiểm tra Lập kế hoạch Test Bắtđầu đầu Bắt Test Plan PT Thiết kế Test Case Chuẩn bị Dữ liệu/Kịch Test Case Test Data/S Knowledge Test Reports Các hoạt động cuối NNTu Test Results Thực thi ứng dụng với Bộ Dữ Liệu So sánh kết kiểm thử với Test Case Kếtthúc thúc Kết Software Testing S2008 36 Lập kế hoạch điều khiển Hoạt động Xác nhận nhiệm vụ kiểm tra Định nghĩa mục tiêu Đặc tả hoạt động kiểm tra đáp ứng mục tiêu nhiệm vụ Điều khiển kiểm tra Liên tục đối chiếu tiến trình thực với kế hoạch Lập báo cáo tình trạng NNTu Cả việc lệch hướng Nắm giữ hoạt động cần thiết để đáp ứng nhiệm vụ/mục tiêu dự án Cần theo dõi thông qua thực dự án Software Testing S2008 37 Phân tích thiết kế Các mục tiêu kiểm tra chuyển đổi thành Các điều kiện kiểm tra rõ ràng Kịch Các nhiệm vụ Xem xét sở cho việc kiểm tra NNTu yêu cầu, kiến trúc, thiết kế, giao tiếp, … Đánh giá khả kiểm tra sở, mục tiêu Xác định lập ưu tiên điều kiện kiểm tra Thiết kế lập ưu tiên kịch Xác định tập liệu cần thiết hỗ trợ điều kiện kiểm tra kịch Thiết kế việc thiết lập môi trường; hạ tầng; công cụ Software Testing S2008 38 Hiện thực việc thực thi Các thủ tục đoạn mã script kiểm tra đặc tả từ việc kết hợp kịch kiểm tra theo thứ tự cụ thể Bao gồm thông tin khác cần cho kiểm tra NNTu Môi trường thiết lập Kiểm tra thực Software Testing S2008 39 Hiện thực việc thực thi Các nhiệm vụ NNTu Phát triển, thực, lập thứ tự ưu tiên kịch Phát triển lập ưu tiên thủ tục kiểm tra, tạo tập liệu; chuẩn bị kiểm tra viết mã kiểm tra tự động Tạo kiểm thử từ thủ tục kiểm tra để thực hiệu Xác nhận môi trường thiết lập Thực thi kiểm tra tay / công cụ Ghi nhận tác động thực kiểm tra; ghi nhận định danh phiên Software Testing S2008 40 Hiện thực việc thực thi Đối sánh kết thực kỳ vọng Lập báo cáo phần thiếu quán, phân tích xác định nguyên nhân Lặp lại hoạt động kiểm tra hệ tất yếu với phần thiếu quán … NNTu Xác nhận lỗi sửa Đã sửa lỗi không phát sinh khiếm khuyết Software Testing S2008 41 Đánh giá - Lập báo cáo Thực thực kiểm tra ước lượng thấy tương phản với mục tiêu đề Cần thực qua mức kiểm thử Các nhiệm vụ Kiểm tra phần ghi nhận tương phản với tiêu chuẩn đề kế hoạch Ước định NNTu cần nhiều kiểm tra Tiêu chuẩn cần thay đổi Viết báo cáo tổng kết kiểm thử Software Testing S2008 42 Hoạt động kết thúc kiểm tra Tập hợp liệu từ hoạt động kiểm tra thành công để củng cố Kinh nghiệm Testware Sự kiện Trị số Công việc NNTu Kiểm tra công việc phân theo kế hoạch Testware hoàn tất , cất giữ; môi trường kiểm tra, hạ tầng, … sử dụng lại sau Bàn giao testware đến tổ chức bảo trì Phân tích học học Software Testing S2008 43 Triết lý việc kiểm tra PM Cách suy nghĩ kiểm thử-rà soát khác so với phát triển phần mềm Người phát triển có suy nghĩ Æ tự kiểm tra mã viết Việc tách riêng cho Tester đặc thù giúp hỗ trợ tập trung cung cấp lợi ích gia tăng Ở mức độ độc đó, thường hiệu tìm kiếm khiếm khuyết hoạt động không mong đợi NNTu Software Testing S2008 44 Triết lý việc kiểm tra PM Các mức độc lập NNTu Thiết kế kiểm thử người viết mã Thiết kế kiểm thử người khác Thiết kế kiểm thử người từ tổ chức khác Thiết kế kiểm thử nhóm người từ tổ chức khác Software Testing S2008 45 Triết lý việc kiểm tra PM Hướng theo mục tiêu Gióng theo kế hoạch Mục tiêu lập người quản lý Ký kết Xác định lỗi thông qua kiểm thử NNTu Hoạt động phê bình tương phản tác giả, tác phẩm Software Testing S2008 46 Triết lý việc kiểm tra PM Xảy lỗi , khiếm khuyết, hoạt động không mong đợi Truyền thông theo cách tích cực – xây dựng Cần kỹ giao tiếp, quan hệ tốt NNTu Bắt đầu với cộng tác đối đầu Truyền thông kết lỗi theo ý trung lập, tập trung kiện, không trích Cố gắng hiểu người khác cảm nhận họ phản ứng lại Xác nhận lại hiểu chưa hiểu Software Testing S2008 47 Bài tập - đọc hiểu NNTu Software Testing S2008 48 Đọc thêm [1] Chapter 01 [1] Chapter 02 [2] Chapter 17 [4] Chapter 01 [5] Chapter 01 [3] Chapter 01 NNTu Software Testing S2008 49 Q/A NNTu Software Testing S2008 50 ... Software Testing S2008 48 Đọc thêm [1] Chapter 01 [1] Chapter 02 [2] Chapter 17 [4] Chapter 01 [5] Chapter 01 [3] Chapter 01 NNTu Software Testing S2008 49 Q/A NNTu Software Testing... c a b NNTu Software Testing S2008 Tại phải kiểm tra ? Xét ví dụ đơn giản Xác định ngày Nhập vào số mô tả ngày/tháng/năm Đánh giá liệu đầu vào xác định ? 02 NNTu 11 79 ? Software Testing