Luận văn thạc sĩ vnu uet 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 ths máy tính 84801

Luận văn thạc sĩ VNU UET phân tích ảnh hưởng các thành phần và ứng dụng kiểm thử hồi quy trong dự án Java EE, chuyên ngành máy tính 84801.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2018

58
0
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: Phương pháp phân tích sự ảnh hưởng trong JCIA

1.1. Bộ công cụ JCIA

1.2. Phân tích các phụ thuộc

1.2.1. Tiền xử lý mã nguồn

1.2.2. Phân tích sự phụ thuộc cho Struts 2

1.2.3. Phân tích sự phụ thuộc trong Java Core

1.2.4. Phân tích phụ thuộc cho công nghệ kết nối cơ sở dữ liệu JDBC

1.2.5. Phân tích phụ thuộc cho Hibernate

1.3. Quản lý phiên bản

1.4. Phương pháp phân tích ảnh hưởng các thành phần giao diện và phân loại kiểm thử hồi quy

1.4.1. Phương pháp phân tích ảnh hưởng các thành phần giao diện

1.4.1.1. Phân tích kiến trúc Java Servlet

1.4.2. Phương pháp phân tích sự ảnh hưởng

1.4.3. Phương pháp phân loại kiểm thử hồi quy

1.4.3.1. Kiểm thử hồi quy
1.4.3.2. Phân loại kiểm thử hồi quy
1.4.3.3. Quy trình kiểm thử hồi quy dựa trên phương pháp đề xuất

1.5. Thực nghiệm và triển khai

1.5.1. Giới thiệu công cụ JCIA mở rộng

1.5.2. Ý nghĩa của công cụ thực nghiệm

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Phân Tích Ảnh Hưởng Trong Dự Án Java EE

Phân tích ảnh hưởng là một phần quan trọng trong quy trình phát triển phần mềm, đặc biệt là trong các dự án Java EE. Việc hiểu rõ cách mà các thay đổi trong mã nguồn có thể ảnh hưởng đến các thành phần khác là rất cần thiết để đảm bảo chất lượng sản phẩm. Trong bối cảnh phát triển phần mềm hiện đại, các ứng dụng Java EE thường có cấu trúc phức tạp, với nhiều thành phần tương tác lẫn nhau. Do đó, việc áp dụng các phương pháp phân tích ảnh hưởng sẽ giúp các lập trình viên và kiểm thử viên xác định được các khu vực cần kiểm tra kỹ lưỡng hơn sau khi có sự thay đổi.

1.1. Khái Niệm Phân Tích Ảnh Hưởng

Phân tích ảnh hưởng (Change Impact Analysis - CIA) là quá trình xác định các thành phần trong mã nguồn bị ảnh hưởng khi có sự thay đổi. CIA giúp lập trình viên và kiểm thử viên nhận diện các phần cần kiểm tra lại, từ đó tiết kiệm thời gian và chi phí trong quá trình kiểm thử hồi quy.

1.2. Tầm Quan Trọng Của Phân Tích Ảnh Hưởng

Việc thực hiện phân tích ảnh hưởng không chỉ giúp phát hiện lỗi mà còn nâng cao hiệu quả của quy trình phát triển phần mềm. Bằng cách xác định chính xác các thành phần bị ảnh hưởng, các nhóm phát triển có thể tập trung vào những khu vực quan trọng nhất, giảm thiểu rủi ro và tăng cường chất lượng sản phẩm.

II. Thách Thức Trong Kiểm Thử Hồi Quy Ở Dự Án Java EE

Kiểm thử hồi quy là một phần không thể thiếu trong quy trình phát triển phần mềm, đặc biệt là đối với các ứng dụng Java EE. Tuy nhiên, việc thực hiện kiểm thử hồi quy gặp nhiều thách thức. Các ứng dụng Java EE thường có quy mô lớn và phức tạp, với nhiều thành phần tương tác. Điều này làm cho việc xác định các ca kiểm thử cần thiết trở nên khó khăn. Hơn nữa, việc chạy lại toàn bộ các ca kiểm thử có thể tốn kém về thời gian và nguồn lực.

2.1. Khó Khăn Trong Việc Xác Định Các Ca Kiểm Thử

