Ki m th Ph n m m – S o ftware Te s ting ể Ch ớ

ề ầ ử ng 0: Gi ươ

i thi u môn h c ọ

ầ ươ

1

ế ư ạ

ng Tr n Hy Hi n, L Khoa CNTT, ĐH S ph m TpHCM

2

Gi ớ i thi u môn h c ọ ệ

ng Tr n Hy Hi n

• Giảng viên: ầ ươ

ế (HIENLTH)

– L – Khoa CNTT, ĐH Sư phạm TpHCM (FIT – HCMUP) – Các môn dạy:

• NM Công nghệ Phần mềm, Kiểm thử phần mềm, • Công nghệ NET, Bảo mật và An ninh mạng

– Hướng nghiên cứu:

• Software Testing, Semantic Web, Network Security…

– Email: hienlth@hcmup.edu.vn – Web môn học:

http://fit.hc mup.edu.vn/~hienlth/COMP1063

3

• Nội dung:

– Cung cấp các kiến thức cơ bản về kiểm tra

phần mềm.

– Nắm vững các chiến lược kiểm tra phần mềm – Sử dụng các kỹ thuật kiểm tra phần mềm (White-box testing, Black-box testing,..) – Sử dụng các công cụ kiểm tra phần mềm

(QTP, NUnit, J Unit, …)

Gi i thi u môn h c (tt) ớ ọ ệ

4

N i dung ộ

1

Gi

i thi u t ng quan

ệ ổ

2

Các khái ni m c b n trong ki m tra PM

ơ ả

3

Các chi n l

c ki m tra ph n m m

ế ượ

4

Các lo i ki m tra ph n m m

5

Các k thu t ki m tra ph n m m ể

3

6

Các công c ki m tra và Case Study

ụ ể

5

• Tham dự đầy đủ các buổi học lý thuyết • Đi thực hành nghiêm chỉnh! • Hoàn thành tất cả các yêu cầu:

– Đọc các tài liệu tham khảo (e-book) môn học – Bài tập homework – Bài tập thực hành – Project cuối khóa (lấy điểm thực hành)

Yê u c u môn h c ọ ầ

6

Tài li u tham kh o ả ệ

1. C. Kane r, J. Falk, H. Q. Ng uye n (1999), Te s ting Com pute r

S oftware 2nd, J ohn Wiley & Sons.

2. G. Mye rs (2004), The Art of S oftware Te s ting 2nd, J ohn

3.

Wiley & Sons Ile ne Burns te in (2003), Practical s oftware te s ting : a proce s s -orie nte d approach, Springer-Verlag

4. Paul Ammann, Je ff Offutt (2008), Introduction S oftware

Te s ting, Cambridge University Press

5. Pe ntti Po hjo laine n (2002), S oftware Te s ting Tool, University

of Kuopio.

7

1. http://www.testingeducation.org/ 2. http://www.onestoptesting.com/ 3. http://www.codeproject.com 4. http://www.aptest.com/resources.html#app-data 5. http://www.cs.gmu.edu/~offutt/softwaretest/ 6. http://www.logigear.vn/ 7. http://www.testingvn.com/

Tài li u tham kh o ả ệ

8

• HP Quick Test Pro ver 10 trở lên • NUnit J Unit

Công c th c hành ụ ự

9

• Lý thuyết: Sáng thứ 6, tiết 3 – 4, C201. • Thực hành: Sáng thứ 4, tiết 5 – 6, I202. • Trao đổi, thảo luận (hẹn trước): – Chiều thứ 5/6, từ 14g00, I101/I102

L c h làm vi c ệ ị

10

• Làm nhóm 2 sinh viên

– Đăng ký nhóm theo link Google Docs cung

cấp. • Nội dung:

– Manual Test: Viết ứng dụng Windows, viết

testcase, thực hiện test và mô tả

– Automation test: GV dựng sẵn web server

(PHP, ASP.NET), SV viết test script một chức năng nào đó, chuẩn bị dữ liệu và thực hiện test, kết quả

Đ án môn h c ọ ồ

11

• Làm nhóm (tối đa 4SV) – không b t bu c ộ • Danh sách đề tài GV cung cấp • Điểm cộng: 20% (được phép thay bài giữa

kỳ)

• Công việc:

– Tìm hiểu về chủ đề và báo cáo – Demo (quay phim, script,…)

Đ tài tìm hi u ề ể

12

Đánh giá

1

Ki m tra gi a kỳ: 20% ữ

2

Đ án Th c hành: 30%

3

Thi vi

t: 50%

ế

4

Báo cáo tìm hi u: Đi m c ng 20%

13

M i hình th c gian l n đ án 

0 đi mể

14

FAQ

Ki m th Ph n m m – S o ftware Te s ting ề ử ể ng 1: T ng quan Ch ổ ươ

ầ ươ

