Kiểm thử phần mềm là một hoạt động giữ vai trò rất quan trọng để bảo đảm chất lượng phần mềm và là hoạt động mang tính sống còn trong các dự án sản xuất hoặc gia công phần mềm. Vì vậy, kiểm thử phần mềm đã trở thành quy trình bắt buộc trong các dự án phát triển phần mềm trên thế giới. Ở Việt Nam, ngành công nghiệp phần mềm đang phát triển thì không thể xem nhẹ việc kiểm thử phần mềm vì xác suất thất bại sẽ rất cao, hơn nữa, hầu hết các công ty phần mềm có uy tín đều đặt ra yêu cầu nghiêm ngặt là nếu một phần mềm không có tài liệu kiểm thử đi kèm thì sẽ không được chấp nhận. Để đảm bảo chất lượng của hệ thống trước khi được đưa ra sử dụng, nên em đã lựa chọn đề tài “Kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng”- đây là phần mềm do bạn Bùi Tiến Anh thực hiện dưới sự hướng dẫn của ThS Nguyễn Thuỳ Linh trong khuôn khổ đồ án tốt nghiệp đại học tại khoa CNTT – Trường Đại học Mở Hà Nội Được sự đồng ý của Khoa Công nghệ thông tin – Trường Đại Học Mở Hà Nội, và sự đồng ý của cô giáo hướng dẫn ThS. Nguyễn Thuỳ Linh, nên em đã thực hiện đề tài “Kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng”. Để hoàn thành đồ án này, em xin chân thành cảm ơn các thầy cô giáo đã tận tình hướng dẫn, giảng dạy trong suốt thời gian em học tập, nghiên cứu và rèn luyện tại Trường Đại học Mở Hà Nội.
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KIỂM THỬ HỆ THỐNG SÁNG TÁC, CHIA SẺ TÁC PHẨM VĂN HỌC MẠNG NIÊN KHĨA 2015 - 2019 KHOA CƠNG NGHỆ THƠNG TIN BÙI THỊ NGỌC HÀ KIỂM THỬ HỆ THỐNG SÁNG TÁC, CHIA SẺ TÁC PHẨM VĂN HỌC MẠNG Chuyên ngành: Công nghệ Thông tin ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hà Nội - Năm 2019 TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÙI THỊ NGỌC HÀ KIỂM THỬ HỆ THỐNG SÁNG TÁC, CHIA SẺ TÁC PHẨM VĂN HỌC MẠNG Chuyên ngành: Công nghệ Thông tin Giảng viên hướng dẫn: ThS Nguyễn Thuỳ Linh ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hà Nội - Năm 2019 TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập – Tự – Hạnh phúc Hà Nội, ngày tháng năm 2019 NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP Họ tên: Bùi Thị Ngọc Hà Giới tính: Nữ Ngày sinh: 04/10/1997 Nơi sinh: Hưng Yên Chuyên ngành: Công nghệ phần mềm Mã SV: 15A10010044 Lớp hành chính: 1510A02 TÊN ĐỀ TÀI Kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng NHIỆM VỤ VÀ NỘI DUNG - Tìm hiểu kiến thức kiểm thử - Tìm hiểu hệ thống sáng tác, chia sẻ tác phẩm văn học mạng - Lập kế hoạch kiểm thử, xây dựng testcase, testdata thực kiểm thử hệ thống - Báo cáo, kết luận chất lượng hệ thống NGÀY GIAO NHỆM VỤ: NGÀY HOÀN THÀNH NHIỆM VỤ: CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Thuỳ Linh Nội dung đề cương Đồ án Hội đồng chuyên ngành thông qua Ngày tháng CÁN BỘ HƯỚNG DẪN năm 2019 KHOA CƠNG NGHỆ THƠNG TIN LỜI NĨI ĐẦU Kiểm thử phần mềm hoạt động giữ vai trò quan trọng để bảo đảm chất lượng phần mềm hoạt động mang tính sống cịn dự án sản xuất gia cơng phần mềm Vì vậy, kiểm thử phần mềm trở thành quy trình bắt buộc dự án phát triển phần mềm giới Ở Việt Nam, ngành công nghiệp phần mềm phát triển khơng thể xem nhẹ việc kiểm thử phần mềm xác suất thất bại cao, nữa, hầu hết công ty phần mềm có uy tín đặt u cầu nghiêm ngặt phần mềm khơng có tài liệu kiểm thử kèm khơng chấp nhận Để đảm bảo chất lượng hệ thống trước đưa sử dụng, nên em lựa chọn đề tài “Kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng”- phần mềm bạn Bùi Tiến Anh thực hướng dẫn ThS Nguyễn Thuỳ Linh khuôn khổ đồ án tốt nghiệp đại học khoa CNTT – Trường Đại học Mở Hà Nội Được đồng ý Khoa Công nghệ thông tin – Trường Đại Học Mở Hà Nội, đồng ý cô giáo hướng dẫn ThS Nguyễn Thuỳ Linh, nên em thực đề tài “Kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng” Để hoàn thành đồ án này, em xin chân thành cảm ơn thầy cô giáo tận tình hướng dẫn, giảng dạy suốt thời gian em học tập, nghiên cứu rèn luyện Trường Đại học Mở Hà Nội Đặc biệt, em xin chân thành cảm ơn cô Nguyễn Thuỳ Linh tận tình bảo hướng dẫn em suốt trình thực đồ án Giúp em học hỏi nhiều kiến thức trình thực đồ án Mặc dù có nhiều cố gắng trình thực đồ án, xong làm quen, tiếp cận thực tế kiểm thử phần mềm công cụ kiểm thử tự động nên tránh khỏi thiếu sót hạn chế Em mong nhận xét từ thầy cô giáo bạn để đề tài em hoàn thiện Em xin chân thành cảm ơn! Hà Nội, tháng năm 2019 Sinh viên thực Bùi Thị Ngọc Hà MỤC LỤC TÓM TẮT ĐỒ ÁN DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 10 CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1 Lý chọn đề tài 1.2 Đánh giá hệ thống thực kiểm thử 1.3 Giới thiệu hệ thống thực kiểm thử 1.4 Công nghệ sử dụng 1.5 Phương pháp phát triển hệ thống CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM 1.1 Định nghĩa kiểm thử phần mềm 1.2 Kiểm thử vòng đời phát triển phần mềm 1.3 Mục tiêu kiểm thử 12 1.4 Nguyên tắc kiểm thử 12 1.5 Quy trình kiểm thử 15 1.6 Các mức kiểm thử 15 1.7 Các kỹ thuật kiểm thử 17 1.8 Các kiểu kiểm thử 18 CHƯƠNG 3: KIỂM THỬ TỰ ĐỘNG VÀ KIỂM THỬ HIỆU NĂNG 22 2.1 Kiểm thử tự động 22 2.1.1 Tổng quan kiểm thử tự động 22 2.1.2 Lý cần phải kiểm thử tự động 23 2.1.3 Ưu nhược điểm kiểm thử tự động 23 2.1.4 Các trường hợp nên áp dụng kiểm thử tự động 23 2.1.5 So sánh kiểm thử tự dộng kiểm thử thủ công 24 2.2 Giới thiệu kiểm thử hiệu 25 2.2.1 Khái niệm kiểm thử hiệu 25 2.2.2 Các tiêu chí kiểm thử hiệu 26 2.2.3 Các yếu tố ảnh hưởng đến kiểm thử hiệu 27 CHƯƠNG 4: XÂY DỰNG KẾ HOẠCH KIỂM THỬ 29 4.1 Mục đích kế hoạch kiểm thử 29 4.2 Phạm vi kiểm thử 29 4.3 Các yêu cầu kiểm thử 30 4.3.1 Yêu cầu chức 30 4.3.2 Yêu cầu phi chức 31 4.4 Phương pháp kiểm thử 31 4.5 Các tiêu chuẩn kiểm thử 32 4.6 Công cụ kiểm thử 32 4.7 Chiến lược kiểm thử 34 4.8 Kế hoạch thực kiểm thử 38 4.9 Các sản phẩm đạt 39 4.10 Những rủi ro, giả định 39 4.11 Biểu mẫu kiểm thử dùng chung 41 CHƯƠNG 5: KIỂM THỬ HỆ THỐNG SÁNG TÁC, CHIA SẺ TÁC PHẨM VĂN HỌC 43 5.1 Sơ đồ phân rã chức 43 5.2 Các tài nguyên phục vụ cho việc kiểm thử 44 5.2.1 Tài liệu đặc tả chức 44 5.2.2 Tài liệu thiết kế 90 5.2.3 Tài liệu đặc tả liệu 101 5.3 Kiểm thử thành phần 108 5.3.1 Module Quản lý hệ thống 108 5.3.2 Module Quản lý thể loại 110 5.3.3 Module Quản lý tác giả 112 5.4 Kiểm thử tích hợp 114 5.4.1 Module Quản lý hệ thống 114 5.4.2 Module Quản lý thể loại 114 5.4.3 Module Quản lý tác giả 115 5.5 Kiểm thử hệ thống 116 5.3.1 Module Quản lý hệ thống 116 5.3.2 Module Quản lý thể loại 120 5.3.3 Module Quản lý tác giả 122 5.3.4 Module Quản lý tác phẩm 125 5.3.5 Module Quản lý đánh giá, bình luận 127 5.3.6 Module Quản lý tài 128 5.6 Kiểm thử chấp nhận 129 5.6.1 Module Quản lý hệ thống 129 5.6.2 Module Quản lý tác giả 131 5.7 Kiểm thử hiệu 132 5.8 Một số minh chứng trình kiểm thử 138 5.9 Một số trao đổi bên lập trình bên kiểm thử 139 KẾT LUẬN 141 TÀI LIỆU THAM KHẢO 143 TÓM TẮT ĐỒ ÁN Hiện nay, công nghệ sản xuất phần mềm giới Việt Nam tiến hành bước tiến mạnh mẽ Vì vậy, kiểm thử phần mềm trở thành quy trình bắt buộc dự án phát triển phần mềm Việt Nam Tự động hóa ứng dụng nhiều lĩnh vực, mục đích thường đa dạng tùy theo nhu cầu đặc thù lĩnh vực, nhiên điểm chung giảm nhân lực, thời gian sai sót Vì lý hướng dẫn cô ThS Nguyễn Thuỳ Linh em chọn đề tài “Kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng” Đồ án em trình bày chương: - Chương 1: Giới thiệu đề tài - Chương 2: Cơ sở lý thuyết kiểm thử phần mềm - Chương 3: Kiểm thử tự động kiểm thử hiệu - Chương 4: Xây dựng kế hoạch kiểm thử - Chương 5: Kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT STT Tên đầy đủ/ý nghĩa Tên viết tắt Insttitute of Electrical and Electronic IEEE Test plan Kế hoạch kiểm thử Testcase Trường hợp kiểm thử Testdata Dữ liệu kiểm thử Engineers 129 5.6 Kiểm thử chấp nhận 5.6.1 Module Quản lý hệ thống Đăng ký - Một số testcase mức chấp nhận chức Đăng ký Hình 5.57 Một số testcase mức chấp nhận chức Đăng ký - Tổng hợp kết kiểm thử Bảng 5.73 Kết kiểm thử chấp nhận chức Đăng ký Kiểm thử chấp nhận 5/04/2019 Pass Fail Untested Number of testcase 20 0 20 130 Đăng nhập - Một số testcase mức chấp nhận chức Đăng nhập Hình 5.58 Một số testcase mức chấp nhận chức Đăng nhập - Tổng hợp kết kiểm thử Bảng 5.74 Kết kiểm thử chấp nhận chức Đăng nhập Kiểm thử chấp nhận 5/04/2019 Pass Fail Untested Number of testcase 0 131 5.6.2 Module Quản lý tác giả Thêm tác giả - Một số testcase mức chấp nhận chức Thêm tác giả Hình 5.59 Một số testcase mức chấp nhận chức Thêm tác giả - Tổng hợp kết kiểm thử Bảng 5.75 Kết kiểm thử chấp nhận chức Thêm tác giả Kiểm thử chấp nhận 5/4/2019 Pass Fail Untested Number of testcase 21 0 21 132 5.7 Kiểm thử hiệu Tạo Testplan thêm số Listener để tạo báo cáo như: Aggregate Report xem thêm kết trả từ báo cáo View results tree View results in table để biết kết server trả Hình 5.60 Tạo testplan Cấu hình proxy trình duyệt để chạy test: Hình 5.61 Cấu hình proxy trình duyệt Chrome 133 HTTP Proxy Server chọn Target Controller bước cần record, sau nhấn “Start” Hình 5.62 Cấu hình HTTP Proxy Server để chạy script - 10 user truy cập Hình 5.63 Cấu hinh thread group Kết luận: Với 10 user truy cập hệ thống lúc, tất 10 user đếu truy cập với Average(Thời gian trng bình xử lý request)=904 Min(Thời gian nhỏ nhất): 328 Max(Thời gian lớn nhất): 1620 134 Throughput: 10.2/s KB/s: 12.16 Hình 5.64 Summary Report cho 10 CCU - 100 CCU truy cập lúc Hình 5.65 Cấu hình thread group cho 100 CCU Kết luận: Với 100 user truy cập hệ thống lúc, tất 100 user đếu truy cập với Average(Thời gian trng bình xử lý request)=16618 Min(Thời gian nhỏ nhất): 11595 Max(Thời gian lớn nhất): 20543 Throughput: 4.9/s KB/s: 8.96 Hình 5.66 Aggregate Report cho 100 CCU 135 Hình 5.67 Báo cáo dạng bảng - 500 CCU truy cập lúc Hình 5.68 Cấu hình thread group cho 500 CCU truy cập lúc Kết luận: Với 500 user truy cập hệ thống lúc, có 39.42% CCU truy cập lúc Average(Thời gian trng bình xử lý request)=8098 Min(Thời gian nhỏ nhất): 135 Max(Thời gian lớn nhất): 13163 Throughput: 15.3/s 136 KB/s: 5.97 Hình 5.69 Một số báo cáo cho việc đẩy tải với 500 CCU - Với 510 CCU truy cập vào lúc Hình 5.70 Cấu hình thread group cho 510 CCU truy cập lúc 137 Kết luận: Với 510 user truy cập hệ thống lúc, vượt ngưỡng tải hệ thống, CCU try cập được, server sập Average(Thời gian trng bình xử lý request)=60177 Min(Thời gian nhỏ nhất): 60002 Max(Thời gian lớn nhất): 60616 Throughput: 8.4/s KB/s: 4.63 Hình 5.71 Báo cáo tổng hợp cho 510 CCU truy cập vào lúc 138 5.8 Một số minh chứng trình kiểm thử - Lỗi chụp lại ghi vào sheet Ảnh lỗi, case kiểm thử lỗi tham chiếu đến ảnh tương ứng sheet Hình 5.72 Một số lỗi ghi lại - Một số minh chứng cho trình test, chụp ảnh minh chứng ghi vào sheet Evidence, case thực tham chiếu sang ảnh tương ứng sheet Hình 5.73 Một số ảnh minh chứng cho trình test 139 5.9 Một số trao đổi bên lập trình bên kiểm thử Hình 5.74 Thơng qua GIT để đồng hệ thống Hình 5.75 Trao đổi thơng qua mail 140 Hình 5.76 Trao đổi qua Messenger Hình 5.77 Ghi nhận kết kiểm thử sửa lỗi 141 KẾT LUẬN Dưới hướng dẫn cô Nguyễn Thuỳ Linh, sau thời gian nghiên cứu thực kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng, em đạt kết sau: - Hiểu kiến thức kiểm thử phần mềm - Hiểu nắm rõ lý thuyết kiểm thử phần mềm, biết lập kế hoạch để thực kiểm thử, áp dụng quy trình kiểm thử phần mềm vào kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng - Biết cách khảo sát, phân tích yêu cầu hệ thống thực tế - Biết thêm ngôn ngữ PHP cấu trúc làm việc framework phalcon ứng dụng để thực kiểm thửu mức thành phần - Biết cách sử dụng GIT để đồng source code với bên lập trình - Tiến hành thực “ kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng”: em test module hệ thống: Module quản lý danh mục Module quản lý hệ thống Module quản lý tác phẩm Module quản lý tài Module quản lý đánh giá, bình luận Module quản lý báo cáo thống kê - Thực kiểm thử đầy đủ mức độ: kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thử chấp nhận - Ứng dụng Jmeter để Kiểm thử hiệu cho hệ thống, xác định ngưỡng tải hệ thống có lượng lớn người dùng giả lập truy cập lúc - Vì lí bàn giao sản phẩm có chức chưa bên Dev hồn thiện nên việc kiểm thử chưa thực kế hoạch ban đầu 142 - Do lực kinh nghiệm hạn chế nên đồ án khơng tránh khỏi thiếu sót - Hướng phát triển tiếp theo: bổ sung thực kiểm thử đầy đủ mức cho module hệ thống, tìm hiểu thêm kiểm thử tự động cho chức để nâng cao kỹ test, tìm hiểu thêm kiểm thử bảo mật để hoàn thiện cho hệ thống để đạt chất lượng tốt cho hệ thống 143 TÀI LIỆU THAM KHẢO [1] Bùi Tiến Anh, Xây dựng hệ thống sáng tác, chia sẻ tác phẩm văn học mạng, Đồ án tốt nghiệp đại học, 2019 [2] G J Myers, The Art of Software Testing, Canada: John Wiley & Sons,Inc.,Hoboken, New Jersey, 2004, p 26 [3] I S Board, IEEE Standard Glossary of Software Engineering Terminology, New York, September 28, 1990 [4] D Galin, Software Quality Assurance, 2004, p 180 ... kiểm thử chức hệ thống sáng tác, chia sẻ tác phẩm văn học mạng - Các giai đoạn kiểm thử: Kiểm thử thành phần Kiểm thử tích hợp Kiểm thử hệ thống Kiểm thử chấp nhận - Các loại hình kiểm. .. Bảng 5. 67 Kết kiểm thử chức Thêm tác phẩm 1 25 Bảng 5. 68 Kết kiểm thử chức Sửa tác phẩm 126 Bảng 5. 69 Kết kiểm thử chức Sửa tác phẩm 126 Bảng 5. 70 Kết kiểm thử chức Đánh giá tác phẩm. .. mềm tiến hành kiểm thử hệ thống sáng tác, chia sẻ tác phẩm văn học mạng, áp dụng cơng cụ JMETER để kiểm thử hiệu năng, làm đồ án tốt nghiệp Đại học 1.2 Đánh giá hệ thống thực kiểm thử Đề tài đồ