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

pdf63 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2492 | Lượt tải: 2download
Tóm tắt nội dung 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, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfBà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