Đảm bảo và kiểm soát chất lượng - Ôn tập

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

pdf28 trang | Chia sẻ: thuychi16 | Lượt xem: 941 | Lượt tải: 2download
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