Chất lượng là gì?
Khái niệm về phần mềm
Chất lượng phần mềm?
Khủng hoảng phần mềm
QA vs. QC
Những nhiệm vụ chính của QC
Những nhiệm vụ chính của QA
Những kỹ năng của QC
Những kỹ năng của QA
Những chứng nhận quốc tế của QA & QC
                
              
                                            
                                
            
                       
            
                 28 trang
28 trang | 
Chia sẻ: thuychi16 | Lượt xem: 1173 | Lượt tải: 2 
              
            Bạn đang xem trước 20 trang tài liệu Đảm bảo và kiểm soát chất lượng - Ôn tập, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẢM BẢO VÀ KIỂM SOÁT 
CHẤT LƯỢNG 
HCM – 10/2012 
Ôn Tập 
1 5/14/2014 
Chương 1: 
Tổng quát về Đảm Bảo và Kiểm Soát chất lượng 
phần mềm 
Chất lượng là gì? 
Khái niệm về phần mềm 
Chất lượng phần mềm? 
Khủng hoảng phần mềm 
QA vs. QC 
Những nhiệm vụ chính của QC 
Những nhiệm vụ chính của QA 
Những kỹ năng của QC 
Những kỹ năng của QA 
Những chứng nhận quốc tế của QA & QC 
5/14/2014 Trang 2 
Chương 1: 
Tổng quát về Đảm Bảo và Kiểm Soát chất lượng 
phần mềm 
Những đặc tính nào sau đây không 
được dùng để đo chất lượng phần 
mềm? 
 Khả năng thay đổi được (Changeability) 
 Tính hấp dẫn (Attractiveness) 
 Khả năng chịu lỗi (Fault tolerant) 
 Tính thừa kế (Inheritance) 
5/14/2014 Trang 3 
Chương 1: 
Tổng quát về Đảm Bảo và Kiểm Soát chất lượng 
phần mềm 
Nhiệm vụ nào sau đây là nhiệm vụ của 
QC? 
 Kiểm thử và sửa lỗi 
 Báo cáo về những sai phạm về quy trình 
 Báo cáo lỗi 
 Ngăn ngừa lỗi có thể xuất hiện 
5/14/2014 Trang 4 
Chương 2: 
Các yếu tố cơ bản trong kiểm soát chất lượng 
phần mềm 
Quy trình phát triển phần mềm 
Tại sao phải kiểm soát (testing) phần 
mềm? 
 Tại sao phải kiểm soát (testing)? 
 Nguyên nhân gây ra các khiếm khuyết 
Testing là gì? 
 Testing phần mềm là gì? 
 Quan hệ testing và chất lượng 
 Khác biệt giữa Gỡ rối(Debug) và Testing 
5/14/2014 Trang 5 
Chương 2: 
Các yếu tố cơ bản trong kiểm soát chất lượng 
phần mềm 
Những nguyên lý tổng quát trong 
testing 
 Phơi bày biểu hiện của khiếm khuyết 
 Không thể vét cạn hết các trường hợp 
 Testing sớm 
 Gom nhóm các khiếm khuyết 
 Nghịch lý thuốc trừ sâu (Pesticide paradox) 
 Phụ thuộc ngữ cảnh 
 Ảo tưởng “không lỗi” (Absence-of-errors 
fallacy) 
5/14/2014 Trang 6 
Chương 2: 
Các yếu tố cơ bản trong kiểm soát chất lượng 
phần mềm 
Quy trình Testing cơ bản 
 Lập kế hoạch & Kiểm soát Test 
 Phân tích thiết kế Test-Case 
 Thực hiện Test 
 Đánh giá - Lập báo cáo 
 Kết thúc Testing 
Triết lý của việc Testing 
 Ai sẽ thực hiện testing chương trình 
 Kỹ năng giao tiếp 
Những định nghĩa cơ bản 
 Defect Density (mật độ lỗi) 
 Coverage (độ bao phủ) 