Một trong những thách thức lớn nhất trong kiểm thử hồi quy là xác định các ca kiểm thử nào cần được thực hiện lại. Khi có sự thay đổi trong mã nguồn, không phải tất cả các ca kiểm thử đều cần thiết phải chạy lại. Việc này đòi hỏi một phương pháp phân tích hiệu quả để xác định các ca kiểm thử liên quan.

2.2. Chi Phí Thời Gian Và Nguồn Lực

Việc kiểm thử hồi quy có thể tiêu tốn một lượng lớn thời gian và nguồn lực. Nếu không có một chiến lược kiểm thử hợp lý, các công ty có thể phải đối mặt với chi phí cao và thời gian phát triển kéo dài. Do đó, việc tối ưu hóa quy trình kiểm thử là rất cần thiết.

III. Phương Pháp Phân Tích Ảnh Hưởng Trong Dự Án Java EE

Để giải quyết các thách thức trong kiểm thử hồi quy, việc áp dụng các phương pháp phân tích ảnh hưởng là rất quan trọng. Các phương pháp này giúp xác định các thành phần bị ảnh hưởng và từ đó tối ưu hóa quy trình kiểm thử. Một trong những công cụ hỗ trợ hiệu quả cho việc này là JCIA, giúp phân tích ảnh hưởng của các thay đổi trong mã nguồn Java EE.

3.1. Công Cụ JCIA Và Cách Thức Hoạt Động

JCIA (Java Change Impact Analysis) là một công cụ được thiết kế để hỗ trợ phân tích ảnh hưởng trong các dự án Java EE. Công cụ này cho phép người dùng tải lên mã nguồn và thực hiện phân tích để xác định các thành phần bị ảnh hưởng. JCIA cung cấp giao diện trực quan giúp người dùng dễ dàng theo dõi các thay đổi và ảnh hưởng của chúng.

3.2. Quy Trình Phân Tích Ảnh Hưởng

Quy trình phân tích ảnh hưởng bao gồm việc xác định các thay đổi trong mã nguồn, sau đó sử dụng công cụ JCIA để phân tích và xác định các thành phần bị ảnh hưởng. Kết quả phân tích sẽ giúp lập trình viên và kiểm thử viên có cái nhìn rõ ràng hơn về các khu vực cần kiểm tra lại.

IV. Ứng Dụng Thực Tiễn Của Phân Tích Ảnh Hưởng

Phân tích ảnh hưởng không chỉ là lý thuyết mà còn có nhiều ứng dụng thực tiễn trong các dự án Java EE. Việc áp dụng các phương pháp phân tích ảnh hưởng giúp nâng cao hiệu quả kiểm thử hồi quy, giảm thiểu chi phí và thời gian. Nhiều công ty đã áp dụng thành công các phương pháp này để cải thiện quy trình phát triển phần mềm của họ.

4.1. Cải Thiện Quy Trình Kiểm Thử

Bằng cách áp dụng phân tích ảnh hưởng, các công ty có thể cải thiện quy trình kiểm thử của mình. Việc xác định chính xác các ca kiểm thử cần thiết giúp tiết kiệm thời gian và nguồn lực, đồng thời nâng cao chất lượng sản phẩm.

4.2. Giảm Thiểu Rủi Ro Trong Phát Triển Phần Mềm

Phân tích ảnh hưởng giúp giảm thiểu rủi ro trong phát triển phần mềm bằng cách xác định các thành phần có khả năng bị ảnh hưởng. Điều này giúp các nhóm phát triển có thể tập trung vào những khu vực quan trọng nhất, từ đó nâng cao chất lượng sản phẩm.

V. Kết Luận Và Tương Lai Của Phân Tích Ảnh Hưởng Trong Java EE

Phân tích ảnh hưởng là một phần quan trọng trong quy trình phát triển phần mềm, đặc biệt là trong các dự án Java EE. Việc áp dụng các phương pháp phân tích ảnh hưởng giúp nâng cao hiệu quả kiểm thử hồi quy, giảm thiểu chi phí và thời gian. Trong tương lai, việc phát triển các công cụ và phương pháp phân tích ảnh hưởng sẽ tiếp tục được chú trọng để đáp ứng nhu cầu ngày càng cao trong lĩnh vực phát triển phần mềm.

