SlideShare a Scribd company logo
ĐẢ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

More Related Content

Similar to tailieuxanh_ontap_26.pdf

3-Requirements_VI.pdf
3-Requirements_VI.pdf3-Requirements_VI.pdf
3-Requirements_VI.pdf
EllieHuynh3
 
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memHe thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
Viet Hung Vu
 
Kiem thu
Kiem thuKiem thu
Kiem thu
Van Tiep Dinh
 
6 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 20216 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 2021
MDuyn83
 
Danh gia chat luong san pham mem
Danh gia chat luong san pham memDanh gia chat luong san pham mem
Danh gia chat luong san pham memUDCNTT
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nguyễn Anh
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Nguyễn Anh
 
Chương 1.pdf
Chương 1.pdfChương 1.pdf
Chương 1.pdf
ChauNguyenThiMinh6
 
Effectivesoftwaretesting 131104102937-phpapp01
Effectivesoftwaretesting 131104102937-phpapp01Effectivesoftwaretesting 131104102937-phpapp01
Effectivesoftwaretesting 131104102937-phpapp01Thanh Danh
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Nguyễn Anh
 
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
nataliej4
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggg
HngPhmTh35
 
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình CĐề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Cnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinhCnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinhKy Vo
 
Bài giảng quản lý chất lượng phần mềm (quality management)
Bài giảng quản lý chất lượng phần mềm (quality management)Bài giảng quản lý chất lượng phần mềm (quality management)
Bài giảng quản lý chất lượng phần mềm (quality management)
jackjohn45
 
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
DuongDo35
 

Similar to tailieuxanh_ontap_26.pdf (20)

3-Requirements_VI.pdf
3-Requirements_VI.pdf3-Requirements_VI.pdf
3-Requirements_VI.pdf
 
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memHe thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
 
Kiem thu
Kiem thuKiem thu
Kiem thu
 
6 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 20216 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 2021
 
Danh gia chat luong san pham mem
Danh gia chat luong san pham memDanh gia chat luong san pham mem
Danh gia chat luong san pham mem
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Chương 1.pdf
Chương 1.pdfChương 1.pdf
Chương 1.pdf
 
01 tester training - overview
01  tester training - overview01  tester training - overview
01 tester training - overview
 
Effectivesoftwaretesting 131104102937-phpapp01
Effectivesoftwaretesting 131104102937-phpapp01Effectivesoftwaretesting 131104102937-phpapp01
Effectivesoftwaretesting 131104102937-phpapp01
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
 
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggg
 
Effective software testing
Effective software testingEffective software testing
Effective software testing
 
Mục tiêu
Mục tiêuMục tiêu
Mục tiêu
 
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình CĐề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
 
Kiem thu
Kiem thuKiem thu
Kiem thu
 
Cnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinhCnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinh
 
Bài giảng quản lý chất lượng phần mềm (quality management)
Bài giảng quản lý chất lượng phần mềm (quality management)Bài giảng quản lý chất lượng phần mềm (quality management)
Bài giảng quản lý chất lượng phần mềm (quality management)
 
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
 

tailieuxanh_ontap_26.pdf

  • 1. ĐẢM BẢO VÀ KIỂM SOÁT CHẤT LƯỢNG HCM – 10/2012 Ôn Tập 1 5/14/2014
  • 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 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
  • 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 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
  • 4. 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
  • 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 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
  • 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 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
  • 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 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
  • 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 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
  • 9. 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
  • 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 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
  • 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 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
  • 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 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
  • 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 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. ĐẢM BẢO VÀ KIỂM SOÁT CHẤT LƯỢNG 28 5/14/2014