5/14/2014 Trang 7 
Chương 2: 
Các yếu tố cơ bản trong kiểm soát chất lượng 
phần mềm 
Yếu tố nào sau đây không phải là 
nguyên nhân gây ra khiếm khuyết 
(Bug)? 
 Tính không cẩn thận 
 Quá tập trung vào chi tiết 
 Áp lực về thời gian 
 Sử dụng code của người khác 
5/14/2014 Trang 8 
Chương 2: 
Các yếu tố cơ bản trong kiểm soát chất lượng 
phần mềm 
Nguyên lý “Không thể vét cạn hết các 
trường hợp” có mục đích: 
 Phải lựa chọn người QC phù hợp 
 Giúp xác định những trường hợp dễ kiểm 
thử 
 Giúp xác định những trường hợp không 
cần kiểm thử 
 Giúp xác định những yêu cầu đặc biệt của 
khách hàng 
5/14/2014 Trang 9 
Chương 3: 
Các kỹ thuật cơ bản về kiểm soát chất lượng 
phần mềm 
Các pha trong qui trình 
 Phân tích yêu cầu 
 Thiết kế phần mềm 
 Lập trình 
 Kiểm nghiệm phần mềm 
 Triển khai và bảo trì 
Những mô hình phát triển phần mềm 
 Mô hình tháp nước 
 Mô hình chữ V 
 Mô hình phát triển lặp gia tăng 
5/14/2014 Trang 10 
Chương 3: 
Các kỹ thuật cơ bản về kiểm soát chất lượng 
phần mềm 
Các mức kiểm tra 
 Kiểm tra thành phần/đơn vị (Component (Unit) 
Test) 
 Kiểm tra tích hợp (Intergration Test) 
 Kiểm tra hệ thống (System Test) 
 Kiểm tra chấp nhận (Acceptance Test) 
Các kiểu kiểm tra 
 Kiểm thử chức năng (Function Test) 
 Kiểm tra Phi chức năng (Non-Functional Test) 
 Kiểm thử hồi quy (Regression Test) 
5/14/2014 Trang 11 
Chương 3: 
Các kỹ thuật cơ bản về kiểm soát chất lượng 
phần mềm 
Chiến lược kiểm thử Sandwich là chiến 
lược được áp dụng tại mức kiểm thử: 
 Kiểm tra thành phần/đơn vị (Component (Unit) 
Test) 
 Kiểm tra tích hợp (Intergration Test) 
 Kiểm tra hệ thống (System Test) 
 Kiểm tra chấp nhận (Acceptance Test) 
5/14/2014 Trang 12 
Chương 3: 
Các kỹ thuật cơ bản về kiểm soát chất lượng 
phần mềm 
Khách hàng mong muốn trang Web của 
họ phải có thể hoạt động 24/7. Nếu bạn 
là 1 QC bạn nên áp dụng phương pháp 
kiểm thử gì 
 Kiểm thử hồi quy (Regression Test) 
 Kiểm thử chức năng (Function Test) 
 Kiểm tra Phi chức năng (Non-Functional 
Test) 
 Kiểm tra thành phần/đơn vị (Component (Unit) 
Test) 
5/14/2014 Trang 13 
Chương 3: 
Các kỹ thuật cơ bản về kiểm soát chất lượng 
phần mềm 
Tính chất nào là cần thiết cho tất cả các 
mô hình phát triển phần mềm: 
 Mỗi mức kiểm tra phải có cùng mục tiêu 
 Nên có nhiều thời gian cho kiểm thử hơn 
thời gian cho phát triển (Development) 
 Thiết kế Test-Case chỉ bắt đầu khi giai 
đoạn hiện thực (Development) đã hoàn 
thành 
 QC nên bắt đầu đọc những tài liệu liên 
quan sớm nhất có thể 
 5/14/2014 Trang 14 
