Bài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Đo chất lượng và an toàn
Chất lượng phần mềm thường được phát biểu như
những đặc trưng định tính: mềm dẻo, dễbảo trì,.
■ Không thể đo trực tiếp đặc trưng, mà chỉ có thể đo gián
tiếp: đo các thểhiện của chúng.
■ Chỉ đođược một sốcáigì đólàthểra của chất lượng –
độ đo của đặc trưng từng mặt chất lượngphần mềm.
■ Ngoài đo đạc cần các hoạt động SQA khác
hơn. d. Các mô hình độ tin cậy 2005 Bộ môn CNFM – Đại học Công nghệ 40 NguyÔn V¨n Vþ Các mô hình độ tin cậy dựa trên các giả thiết: Thời gian gỡ lỗi giữa các xuất hiện sai có phân phối mũ với nhịp độ xuất hiện sai, nhịp độ này tỷ lệ thuận với số các lỗi còn lại. Mỗi lỗi được phát hiện sẽ được loại trừ ngay lập tức và số lỗi còn lại giảm đi 1. Nhịp độ thất bại giữa các lỗi là không thay đổi. Các giả thiết này còn phải bàn: vì một lỗi được loại trừ thì có thể nhiều lỗi khác lại được sinh ra. d1. Các giả thiết mô hình độ tin cậy 2005 Bộ môn CNFM – Đại học Công nghệ 41 NguyÔn V¨n Vþ Một lớp khác các mô hình độ tin cậy phần mềm dựa vào các đặc trưng nội tại của 1 chương trình và tính toán số dự đoán các sai tồn tại trong phần mềm. Các mô hình này dựa trên các quan hệ định lượng như một hàm của độ đo tính phức tạp, chúng liên kết thiết kế đặc chủng hoặc các thuộc tính hướng mã của chương trình với “một ước lượng số khởi phát các lỗi được tin rằng có trong chương trình đã cho”. d2. Các mô hình độ tin cậy khác 2005 Bộ môn CNFM – Đại học Công nghệ 42 NguyÔn V¨n Vþ Các mô hình gieo hạt dùng như một chỉ báo của độ tin cậy phần mềm; hoặc như một độ đo “năng lực phát hiện sai” của một tập hợp các ca thử nghiệm. Gieo một cách ngẫu nhiên một số các lỗi (K) hiệu chuẩn (calibration) vào 1 chương trình; sau đó đem kiểm thử (bằng một số ca kiểm thử), tính xác suất tìm được j lỗi trong tập J lỗi xem như tương ứng với xác suất tìm được k lỗi đã gieo trong K lỗi đã nhúng vào chương trình. j/J = k/K (tỷ lệ lỗi đã phát hiện) d3. Mô hình gieo hạt độ tin cậy 2005 Bộ môn CNFM – Đại học Công nghệ 43 NguyÔn V¨n Vþ Có các mô hình ngẫu nhiên phức tạp hơn cho độ tin cậy phần mềm. Iannino đã đưa ra một tập hợp các tiêu chuẩn để so sánh và đánh giá chúng: Độ hiệu lực tiên đoán: khả năng mô hình tiên đoán được tình trạng thất bại trong tương lai dựa trên các dữ liệu thu thập được từ các pha kiểm thử và vận hành. Năng lực: khả năng mô hình sinh ra dữ liệu sẵn sàng ứng dụng được cho các cố gắng phát triển phần mềm công nghiệp thực dụng. d4. Mô hình độ tin cậy ngẫu nhiên 2005 Bộ môn CNFM – Đại học Công nghệ 44 NguyÔn V¨n Vþ Tiêu chuẩn của Iannino: Chất lượng các giả thiết: tính có vẻ hợp lý của các giả thiết mà cơ sở toán học dựa vào đó và mức độ thấp nhất của mô hình khi các giới hạn của các giả thiết đạt được. Độ ứng dụng được: mức độ mà mô hình độ tin cậy phần mềm dùng được trong các kiểu và các lĩnh vực ứng dụng phần mềm khác nhau. Độ đơn giản: mức độ giản dị của việc thu thập dữ liệu cho mô hình, mức độ trực giác của toán học và cách thức và mức độ có thể tự động hoá. e. Tiêu chuẩn các mô hình độ tin cậy 2005 Bộ môn CNFM – Đại học Công nghệ 45 NguyÔn V¨n Vþ Nhiều lĩnh vực sử dụng phần mềm (điều khiển lò phản ứng hạt nhân, dẫn đường máy bay, hệ thống vũ khí, quá trình công nghiệp phạm vi rộng . . .) đòi hỏi sự an toàn cao. An toàn phần mềm là một hoạt động bảo đảm chất lượng phần mềm tập trung vào việc minh định và đánh giá các mối nguy hiểm tiềm ẩn có thể gây ảnh hưởng phản tác dụng, thậm chí gây ra thất bại toàn hệ thống. III. An toàn phần mềm 2005 Bộ môn CNFM – Đại học Công nghệ 46 NguyÔn V¨n Vþ a. Khái niệm an toàn phần mềm Quá trình mô hình hoá và phân tích được thực hiện như một phần của an toàn phần mềm nhằm phát hiện vấn đề. Thoạt tiên minh định và đánh giá có phê phán các rủi ro, các mối nguy hiểm tiềm ẩn. Sau đó dùng các kỹ thuật phân tích để đánh giá độ nghiêm trọng và xác suất xuất hiện. 2005 Bộ môn CNFM – Đại học Công nghệ 47 NguyÔn V¨n Vþ a. Khái niệm an toàn phần mềm (t) Để có hiệu quả, cần phải phân tích phần mềm trong ngữ cảnh của toàn hệ thống. Có thể dùng các kỹ thuật phân tích như “phân tích cây lỗi”, logic thời gian thực, mô hình lưới PETRY 2005 Bộ môn CNFM – Đại học Công nghệ 48 NguyÔn V¨n Vþ Phân tích cây lỗi: dựng lên một mô hình đồ thị của các tổ hợp tuần tự và song song các sự kiện dẫn đến một sự kiện mạo hiểm hoặc một trạng thái hệ thống mạo hiểm. Dùng một cây lỗi phát triển tốt có thể quan sát được hậu quả của một dãy các thất bại liên kết với nhau, xuất hiện trong các thành phần khác nhau của hệ thống. b. Các phương pháp phân tích an toàn 2005 Bộ môn CNFM – Đại học Công nghệ 49 NguyÔn V¨n Vþ Dùng Logic thời gian thực xây dựng mô hình hệ thống bằng cách đặc tả các sự kiện và các hành động tương ứng. Mô hình sự kiện – hành động có thể được phân tích bằng cách dùng các toán tử logic để thử nghiệm các quyết đoán an toàn đối với các thành phần của hệ thống và định thời gian cho chúng.. Mô hình lưới PETRY có thể dùng để xác định xem lỗi nào là nghiêm trọng nhất. b. Các phương pháp phân tích an toàn (t) 2005 Bộ môn CNFM – Đại học Công nghệ 50 NguyÔn V¨n Vþ Sau khi minh định và phân tích các hiểm họa, đặc tả các yêu cầu liên quan đến an toàn phần mềm. Đặc tả có thể chứa một danh sách các sự kiện không mong muốn và các đáp ứng của hệ thống. Như vậy vai trò của phần mềm trong việc quản lý các sự kiện không mong muốn là đã được chỉ rõ. Xem xét các con đường có thể dẫn đến kết quả thất bại; Tìm các gải pháp có thể ngăn ngừa các khả năng xẩy ra b. Các phương pháp phân tích an toàn(t) 2005 Bộ môn CNFM – Đại học Công nghệ 51 NguyÔn V¨n Vþ Tâm lý: nhiều nhà quản lý và thực hành không muốn thiết lập các chức năng bảo đảm chất lượng phần mềm do: Vì phải miễn cưỡng tự tạo ra khoản mục chi. Nhà thực hành cảm thấy mình đã làm đủ mọi việc cần làm. Không ai biết đặt một chức năng đó như thế nào Tiến trình: Khảo sát nhu cầu Lập kế hoạch Triển khai III Triển khai SQA 2005 Bộ môn CNFM – Đại học Công nghệ 52 NguyÔn V¨n Vþ Mọi tổ chức phát triển phần mềm đều có cơ chế đánh giá chất lượng. Ở mức thấp nhất, chất lượng là trách nhiệm của tinh thần cá nhân các kỹ sư, người rà soát, người thử nghiệm ở từng mức thích hợp. Ở mức cao nhất có nhóm SQA chuyên môn hoá với trách nhiệm thiết lập các chuẩn và các thủ tục để đạt được chất lượng phần mềm và có trách nhiệm bảo đảm các chuẩn và thủ tục đó được tuân thủ. Câu hỏi cho mọi tổ chức khi bắt đầu: Ta đang ở đâu? a. Khảo sát nhu cầu SQA 2005 Bộ môn CNFM – Đại học Công nghệ 53 NguyÔn V¨n Vþ Trước hết mọi tổ chức phát triển phần mềm nên chấp nhận các thủ tục, phương pháp và các công cụ của kỹ nghệ phần mềm (các nhân tố kỹ thuật). Tiếp theo cố gắng để tạo ra các thủ tục bảo đảm chất lượng phần mềm là một kiểm toán SQA/SCM Đánh giá hiện trạng SQA và SCM (quản lý cấu hình phần mềm) của tổ chức bằng việc khảo sát ba chủ đề sau. a. Khảo sát nhu cầu SQA (t) 2005 Bộ môn CNFM – Đại học Công nghệ 54 NguyÔn V¨n Vþ Kiểm kê các chính sách SQA: chính sách, thủ tục, chuẩn nào đã có trong các pha phát triển? Đánh giá vai trò của kỹ nghệ phần mềm, bảo đảm chất lượng trong tổ chức hiện tại có quyền lực đến đâu? Đánh giá mối quan hệ SQA: Giao diện chức năng giữa SQA với các đơn vị khác như là thế nào? với các người thực hiện rà soát kỹ thuật chính thức, quản lý cấu hình và thử nghiệm a. Khảo sát nhu cầu SQA (t) 2005 Bộ môn CNFM – Đại học Công nghệ 55 NguyÔn V¨n Vþ Một khi ba câu hỏi trên đã được trả lời thì mức độ mạnh hay yếu đã được minh định. Nếu có nhu cầu SQA thì cần phải tiến hành đánh giá cẩn thận bằng quy tắc bỏ phiếu. a. Khảo sát nhu cầu SQA (t) 2005 Bộ môn CNFM – Đại học Công nghệ 56 NguyÔn V¨n Vþ SQA có những lợi ích sau đây: Phần mềm có ít các khiếm khuyết tiếm ẩn hơn, do đó mất ít công sức và thời gian kiểm thử và bảo trì. Độ tin cậy cao hơn và do đó khách hàng thoả mãn hơn Giảm phí tổn bảo trì Giảm phí tổn tổng thể toàn bộ vòng đời của phần mềm b. Lợi ích SQA 2005 Bộ môn CNFM – Đại học Công nghệ 57 NguyÔn V¨n Vþ Triển khai SQA có những vấn đề sau đây: Khó thiết lập trong một tổ chức nhỏ: vì thiếu nguồn lực để thực hiện các hoạt động cần thiết mà hiện chưa có Cần sự thay đổi có tính văn hoá: nên chẳng bao giờ dễ dàng thực hiện Tốn không ít công sức và tiền của c. Vấn đề của SQA 2005 Bộ môn CNFM – Đại học Công nghệ 58 NguyÔn V¨n Vþ Nguyên tắc Chi phí: ở mức cơ bản SQA được xem là hiệu quả về chi phí nếu C3 > C1 + C2 Ở đây: C3 là chi phí từ các sai do không có SQA C1 là chi phí cho SQA của chương trình C2 là chi phí do các sai không tìm thấy khi chương trình đã có SQA d. Nguyên tắc triển khai SQA 2005 Bộ môn CNFM – Đại học Công nghệ 59 NguyÔn V¨n Vþ Theo ANSI/IEEE STANDARDS 30-1984 và 983-1986, Kế hoạch SQA bao gồm: Mục đích của kế hoạch Tài liệu tham khảo Quản lý • Tổ chức • Các nhiệm vụ • Các trách nhiệm e. Lập kế hoạch và chuẩn SQA 2005 Bộ môn CNFM – Đại học Công nghệ 60 NguyÔn V¨n Vþ Nội dung kế hoạch SQA: Tài liệu Mục đích Tài liệu công nghệ phần mềm được yêu cầu Các tài liệu khác Các chuẩn, các luật lệ và các quy ước Mục đích Các quy ước e1. Kế hoạch SQA 2005 Bộ môn CNFM – Đại học Công nghệ 61 NguyÔn V¨n Vþ KH rà soát và kiểm toán Mục đích Các nội dung rà soát: • Rà soát yêu cầu phần mềm • Rà soát thiết kế • Rà soát xác minh và thẩm mịnh • Kiểm toán chức năng • Kiểm toán vật lý • Kiểm toán bên trong quá trinh • Kiểm toán quản lý e2. Kế hoạch rà soát & kiểm toán 2005 Bộ môn CNFM – Đại học Công nghệ 62 NguyÔn V¨n Vþ Kế hoạch khác SQA Quản lý cấu hình phần mềm Báo cáo và chỉnh sửa Khống chế mã Khống chế phương tiện Khống chế nhà cung cấp Thu thập, bảo trì và bảo quản các báo cáo e3. Các kế hoạch khác của SQA 2005 Bộ môn CNFM – Đại học Công nghệ 63 NguyÔn V¨n Vþ Các chuẩn SQA DOD-STD-2167A: công nghệ phần mềm DOD-STD-2168: đánh giá chất lượng phần mềm FAA-STD-018: chuẩn SQA cho FAA IEEE Sst. 730-1984: kế hoạch SQA IEEE Sst. 983-1986: lập kế hoạch SQA IEEE Sst. 1028-1988: kiểm toán và rà soát phần mềm IEEE Sst. 1012-1986: kế hoạch kiểm thử và thẩm định phần mềm e4. Các chuẩn SQA
File đính kèm:
- Bài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Đo chất lượng và an toàn.pdf