5.1. Định Hướng Nghiên Cứu Tương Lai

Trong tương lai, các nghiên cứu sẽ tiếp tục tập trung vào việc cải thiện các phương pháp phân tích ảnh hưởng, nhằm nâng cao hiệu quả và độ chính xác trong kiểm thử hồi quy. Việc phát triển các công cụ hỗ trợ phân tích ảnh hưởng sẽ là một trong những ưu tiên hàng đầu.

5.2. Tích Hợp Công Nghệ Mới

Việc tích hợp các công nghệ mới vào quy trình phân tích ảnh hưởng sẽ giúp nâng cao hiệu quả và giảm thiểu rủi ro. Các công nghệ như trí tuệ nhân tạo và học máy có thể được áp dụng để cải thiện quy trình phân tích và kiểm thử hồi quy.

22/07/2025
Luận văn thạc sĩ vnu uet 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 ths máy tính 84801

Trích đoạn nội dung tài liệu

Chương 1. Phương pháp phân tích sự ảnh hưởng trong JCIA .1 Bộ công cụ JCIA .2 Phân tích các phụ thuộc .1 Tiền xử lý mã nguồn .2 Phân tích sự phụ thuộc cho Struts 2 .3 Phân tích sự phụ thuộc trong Java Core .4 Phân tích phụ thuộc cho công nghệ kết nối cơ sở dữ liệu JDBC .5 Phân tích phụ thuộc cho Hibernate .3 Quản lý phiên bản. Phương pháp phân tích ảnh hưởng các thành phần giao diện và phân loại kiểm thử hồi quy .1 Phương pháp phân tích ảnh hưởng các thành phần giao diện .1 Phân tích kiến trúc Java Servlet .2 Phương pháp phân tích sự ảnh hưởng.2 Phương pháp phân loại kiểm thử hồi quy .1 Kiểm thử hồi quy .2 Phân loại kiểm thử hồi quy .3 Quy trình kiểm thử hồi quy dựa trên phương pháp đề xuất. Thực nghiệm và triển khai .1 Giới thiệu công cụ JCIA mở rộng.

Ý nghĩa của công cụ thực nghiệm. 53 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ii TÀI LIỆU THAM KHẢO. 56 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com iii LỜI CAM ĐOAN Tôi xin cam đoan rằng những nghiên với đề tài “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” được trình bày trong luận văn này là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của thầy giáo PGS. Phạm Ngọc Hùng, không sao chép lại của người khác.

Tất cả các nguồn tài liệu tham khảo, các công trình nghiên cứu liên quan đều được trích dẫn cụ thể. Tôi xin chịu hoàn toàn trách nhiệm nếu có bất kỳ phát hiện nào về sự sao chép mà không có trích dẫn trong tài liệu tham khảo. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com iv LỜI CẢM ƠN Đầu tiên, tôi xin gửi lời cảm ơn chân thành tới thầy giáo PGS. Phạm Ngọc Hùng - người đã hướng dẫn tận tình, chỉ bảo và đóng góp ý kiến quý báu cho tôi trong suốt quá trình học tập và làm khóa luận.

Trong quãng thời gian được thầy hướng dẫn, tôi đã học hỏi được nhiều kinh nghiệm về phương pháp nghiên cứu, kỹ năng 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 hơn trong cuộc sống. Tôi xin gửi lời cảm ơn chân thành đến các 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 những kiến thức quý báu, tạo điều kiện tốt nhất cho tôi trong suốt thời gian học tập và nghiên cứu. Tiếp theo, tôi xin gửi lời cảm ơn đến gia đình và người thân đã luôn bên cạnh động viên, cổ vũ và là chỗ dựa vững chắc để tôi yên tâm học hành trong suốt những năm qua.

