Tải bản đầy đủ (.pdf) (113 trang)

Bài giảng kiểm thử phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.57 MB, 113 trang )

KIỂM THỬ PHẦN MỀM
SOFTWARE TESTING
PGS. TS. Trần Cao Đệ
Năm 2014
Bộ môn Kỹ thuật Phần mềm
Giới thiệu môn học
Nội dung môn học
• Chương 1: Tổng quan về kiểm thử phần mềm
• Chương 2: Căn bản về kiểm thử phần mềm
• Chương 3: Thiết kế các trường hợp kiểm thử
• Chương 4: Các công cụ kiểm thử
• Chương 5: Kế hoạch kiểm thử và tài liệu kiểm thử
Đánh giá
• Đồ án (40%)
– Làm theo nhóm: 8SV / nhóm
– SV tự liên kết nhóm và chọn nhóm trưởng
– Đăng kí nhóm gồm các thành viên nhóm + nhóm trưởng + email & SĐT của
nhóm trưởng
– Thời hạn : buổi đầu tiên của học kỳ
– Đồ án 1: JUNIT (10%)
– Đồ án 2: QTP (30%)
• Thi cuối kỳ: 60%
– Trắc nghiệm 40-50 câu
Lịch học Kiểm thử PM HK 2 năm 2013 – 14
Ngày

Tuần

Nội dung

Phòng



yêu cầu phải nộp để chấm điểm

8-Aug-
14
1
LT: Giới thiệu môn học + Chia nhóm đồ án

303/C1


15-Aug-
14
2
LT: Chương 1

303/C1


22-Aug-
14
3
LT: Chương 2

303/C1


29-Aug-
14
4

TH : Cài đặt JUNIT và Quick Test Pro; phân công công việc cho
thành viên nhóm; lựa chọn một phần mềm để kiểm thử chức
năng với QTP

303/C1


5-Sep-
14
5
LT: CHương 3

303/C1

Nộp biên bản làm việc nhóm

12-Sep-
14
6
TH : Viết các lớp để kiểm thử đơn vị với JUNIT; viết đặc tả các
chức năng sẽ kiểm thử bằng QTP

303/C1


19-Sep-
14
7
LT: Báo cáo kiểm thử đơn vị với JUNIT


303/C1

KHÔNG nộp báo cáo, chỉ demo kiểm thử
tại lớp, chấm 10%

26-Sep-
14
8
LT: CHương 3

303/C1


3-Oct-
14
9
TH: cài đặt các kiểm thử trong QTP

303/C1


10-Oct-
14
10
LT: Chương 4

303/C1


17-Oct-

14
11
TH: cài đặt các kiểm thử trong QTP

303/C1


24-Oct-
14
12
LT: Chương 4

303/C1


31-Oct-
14
13
TH: cài đặt các kiểm thử trong QTP

303/C1


7-Nov-
14
14
LT: Chương 5

303/C1


Nộp báo cáo đồ án hoàn chỉnh, chấm
10%

14-Nov-
14
15
trình bày báo cáo & demo kiểm thử với QTP (15 phút/nhóm)
303/C1

chấm 20%


16
TỰ ÔN TẬP



27-Nov-
14
17
THI
- 8h00; Thi hình thức trắc nghiệm trên phiếu trả lời trắc
nghiệm : mang theo viết chì 2B

303/C1

bài
thi: chấm 60%
Một số qui định
• Đồ án: điểm theo nhóm

– Không có đăng kí nhóm: 0 điểm đồ án
– Không tham gia đồ án: 0 điểm đồ án
– Không nộp báo cáo viết/viết không đúng yêu cầu: không chấm
điểm thực hành đồ án
• Thi :
– Vắng quá 20% giờ LT: cấm thi
– Thi trắc nghiệm: mang theo viết chì 2B
– Ghi/tô sai SBD: -1 điểm bài thi
– Không ghi/tô Mã đề: 0 điểm thi

Mẫu phiếu trắc nghiệm
Qui định về thang điểm
Thang điểm 10 Điểm chữ
9.0 – 10 A
8.0 - 8.9 B+
7.0 - 7.9 B
6.0 - 6.9 C+
5.0 - 5.9 C
4.5 – 4.9 D+
4.0 - 4.4 D
<4.0 F
Đồ án 1
KT đơn vị với JUNIT (10%)
Viết phần mềm bằng Java có giao diện đồ họa :
- nhận vào một số nguyên không âm rồi hiển thị cách đọc số đó ví dụ:
0 không, … 9 chín, 10 mười, 11 mười một,…,15 mười lăm, 19 mười
chín, 20 hai mươi, 25 hai mươi lăm, 100 một trăm, 101 một trăm
lẻ 1 hoặc một trăm linh một, 05 một trăm lẻ năm.
- viết tài liệu gồm tất cả các ca kiểm thử
- Cài đặt để kiểm thử tất cả các ca kiểm thử đó trong JUNIT

- Chạy chương trình và kết xuất ra một file excel / text kết quả chạy
chương trình với đầu vào từ 1 đến n (n nhập vào), ví dụ cho
n=1000 thì chương trình sẽ chạy và xuất kết quả từ 0 đến 1000
mỗi số là một dòng kết quả. Không cần kiểm thử phần này!
- Viết module hỗ trợ test bằng cách đọc file dạng text chứa các số
cần test, mỗi số trên 1 dòng, xuất kết quả vào một file text, mỗi số
cùng kết quả trên một dòng. Không cần kiểm thử phần này!




