You are on page 1of 17

Kiểm nghiệm phần mềm

GV. Nguyễn Minh Huy

Nhập môn Công Nghệ Phần Mềm - 2011 1


Nội dung
 Khái niệm kiểm nghiệm
nghiệm..
 Các hình thức kiểm nghiệm
nghiệm..
 Quy trình kiểm nghiệm
nghiệm..

Nhập môn Công Nghệ Phần Mềm - 2011 2


Nội dung
 Khái niệm kiểm nghiệm
nghiệm..
 Các hình thức kiểm nghiệm
nghiệm..
 Quy trình kiểm nghiệm
nghiệm..

Nhập môn Công Nghệ Phần Mềm - 2011 3


Khái niệm kiểm nghiệm
 Kiểm và Nghiệm (V & V):
Tiêu chí Verification Validation
Ngữ cảnh Kiểm tra phần mềm Nghiệm thu phần mềm
Ý nghĩa Phần mềm có ñúng với Phần mềm có thỏa mãn
ñặc tả? nhu cầu Stakeholders??
Mục tiêu Phát hiện lỗi Phát hiện hiểu sai
ðố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
Build the thing right?? Build the right thing??

Nhập môn Công Nghệ Phần Mềm - 2011 4


Khái niệm kiểm nghiệm
 Phân loại verification:
 Kiểm tra ñộng (dynamic verification):
 Kiểm tra bằng vận hành
hành..
 Kiểm thử phần mềm (software testing).
 Dựa trên ñầu vào và ñầu ra.
ra.
 Ưu ñiểm
ñiểm::
 Thực hiện ñơn giản
giản..
 Kiểm tra yêu cầu phi chức năng
năng..
 Nhược ñiểm
ñiểm::
 Phần mềm phải hoàn thành
thành..
 Bỏ sót lỗi.
lỗi.

Nhập môn Công Nghệ Phần Mềm - 2011 5


Khái niệm kiểm nghiệm
 Phân loại verification:
 Kiểm tra tĩnh (static verification):
 Kiểm tra bằng xét duyệt,
duyệt, chứng minh
 Kiểm chứng phần mềmmềm..
 Dựa trên xem xét nội dung bên trong
trong..
 Ưu ñiểm
ñiểm::
 Phần mềm không cần hoàn thành
thành..
 Phát hiện lỗi tìm ẩn.
ẩn.
 Nhược ñiểm
ñiểm::
 Phức tạp.
tạp.
 Tốn thời gian,
gian, công sức
sức..

Nhập môn Công Nghệ Phần Mềm - 2011 6


Khái niệm kiểm nghiệm
 Phân loại validation:
 Nghiệm thu Alpha (Alpha Testing):
 Nghiệm thu có giới hạn
hạn..
 Triển khai thí ñiểm
ñiểm..
 Chọn lọc ñối tượng tham gia.
gia.
 Vận hành có kiểm soát
soát..
 Nghiệm thu Beta (Beta Testing):
 Nghiệm thu không giới hạn
hạn..
 Triển khai ñại trà
trà..
 Không hạn chế ñối tượng tham gia.
gia.
 Vận hành tự do.

Nhập môn Công Nghệ Phần Mềm - 2011 7


Nội dung
 Khái niệm kiểm nghiệm
nghiệm..
 Các hình thức kiểm nghiệm
nghiệm..
 Quy trình kiểm nghiệm
nghiệm..

Nhập môn Công Nghệ Phần Mềm - 2011 8


Các hình thức kiểm nghiệm
 Thanh tra phần mềm
mềm::
 Một dạng kiểm tra tĩnh
tĩnh..
 Có thể thực hiện ở mỗi phapha..
 ðội ngũ thanh tra ñộc lập.
lập.
 Tiến hành xem xét nội dung.

 Model Checking:
 Một dạng kiểm tra tĩnh
tĩnh..
 Thực hiện ở pha phân tích
tích,, thiết kế.
kế.
 Mô hình hóa sản phẩm kiểm tra tra..
 Tiến hành kiểm tra tự ñộng
ñộng..

Nhập môn Công Nghệ Phần Mềm - 2011 9


Các hình thức kiểm nghiệm
 Kỹ thuật Test Case:
 Dùng trong kiểm tra ñộng
ñộng..
 Kịch bản kiểm thử.
thử.
 Kiểm tra một kịch bản ñặc tả
tả..
 Nội dung:
 Ngữ cảnh kiểm tra
tra..
 Dữ liệu ñầu vào
vào..
 Các bước thực hiện
hiện..
 Kết quả ñầu ra mong ñợi
ñợi..

Nhập môn Công Nghệ Phần Mềm - 2011 10


Các hình thức kiểm nghiệm
 Test Case kịch bản “Nhập sách 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)
Nhà xuất bản: (trống)
Số tập: 2 tập

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.

Nhập môn Công Nghệ Phần Mềm - 2011 11


Nội dung
 Khái niệm kiểm nghiệm
nghiệm..
 Các hình thức kiểm nghiệm
nghiệm..
 Quy trình kiểm nghiệm
nghiệm..

Nhập môn Công Nghệ Phần Mềm - 2011 12


Quy trình kiểm nghiệm
 Mô hình chữ V:
Project Acceptance
Planning Testing

Requirement System
Analysis Testing

Architecture Sub-system
Design Testing

Component Integration
Design Testing

Coding Unit Testing

Nhập môn Công Nghệ Phần Mềm - 2011 13


Quy trình kiểm nghiệm
 Kiểm thử ñơn vị (Unit Testing):
 Kiểm tra từng ñơn vị lập trình
trình..
 Các phương thức thức..
 Môi trường cô lập.
lập.
 Lập trình viên thực hiện
hiệ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

Test Steps float c = Number.divide(5, 0)

Nhập môn Công Nghệ Phần Mềm - 2011 14


Quy trình kiểm nghiệm
 Kiểm thử tích hợp (Integration Testing).
 Kiểm tra một nhóm ñơn vị lập trình
trình..
 Kiểm tra sự phối hợp hoạt ñộng
ñộng..
 Dancing testing.
 Môi trường tích hợp
hợp..

Nhập môn Công Nghệ Phần Mềm - 2011 15


Quy trình kiểm nghiệm
 Kiểm thử hệ thống (System Testing).
 Kiểm tra toàn bộ hệ thống
thống..
 Hệ thống hoạt ñộng như ñặc tả tả..
 Môi trường vận hành thật sự.
sự.
 Phân loại
loại::
 Functional Testing.
 Non--functional Testing.
Non

Nhập môn Công Nghệ Phần Mềm - 2011 16


Bài tập
 Bài tập 1:
 Chọn một chức năng trong ñồ án môn học và lập các
test case cho chức năng ñó.
ñó.

Nhập môn Công Nghệ Phần Mềm - 2011 17

You might also like