Tôi cũng xin gửi lời cảm ơn chân thành đến Bùi Quang Cường và Ngô Hải Yến đã tạo điều kiện giúp đỡ tôi để nghiên cứu công cụ JCIA. Mặc dù đã rất cố gắng nhưng luận văn chắc chắn không tránh khỏi những thiếu sót, tôi rất mong nhận được những ý kiến đánh giá và phê bình từ phía các Thầy Cô để luận văn được hoàn thiện hơ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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com v DANH MỤC THUẬT NGỮ VIẾT TẮT STT Từ viết tắt Từ đầy đủ Ý nghĩa 1 AST Abstract Syntax Tree Cây cấu trúc trừu tượng 2 CIA Change Impact Analysis Phân tích ảnh hưởng sự thay đổi 3 DAO Data Access Object Đối tượng truy cập dữ liệu 4 ERD Entity Relationship Biểu đồ quan hệ thực thể Diagram 5 Java EE Java Enterprise Edition Java phiên bản doanh nghiệp 6 JCIA Java Change Impact Phân tích ảnh hưởng sự Analysis thay đổi mã nguồn trong các dự án Java 7 JDBC Java Database Connectivity Giao diện tương tác với cơ sở dữ liệu quan hệ trong Java 8 JDG Java Dependency Graph Đồ thị phụ thuộc Java EE 9 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com vi DANH MỤC HÌNH VẼ Hình 2. Giao diện chính của công cụ JCIA.

Màn hình Project View. Màn hình Dependency View. Change Impact View. Hiển thị mã nguồn.

Change Set View. Impact Set View. Mô hình ứng dụng Struts2. Quy trình phân tích sự phụ thuộc cho ứng dụng Struts 2.

Ví dụ minh họa đồ thị chuỗi. Quá trình xây dựng và dự đoán câu truy vấn. Quá trình phân tích phụ thuộc cho Hibernate. So sánh cây cấu trúc giữa hai phiên bản mã nguồn.

Kiến trúc Java Servlet. Vòng đời của Java Servlet. Mã nguồn sử dụng nền tảng Java Servlet. Phân loại kiểm thử hồi quy.

Quy trình kiểm thử hồi quy đề xuất. Kiến trúc của công cụ JCIA. Kết quả đầu ra của công cụ. Ứng dụng Web quản lý bệnh viện.

Lỗi xảy ra ở phiên bản 1. Yêu cầu thêm mới cho giao diện quản lý bệnh nhân. Nghiệp vụ liên quan đến Health Insurance. Kết quả tập thay đổi và ảnh hưởng cho kiểm thử đơn vị.

Kết quả tập thay đổi và ảnh hưởng cho kiểm thử giao diện. Kết quả kiểm thử hồi quy giao diện với Ranorex. Kết quả tập thay đổi và ảnh hưởng cho kiểm thử tích hợp. 52 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com vii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com viii DANH MỤC BẢNG Bảng 2.

Ý nghĩa các kiểu cạnh trong đồ thị chuỗi. Các phương thức truy xuất CSDL có sẵn của Hibernate. Mô tả yêu cầu chức năng quản lý nhân viên. Mô tả yêu cầu chức năng quản lý phòng.

Mô tả yêu cầu chức năng quản lý dịch vụ. Mô tả yêu cầu chức năng quản lý bệnh nhân. Mô tả yêu cầu chức năng đặt phòng. Mô tả yêu cầu chức năng quản lý thuốc.

Mô tả yêu cầu chức năng quản lý bán thuốc. 44 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 9 Chƣơng 1. Giới thiệu Trong lĩnh vực phát triển phần mềm hiện nay, hầu hết các ứng dụng phần mềm đều được phát triển trên nền Web. Chính vì vậy, việc kiểm thử để đảm bảo chất lượng các ứng dụng Web là một vấn đề rất cần thiết.

Tuy nhiên, các ứng dụng Web ngày càng trở nên phức tạp, đặc biệt là đối với các ứng dụng Web sử dụng nền tảng Java EE - một trong những giải pháp đang được sử dụng phổ biến để triển khai cho các ứng dụng Web doanh nghiệp. Các ứng dụng này thường được phát triển trong thời gian dài, với quy mô lớn và có độ phức tạp cao, ví dụ như các ứng dụng xử lý nghiệp vụ logic trong các lĩnh vực ngân hàng, thuế, kế toán, v. Khi một phiên bản mới được bàn giao có thể là do nâng cấp, sửa đổi mã nguồn, v., việc kiểm thử viên phải kiểm thử lại toàn bộ chức năng của phần mềm là rất cần thiết để đảm bảo các chức năng vẫn hoạt động tốt, bởi vì một sự thay đổi nhỏ trong ứng dụng cũng có thể gây ra một số ảnh hưởng không thể dự đoán trước hay thậm chí là cả những sai sót tiềm ẩn bên trong đối với ứng dụng đang phát triển. Phương pháp đơn giản để kiểm thử hồi quy là chạy tất cả các ca kiểm thử của phiên bản trước [1].