Chương 4: 
Các kỹ thuật kiểm tra tĩnh 
 Các phương pháp Testing 
 Kiểm thử tĩnh 
 Kiểm thử động 
 „Các kiểu rà soát (Review) 
 Kiểm lại (Desk checking) 
 Lần bước (Walkthrough) 
 Peer Review 
 Rà soát (Inspection) 
 Phân tích tĩnh 
 Những tiêu chuẩn code (coding standards) 
 Cấu trúc luồng điều khiển (control flow structure) 
 Cấu trúc luồng dữ liệu (data flow structure ) 
5/14/2014 Trang 15 
Chương 4: 
Các kỹ thuật kiểm tra tĩnh 
 Những lỗi nào sau đây được tìm thấy bằng phương 
pháp rà soát (Review) hơn là kiểm thử trực tiếp 
chương trình 
 a) Không tuân theo chuẩn code (coding standards) 
 b) Lỗi trong việc hiện thực những Interface 
 c) Code không tốt cho việc bảo trì 
 d) Code không đạt về tốc độ (performance) 
 e) Những lỗi trong tài liệu yêu cầu 
 A) a,c,e 
 B) a,b,d 
 C) b,d,e 
 D) a,c,d 
5/14/2014 Trang 16 
Chương 4: 
Các kỹ thuật kiểm tra tĩnh 
Những phát biểu nào sau đây là đúng: 
 Kiểm thử động không cần phải chạy 
chương trình 
 Rà soát (Review) tài liệu có thể dùng công 
cụ mà không cần người tham gia 
 Chi phí sửa lỗi của kiểm thử động thường 
cao hơn kiểm thử tĩnh 
 Kiểm thử động thường gồm nhiều buổi 
meeting hơn kiểm thử tĩnh 
5/14/2014 Trang 17 
Chương 5: 
Các kỹ thuật kiểm tra động 
 Tổng quan về kiểm thử động 
 Kiểm thử hộp đen 
 Phân hoạch tương đương 
 Phân tích giá trị biên 
 Sơ đồ chuyển trạng thái 
 Bảng quyết định 
 Đồ thị Nhân quả 
 Kiểm thử hộp trắng 
 Luồng điều khiển 
 Kỹ thuật dựa trên kinh nghiệm 
 Chọn kỹ thuật kiểm thử 
5/14/2014 Trang 18 
Chương 5: 
Các kỹ thuật kiểm tra động 
Một cửa hàng bán hàng qua mạng với 
yêu cầu mỗi lần đặt hàng: ít nhất là 5 
sản phẩm và nếu số lượng sản phẩm 
bằng hay nhiều hơn 100 thì sẽ giảm giá 
20%. Nếu áp dụng phương pháp phân 
tích giá trị biên thì bạn sẽ nhập số 
lượng hàng bao nhiêu: 
 5,6,20 
 4,5,80 
 4,5,100 
 5,20,100 
5/14/2014 Trang 19 
Chương 5: 
Các kỹ thuật kiểm tra động 
 Cho bảng quyết định sau 
5/14/2014 Trang 20 
 Test case và kết quả mong đợi sau đây là hợp lệ: 
 23 tuổi với Insurance Class là A thì Premium là 90 và Excess là 
2500 
 51 tuổi với Insurance Class là C thì Premium là 70 và Excess là 
500 
 31 tuổi với Insurance Class là B thì Premium là 90 và Excess là 
2500 
 43 tuổi với Insurance Class là C thì Premium là 70 và Excess là 
1000 
Chương 5: 
Các kỹ thuật kiểm tra động 
 Cho đoạn code sau: 
Read A 
Read B 
IF A < 0 THEN 
 Print “A negative” 
ELSE 
 Print “A positive” 
ENDIF 
IF B < 0 THEN 
 Print “B negative” 
ELSE 
 Print “B positive” 