15

ế ư ạ

ng Tr n Hy Hi n, L Khoa CNTT, ĐH S ph m TpHCM

• Lỗi phần mềm là hiển nhiên phải có. • Một lập trình viên loại tốt trung bình có từ

1 đến 3 lỗi trên 100 dòng lệnh.

• Kiểm định phần mềm chiếm gần nửa thời

gian dự án.

• Cần có công nghệ kiểm định phần mềm.

Gi i thi u ớ ệ

• Có nhiều nguyên nhân

– Do viết mã – Do thay đổi môi trường, công nghệ – Do thay đổi phần cứng, hạ tầng phức tạp – Tương tác nhiều hệ thống

Nguyê n nhân gây l iỗ

• Đảm bảo chất lượng phần mềm

– Đúng chức năng – Chạy ổn định, khả năng bảo trì – Tối ưu chất lượng, hiệu quả

• Đáp ứng các yêu cầu hợp đồng, chuẩn, tổ

chức.

• Rút kinh nghiệm cho các dự án sau

Vài trò ki m th ể ử

• Dựa vào bảng liệt kê các rủi ro • Hy vọng sẽ đạt mức rủi ro tối thiểu • Đủ để dám xuất xưởng

i đa M c đ ki m tra t ộ ể ứ ố

• Kiểm tra các chức năng không dựa vào

mẫu thử.

• Kiểm tra các chức năng dựa vào mẫu thử. • Mục đích là: xem chương trình có lỗi hay

không → Chưa đủ

Các c ác h làm s ai l mầ

• Là công nghệ tìm ra lỗi càng nhiều càng

tốt. Kiểm tra viên (Tester) thực hiện • Khác với gỡ rối (debug) – tìm nguyên

nhân lỗi và sửa chữa. Do người viết mã thực hiện.

Ki m tra ph n m m là gì? ầ ể ề

• Lập kế hoạch • Chọn điều kiện kiểm tra • Thiết kế các kịch bản - test script / mẫu

thử - test case.

• Thực thi • Đánh giá kết quả • Báo cáo kết quả

Các giai đo nạ

Các giai đo nạ

• Kiểm tra yêu cầu • Kiểm tra phân tích • Kiểm tra thiết kế • Kiểm tra sản phẩm

Khi nào b t đ u ki m tra? ắ ầ ể

• Kiểm tra đơn vị - Unit • Kiểm tra thành phần - Module • Kiểm tra tích hợp - Integration • Kiểm tra hệ thống - System • Kiểm tra chấp nhận - Acceptance

Các m c đ ki m tra ộ ể ứ

Các m c đ ki m tra ộ ể ứ

• Chức năng • Phi chức năng • Cấu trúc • Hồi qui

Các ki u ki m tra ể ể

• Kiểm tra hộp đen – tương tự Kiểm tra

chức năng

• Kiểm tra hộp trắng – Tương tự kiểm tra

cấu trúc

H p đe n và h p tr ng ộ ộ ắ

• Kiểm tra hiệu năng: Kiểm tra sự vận hành

của hệ thống trong nhiều môi trường. • Kiểm tra chịu tải: Kiểm tra các giới hạn

của hệ thống

Ki m tra hi u năng và c h u t i ị ả ể ệ

• Kiểm tra cấu hình • Kiểm tra bảo mật • Kiểm tra khả năng phục hồi • Kiểm tra Alpha • Kiểm tra Beta • Kiểm tra quốc tế hóa

Các lo i ki m tra khác ể ạ

ụ ể

D c h v kè m the o s au ki m ị tra

• Sau giai đoạn thiết kế là thực hiện dựa

trên test-case. – Thực hiện thủ công – Thực hiện tự động

Th c hi n ki m tra ự ể ệ

• Tìm ra nhiều lỗi • Không dư thừa • Biết chọn lọc • Không quá phức tạp

Quá trình ki m nghi m t ể ệ t ố

Các nguyên lý t ng quát ổ

• Nhìn theo nhiều góc độ • Luôn nhớ mục tiêu • Tuân theo kế hoạch • Giao tiếp theo cách tích cực, xây dựng

Nguyê n t c ki m tra viê n ể ắ

• Phần mềm ở mức độ nào thì cần kiểm

tra?

• Vai trò của ngoại ngữ đối với việc kiểm

thử phần mềm?

• Kiểm tra phần mềm dể hay khó? • Các tố chất để thành một kiểm thử viên?

Th o lu n ậ ả

• Thực hiện bài khảo sát (HC: 13/3/2013) COMP1063_HW1_Khao_sat_thong_tin.docx

37

V nhà ề

• Bài giảng này tham khảo từ:

– Nguyễn Quốc Huy, ĐH Sài Gòn. – Lê Duy Hoàng, ĐH KHTN TpHCM.

38

C m n ả ơ