Tuy nhiên, việc kiểm thử lại toàn bộ này là rất tốn kém về thời gian và công sức. Do đó, để hoàn thành công việc kiểm thử đúng tiến độ và hiệu quả, các công ty phần mềm cần phải áp dụng các phương pháp và công cụ nhằm tối ưu được các hoạt động kiểm thử. Phương pháp phân tích sự ảnh hưởng của các thành phần kết hợp với công cụ kiểm thử tự động để thực hiện kiểm thử hồi quy là một giải pháp hữu hiệu nhằm nâng cao tính hiệu quả và chính xác, giảm thiểu chi phí và rút ngắn thời gian trong quá trình kiểm thử các sản phẩm phần mềm nói chung và các ứng dụng Web nói riêng. Thay vì kiểm thử lại toàn bộ ứng dụng, kiểm thử viên chỉ cần kiểm thử các thành phần bị thay đổi và thành phần có khả năng bị ảnh hưởng dựa trên thay đổi đó.

Phân tích ảnh hưởng sự thay đổi (Change Impact Analysis - CIA) [3,4,5] là giải pháp để giải quyết bài toán trên. CIA đóng một vai trò quan trọng trong các giai đoạn phát triển phần mềm, bảo trì và kiểm thử hồi quy. Đối với nhóm phát triển, CIA có thể được ứng dụng vào việc giúp nhận biết các thay đổi cần thực hiện dựa trên các thay đổi có sẵn. Đối với kiểm thử viên, CIA có thể ứng dụng vào việc xác định những ca kiểm thử có liên quan đến phần mã nguồn chỉnh sửa giúp giảm số lượng các ca kiểm thử và rút ngắn thời gian kiểm thử hồi quy mà vẫn đảm bảo được chất lượng phần mềm.

Trong thực tế, có một số công cụ hỗ trợ quản lý phiên bản mã nguồn như Git, SVN, VSS, v., các công cụ này giúp lập trình viên quản lý được các dòng lệnh thay đổi qua các phiên bản khác nhau. Tuy nhiên, để có thể đánh giá được LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 các ảnh hưởng từ sự thay đổi là chưa có giải pháp thỏa đáng. Một số nghiên cứu trước đã đề xuất các phương pháp và công cụ thực hiện việc đảm bảo chất lượng mã nguồn cho ứng dụng doanh nghiệp [2]. Công cụ JCIA ra đời phần nào giải quyết được bài toán trên cho ứng dụng Java EE, công cụ giúp người dùng có thể thực hiện phân tích ảnh hưởng sự thay đổi cho các ứng dụng Java EE đa nền tảng, hỗ trợ các công nghệ nền tảng (framework) như Hibernate, Struts, Spring.

Mặc dù vậy, công cụ này còn khá đơn giản, phân tích sự phụ thuộc chủ yếu cho mã nguồn Java và chưa mang lại tính hiệu quả trong việc kiểm thử hồi quy ở góc nhìn của kiểm thử viên. Dựa trên ý tưởng về phương pháp phân tích phụ thuộc trong mã nguồn Java, một cải tiến được nghiên cứu nhằm phân tích ảnh hưởng sự thay đổi cho các thành phần liên quan đến giao diện, từ đó kiểm thử viên sẽ có góc nhìn khách quan hơn về công việc kiểm thử hồi quy cần thực hiện trên các giao diện thay đổi và ảnh hưởng, cũng như đưa ra một cái nhìn khách quan giữa lập trình viên và kiểm thử viên. Trong nghiên cứu này, công nghệ Java Servlet sẽ được tập trung hỗ trợ đầu tiên. Sau đó, luận văn sẽ hoàn thiện dần phương pháp cho các nền tảng khác.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