1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài giảng Phát triển hệ thống thông tin kinh tế: Chương 8 - Hồ Quốc Dũng

30 79 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 679,67 KB

Nội dung

Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 8: Kiểm thử hệ thống cung cấp cho người học các khái niệm kiểm thử, các nguyên tắc kiểm thử, cấp độ kiểm thử, các chiến lược kiểm thử phần mềm. Mời các bạn cùng tham khảo.

PHÁT TRIỂN HỆ THỐNG THÔNG TIN KINH TẾ Phần • Triển khai vận hành hệ thống Chương 8: Kiểm thử hệ thống Chương 9: Cài đặt hệ thống Chương 10: Bảo trì hệ thống Chương 8: Kiểm thử hệ thống Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Định nghĩa mục tiêu kiểm thử Các loại lỗi kiểm thử Những tài liệu cần thiết Tiến trình kiểm thử  IEEE: Kiểm thử phần mềm trình khảo sát thành phần hay hệ thống điều kiện xác định nhằm quan sát đánh giá khía cạnh định thành phần hay hệ thống  The Art of Software Testing–Nghệ thuật kiểm thử phần mềm: Kiểm thử phần mềm trình thực thi chương trình với mục đích tìm lỗi  Kiểm thử sản phẩm phần mềm trình xây dựng cách có chủ đích tập liệu dãy thao tác nhằm đánh giá số toàn tiêu chuẩn phần mềm để đảm bảo phần mềm thỏa mãn yêu cầu chúng yêu cầu thỏa mãn yêu cầu khách hàng  Kiểm thử có mức khác tiến hành cá nhân khác q trình phát triển ứng dụng Có kiểm thử tiến hành đội ngũ dự án có kiểm thử tiến hành quan bên để chấp nhận ứng dụng Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Định nghĩa mục tiêu kiểm thử Các loại lỗi kiểm thử Những tài liệu cần thiết Tiến trình kiểm thử  Mục tiêu kiểm thử phát nhiều lỗi phần mềm sớm tốt, đặc biệt lỗi nghiêm trọng  Kiểm thử có hai mục tiêu kiểm thử hợp lệ kiểm thử khiếm khuyết nhằm đảm bảo tất thành phần ứng dụng vận hành mong đợi phù hợp với tiêu chuẩn thiết kế – Kiểm thử hợp lệ: để chứng minh cho đội ngũ phát triển khách hàng thấy phần mềm thoả mãn yêu cầu hay chưa? Kiểm thử hợp lệ thành công hệ thống vận hành mong đợi – Kiểm thử khiếm khuyết: nhằm phát lỗi khiếm khuyết phần mềm kiểm tra xem chức có xác phù hợp với tài liệu đặc tả hay khơng Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Định nghĩa mục tiêu kiểm thử Các loại lỗi kiểm thử Những tài liệu cần thiết Tiến trình kiểm thử  Trong ứng dụng phần mềm tồn ba kiểu lỗi trình kiểm thử phải xác định ba loại lỗi đó, bao gồm: – Các chức chương trình chạy bị lỗi kết không mong muốn – Không làm điều cần phải làm: lỗi bỏ sót thường xuất ứng dụng phát triển – Làm điều không cần làm: lỗi lệnh cư trú trước ứng dụng bảo trì Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Định nghĩa mục tiêu kiểm thử Các loại lỗi kiểm thử Những tài liệu cần thiết Tiến trình kiểm thử  Trước thực kiểm thử, đội ngũ kiểm thử phải tìm hiểu ba loại tài liệu sau: – Tài liệu yêu cầu người dùng: để tìm hiểu yêu cầu, suy nghĩ khách hàng phần mềm mà họ mong muốn Ví dụ khách hàng muốn người quản trị có chức xóa thơng tin – Tài liệu đặc tả: để tìm hiểu { tưởng, dự định đội ngũ phát triển thực hóa yêu cầu, mong muốn khách hàng Ví dụ người dùng phải đăng nhập muốn truy cập vào hệ thống – Tài liệu thiết kế: để tìm hiểu cụ thể, chi tiết giải pháp đội ngũ phát triển triển khai chức hệ thống Ví dụ mã nhân viên phải có độ dài 10 k{ tự, k{ tự đầu phòng ban, k{ tự sau loại nhân viên, k{ tự cuối số thứ tự nhân viên Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Định nghĩa mục tiêu kiểm thử Các loại lỗi kiểm thử Những tài liệu cần thiết Tiến trình kiểm thử  Là trình tự thực kiểm tra hệ thống phần mềm từ có yêu cầu kiểm tra hệ thống hoàn thiện  Các bước thực tiến trình kiểm thử gồm: – Lập kế hoạch kiểm thử (Test Plan) – Chuẩn bị môi trường kiểm thử phần cứng, phần mềm, ngôn ngữ… – Thiết kế kiểm thử (Test case) – Thực kiểm thử – Theo dõi xử l{ lỗi – Thống kê báo cáo kết kiểm thử Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Định nghĩa mục tiêu kiểm thử Các loại lỗi kiểm thử Những tài liệu cần thiết Tiến trình kiểm thử  Mẫu Test case Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm  Nguyên tắc khách quan: người kiểm thử tác giả phần mềm kiểm thử  Nguyên tắc ngẫu nhiên: liệu chức chọn để kiểm thử có chủ đích khơng phải xuất theo thứ tự định  Nguyên tắc "người sử dụng kém": hệ thống người sử dụng có trình độ thấp mức chấp nhận dùng thử, người gây cố khơng lường trước hệ thống  Nguyên tắc "kẻ phá hoại": hệ thống rơi vào tay người có trình độ nghiệp vụ cao, chủ { để phá hoại Trình độ thuộc lĩnh vực công nghệ thông tin lĩnh vực mà phần mềm xây dựng  Khi phát triển phần mềm cần đảm bảo nguyên l{ an toàn lỗi dù nhỏ hay lớn phải phát bước q trình xây dựng phần mềm trước đưa vào thực Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm  Trừ hệ thống nhỏ, nói chung khơng nên kiểm thử nguyên khối chương trình mà chia thành giai đoạn sau: 10 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử đơn vị Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử hồi quy  Kiểm thử hệ thống bắt đầu tất phận phần mềm tích hợp thành cơng Mục đích kiểm tra tồn hệ thống sau tích hợp có thỏa mãn yêu cầu đặt hay không?  Thông thường loại kiểm thử tốn nhiều công sức thời gian, nhiều trường hợp việc kiểm tra đòi hỏi số thiết bị phụ trợ, phần mềm phần cứng đặc thù, đặc biệt ứng dụng thời gian thực hệ thống nhúng  Ở mức độ kiểm thử hệ thống, người kiểm thử tìm kiếm lỗi trọng tâm đánh giá hoạt động, thao tác, tin cậy số yêu cầu khác liên quan đến chất lượng toàn hệ thống 16 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử đơn vị Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử hồi quy  Điểm khác kiểm thử tích hợp kiểm thử hệ thống: – Kiểm thử tích hợp trọng giao tiếp đơn thể đối tượng chúng làm việc – Kiểm thử hệ thống trọng hành vi lỗi toàn hệ thống  Kiểm thử hệ thống kiểm tra hành vi chức phần mềm lẫn yêu cầu chất lượng độ tin cậy, tính tiện lợi sử dụng, hiệu bảo mật Mức kiểm tra đặc biệt thích hợp cho việc phát lỗi giao tiếp với phần mềm phần cứng bên ngoài, chẳng hạn lỗi “tắc nghẽn” chiếm dụng nhớ  Đòi hỏi nhiều cơng sức, thời gian, tính xác tính khách quan nên kiểm thử hệ thống thường thực nhóm kiểm tra viên hồn tồn độc lập với nhóm phát triển dự án  Việc lập kế hoạch cho kiểm thử hệ thống nên giai đoạn hình thành phân tích yêu cầu 17 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử đơn vị Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử hồi quy  Kiểm thử hệ thống gồm nhiều loại kiểm tra khác nhau, phổ biến gồm: – Kiểm tra chức năng: bảo đảm hành vi hệ thống thỏa mãn yêu cầu thiết kế – Kiểm tra khả vận hành: bảo đảm tối ưu việc phân bổ tài nguyên hệ thống, ví dụ phân bổ nhớ nhằm đáp ứng yêu cầu thời gian xử l{ hay thời gian truy vấn… – Kiểm tra khả chịu tải: bảo đảm hệ thống vận hành áp lực cao, ví dụ trường hợp nhiều người truy xuất lúc tình bất thường… – Kiểm tra khả bảo mật: bảo đảm tính tồn vẹn, tính bảo mật liệu hệ thống – Kiểm tra khả phục hồi: bảo đảm hệ thống có khả khơi phục trạng thái ổn định trước tình tài ngun liệu, điều đặc biệt quan trọng hệ thống giao dịch ngân hàng trực tuyến 18 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử đơn vị Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử hồi quy  Sau giai đoạn kiểm thử hệ thống kiểm thử chấp nhận, loại kiểm thử khách hàng thực ủy quyền cho nhóm thứ ba thực  Mục đích kiểm thử chấp nhận để chứng minh phần mềm thỏa mãn tất yêu cầu khách hàng khách hàng chấp nhận sản phẩm  Đối với sản phẩm dành để bán rộng rãi thị trường cho nhiều người sử dụng, thông thường thông qua hai loại kiểm thử Alpha Beta: – Với kiểm thử Alpha, người sử dụng tiềm kiểm tra phần mềm nơi phát triển phần mềm, lập trình viên ghi nhận lỗi lên kế hoạch sửa chữa – Với kiểm thử Beta, phần mềm gửi tới cho người sử dụng tiềm để kiểm tra môi trường thực, lỗi phản hồi gửi ngược lại cho lập trình viên để sửa chữa 19 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử đơn vị Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử hồi quy  Thực tế cho thấy, khách hàng không quan tâm khơng tham gia vào q trình phát triển phần mềm kết kiểm thử chấp nhận sai lệch lớn, phần mềm trải qua tất mức kiểm thử trước Sự sai lệch liên quan đến việc hiểu sai yêu cầu mong chờ khách hàng – Ví dụ phần mềm nhóm phát triển dự án kiểm tra chức năng, khách hàng kiểm tra sau thất vọng bố cục hình nghèo nàn, thao tác khơng tự nhiên, không theo tập quán sử dụng khách hàng…  Gắn liền với giai đoạn kiểm thử chấp nhận nhóm dịch vụ tài liệu kèm tài liệu hướng dẫn cài đặt, hướng dẫn sử dụng… Tất tài liệu kèm phải cập nhật kiểm tra chặt chẽ 20 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử đơn vị Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử hồi quy  Kiểm thử hồi quy mức kiểm thử mức nói trên, đơn kiểm tra lại phần mềm sau có thay đổi xảy để bảo đảm thay đổi không gây lỗi chức vốn làm việc tốt – Ví dụ phần mềm phát triển kiểm thử cho thấy chạy tốt chức A, B C Khi có thay đổi mã lệnh chức C, kiểm tra chức C chưa đủ, cần phải kiểm tra lại tất chức khác liên quan đến chức C A B, l{ C thay đổi, làm A B khơng làm việc  Kiểm thử hồi quy thực mức kiểm thử 21 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử đơn vị Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử hồi quy  Mặc dù phải mức kiểm thử thực tế lại cho thấy kiểm thử hồi quy loại kiểm thử tốn nhiều thời gian công sức  Tuy thế, việc bỏ qua kiểm thử hồi quy khơng phép dẫn đến tình trạng phát sinh tái xuất lỗi nghiêm trọng, ta tưởng lỗi khơng có kiểm tra sửa chữa 22 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm  Ta có hai kiểu chiến lược kiểm thử phần mềm kiểm thử logic kiểm thử tích hợp: – Kiểm thử logic: phát lỗi logic gồm kiểm thử hộp đen (Black box) kiểm thử hộp trắng (White box) – Kiểm thử tích hợp: xây dựng hệ thống từ thành phần kiểm thử tương tác thành phần, gồm kiểm thử trên-xuống (Top down) kiểm thử dưới-lên (Bottom up)  Các chiến lược kiểm thử khơng loại trừ lẫn nhau, chúng sử dụng đơn lẻ đồng thời, tốt nên sử dụng nhiều kiểu chiến lược để phát hết lỗi 23 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử hộp đen Kiểm thử hộp trắng Kiểm thử xuống Kiểm thử lên  Còn gọi kiểm thử chức năng, kiểm thử xem phần mềm “hộp đen” tức khơng biết hoạt động bên  Chỉ quan tâm đến chức đề chương trình mà khơng quan tâm đến khâu thiết kế viết mã lệnh, kiểm thử dựa vào mơ tả chức chương trình  Kiểm thử hộp đen nhằm phát lỗi sau: – Thiếu chức – Lỗi giao tiếp – Lỗi cấu trúc liệu – Lỗi thực chương trình 24 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử hộp đen Kiểm thử hộp trắng Kiểm thử xuống Kiểm thử lên  Ví dụ xét form Login cho phép đăng nhập với User pass hợp lệ, kiểm thử hộp đen ta phải kiểm thử trường hợp sau: – User, Pass hợp lệ – User Pass để trống – User Pass không hợp lệ 25 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử hộp đen Kiểm thử hộp trắng Kiểm thử xuống Kiểm thử lên  Các kỹ thuật áp dụng kiểm thử hộp đen gồm: – Phân đoạn tương đương: mục đích giảm số lượng kiểm thử cách chọn tập liệu đại diện Ta chia liệu vào thành đoạn, đoạn đại diện cho số liệu việc kiểm thử thực đại diện – Phân tích giá trị biên: trường hợp đặc biệt phân đoạn tương đương, sử dụng giá trị biên làm giá trị đại diện Ví dụ miền liệu tháng giá trị < > 12 khơng hợp lệ – Đốn lỗi: dựa sở trực giác kinh nghiệm, chuyên gia dễ dàng kiểm tra lỗi cách đoán dễ xảy Ví dụ lỗi chia cho 0, modul có phép chia phải kiểm thử lỗi Vì dựa trực giác, nên phép thử khó tìm hết lỗi 26 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử hộp đen Kiểm thử hộp trắng Kiểm thử xuống Kiểm thử lên  Là phương pháp kiểm thử dựa vào cấu trúc mã lệnh chương trình Phương pháp kiểm nghiệm phần chương trình hay phần hệ thống để đảm bảo chúng đáp ứng tốt tất giá trị đầu vào bao gồm giá trị không hay không theo dự định chương trình  Khi kiểm thử hộp trắng phải đạt yêu cầu sau: – Bao phủ dòng lệnh: dòng lệnh phải thực thi lần, câu lệnh khơng thực ta khơng thể biết có lỗi xảy câu lệnh hay khơng? – Bao phủ nhánh: nhánh định logic phải qua lần – Bao phủ lặp: tiến hành tất vòng lặp từ giá trị khởi tạo đến giá trị cuối 27 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử hộp đen Kiểm thử hộp trắng Kiểm thử xuống Kiểm thử lên  Xây dựng khung hệ thống đưa thành phần vào  Chiến lược kiểm tra mức cao hệ thống trước kiểm tra thành phần chi tiết, sau thành phần mức cao kiểm tra thành phần tiến hành kiểm tra tiếp tục thành phần mức đơn vị kiểm tra – Ưu điểm: Các thành phần hệ thống thử nghiệm sau mã hóa lỗi sớm phát tiết kiệm thời gian chi phí Ngồi ta coi hệ thống chưa hồn chỉnh có chức từ minh họa tính khả thi hệ thống – Nhược điểm: Cách thức xây dựng nhánh chọn chức để phát triển trước tốn chưa có nghiệm tối ưu, mơ hình mức cao chưa có đầu rõ ràng 28 Khái niệm kiểm thử Các nguyên tắc kiểm thử Cấp độ kiểm thử Các chiến lược kiểm thử phần mềm Kiểm thử hộp đen Kiểm thử hộp trắng Kiểm thử xuống Kiểm thử lên  Bắt đầu kiểm thử đơn thể sở không gọi đến đơn thể khác, sau bổ sung kiểm thử đơn thể gọi đến đơn thể kiểm thử  Nguyên tắc kiểm thử lên kiểm thử thay đổi đơn thể ảnh hưởng tới chức Trong kiểm thử lên tất đơn thể mã hoá kiểm tra riêng rẽ  Mỗi đơn thể phải kiểm thử với hai trường hợp: trường hợp chạy tốt trường hợp không chạy Trong trường hợp chạy sai hệ thống phải đưa thông báo quay lại trạng thái ban đầu giao dịch  Nhược điểm phương pháp lỗi cấu trúc phát bước cuối cùng, chi phí xây dựng phần mềm bị tăng 29 30 ... mật liệu hệ thống – Kiểm tra khả phục hồi: bảo đảm hệ thống có khả khơi phục trạng thái ổn định trước tình tài ngun liệu, điều đặc biệt quan trọng hệ thống giao dịch ngân hàng trực tuyến 18 Khái... Ưu điểm: Các thành phần hệ thống thử nghiệm sau mã hóa lỗi sớm phát tiết kiệm thời gian chi phí Ngồi ta coi hệ thống chưa hồn chỉnh có chức từ minh họa tính khả thi hệ thống – Nhược điểm: Cách... Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử hồi quy  Kiểm thử hệ thống bắt đầu tất phận phần mềm tích hợp thành cơng Mục đích kiểm tra tồn hệ thống sau tích hợp có thỏa mãn

Ngày đăng: 04/02/2020, 18:10

TỪ KHÓA LIÊN QUAN