Microsoft PowerPoint 09 SE Software Testing [Compatibility Mode] KiểmKiểm nghiệmnghiệm phầnphần mềmmềm GV GV NguyễnNguyễn Minh Minh HuyHuy KiểmKiểm nghiệmnghiệm phầnphần mềmmềm 1Nhập môn Công Nghệ Phầ[.]
Trang 1GV
GV NguyễnNguyễn Minh Minh HuyHuy
Kiểm
Trang 2Khái Khái niệm niệm kiểm kiểm nghiệm nghiệm
Các Các hình hình thức thức kiểm kiểm nghiệm nghiệm
Quy Quy trình trình kiểm kiểm nghiệm nghiệm
Trang 3Khái Khái niệm niệm kiểm kiểm nghiệm nghiệm
Các Các hình hình thức thức kiểm kiểm nghiệm nghiệm
Quy Quy trình trình kiểm kiểm nghiệm nghiệm
Trang 4Kiểm Kiểm và và Nghiệm Nghiệm (V & V): (V & V):
Ý nghĩa Phần mềm có đúng với
đặc tả?
Phần mềm có thỏa mãn nhu cầu Stakeholders??
Mục tiêu Phát hiện lỗi cài đặt Phát hiện hiểu sai Mục tiêu Phát hiện lỗi cài đặt Phát hiện hiểu sai
Build the thing right?? Build the right thing??
Đối tượng thực hiện Đội ngũ phát triển Stakeholders
Cách thức thực hiện Vận hành hoặc không
vận hành phần mềm
Vận hành phần mềm
Trang 5Phân Phân loại loại Verification: Verification:
Kiểm Kiểm tra tra động động (dynamic verification): (dynamic verification):
KiểmKiểm tratra bằngbằng vậnvận hànhhành, , dùngdùng thửthử
KiểmKiểm thửthử phầnphần mềmmềm (software testing).(software testing)
KiểmKiểm tratra hộphộp đenđen (black(black box testing).box testing)
DựaDựa trêntrên đầuđầu vàovào vàvà đầuđầu rara
DựaDựa trêntrên đầuđầu vàovào vàvà đầuđầu rara
ƯuƯu điểmđiểm::
Ít Ít tốn tốn kém kém ((phần phần mềm mềm bình bình thường thường) ).
Kiểm Kiểm tra tra yêu yêu cầu cầu phi phi chức chức năng năng
NhượcNhược điểmđiểm::
Tốn Tốn kém kém ((phần phần mềm mềm chuyên chuyên dụng dụng) ).
Phần Phần mềm mềm phải phải hoàn hoàn thành thành
Có Có thể thể bỏ bỏ sót sót lỗi lỗi
Trang 6Phân Phân loại loại Verification: Verification:
Kiểm Kiểm tra tra tĩnh tĩnh (static verification): (static verification):
KiểmKiểm tratra bằngbằng xétxét duyệtduyệt, , chứngchứng minhminh
KiểmKiểm chứngchứng phầnphần mềmmềm
KiểmKiểm tratra hộphộp trắngtrắng (white(white box testing).box testing)
DựaDựa trêntrên nộinội dung dung bênbên trongtrong
DựaDựa trêntrên nộinội dung dung bênbên trongtrong
ƯuƯu điểmđiểm::
Không Không cần cần hoàn hoàn thành thành phần phần mềm mềm
Không Không cần cần vận vận hành hành
Phát Phát hiện hiện được được lỗi lỗi tìm tìm ẩn ẩn
NhượcNhược điểmđiểm::
Chi Chi phí phí nhân nhân công công
Cần Cần đội đội ngũ ngũ kinh kinh nghiệm nghiệm
Tốn Tốn thời thời gian gian, , công công sức sức
Trang 7Phân Phân loại loại Validation: Validation:
Nghiệm Nghiệm thu thu Alpha (Alpha Testing): Alpha (Alpha Testing):
NghiệmNghiệm thuthu cócó giớigiới hạnhạn
TriểnTriển khaikhai thíthí điểmđiểm
ChọnChọn lọclọc đốiđối tượngtượng thamtham giagia
VậnVận hànhhành cócó kiểmkiểm soátsoát
VậnVận hànhhành cócó kiểmkiểm soátsoát
Nghiệm Nghiệm thu thu Beta (Beta Testing): Beta (Beta Testing):
NghiệmNghiệm thuthu khôngkhông giớigiới hạnhạn
TriểnTriển khaikhai đạiđại tràtrà
KhôngKhông hạnhạn chếchế đốiđối tượngtượng thamtham giagia
VậnVận hànhhành tựtự do.do
Trang 8Tóm Tóm tắt tắt các các loại loại kiểm kiểm nghiệm nghiệm::
Kiểm tra (Verification) Nghiệm thu (Validation)
(Testing)
Kiểm chứng (tĩnh) (Static Verification)
(Alpha Testing)
Nghiệm thu Beta (Beta Testing)
Trang 9Khái Khái niệm niệm kiểm kiểm nghiệm nghiệm
Các Các hình hình thức thức kiểm kiểm nghiệm nghiệm
Quy Quy trình trình kiểm kiểm nghiệm nghiệm
Trang 10Kỹ Kỹ thuật thuật kiểm kiểm tra tra tĩnh tĩnh::
Thanh Thanh tra tra phần phần mềm mềm (Software Inspection): (Software Inspection):
MichealMicheal Fagan Fagan đềđề xuấtxuất 1979.1979
KiểmKiểm tratra bằngbằng cáchcách đọcđọc nộinội dung.dung
ĐộiĐội ngũngũ thanhthanh tratra độcđộc lậplập
ƯuƯu điểmđiểm::
ƯuƯu điểmđiểm::
Có Có thể thể thực thực hiện hiện ở ở mỗi mỗi pha pha
Rất Rất hiệu hiệu quả quả để để tìm tìm lỗi lỗi
KhuyếtKhuyết điểmđiểm::
Đội Đội ngũ ngũ nhiều nhiều kinh kinh nghiệm nghiệm
Tốn Tốn kém kém thời thời gian gian và và chi chi phí phí
Trang 11Kỹ Kỹ thuật thuật kiểm kiểm tra tra tĩnh tĩnh::
Model Checking:
KiểmKiểm tratra bằngbằng cáchcách chứngchứng minh.minh
Mô Mô hình hình toán toán học học sản sản phẩm phẩm kiểm kiểm tra tra
Chứng Chứng minh minh mô mô hình hình đúng đúng đắn đắn
ThựcThực hiệnhiện ở ở phapha phânphân tíchtích, , thiếtthiết kếkế
ƯuƯu điểmđiểm::
Kiểm Kiểm tra tra đúng đúng đắn đắn hoàn hoàn toàn toàn
Có Có thể thể thực thực hiện hiện tự tự động động
KhuyếtKhuyết điểmđiểm::
Phức Phức tạp tạp để để mô mô hình hình hóa hóa
Chưa Chưa có có công công cụ cụ tự tự động động hiệu hiệu quả quả
Trang 12Kỹ Kỹ thuật thuật kiểm kiểm tra tra động động::
Test Case:
KiểmKiểm tratra đầuđầu vàovào đầuđầu rara
DùngDùng kịchkịch bảnbản kiểmkiểm thửthử
CácCác đốiđối tượngtượng kiểmkiểm tratra::
Một Một đoạn đoạn mã mã nguồn nguồn
Dữ liệu đầu vào
Một Một đoạn đoạn mã mã nguồn nguồn
Một Một tình tình huống huống Use Case Use Case.
Một Một chức chức năng năng hoàn hoàn chỉnh chỉnh
NộiNội dung Test Case:dung Test Case:
Ngữ Ngữ cảnh cảnh kiểm kiểm tra tra
Dữ Dữ liệu liệu đầu đầu vào vào
Kết Kết quả quả đầu đầu ra ra mong mong đợi đợi
Các Các bước bước thực thực hiện hiện
Kết quả mong đợi
Kết quả thực tế
Trang 13Test Case Test Case tình tình huống huống ““Nhập Nhập sách sách thất thất bại bại”: ”:
Test Case Nhập sách thất bại
Related Use Case Nhập sách mới
Context Đăng nhập với quyền “Thủ thư”
Input Data Tên sách: Chiến tranh và Hòa bình
Tác giả: (trống) Tác giả: (trống) Nhà xuất bản: (trống)
Số tập: 2 tập w
Expected Output Hiện thông báo “Lỗi: Thông tin sách bạn nhập vào không đầy đủ!”.
Thông tin sách không được lưu vào cơ sở dữ liệu.
Test Steps 1 Đăng nhập vào hệ thống: (username “nmhuy”, password “12345”
2 Chọn chức năng “Nhập sách mới” (menu “Sách / Nhập sách”)
3 Nhập thông tin như Input Data.
4 Nhấn nút cập nhật.
Trang 14Khái Khái niệm niệm kiểm kiểm nghiệm nghiệm
Các Các hình hình thức thức kiểm kiểm nghiệm nghiệm
Quy Quy trình trình kiểm kiểm nghiệm nghiệm
Trang 15Mô Mô hình hình chữ chữ V (V V (V Model): Model):
Requirement Analysis
System Testing
Acceptance Testing
Project Planning
Analysis
Coding
Software Design
Testing
Integration Testing
Unit Testing
Trang 16Các Các pha pha kiểm kiểm nghiệm nghiệm::
Kiểm Kiểm thử thử đơn đơn vị vị (Unit Testing): (Unit Testing):
KiểmKiểm tratra từngtừng đơnđơn vịvị lậplập trìnhtrình
CácCác hàmhàm trongtrong mãmã nguồnnguồn
ThựcThực hiệnhiện trongtrong môimôi trườngtrường côcô lậplập
LậpLập trìnhtrình viênviên thựcthực hiệnhiện
LậpLập trìnhtrình viênviên thựcthực hiệnhiện
Unit Test Case:
Unit Test Case Chia cho số không
Context (Không có)
Method Number.divide(float a, float b)
Input Data a = 5
b = 0
Expected Output Exception: Divided by zero
Trang 17Các Các pha pha kiểm kiểm nghiệm nghiệm::
Kiểm Kiểm thử thử tích tích hợp hợp (Sub (Sub system Testing) system Testing).
KiểmKiểm tratra mộtmột nhómnhóm đơnđơn vịvị lậplập trìnhtrình
KiểmKiểm tratra sựsự phốiphối hợphợp hoạthoạt độngđộng
Dancing testing.Dancing testing
ThựcThực hiệnhiện trongtrong môimôi trườngtrường tíchtích hợphợp
ThựcThực hiệnhiện trongtrong môimôi trườngtrường tíchtích hợphợp
Trang 18Các Các pha pha kiểm kiểm nghiệm nghiệm::
Kiểm Kiểm thử thử hệ hệ thống thống (System Testing) (System Testing).
KiểmKiểm tratra toàntoàn bộbộ hệhệ thốngthống
HệHệ thốngthống hoạthoạt độngđộng nhưnhư đặcđặc tảtả??
ThựcThực hiệnhiện trongtrong môimôi trườngtrường giảgiả lậplập
PhânPhân loạiloại::
PhânPhân loạiloại::
Functional Testing.
Non Non functional Testing functional Testing.
Trang 19Các Các pha pha kiểm kiểm nghiệm nghiệm::
Nghiệm Nghiệm thu thu phần phần mềm mềm (Acceptance Testing) (Acceptance Testing).
KháchKhách hànghàng dùngdùng thửthử
HệHệ thốngthống thỏathỏa mãnmãn nhunhu cầucầu??
ThựcThực hiệnhiện trongtrong môimôi trườngtrường vậnvận hànhhành thậtthật sựsự
PhânPhân loạiloại::
PhânPhân loạiloại::
Nghiệm Nghiệm thu thu Alpha Alpha.
Nghiệm Nghiệm thu thu Beta Beta.
Trang 20Bài Bài tập tập viết viết Test Case: Test Case:
Hệ Hệ thống thống “Online Bookstore” “Online Bookstore”.
Công Công việc việc::
ChứcChức năngnăng “Check“Check out out đơnđơn hànghàng”:”:
Thiết Thiết kế kế màn màn hình hình
Viết Viết các các test case test case để để kiểm kiểm tra tra tất tất cả cả tình tình huống huống có có thể thể xảy xảy ra ra
Viết Viết các các test case test case để để kiểm kiểm tra tra tất tất cả cả tình tình huống huống có có thể thể xảy xảy ra ra
ChứcChức năngnăng ““ThêmThêm sáchsách mớimới vàovào hệhệ thốngthống”:”:
Thiết Thiết kế kế màn màn hình hình
Viết Viết các các test case test case để để kiểm kiểm tra tra tất tất cả cả tình tình huống huống có có thể thể xảy xảy ra ra