Đồ án 2
Kiểm thử với QTP (30%)
• Hãy lựa chọn một ứng dụng nền web (trên internet hoặc phần mềm
tự viết trước đó) và chọn 4-5 chức năng chính của nó để kiểm thử
chức năng bằng Quick Test Pro. Trong quá trình test phải dùng
những kỹ thuật chính của QTP: ghi action (recorder), dùng data
table, dùng check point các kiểu dữ liệu khác nhau một cách đa
dạng nhất có thể, có thể can thiệp vào code hoặc repository
• Yêu cầu cụ thể về bài nộp
– Viết mô tả rõ từng chức năng cần test: giao diện, đầu vào, đầu ra, ràng
buộc, yêu cầu của người dùng có liên quan đến xử lí
– Viết các ca kiểm thử cho từng chức năng tương ứng với tài liệu mô tả
chức năng ở trên
– Demo và báo cáo cách cài đặt để kiểm thử từng chức năng và kết quả
test
– Demo vào buổi báo cáo

Tài liệu tham khảo
• Guide to Advanced Software testing (ebook)

• Giáo trình KTPM, Trần Cao Đệ, 2012, bán tại
thư viện Khoa CNTT&TT

Download tai lieu + slides
www.cit.ctu.edu.vn/~tcde

KIỂM THỬ PHẦN MỀM
SOFTWARE TESTING
PGS. TS. Trần Cao Đệ
Năm 2014
Bộ môn Kỹ thuật Phần mềm
Chương 1:
Tổng quan về kiểm thử phần mềm
PGS. TS. Trần Cao Đệ
Năm 2014
Khái niệm kiểm thử phần mềm
• Testing is the process of executing a program
with the intention of finding errors. (Myers)
– Mục đích của kiểm thử
• Nhằm phát hiện lỗi phần mềm.
• Chứng tỏ phần mềm thực hiện đúng các chức năng
mong đợi.
• Nhằm xác lập độ tin cậy của cái mà chương trình
muốn thực hiện.
– Một kiểm thử tốt phải kiểm tra được những hành
vi bất thường của chương trình.
• Testing can show the presence of bugs but
never their absence. (Dijkstra)
Các mức độ kiểm thử
• Kiểm thử đơn vị (Unit Testing)

• Kiểm thử tích hợp (Integration Testing)
• Kiểm thử hệ thống (System testing)
• Kiểm thử chấp nhận (Acceptance Testing)

Kiểm thử đơn vị
• Một đơn vị là một thành phần nhỏ nhất của
phần mềm có thể kiểm tra được
– Functions, Procedures, Classes, và Methods có
thể xem là “đơn vị”
• Ví dụ :
– C++ or Java: lớp (Class)
– C: hàm hoặc chương trình con
– Pascal: hàm hoặc thủ tục
– 4GL: Menu hoặc GUI
Nội dung kiểm thử đơn vị
• Giải thuật và logic
• Cấu trúc dữ liệu
• Giao diện (Interfaces)
• Các nhánh độc lập (Independent paths)
• Giá trị biên, điều kiện biên
• Bẫy lỗi và kiểm soát lỗi (Error handling)
Qui trình kiểm thử đơn vị
Qui trình kiểm thử
Kiểm thử đơn vị trong tiến trình phần mềm
Kiểm thử tích hợp
• Kiểm thử tích hợp là kiểm thử một tổ hợp các
thành phần của một phần mềm (tạo thành một
chức năng đầy đủ)
– Tập trung vào việc làm thế nào để các thành
phần (đơn vị) làm việc với nhau.

• Kiểm thử tích hợp nhằm:
– Phát hiện lỗi xảy ra trong giao diện giữa các
thành phần đơn vị.
– Lắp ráp các đơn vị riêng rẽ vào một hệ thống con
và vào một hệ thống hoàn chỉnh cuối cùng.
Kiểm thử hệ thống
• Kiểm thử hệ thống nhằm
kiểm tra thiết kế và hệ
thống thỏa mãn đặc tả
• Kiểm thử hệ thống được
thực hiện sau khi hoàn
tất kiểm thử đơn vị và
kiểm thử tích hợp.
Kiểm thử chấp nhận
• Kiểm thử chấp nhận
– Nhằm để cho người dùng đánh giá phần mềm theo mục
đích và kỳ vọng của họ.
– Là bước quan trọng để người dùng xác định mức độ thỏa
mãn các yêu cầu.
– Thực hiện sau khi hoàn tất kiểm thử hệ thống.
• Phần mềm phải được thực thi trong thế giới thực của
nó (phần mềm, phần cứng)
• Nếu phần mềm phát triển cho một thị trường lớn thì
kiểm thử chấp nhận gồm hai bước:
– Alpha test: trên máy của nhà phát triển.
– Beta test: người dùng install và dùng thử trong thế giới
thực.
Mô hình kiểm thử hình chử V
Kiểm thử hồi qui (Regression testing )

• Kiểm thử lại trên một phiên bản mới

– Kiểm tra tính đúng đắn sau khi thực hiện một số
thay đổi trên phần mềm (đã kiểm thử thành công)
– Đảm bảo code mới thêm/sửa không đưa ra lỗi
mới.
Kiểm thử xác nhận
• Validation testing
– Để chỉ cho người phát triển và khách hàng rằng
phần mềm đúng, thỏa yêu cầu
– Một test thành công chỉ ra rằng hệ thống vận
hành như mong đợi.
• Defect testing
– Để tìm lỗi trong phần mềm mà hành vi nó không
đúng hoặc không thỏa mãn đặc tả;
– Một test thành công là test chỉ ra rằng hệ thống
không hoạt động đúng và làm xuất hiện lỗi trong
hệ thống.

×