Bài giảng Đảm bảo chất lượng phần mềm

198 1 0
Bài giảng Đảm bảo chất lượng phần mềm

Đ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

Untitled ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Bài giảng cho sinh viên ngành Công nghệ thông tin Đỗ Thị Bích Ngọc Hà Nội 2020 2 MỞ ĐẦU Trước những thách thức trong quá trình phát triển phần mềm, việc đảm bảo ch[.]

ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Bài giảng cho sinh viên ngành Cơng nghệ thơng tin Đỗ Thị Bích Ngọc Hà Nội - 2020 MỞ ĐẦU Trước thách thức trình phát triển phần mềm, việc đảm bảo chất lượng phần mềm (Software Quality Assurance-SQA) quan trọng, đòi hỏi phải nghiên cứu cách nghiêm túc để thực thi hiệu Tài liệu cung cấp kiến thức chất lượng phần mềm, đảm bảo chất lượng dự án phát triển phần mềm Qui trình xây dựng hệ thống đảm bảo chất lượng phần mềm trình bày nội dung giảng Qua đó, sinh viên hiểu cách thức xây dựng hệ thống đảm bảo chất lượng phần mềm vai trò thành viên hệ thống Một số chuẩn đảm bảo chất lượng giới thiệu chương cuối Thông qua nội dung giảng sinh viên nắm kỹ rà soát kiểm thử phần mềm Nội dung giảng xây dựng bảy chương: Chương Giới thiệu đảm bảo chất lượng phần mềm Những khái niệm mở đầu tài liệu giới thiệu Chương Bắt đầu với khái niệm phần mềm, chất lượng phần mềm đảm bảo chất lượng phần mềm, phần phân tích tiêu chí chất lượng phần mềm Chương Tích hợp hoạt động đảm bảo chất lượng phần mềm vào vòng đời phát triển phần mềm Chương đề cập đến thành phần đảm bảo chất lượng phần mềm vòng đời dự án phần mềm Những nội dung trình bày chương bao gồm : phân tích số mơ hình phát triển phần mềm phổ biến Sau đó, chương đề cập đến mức độ kiểm thử phần mềm Chương Các hoạt động rà soát Chương trình bày hoạt động rà sốt cho loại tài liệu tạo trình phát triển phần mềm Chương trình bày nguyên tắc phương pháp thực rà soát số checklist rà soát mẫu Chương Kiểm thử phần mềm Chương đề cập đến khái niệm kiểm thử phần mềm Những nội dung trình bày chương bao gồm : khái niệm bản, mức kiểm thử, trình kiểm thử, ca kiểm thử Chương 5: Kỹ thuật kiểm thử hộp đen hộp trắng Chương trình bày kỹ thuật dùng thiết kế ca kiểm thử Các kỹ thuật kiểm thử hộp đen để kiểm thử chức năng, nghiệp vụ hệ thống Các kỹ thuật kiểm thử hộp trắng để kiểm thử code, kiểm thử đơn vị Chương Các công cụ hỗ trợ đảm bảo chất lượng phần mềm Chương đề cập đến loại công cụ dùng kiểm thử phần mềm Những nội dung trình bày chương bao gồm : phần mềm phục vụ quản lý kiểm thử, công cụ hỗ trợ kiểm thử, công cụ hỗ trợ kiểm thử tự động cho kiểm thử chức kiểm thử phi chức Chương Các chuẩn, chứng hoạt động đánh giá Chương đề cập tới chuẩn quản lý chất lượng ISO, CMM/CMMI, sâu vào CMM/CMMI Phụ lục Gồm phụ lục : - Trình bày lỗi thường gặp viết chương trình Trình bày số hướng dẫn cho loại kiểm thử - Một test plan mẫu CHƯƠNG 1: GIỚI THIỆU ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM 1.1 Khái niệm phần mềm 1.2 Các nguyên nhân gây lỗi phần mềm 1.2.1 Một số ví dụ điển hình lỗi phần mềm 1.2.2 Lỗi phần mềm 13 1.2.3 Nguyên nhân gây lỗi phần mềm 14 1.3 Đảm bảo chất lượng phần mềm 17 1.3.1 Khái niệm 17 1.3.2 Mục tiêu đảm bảo chất lượng phần mềm 18 1.3.3 Xác minh, thẩm định đánh giá chất lượng 18 1.4 Các tiêu chí chất lượng 19 1.5 Các tiêu chí chất lượng ảnh hưởng tới hoạt động đảm bảo chất lượng phần mềm 23 CHƯƠNG 2: TÍCH HỢP CÁC HOẠT ĐỘNG ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM VÀO VÒNG ĐỜI PHÁT TRIỂN PHẦN MỀM 25 2.1 Các phương pháp phát triển phần mềm 25 2.2 Các hoạt động đảm bảo chất lượng phần mềm 29 2.2.1 Đảm bảo chất lượng hợp đồng 29 2.2.2 Đảm bảo chất lượng đặc tả 30 2.2.3 Đảm bảo chất lượng phân tích, thiết kế 32 2.2.4 Đảm bảo chất lượng phát triển phần mềm (lập trình) 33 2.3 Các mức độ kiểm thử 34 2.3.1 Giới thiệu 34 2.3.2 Kiểm thử đơn vị 34 2.3.3 Kiểm thử tích hợp 35 2.3.4 Kiểm thử hệ thống 40 2.3.5 Kiểm thử chấp nhận 43 CHƯƠNG 3: CÁC HOẠT ĐỘNG RÀ SOÁT 44 3.1 Mục tiêu rà soát 44 3.1.1 Định nghĩa 44 3.1.2 Mục tiêu 44 3.2 Các hình thức rà sốt 44 3.2.1 Rà sốt thức 44 3.2.2 Rà soát ngang hàng 47 3.2.3 Ý kiến chuyên gia 48 3.2.4 So sánh rà sốt thức rà sốt ngang hàng 49 3.3 Thực hoạt động rà soát dự án 50 3.3.1 Rà soát hợp đồng 50 3.3.2 Rà sốt phân tích thiết kế 53 3.3.3 Các hoạt động rà soát khác 56 3.4 Đảm bảo chất lượng thành phần bảo trì phần mềm 63 3.4.1 Giới thiệu 63 3.4.2 3.4.3 3.4.4 3.5 Cơ sở cho chất lượng bảo trì cao 64 Các thành phần chất lượng phần mềm tiền bảo trì 66 Hỗ trợ đảm bảo chất lượng bảo trì phần mềm 70 Đảm bảo chất lượng phần mềm yếu tố bên tham gia 78 3.5.1 Những thành phần bên ngồi đóng góp vào dự án phần mềm 78 3.5.2 Rủi ro lợi ích giới thiệu người tham dự 79 3.5.3 Những mục tiêu đảm bảo chất lượng đóng góp người tham gia bên ngồi 80 3.5.4 Các cơng cụ đảm bảo chất lượng đóng góp thành viên đóng góp bên ngồi 81 CHƯƠNG 4: KIỂM THỬ PHẦN MỀM 83 4.1 Định nghĩa mục tiêu 83 4.1.1 Định nghĩa 83 4.1.2 Các mức độ kiểm thử 84 4.2 Quy trình kiểm thử 85 4.2.1 Quy trình 85 4.2.2 Input/Output cho test 87 4.2.3 Quản lý lỗi 88 4.3 Kế hoạch kiểm thử 90 4.4 Thiết kế test (test design) 92 CHƯƠNG 5: KỸ THUẬT KIỂM THỬ HỘP ĐEN VÀ HỘP TRẮNG 95 5.1 Các kỹ thuật kiểm thử hộp đen 95 5.1.1 Phân lớp tương đương 95 5.1.2 Kiểm thử biên 99 5.1.3 Bảng định 100 5.1.4 Lược đồ chuyển trạng thái 101 5.1.5 Kiểm thử theo cặp 103 5.2 Các kỹ thuật kiểm thử hộp trắng 106 5.2.1 Kiểm thử luồng điều khiển 106 5.2.2 Kiểm thử luồng liệu 113 5.3 Kiểm thử đơn vị tự động 117 5.3.1 Giới thiệu chung 117 5.3.2 Tổng quan thư viện Junit 119 5.4 Bảng tóm tắt Testing Levels/ Techniques 122 CHƯƠNG 6: CÁC CÔNG CỤ HỖ TRỢ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM 123 6.1 Các công cụ quản lý thông tin Đảm bảo chất lượng phần mềm 123 6.1.1 Phần mềm hỗ trợ viết tài liệu 123 6.1.2 Phần mềm quản lý lỗi 123 6.2 Cơng cụ kiểm thử tự động ? 125 6.2.1 Khái niệm 125 6.2.2 Quy trình kiểm thử tự động 125 6.3 Công cụ hỗ trợ kiểm thử đơn vị 126 6.4 Công cụ hỗ trợ kiểm thử chức tự động 126 6.4.1 Selenium WebDriver 129 6.4.2 Các câu lệnh sử dụng Selenium WebDriver 130 6.5 Công cụ hỗ trợ kiểm thử API 132 Giới thiệu công cụ kiểm thử API Postman 134 6.6 Công cụ hỗ trợ kiểm thử hiệu 135 6.7 Công cụ hỗ trợ kiểm thử bảo mật 135 CHƯƠNG 7: CÁC TIÊU CHUẨN TRONG QUẢN LÝ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM 139 7.1 Giới thiệu 139 7.2 Đảm bảo chất lượng phần mềm chuẩn ISO 139 7.3 Đảm bảo chất lượng phần mềm chuẩn CMM, CMMI 140 7.4 Cấu trúc level CMMI : 144 7.4.1 Cấu trúc CMMI : 144 7.4.2 Các level CMMI: 144 7.4.3 Việt Nam áp dụng CMM/CMMI lĩnh vực phần mềm 152 TÀI LIỆU THAM KHẢO 153 PHỤ LỤC 154 Phụ lục 1: Một số lỗi thường gặp phát triển phần mềm 154 Phụ lục 2: Một số hướng dẫn cho loại kiểm thử 163 Phụ lục 3: Test plan mẫu 176 Chương 1: Giới thiệu đảm bảo chất lượng phần mềm 1.1 Khái niệm phần mềm Trước tìm hiểu đảm bảo chất lượng phần mềm, mục giới thiệu khái niệm phần mềm Định nghĩa: Phần mềm bao gồm thành phần sau đây: • Chương trình máy tính • Các thủ tục • Tài liệu liên quan • Dữ liệu cần thiết cho vận hành hệ thống Mỗi thành phần phần mềm có chức riêng chất lượng chúng đóng góp vào chất lượng chung phần mềm bảo trì phần mềm sau: • Chương trình máy tính cần thiết hiển nhiên chúng giúp máy tính vận hành thực thi yêu cầu ứng dụng • Những thủ tục yêu cầu để định nghĩa theo thứ tự lịch biểu chương trình thực thi, phương thức triển khai người chịu trách nghiệm cho thực thi hoạt động cần thiết cho việc tác động vào phần mềm • Nhiều kiểu tài liệu cần thiết cho người phát triển, người sử dụng người có nhiệm vụ trì Tài liệu phát triển (báo cáo yêu cầu, báo cáo thiết kế, mơ tả chương trình, v.v) cho phép phối hợp cộng tác hiệu thành viên đội ngũ phát triển hiệu việc xem lại rà soát cá sản phẩm lập trình thiết kế Tài liệu sử dụng(thường hướng dẫn sử dụng) cung cấp miêu tả cho ứng dụng sẵn sàng phương pháp thích hợp cho họ sử dụng Tài liệu bảo trì (tài liệu cho người phát triển) cung cấp cho đội bảo trì tất thơng tin u cầu mã nguồn công việc cấu trúc cho module Thơng tin sử dụng để tìm ngun nhân lỗi (bugs) thay đổi bổ sung thêm vào phần mềm có sẵn • Dữ liệu bao gồm tham số đầu vào, mã nguồn danh sách tên thích hợp với phần mềm để đặc tả cần thiết cho người sử dụng thao tác với hệ thống Một kiểu khác liệu cần thiết chuẩn liệu test, sử dụng để sách định rõ thứ thay đổi không mong muốn mã nguồn liệu phần mềm xảy loại cố phần mềm lường trước 1.2 Các nguyên nhân gây lỗi phần mềm 1.2.1 Một số ví dụ điển hình lỗi phần mềm Có nhiều trường hợp lỗi phần mềm gây thiệt hại hàng triệu đô la thiệt hai người Để thấy mức độ nghiệm trọng đa dạng lỗi phần mềm, mục giới thiệu 10 lỗi tiếng ngành phần mềm Ariane Crash Hình 1-0-1: Vụ nổ Ariane lỗi tràn số tính tốn Arian thứ năm loạt tàu vũ trụ dân dụng Ariane châu Âu dùng để phóng vệ tinh vào khơng gian Vào ngày tháng năm 1996 Kourou, Guiana Pháp, Ariane không người lái phát nổ khoảng 40 giây sau phóng Chiếc tên lửa trị giá 500 triệu đô la phát nổ lỗi phần mềm phổ biến biết đến tên gọi Integer Overflow Lỗi xảy trình thực chuyển đổi liệu từ số floating point 64-bit sang giá trị số integer16-bit Số floating point chuyển đổi có giá trị lớn số biểu diễn số integer16-bit Lỗi phần mềm tên lửa Patriot Hình 1-0-2: Hệ thống chắn tên lửa phán đốn sai vị trí lỗi làm tròn số Ngày 25 tháng năm 1991 Chiến tranh vùng Vịnh, hệ thống tên lửa Patriot dưng không theo dõi đánh chặn tên lửa Scud công doanh trại Mỹ Theo Cơ quan Trách nhiệm Giải trình Chính phủ Hoa Kỳ, phần mềm bị trễ khơng theo dõi việc phóng tên lửa thời gian thực, để tên lửa Iraq có hội vượt qua phát nổ trước làm điều để ngăn chặn Mỹ có 28 người thiệt mạng 100 người bị thương sau cố Lỗi Y2K Y2K viết tắt Year 2000 gọi “lỗi thiên niên kỷ” Vào cuối năm 90, lỗi Y2K lỗi đề cập nhiều giới chờ đợi máy bay va chạm, tàu vũ trụ biến mất, thị trường chứng khoán sụp đổ dự đốn nhiều chun gia cơng nghệ Lỗi sai lầm đơn giản hệ thống quản lý thời gian máy tính sử dụng hai chữ số để biểu thị năm Theo đó, 1970 biểu diễn 70 năm 1999 biểu diễn 99 Lý việc để tiết kiệm nhớ Khi gần đến năm 2000, lập trình viên máy tính nhận máy tính khơng thể biểu diễn xác năm 2000, 00 dùng để biểu diễn năm 1900 Các hoạt động lập trình hàng ngày hàng năm bị hư hỏng thiếu sót Vào ngày 31 tháng 12 năm 1999, chuyển sang ngày tháng năm 2000, máy tính hiểu từ ngày 31 tháng 12 năm 1999, chuyển sang ngày tháng năm 1900 Các ngân hàng, tính lãi suất hàng ngày, phải đối mặt với vấn đề thực Lãi suất số tiền mà người cho vay, ví dụ ngân hàng, tính phí khách hàng, chẳng hạn cá nhân doanh nghiệp họ vay tiền Thay tỷ lệ lãi suất cho ngày, máy tính tính tỷ lệ lãi suất cho gần 100 năm ! Các trung tâm công nghệ, nhà máy điện, bị đe dọa lỗi Y2K Nhà máy điện phụ thuộc máy tính để kiểm tra an tồn bảo trì, chẳng hạn áp lực nước mức độ xạ Khơng có ngày xác làm tính tốn đưa cư dân gần đối mặt với nguy hiểm Giao thơng vận tải phụ thuộc vào thời gian ngày tháng xác Các hãng hàng khơng đặc biệt bị đe doạ máy tính lưu thơng tin tất chuyến bay theo lịch trình bị đảo lộn hết Cuối cùng, có Y2K khơng gây hậu nghiêm trọng phải thời gian để nhà phát triển phần mềm khắc phục triệt để lỗi Khoản tiền gửi 92 nghìn triệu triệu la PayPal Vào ngày tháng năm 2013, Chris Reynolds cảm thấy giật hoảng hốt trước khoản tiền có tài khoản PayPal Số dư tài khoản nhân viên PR Pennsylvania tăng lên thành 92.233.720.368.547.800 USD Số tiền ghi có vào tài khoản PayPal Reynolds lỗi phần mềm làm anh trở thành người giàu giới PayPal thừa nhận việc lỗi phần mềm họ PayPal đề nghị tặng khoản tiền (không công bố) cho Reynolds YouTube phải nâng cấp đếm Gangnam Style Năm 2014, YouTube bị lỗi video âm nhạc gọi Gangnam Style Psy Các nhà phát triển xây dựng YouTube tảng 32-bit, có nghĩa YouTube lưu hiển thị số lượt xem video số nằm dải từ 2,147,483,648 đến 2,147,483,647 Tức số lượt xem lớn biểu diễn Youtube khoảng 2.15 tỷ Youtube nghĩ khó có video đạt lượt xem kinh khủng Tuy nhiên video video Gangnam Style phá vỡ đếm lượt xem YouTube vượt qua số 2.147.483.647 (có lẽ bố, mẹ, bà liên tục cho con, cho cháu xem để dụ chúng ăn cháo, ăn cơm nên số lượt xem khủng vậy) “Chúng không nghĩ có video xem với số lượng lớn số nguyên 32-bit” YouTube cho biết đăng Google + 10 ... thiệu đảm bảo chất lượng phần mềm Những khái niệm mở đầu tài liệu giới thiệu Chương Bắt đầu với khái niệm phần mềm, chất lượng phần mềm đảm bảo chất lượng phần mềm, phần phân tích tiêu chí chất lượng. .. tiêu đảm bảo chất lượng phần mềm Phát triển phần mềm ln đơi với bảo trì, hoạt động bảo đảm chất lượng phần mềm có mối liên quan chặt chẽ đến bảo trì Những mục tiêu đảm bảo chất lượng phần mềm tương... 1: Giới thiệu đảm bảo chất lượng phần mềm 1.1 Khái niệm phần mềm Trước tìm hiểu đảm bảo chất lượng phần mềm, mục giới thiệu khái niệm phần mềm Định nghĩa: Phần mềm bao gồm thành phần sau đây:

Ngày đăng: 26/11/2022, 19:26

Tài liệu cùng người dùng

Tài liệu liên quan