Bài giảng Công nghệ phần mềm - Chương 6 và 7: Kiểm tra chất lượng phần mềm. bảo trì phần mềm

Sản phẩm phần mềm được gọi là đúng nếu nó thực hiện được chính xác những tiêu chuẩn mà người thiết kế đã đặt ra.

Để có một đánh giá chính xác về cấp độ đúng của phần mềm, ta phải kiểm tra chất lượng phần mềm.

Như thế, kiểm tra là quá trình tìm lỗi và nó là một đánh giá cuối cùng về các đặc tả, thiết kế và mã hoá.

Mục đích của kiểm tra là đảm bảo rằng tất cả các thành phần của ứng dụng ăn khớp, vận hành như mong đợi và phù hợp các tiêu chuẩn thiết kế.

 

ppt24 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2203 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Công nghệ phần mềm - Chương 6 và 7: Kiểm tra chất lượng phần mềm. bảo trì phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
CHƯƠNG 6: KIỂM TRA CHẤT LƯỢNG PHẦN MỀM Sản phẩm phần mềm được gọi là đúng nếu nó thực hiện được chính xác những tiêu chuẩn mà người thiết kế đã đặt ra. Để có một đánh giá chính xác về cấp độ đúng của phần mềm, ta phải kiểm tra chất lượng phần mềm. Như thế, kiểm tra là quá trình tìm lỗi và nó là một đánh giá cuối cùng về các đặc tả, thiết kế và mã hoá. Mục đích của kiểm tra là đảm bảo rằng tất cả các thành phần của ứng dụng ăn khớp, vận hành như mong đợi và phù hợp các tiêu chuẩn thiết kế. * * CHƯƠNG 6: KIỂM TRA CHẤT LƯỢNG PHẦN MỀM NỘI DUNG CHÍNH: 6.1. ĐỘ TIN CẬY CỦA PHẦN MỀM 6.2. KIỂM TRA VÀ CÁC CHIẾN LƯỢC KIỂM TRA PHẦN MỀM 6.3. KỸ THUẬT KIỂM THỬ PHẦN MỀM VÀ ĐẶC ĐIỂM 6.4. CHỨNG MINH TOÁN HỌC TÍNH ĐÚNG ĐẮN CỦA CHƯƠNG TRÌNH * * 6.1. ĐỘ TIN CẬY CỦA PHẦN MỀM Chất lượng phần mềm và việc đảm bảo chất lượng phần mềm Đảm bảo chất lượng phần mềm là một hoạt động có hệ thống và kế hoạch. Nó bao gồm: + Áp dụng các phương pháp kỹ thuật, + Tiến hành các cuộc xét duyệt kỹ thuật chính thức, + Kiểm thử phần mềm, + Buộc tôn trọng các chuẩn, + Kiểm soat thay đổi, + Đo chất lượng, + Báo cáo, lưu giữ kết quả. * * 6.1. ĐỘ TIN CẬY CỦA PHẦN MỀM (tiếp) Độ tin cậy của phần mềm Các lỗi thường gặp: + Lỗi chiến lược: ý đồ thiết kế sai + Phân tích các yêu cầu không đầy đủ hoặc lệch lạc + Hiểu sai về các chức năng + Vi phạm nguyên lý đối tượng + Lỗi tại các thủ tục chịu tải, đây là những lỗi nặng. + Lỗi lây lan: lỗi được truyền từ chương trình này sang chương trình khác + Lỗi cú pháp: viết sai quy định của ngôn ngữ. + Hiệu ứng phụ: lỗi xảy ra khi một đơn vị chương trình làm thay đổi giá trị của một biến ngoài ý kiến của lập trình viên. Độ tin cậy của phần mềm Độ tin cậy của một hệ phần mềm là độ đo về mức độ tốt của các dịch vụ mà hệ cung cấp cho máy tính * * 6.2. KIỂM TRA VÀ CÁC CHIẾN LƯỢC KIỂM TRA PHẦN MỀM Đặc điểm của kiểm tra phần mềm Xác minh và thẩm định một hệ phần mềm là một quá trình liên tục xuyên suốt mọi giai đoạn của quá trình phần mềm Quan hệ giữa các mức kiểm tra và các giai đoạn trong vòng đời của chương trình được trình bày như sau:   * * Công nghệ phần mềm - Chương 5 6.2. KIỂM TRA VÀ CÁC CHIẾN LƯỢC KIỂM TRA PHẦN MỀM (tiếp) Chiến lược kiểm tra phần mềm Kiểm tra Black-box Kiểm tra hộp đen, black-box, coi xử lý kết quả như là minh chứng bởi dữ liệu. Khái niệm kiểm tra là black-box không quan tâm logic White-box testing Có ba loại kiểm tra hộp trắng là kiểm tra logic -logic test, chứng minh toán học -mathematical proof và Cleanroom testing. Kiểm tra top-down Phương pháp kiểm tra top-down cần một mã ngoài, được hiểu như là một bộ khung để gắn các chức năng gốc, các modul, và các phần khác của ứng dụng Kiểm tra bottom-up Nguyên tắc của bottom-up là kiểm tra mọi thay đổi tại module có thể ảnh hưởng tới chức năng của nó * * 6.3. KỸ THUẬT KIỂM THỬ PHẦN MỀM VÀ ĐẶC ĐIỂM (tiếp) Khái niệm Kiểm thử một sản phẩm phần mềm là xây dựng một cách có chủ đích những tập dữ liệu và dãy thao tác nhằm đánh giá một số hoặc toàn bộ các tiêu chuẩn của sản phẩm phần mềm đó. * * 6.3. KỸ THUẬT KIỂM THỬ PHẦN MỀM VÀ ĐẶC ĐIỂM (tiếp) Đặc điểm của kiểm thử Các hạn chế của kiểm thử Do kiểm thử là chạy thử chương trình với tập dữ liệu giả nên không thể khẳng định tính đúng của chương trình do bản chất quy nạp không hoàn toàn của nó. Việc kiểm thử thường được thực hiện từ những giai đoạn đầu của quá trình cài đặt sản phẩm. Các chương trình nên được kiểm chứng theo hai kỹ thuật: kiểm thử và chứng minh. Và nếu có thể nên khẳng định tính đúng của chương trình thông qua văn bản chương trình * * 6.3. KỸ THUẬT KIỂM THỬ PHẦN MỀM VÀ ĐẶC ĐIỂM (tiếp) Các loại hình kiểm thử Kiểm thử lược đồ hệ thống: chỉ quan tâm đến các bản chọn (menu) đánh giá tính hợp lý, khả năng chọn một mục, khả năng di chuyển qua mục khác, tính đủ, tính khoa học của các chức năng. Kiểm thử cận dưới Kiểm thử cận trên: cho hệ thống thực hiện đến mức tối hạn. Kiểm thử qua sự cố: tạo ra các sự cố để kiểm thử phần mềm. * * 6.3. KỸ THUẬT KIỂM THỬ PHẦN MỀM VÀ ĐẶC ĐIỂM (tiếp) Nguyên tắc kiểm thử Nguyên tắc khách quan: người kiểm thử không phải là tác giả của phần mềm đang kiểm thử Nguyên tắc ngẫu nhiên: dữ liệu và chức năng được chọn, tuy có chủ đích nhưng không phải xuất hiện theo thứ tự nhất định. Nguyên tắc "người sử dụng kém": hệ thống được một người sử dụng có trình độ thấp (ở mức chấp nhận được) dùng thử. (Người này có thể gây các sự cố có thể không lường trước được của hệ thống ) Nguyên tắc "kẻ phá hoại": hệ thống rơi vào tay có trình độ nghiệp vụ cao, chủ ý phá hoại. "Trình độ" ở đây thuộc lĩnh vực công nghệ thông tin hoặc lĩnh vực phần mềm đang hướng tới. * * Công nghệ phần mềm - Chương 5 6.3. KỸ THUẬT KIỂM THỬ PHẦN MỀM VÀ ĐẶC ĐIỂM (tiếp) Kỹ thuật kiểm thử Kỹ thuật đối xứng Kỹ thuật đám đông Kỹ thuật kiểm thử trên dữ liệu thật Kỹ thuật kiểm thử trên thị trường thật Kỹ thuật đối sánh * * 6.3. KỸ THUẬT KIỂM THỬ PHẦN MỀM VÀ ĐẶC ĐIỂM (tiếp) Quá trình kiểm thử Chia 5 giai đoạn: Thử đơn vị Thử module Thử hệ con Thử hệ thống * * 6.4. CHỨNG MINH TOÁN HỌC TÍNH ĐÚNG ĐẮN CỦA CHƯƠNG TRÌNH Khái niệm chung Như ta đã biết, chương trình P là một bộ biến đổi tuần tự P để chuyển cái vào x thành ra cái y; ở đây x và y hoàn toàn được xác định trước. Như vậy, một chương trình P được gọi là đúng nếu nó thực hiện chính xác những mục tiêu do người thiết kế đặc ra * * 6.4. CHỨNG MINH TOÁN HỌC TÍNH ĐÚNG ĐẮN CỦA CHƯƠNG TRÌNH Hệ tiên đề Hoare Tiên đề 1: Tiên đề tuần tự Nếu mệnh đề A sau khi chịu tác động của khối cấu trúc điều khiển P ta được B và mệnh đề B sau khi chịu tác động của cấu trúc điều khiển Q ta được C thì A chịu tác động tuần tự P,Q sẽ thu được C Tiên đề gán: tính chất của phép gán Điều kiện để có mệnh đề B sau khi thực hiện lệnh gán x: = E (với E là một biểu thức) từ mệnh đề {A} thì trước đó ta phải có {A} suy dẫn được ra {B[x|E]}. A=>B[x|E] Mệnh đề {B[x|E]} là mệnh đề thu được từ {B} bằng phép thay thế mọi xuất hiện của x trong {B} bởi E. Tức là: A x: = E B thì * * Câu hỏi 1. Độ tin cậy của phần mềm? Vì sao phải đảm bảo chất lượng phần mềm. 2. Đặc điểm của việc kiểm tra phần mềm? Sự khác nhau của kiểm tra hộp trắng và hộp đen. 3. Thế nào là kiểm thử phần mềm? Các đặc điểm của việc kiểm thử phần mềm. 4. Thế nào là kiểm tra tính đúng đắn của văn bản chương trình. 5. Đánh giá các công cụ hỗ trợ kiểm thử phần mềm * * * Công nghệ phần mềm - Chương 4 * CHƯƠNG 7: BẢO TRÌ PHẦN MỀM Bảo trì là giai đoạn cuối cùng của một chu trình phát triển phần mềm. Các chương trình máy tính luôn thay đổi- phải mở rộng, sửa lỗi, tối ưu hoá,...và theo thống kê thì bảo trì chiếm đến 70% toàn bộ công sức bỏ ra cho một dự án phần mềm. => bảo trì là một hoạt động phức tạp nhưng nó lại là vô cùng cần thiết trong chu trình sống của sản phẩm phần mềm để đảm bảo cho phần mềm phù hợp với người sử dụng * * CHƯƠNG 7: BẢO TRÌ PHẦN MỀM NỘI DUNG CHÍNH: 7.1. HOẠT ĐỘNG BẢO TRÌ PHẦN MỀM VÀ PHÂN LOẠI 7.2. ĐẶC ĐIỂM CỦA BẢO TRÌ PHẦN MỀM 7.3. KHẢ NĂNG BẢO TRÌ 7.4. MỘT SỐ HÌNH THỨC BẢO TRÌ PHẦN MỀM 7.5. QUẢN LÝ THAY ĐỔI PHẦN MỀM * * 7.1. HOẠT ĐỘNG BẢO TRÌ PHẦN MỀM VÀ PHÂN LOẠI Bảo trì hiệu chỉnh Bảo trì hiệu chỉnh chính là quá trình phân tích và hiệu chỉnh một hay nhiều lỗi của chương trình Bảo trì tiếp hợp Bảo trì tiếp hợp là hoạt động sửa đổi phần mềm để thích ứng được với những thay đổi của môi trường Bảo trì hoàn thiện Để thỏa mãn những yêu cầu phát triển của người sử dụng, ta tiến hành bảo trì hoàn thiện Bảo trì phòng ngừa Bảo trì phòng ngừa là hoạt động bảo trì diễn ra khi phần mềm được thay đổi để cải thiện tính năng bảo trì hay độ tin cậy trong tương lai hoặc để cung cấp một nền tảng tốt hơn cho những mở rộng sau này * * 7.2. ĐẶC ĐIỂM CỦA BẢO TRÌ PHẦN MỀM Các hoạt động cần thiết để hoàn thành giai đoạn bảo trì và tính toàn vẹn của một cách tiếp cận theo công nghệ phần mềm đối với hiệu quả của những hoạt động đó, hay sự thiếu hụt nó. Chi phí kèm theo giai đoạn bảo trì. Các vấn đề thường gặp phải khi tiến hành bảo trì phần mềm. * * 7.3. KHẢ NĂNG BẢO TRÌ Khả năng bảo trì của phần mềm có thể coi như các khả năng hiểu, hiệu chỉnh, tiếp hợp hoặc có thể thêm vào khả năng phát triển. Khả năng bảo trì là chìa khóa để dẫn đến các phương pháp thiết kế xây dựng phần mềm * * 7.4. MỘT SỐ HÌNH THỨC BẢO TRÌ PHẦN MỀM Chiến lược phần mềm thành phần Bảo trì phòng ngừa Công nghệ phản hồi và công nghệ tái sử dụng Bảo trì mã chương trình xa lạ * * 7.5. QUẢN LÝ THAY ĐỔI PHẦN MỀM Các ứng dụng thường xuyên phải thiết kế lại do sự phân công của một nhóm quản lý mới, dự án vượt quá ngân sách, ứng dụng chậm và có nhiều lỗi, và sự thiếu tin tưởng của chủ sử dụng về việc các kỹ sư phần mềm hiểu rõ các yêu cầu của mình,... Các thay đổi có thể là các yêu cầu, thiết kế, chương trình, giao diện, phần cứng hoặc phần mềm phải mua. Việc quản lý thay đổi ứng dụng giúp cho nhóm triển khai bỏ qua những ý thích chợt nảy ra của người sử dụng trong khi vẫn cho phép thực hiện các yêu cầu hợp lý. * * 7.5. QUẢN LÝ THAY ĐỔI PHẦN MỀM >> ? * * CÂU HỎI 1. Chuyển giao phần mềm? Các hoạt động chính của chuyển giao phần mềm? 2. Bảo trì phần mềm là gì? 3. Các hoạt động nào trong bảo trì phần mềm là chính yếu? 4. Các khó khăn của hoạt động bảo trì? 5. Một số hình thức bảo trì phần mềm? * * 

File đính kèm:

  • pptBài giảng Công nghệ phần mềm - Chương 6 và 7 Kiểm tra chất lượng phần mềm. bảo trì phần mềm.ppt
Tài liệu liên quan