Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
2,36 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HỒNG VÂN PHƯƠNG PHÁP PHÂN TÍCH SỰ ẢNH HƯỞNG CỦA CÁC THÀNH PHẦN VÀ ỨNG DỤNG CHO KIỂM THỬ HỒI QUY TRONG CÁC DỰ ÁN JAVA EE LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2018 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HỒNG VÂN PHƯƠNG PHÁP PHÂN TÍCH SỰ ẢNH HƯỞNG CỦA CÁC THÀNH PHẦN VÀ ỨNG DỤNG CHO KIỂM THỬ HỒI QUY TRONG CÁC DỰ ÁN JAVA EE Ngành: Công nghệ thông tin Chuyên ngành: Kỹ Thuật Phần Mềm Mã số: 8480103.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS PHẠM NGỌC HÙNG Hà Nội – 2018 i MỤC LỤC MỤC LỤC i LỜI CAM ĐOAN iii LỜI CẢM ƠN iv DANH MỤC THUẬT NGỮ VIẾT TẮT v DANH MỤC HÌNH VẼ vi DANH MỤC BẢNG .viii Chương Giới thiệu Chương Phương pháp phân tích ảnh hưởng JCIA 11 2.1 Bộ công cụ JCIA 11 2.2 Phân tích phụ thuộc 17 2.2.1 Tiền xử lý mã nguồn 17 2.2.2 Phân tích phụ thuộc cho Struts 17 2.2.3 Phân tích phụ thuộc Java Core 19 2.2.4 Phân tích phụ thuộc cho cơng nghệ kết nối sở liệu JDBC 20 2.2.5 Phân tích phụ thuộc cho Hibernate 24 2.3 Quản lý phiên 27 Chương Phương pháp phân tích ảnh hưởng thành phần giao diện phân loại kiểm thử hồi quy 28 3.1 Phương pháp phân tích ảnh hưởng thành phần giao diện 28 3.1.1 Phân tích kiến trúc Java Servlet 28 3.1.2 Phương pháp phân tích ảnh hưởng 31 3.2 Phương pháp phân loại kiểm thử hồi quy 35 3.2.1 Kiểm thử hồi quy 35 3.2.2 Phân loại kiểm thử hồi quy 35 3.2.3 Quy trình kiểm thử hồi quy dựa phương pháp đề xuất 36 Chương Thực nghiệm triển khai 36 4.1 Giới thiệu công cụ JCIA mở rộng 38 4.2 Thực nghiệm 39 4.3 Ý nghĩa công cụ thực nghiệm 39 Chương Kết luận 53 ii TÀI LIỆU THAM KHẢO 56 iii LỜI CAM ĐOAN Tôi xin cam đoan nghiên với đề tài “Phương pháp phân tích ảnh hưởng thành phần ứng dụng cho kiểm thử hồi quy dự án Java EE” trình bày luận văn cơng trình nghiên cứu riêng tơi hướng dẫn thầy giáo PGS TS Phạm Ngọc Hùng, không chép lại người khác Tất nguồn tài liệu tham khảo, cơng trình nghiên cứu liên quan trích dẫn cụ thể Tơi xin chịu hồn tồn trách nhiệm có phát chép mà khơng có trích dẫn tài liệu tham khảo iv LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn chân thành tới thầy giáo PGS TS Phạm Ngọc Hùng - người hướng dẫn tận tình, bảo đóng góp ý kiến q báu cho tơi suốt q trình học tập làm khóa luận Trong qng thời gian thầy hướng dẫn, học hỏi nhiều kinh nghiệm phương pháp nghiên cứu, kỹ trình bày Thầy cịn tiếp thêm cho tơi niềm tin vượt qua khó khăn giúp tơi trưởng thành sống Tôi xin gửi lời cảm ơn chân thành đến thầy cô giáo khoa Công nghệ thông tin trường Đại học Công nghệ - Đại học Quốc gia Hà Nội tận tình truyền đạt kiến thức quý báu, tạo điều kiện tốt cho suốt thời gian học tập nghiên cứu Tiếp theo, tơi xin gửi lời cảm ơn đến gia đình người thân bên cạnh động viên, cổ vũ chỗ dựa vững để yên tâm học hành suốt năm qua Tôi xin gửi lời cảm ơn chân thành đến Bùi Quang Cường Ngô Hải Yến tạo điều kiện giúp đỡ để nghiên cứu công cụ JCIA Mặc dù cố gắng luận văn chắn không tránh khỏi thiếu sót, tơi mong nhận ý kiến đánh giá phê bình từ phía Thầy Cơ để luận văn hồn thiện Tơi xin chân thành cảm ơn! Hà Nội, tháng 10 năm 2018 Học viên Nguyễn Thị Hồng Vân v DANH MỤC THUẬT NGỮ VIẾT TẮT STT Từ viết tắt Từ đầy đủ Ý nghĩa AST Abstract Syntax Tree Cây cấu trúc trừu tượng CIA Change Impact Analysis Phân tích ảnh hưởng thay đổi DAO Data Access Object Đối tượng truy cập liệu ERD Entity Relationship Diagram Biểu đồ quan hệ thực thể Java EE Java Enterprise Edition Java phiên doanh nghiệp JCIA Java Change Impact Analysis Phân tích ảnh hưởng thay đổi mã nguồn dự án Java JDBC Java Database Connectivity Giao diện tương tác với sở liệu quan hệ Java JDG Java Dependency Graph Đồ thị phụ thuộc Java EE MVC Model - View - Controller Mơ hình thiết kế ứng dụng Web 10 ORM Object Relational Mapping Ánh xạ quan hệ đối tượng vi DANH MỤC HÌNH VẼ Hình 2.1 Giao diện cơng cụ JCIA 13 Hình 2.2 Màn hình Project View 13 Hình 2.3 Màn hình Dependency View 14 Hình 2.4 Change Impact View 15 Hình 2.5 Hiển thị mã nguồn 15 Hình 2.6 Change Set View 16 Hình 2.7 Impact Set View 16 Hình 2.8 Mơ hình ứng dụng Struts2 17 Hình 2.9 Quy trình phân tích phụ thuộc cho ứng dụng Struts 18 Hình 2.10 Ví dụ minh họa đồ thị chuỗi 22 Hình 2.11 Q trình xây dựng dự đốn câu truy vấn 23 Hình 2.12 Quá trình phân tích phụ thuộc cho Hibernate 24 Hình 2.13 So sánh cấu trúc hai phiên mã nguồn 27 Hình 3.1 Kiến trúc Java Servlet 28 Hình 3.2 Vịng đời Java Servlet 29 Hình 3.3 Mã nguồn sử dụng tảng Java Servlet 30 Hình 3.4 Phân loại kiểm thử hồi quy 35 Hình 3.5 Quy trình kiểm thử hồi quy đề xuất 36 Hình 4.1 Kiến trúc công cụ JCIA 38 Hình 4.2 Kết đầu công cụ 39 Hình 4.3 Ứng dụng Web quản lý bệnh viện 40 Hình 4.4 Lỗi xảy phiên 49 Hình 4.6 Yêu cầu thêm cho giao diện quản lý bệnh nhân 50 Hình 4.7 Nghiệp vụ liên quan đến Health Insurance 50 Hình 4.8 Kết tập thay đổi ảnh hưởng cho kiểm thử đơn vị 51 Hình 4.9 Kết tập thay đổi ảnh hưởng cho kiểm thử giao diện 51 Hình 4.10 Kết kiểm thử hồi quy giao diện với Ranorex 52 Hình 4.11 Kết tập thay đổi ảnh hưởng cho kiểm thử tích hợp 52 vii viii DANH MỤC BẢNG Bảng 2.1 Ý nghĩa kiểu cạnh đồ thị chuỗi 24 Bảng 2.2 Các phương thức truy xuất CSDL có sẵn Hibernate 26 Bảng 4.1 Mô tả yêu cầu chức quản lý nhân viên 41 Bảng 4.2 Mô tả yêu cầu chức quản lý phòng 42 Bảng 4.3 Mô tả yêu cầu chức quản lý dịch vụ 42 Bảng 4.4 Mô tả yêu cầu chức quản lý bệnh nhân 43 Bảng 4.5 Mơ tả u cầu chức đặt phịng 43 Bảng 4.6 Mô tả yêu cầu chức quản lý thuốc 44 Bảng 4.7 Mô tả yêu cầu chức quản lý bán thuốc 44 42 loại phịng có bệnh viên, số lượng giường giá loại phịng Ngồi nhằm giúp quản trị viên tìm kiếm thơng tin nhanh chóng, hệ thống cịn cung cấp thêm chức tìm kiếm nhanh Bảng 4.2 mơ tả chi tiết u cầu liệu đầu vào trường chức quản lý nhân viên Bảng 4.2 Mô tả yêu cầu chức quản lý phòng Tên trường Room Type Room Number Bắt buộc Có Có Khoảng hợp lệ Khơng Khơng Number of Bed Có Lớn Khác Khơng bỏ trống Không bỏ trống Không bỏ trống Chỉ phép nhập ký tự số - Quản lý dịch vụ y tá: Chức quản lý dịch vụ y tá cung cấp cho quản trị viên hệ thống chức thêm, sửa, xóa dịch vụ y tá Thông tin dịch vụ hiển thị bảng, người dùng tìm kiếm thơng tin dịch vụ Bảng 4.3 mô tả chi tiết yêu cầu liệu đầu vào trường chức quản lý dịch vụ y tá Bảng 4.3 Mô tả yêu cầu chức quản lý dịch vụ Tên trường Nurse, Shift Time, Service Date, Department Bắt buộc Có Khoảng hợp lệ Khác Khơng Khơng bỏ trống User Receptionist: Hệ thống cho phép người dùng thực chức như: quản lý bệnh nhân, đặt phòng cho bệnh nhân, gửi/nhận tin nhắn từ người dùng khác, đổi mật - Quản lý bệnh nhân: Hệ thống cho phép người dùng Receptionist quản lý thông tin bệnh nhân với chức năng: thêm, sửa, xóa thơng tin bệnh nhân bao gồm thơng tin cá nhân thông tin người thân Các thông tin bệnh nhân liên quan đến bệnh nhân hiển thị bảng “All Patient” Bên cạnh đó, người dùng tìm kiếm thơng tin bệnh nhân bảng với chức tìm kiếm - Quản lý đặt phịng: Hệ thống cho phép người dùng Receptionist thực chức năng: thêm, sửa, xóa thơng tin đặt phịng Thơng tin chi tiết phòng đặt 43 hiển thị bảng người dùng tìm kiếm thơng tin phịng đặt cách thực chức tìm kiếm phía bảng Bảng 4.4 mơ tả chi tiết yêu cầu liệu đầu vào trường chức quản lý bệnh nhân Bảng 4.4 Mô tả yêu cầu chức quản lý bệnh nhân Tên trường First Name Father Name, Family Name, Address Bắt buộc Có Khoảng hợp lệ Khác Lớn ký tự Khơng bỏ trống Khơng Email Có Khơng bỏ trống Nhập định dạng Email Date of Birth Có Khơng bỏ trống Phone Có Khơng bỏ trống Chỉ phép nhập số Select Gender, Blood Type, Full Name, Address, Relationship Không Bảng 4.5 mô tả chi tiết yêu cầu liệu đầu vào trường chức quản lý bệnh nhân đặt phòng Bảng 4.5 Mơ tả u cầu chức đặt phịng Tên trường First Name Father Name, Family Name, Address Bắt buộc Có Khơng Khoảng hợp lệ Khác Lớn ký tự Không bỏ trống User Pharmacist: Hệ thống cho phép người dùng thực chức như: quản lý thuốc, bán thuốc cho bệnh nhân, gửi/nhận tin nhắn người dùng khác, thay đổi mật - Quản lý thuốc: Ở chức này, người dùng Pharmacist thực chức năng: thêm, sửa, xóa thông tin thuốc Các thông tin liên quan đến thuốc hiển thị bảng “All Drugs”, người dùng tìm kiếm thơng tin thuốc bảng cách sử dụng chức tìm kiếm 44 - Quản lý bán thuốc: Chức cho phép người dùng Pharmacist quản lý thuốc bán cho bệnh nhân thực thêm, sửa, xóa thơng tin thuốc bán thông tin hiển thị bảng cho phép người dùng tìm kiếm thơng tin với chức tìm kiếm Bên cạnh người dùng in hóa đơn thuốc Bảng 4.6 mơ tả chi tiết yêu cầu liệu đầu vào trường chức quản lý bán thuốc Bảng 4.6 Mô tả yêu cầu chức quản lý thuốc Tên trường Drug Name Bắt buộc Có Khoảng hợp lệ Cost Có Lớn Quantity Có Lớn Production date Có Khác Khơng bỏ trống Khơng bỏ trống Chỉ cho phép nhập ký tự số Không bỏ trống Chỉ cho phép ký tự số Không bỏ trống Drug expired Có Khơng bỏ trống Bảng 4.7 mô tả chi tiết yêu cầu liệu đầu vào trường chức quản lý bán thuốc Bảng 4.7 Mô tả yêu cầu chức quản lý bán thuốc Tên trường Drug Name, Patient Unit Per Day Quantity Take From, End Take Bắt buộc Có Có Có Khoảng hợp lệ Lớn nhỏ Lớn nhỏ 50 Khác Không bỏ trống Không bỏ trống Không bỏ trống Khơng bỏ trống Có Nhập định dạng dd/mm/yyyy Dựa mô tả yêu cầu đặc tả kể trên, tập ca kiểm thử thiết kế cho chức hệ thống Dưới tập ca kiểm thử cho số chức 45 Chức Add Patient STT Hành động Trường hợp thêm Patient thành công Nhập vào trường sau với giá trị hợp lệ: - First Name, Father Name, Family Name, Address, Email, Date of Birth, Phone, Select Gender, Blood Type Chọn chức “Next” Nhập vào trường sau với giá trị hợp lệ: Full Name, Address, Relationship, Phone Chọn chức “Finish” Phản hồi từ hệ thống Hệ thống hiển thị thông báo tương ứng “Success Add Patient” Nhập giá trị không hợp lệ vào trường Email Nhập sai định dạng Email Nhập giá trị hợp lệ vào trường lại Hệ thống hiển thị thông báo tương ứng “Please enter a valid email address” Nhập vào giá trị trống Để trống trường bắt buộc: - First Name, Email, Date of Birth, Phone Chọn chức “Next” Next of Skin - Phone Chọn chức “Finish” Nhập giá trị không hợp lệ vào trường Phone Nhập chữ cái/ký tự đặc biệt vào vào trường Phone Nhập giá trị hợp lệ vào trường lại Nhập giá trị không hợp lệ vào trường First Name Hệ thống hiển thị thông báo tương ứng trường “This field is required” Hệ thống hiển thị thông báo tương ứng trường “This field is invalid” Hệ thống hiển thị thông báo Nhập vào trường First Name < ký tương ứng “Please enter at tự least characters” 46 Chức Book Bed STT Hành động Trường hợp Book Bed thành công Chọn nhập giá trị hợp lệ: - Room, Patient, Department Chọn chức “Book Bed” Trường hợp nhập vào giá trị trống Để trống trường bắt buộc: - Room, Patient, Department Chọn chức “Book Bed” Phản hồi từ hệ thống Hệ thống hiển thị thông báo tương ứng “Success Added Book Bed” Hệ thống hiển thị thông báo tương ứng trường “This field is required” Chức Sell Drug STT Hành động Trường hợp Sell Drug thành công Chọn nhập giá trị hợp lệ: - Drug, Patient, Unit Per Day, Quantity, Take From, End Take Chọn chức “Sell Drug” Nhập vào giá trị trống Để trống trường bắt buộc: - Drug - Patient - Unit Per Day - Quantity - Take From - End Take Chọn chức “Sell Drug” Nhập sai định dạng Quantity Nhập giá trị âm vào trường Quantity Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Phản hồi từ hệ thống Hệ thống hiển thị thông báo tương ứng “Selled Successfully, Warning Drug Quantity Less Than 50” Hệ thống hiển thị thông báo tương ứng trường “This field is required” Hệ thống hiển thị thông báo tương ứng “Please enter a valid number between and 50” 47 STT Hành động Nhập giá trị vào trường Quantity lớn số lượng thuốc lại sở liệu Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Nhập giá trị vào trường Quantity Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Nhập giá trị >50 vào trường Quantity Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Nhập chữ vào trường Quantity Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Phản hồi từ hệ thống Hệ thống hiển thị thông báo tương ứng “You Enter Quantity more than Drug Quantity” Hệ thống hiển thị thông báo tương ứng “Please enter a valid number between and 50” Hệ thống hiển thị thông báo tương ứng “Please enter a valid number between and 50” Hệ thống hiển thị thông báo tương ứng “Please enter a number” Nhập sai định dạng Unit Per Day Nhập chữ vào trường Unit Per Day Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Nhập giá trị > vào trường Unit Per Day Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Hệ thống hiển thị thông báo tương ứng “Please enter a number” Hệ thống hiển thị thông báo tương ứng “Please enter a valid number between and 4” 48 STT Hành động Phản hồi từ hệ thống Nhập giá trị âm vào trường Unit Per Day Hệ thống hiển thị thông báo tương 10 Các trường lại nhập giá ứng “Please enter a valid number trị hợp lệ between and 4” Chọn chức “Sell Drug” Nhập sai định dạng Take From/End Take 11 14 Nhập chữ vào trường Take From Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Nhập Take From lớn End Take Các trường lại nhập giá trị hợp lệ Chọn chức “Sell Drug” Hệ thống hiển thị thông báo tương ứng “Please enter a valid format dd/mm/yyyy” Hệ thống hiển thị thông báo tương ứng “Please enter Take From < End Take” Trường hợp giảm tiền thuốc bệnh nhân có Health Insurance Chọn bệnh nhân có Health Insurance Tiền thuốc tính theo Các trường cịn lại nhập giá công thức Total Cost = Cost 15 trị hợp lệ *Quantity-(Cost*Quantity*%level Chọn chức “Sell Drug” Health_Insurance) Chọn chức “Invoice” Trường hợp không giảm tiền thuốc bệnh nhân khơng có Health Insurance Chọn bệnh nhân khơng có Insurance Health Tiền thuốc tính theo Các trường cịn lại nhập giá 16 cơng thức Total Cost = trị hợp lệ Cost*quantity Chọn chức “Sell Drug” Chọn chức “Invoice” 49 Chức tính Fee STT Hành động Phản hồi từ hệ thống Trường hợp Paid thành công Chọn chức “Check” để Hệ thống hiển thị “Paid toán successfully” cột Fee Trường hợp bệnh nhân Book Bed thành công Kiểm tra thông tin bệnh nhân Hiển thị đầy đủ thông tin bệnh nhân Book Bed thành cơng Bài tốn đặt ra: Sau kiểm thử phiên 1, kiểm thử viên phát số lỗi bao gồm: cập nhật thông tin bệnh nhân không thành công, không hiển thị thông báo sau xóa thơng tin bệnh nhân, hình “Sell Drug” “Manage Drug” thiếu xác nhận trường bắt buộc Trong phiên mới, khách hàng yêu cầu nhóm phát triển sửa lỗi tìm phiên thêm số yêu cầu thay đổi Hình 4.4 Lỗi xảy phiên Yêu cầu thứ nhất: Thêm trường cho bệnh nhân nội trú (In Patient) ngoại trú (Out Patient) hình quản lý bệnh nhân Nếu bệnh nhân nội trú, bệnh nhân phép thực chức đặt phịng thơng qua Receptionist Nếu bệnh nhân đăng ký ngoại trú khơng thể đặt phịng thành cơng 50 Hình 4.5 Yêu cầu thêm cho giao diện quản lý bệnh nhân Yêu cầu thứ hai: Thêm trường kiểm tra Health Insurance với mức độ 1, 2, 3, tương ứng việc giảm 10%, 20%, 30%, 40% số tiền mà bệnh nhân phải trả cho đặt phòng mua thuốc Hình 4.6 Nghiệp vụ liên quan đến Health Insurance Sau tiếp nhận yêu cầu khách hàng làm rõ yêu cầu, nhóm phát triển thực triển khai đưa phiên Kiểm thử viên thực cập nhật ca kiểm thử dựa theo yêu cầu thay đổi khách hàng Lúc này, mã nguồn phiên đưa vào công cụ JCIA để so sánh phân tích ảnh hưởng từ thay đổi Hình 4.8 mơ tả kết sau đưa vào công cụ JCIA để phân tích bao gồm thành phần thay đổi thành phần dự đoán thay đổi Các thành phần phân loại kiểm thử hồi quy cho đơn vị 51 Hình 4.7 Kết tập thay đổi ảnh hưởng cho kiểm thử đơn vị Từ kết trên, lập trình viên phải thực kiểm thử đơn vị cho tất hàm thay đổi hàm bị ảnh hưởng để đảm bảo chất lượng cho phiên Việc kiểm thử đơn vị kết hợp với công cụ CTF4Junit, công cụ hỗ trợ sinh ca kiểm thử cho đơn vị cho mã nguồn Java Tuy nhiên, công cụ hỗ trợ phần hàm với kiểu liệu nguyên thủy Tiếp theo kết phân loại kiểm thử hồi quy cho thành phần giao diện (như Hình 4.9) Hình 4.8 Kết tập thay đổi ảnh hưởng cho kiểm thử giao diện Từ kết trên, kiểm thử viên phải cập nhật ca kiểm thử chọn các ca kiểm thử phù hợp để thực kiểm thử hồi quy giao diện Dựa vào kết đầu công cụ JCIA mở rộng Hình 4.10, hình giao diện thay đổi dự đoán thay đổi kiểm thử để đảm bảo chất lượng phiên Việc kiểm thử giao diện kết hợp với công cụ Ranorex, 52 công cụ hỗ trợ kiểm thử giao diện tự động kỹ thuật ghi lại phát lại để kiểm thử tính xác tương tác người dùng giao diện Hình 4.9 Kết kiểm thử hồi quy giao diện với Ranorex Hình 4.10 Kết tập thay đổi ảnh hưởng cho kiểm thử tích hợp 4.3 Ý nghĩa cơng cụ thực nghiệm Công cụ JCIA mở rộng giải pháp nhằm hỗ trợ kiểm thử hồi quy cho ứng dụng Web doanh nghiệp Java EE Thực nghiệm cho thấy hướng phát triển tiềm phương pháp việc đảm bảo chất lượng phần mềm Tuy phương pháp cơng cụ cịn số hạn chế cơng cụ có ý nghĩa quan trọng việc kiểm thử hồi quy Công cụ giúp tìm thành phần bị ảnh hưởng từ thành phần thay đổi giúp nhóm phát triển kiểm thử viên có góc nhìn khách quan việc phát triển ứng dụng đảm bảo chất lượng Đây giải pháp giúp giảm kinh phí 53 rút ngắn thời gian nâng cao tính hiệu xác trình kiểm thử ứng dụng Web doanh nghiệp Khi sử dụng cơng cụ JCIA mở rộng, thay việc thực lại toàn ca kiểm thử, việc nén tệp mã nguồn hai phiên khác cho vào công cụ để phân tích Việc giúp giảm thiểu rủi ro, thời gian, cơng sức chi phí thực Thực nghiệm cho thấy thay phải kiểm thử tồn mã nguồn dự án (gồm 309 hàm mã nguồn Java 35 tệp giao diện với mã nguồn JSP), kiểm thử viên cần tập trung kiểm thử lại 101 hàm (bao gồm 89 hàm cho kiểm thử đơn vị 12 hàm cho kiểm thử tích hợp) 15 tệp giao diện cho kiểm thử giao diện Chi phí kiểm thử giảm (309+35-10115)/(309+35) = 66.3% Do đó, việc áp dụng công cụ để kiểm thử hồi quy mang lại nhiều lợi ích Với ưu điểm nêu, tương lai cơng cụ có khả áp dụng hiệu cho ứng dụng Web với ngôn ngữ lập trình khác 54 Chương Kết luận Luận văn cải tiến phương pháp cơng cụ phục vụ cho quy trình kiểm thử hồi quy để đảm bảo chất lượng mã nguồn ứng dụng doanh nghiệp tảng công nghệ Java EE Các phương pháp đề xuất [2,5] tập trung phân tích chủ yếu cho mã nguồn Java Tuy nhiên với tảng khác mã nguồn Java tương tác với mã nguồn giao diện theo cách khác Trong luận văn này, tác giả hồn thành thêm chức cho cơng cụ nhằm đáp ứng cho việc phân tích mã nguồn giao diện cho ứng dụng sử dụng công nghệ Java Servlet Bên cạnh đó, cơng cụ cịn hỗ trợ phân loại kiểm thử hồi quy từ thành phần thay đổi ảnh hưởng bao gồm kiểm thử đơn vị, kiểm thử tích hợp kiểm thử giao diện Từ đó, đưa nhìn khách quan kiểm thử viên lập trình viên Đối với kiểm thử viên, họ thực kiểm thử hồi quy dựa mã nguồn đặc tả Nếu kiểm thử hồi quy dựa đặc tả chọn ca kiểm thử để thực liên quan đến phần đặc tả bị thay đổi, kỹ thuật đòi hỏi đặc tả phải quản lý tốt Tuy nhiên, với phương pháp cải tiến mà luận văn thực hiện, việc kiểm thử hồi quy dựa mã nguồn Kiểm thử viên cần thực số ca kiểm thử dựa kết phân tích ảnh hưởng thành phần giao diện Cịn lập trình viên họ sử dụng công cụ để đánh giá thay đổi mã nguồn Một ánh xạ thành phần mã nguồn giao diện, chức ứng dụng tích hợp, giúp cơng cụ thực có ích ứng dụng vào q trình đảm bảo chất lượng phần mềm công ty phát triển phần mềm Về thực nghiệm, luận văn áp dụng công cụ để so sánh hai phiên mã nguồn cho ứng dụng Web quản lý bệnh viện Kết thực nghiệm cho thấy, công cụ cải tiến tìm thành phần ảnh hưởng liên quan đến giao diện ứng dụng Web mà công cụ trước khơng tìm thấy Thêm vào việc phân loại thành phần ảnh hưởng thành phần thay đổi Từ đó, hỗ trợ kiểm thử hồi quy cách hiệu Dựa vào kết thực nghiệm, công cụ cho thấy tính khả dụng cơng cụ giúp giảm thời gian chi phí kiểm thử hồi quy Dựa thực được, tương lai có thêm nhiều phụ thuộc giao diện cho tảng khác thêm vào để xử lý giúp phân tích ảnh hưởng dự đốn tập ảnh hưởng xác Bộ quản lý so sánh phiên mã nguồn tích hợp với hệ thống quản lý phiên SVN, Git công cụ kiểm thử hồi quy Bộ công cụ hỗ trợ cho thêm nhiều 55 công nghệ tảng khác Java, xa nữa, tương lai cơng cụ phân tích cho ngơn ngữ khác 56 TÀI LIỆU THAM KHẢO TIẾNG VIỆT [1] Phạm Ngọc Hùng, Trương Anh Hồng, Đặng Văn Hưng (2014), Giáo trình kiểm thử phần mềm, NXB Đại học Quốc gia Hà Nội [2] Bùi Quang Cường, Nguyễn Minh Hiếu, Đinh Tiến Lộc Bộ công cụ đảm bảo chất lượng mã nguồn cho ứng dụng doanh nghiệp, Hội nghị NCKH khoa CNTT, ĐH Công nghệ, 2018 TIẾNG ANH [3] Bixin Li WAVE-CIA: a novel CIA approach based on call graph mining In Proceedings of the 28th Annual ACM Symposium on Applied Computing [4] Bixin Li, Xiaobing Sun, Hareton Leung, Sai Zhang A survey of code-based change impact analysis techniques In Software Testing, Verification and Reliability Wiley Online Library (2012) [5] Le Ba Cuong, Son Van Nguyen, Duc Anh Nguyen, Pham Ngoc Hung, Hieu Vo Dinh A Tool for Change Impact Analysis of Java EE Applications Information Systems Design and Intelligent Applications Advances in Intelligent Systems and Computing, vol 672 Springer, Singapore (2018) [6] Ann Millikin (2014), What Types of Software Testing Can and Should Be Automated, https://www.seguetech.com/types-software-testing-can-shouldbe-automated/ [7] Salah, Hospital Management System, https://github.com/salahatwa/HospitalManagement-System ... luận văn trình bày phương pháp phân tích ảnh hưởng các thành phần giao diện công nghệ Java Servlet Tiếp theo trình bày kiểm thử hồi quy phân loại kiểm thử hồi quy từ thành phần thay đổi ảnh hưởng. .. 3.1.2 Phương pháp phân tích ảnh hưởng 31 3.2 Phương pháp phân loại kiểm thử hồi quy 35 3.2.1 Kiểm thử hồi quy 35 3.2.2 Phân loại kiểm thử hồi quy 35 3.2.3 Quy. .. 27 Chương Phương pháp phân tích ảnh hưởng thành phần giao diện phân loại kiểm thử hồi quy 28 3.1 Phương pháp phân tích ảnh hưởng thành phần giao diện 28 3.1.1 Phân tích kiến trúc