ENDIF 
 Xác định số lượng Test case ít nhất để có thể đạt độ phủ 
100% cho câu lệnh và 100% cho nhánh 
 Độ phủ câu lệnh = 1, Độ phủ cho nhánh = 3 
 Độ phủ câu lệnh = 2, Độ phủ cho nhánh = 3 
 Độ phủ câu lệnh = 2, Độ phủ cho nhánh = 2 
 Độ phủ câu lệnh = 3, Độ phủ cho nhánh = 3 
5/14/2014 Trang 21 
Chương 5: 
Các kỹ thuật kiểm tra động 
 Cho lược đồ luồng sau 
 Hiện đang có 1 Test case đi qua 
A, B, D và G. Cần phải thêm 
những Test case nào sau đây để 
đảm bảo đạt 100% độ phủ câu 
lệnh và độ phủ nhánh 
 Test case đi qua A, C, D, E, F, E 
và G 
 Test case đi qua A, B, D, E và G 
 Test case đi qua A, C, D, E, F, E 
và G; Và Test case đi qua A, B, 
D, E và G 
 Test case đi qua A, C, D và G 
5/14/2014 Trang 22 
Chương 6: 
Tổng quan về chuẩn chất lượng CMMI 
 Giới thiệu về mô hình CMMI 
 Nguyên nhân ra đời 
 Định nghĩa 
 Lịch sử phát triển 
 Phạm vi 
 Lợi ích 
 Thực trạng 
 Những khái niệm chính trong CMMI 
 CMMI là gì? 
 Những thành phần trong mô hình CMMI 
 Những kiểu mô hình CMMI 
 Những dạng thể hiện CMMI 
 Những cấp độ trong CMMI 
 SCAMPI: A, B and C 
 Tất cả mọi người đều có thế sử dụng CMMI? 
 5/14/2014 Trang 23 
Chương 6: 
Tổng quan về chuẩn chất lượng CMMI 
Chọn phát biểu sai về CMMI: 
 CMMI ra đời vì có quá nhiều mô hình, 
nhiều chuẩn không thống nhất 
 CMMI giúp chúng ta tối ưu những đoạn 
code dư thừa 
 CMMI giúp đào tạo và đánh giá nhân viên 
tốt hơn 
 Một số công ty ở VN đã đạt được CMMI 
mức 5 
5/14/2014 Trang 24 
Chương 6: 
Tổng quan về chuẩn chất lượng CMMI 
Tiêu chuẩn nào được viện kỹ nghệ Mỹ 
(SEI) sử dụng để thẩm định CMMI cho 
các công ty 
 CMM (Capability Maturity Model) và 
SCAMPI (Standard CMMI Appraisal 
Method for Process Improvement) 
 CMMI-DEV (development) 
 SCAMPI (Standard CMMI Appraisal 
Method for Process Improvement) 
 CMM (CapabilityMaturity Model) 
5/14/2014 Trang 25 
Chương 9: 
Quy trình lên kế hoạch dự án 
5/14/2014 Trang 26 
Planning 
Data 
Establish 
Estimates 
Obtain 
Commitment 
to the Plan 
Develop a 
Project Plan 
Project 
Plans 
Project 
Monitoring and 
Control 
SG1 SG2 
SG3 
Chương 7-10 
Hãy sắp xếp theo thứ tự những bước khi 
lên kế hoạch 1 dự án (Project Planning) 
I. Xác định những rủi ro 
II. Lên kế hoạch cho tài nguyên dự án 
(resource): nhân sự, thiết bị 
III. Xác định những chức năng chính trong dự 
án 
IV. Rà soát lại kế hoạch 
a) i,ii,iii,iv 
b) iii,i,ii,iv 
c) iii,iv,i,ii 
d) ii,iii,i,iv 
5/14/2014 Trang 27 
ĐẢM BẢO VÀ KIỂM SOÁT 
CHẤT LƯỢNG 
28 5/14/2014