Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 37 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
37
Dung lượng
1,21 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ DƯƠNG THỊ THANH HUYỀN SINHTỰĐỘNGCAKIỂMTHỬTỪCÁCMƠHÌNHTHỰCTHIĐƯỢC Ngành: Cơng nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN CÁN BỘ HƯỚNG DẪN KHOA HỌC: TS Đặng Đức Hạnh HÀ NỘI – 2017 TĨM TẮT Luận văn trình bày phương pháp nghiên cứu tựđộng hóa q trình sinhcakiểmthửtừmơhình luồng quy trình nghiệp vụ (BPMN) Hướng nghiên cứu dựa lý thuyết kiểmthử dựa mơhình Mục tiêu đề tựđộng hóa q trình kiểm thử, nâng cao hiệu kiểm thử, tiết kiệm chi phí thời gian phát triển sản phẩm phần mềm Phương pháp đề xuất với nội dung sau: Với đầu vào mơhình luồng nghiệp vụ BPMN lưu giữ dạng tệp xml, chương trình kiểmthử biến đổi tệp xml cách bóc tách thơng điệp, tốn tử ràng buộc đưa vào thiết kế Sau thực dò tìm sinhcakiểmthử cho đường từ điểm bắt đầu điểm kết thúc gọi đường kiểmthử Để kiểm nghiệm mức độ khả thi phương pháp, công cụ hỗ trợ cài đặt thử nghiệm với số ví dụ đơn giản nhằm minh chứng cho tính đắn hiệu phương pháp Kết thực nghiệm cho thấy hiệu kịch cakiểmthử khả thi để áp dụng cho công ty phát triển phần mềm Từcakiểmthửsinh áp dụng để kiểmthử tích hợp, kiểmthử hệ thống phần mềm Hơn nữa, cakiểmthử áp dụng để kiểm tra tính đắn cơng cụ quản lý quy trình nghiệp vụ Từ khóa: Kiểmthử dựa mơ hình, kiểmthửtự động, mơhình hóa quy trình nghiệp vụ, quản lý quy trình nghiệp vụ i TĨM TẮT i BẢNG THUẬT NGỮ VIẾT TẮT iv CHƯƠNG 1: ĐẶT VẤN ĐỀ .1 CHƯƠNG 2: TỔNG QUAN VỀ MƠHÌNH HĨA QUY TRÌNH NGHIỆP VỤ VÀ KIỂMTHỬ DỰA TRÊN MƠHÌNH 2.1 Giới thiệu 2.2 Tổng quan mơhìnhthựcthi 2.2.1 Khái niệm mơhình (Model) 2.2.2 Khái niệm siêu mơhình (Meta- model) 2.2.3 Khái niệm mơhìnhthựcthi (executable model) 2.3 Tổng quan kiểmthử dựa mơhình 2.3.1 Phương pháp tiếp cận kiểmthử dựa môhình 2.3.2 Thuận lợi khó khăn kiểmthửmơhình 2.4 Một số phương pháp kiểmthử dựa mơhình 2.4.1 Sinhtựđộngcakiểmthửtừ biểu đồ UML OCL 2.4.2 Sinhtựđộngcakiểmthửtừ biểu đồ UML 2.4.3 Khai thác đáng tin cậy trường hợp kiểmthửtựđộngtừ đặc tả yêu cầu phần mềm 2.5 Tổng quan mơhình hóa quy trình nghiệp vụ BPMN 2.5.1 Tổng quan mơhình hóa quy trình nghiệp vụ 2.5.2 Mơhình hóa quy trình nghiệp vụ với BPMN 2.5.3 Các phần tử (element) BPMN 2.5.3.1 Flow Object 2.5.3.2 Data 2.5.3.3 Connection Object 2.5.3.4 Swimlanes 2.5.3.5 Artifacts 2.5.4 Cácmơhình thành phần BPMN 2.5.5 Các điều kiện ràng buộc thiết kế BPMN 2.5.6 Công cụ thiết kế thựcthimơhình BPMN 10 2.5.6.1 Công cụ MS Visio 10 2.5.6.2 Công cụ Bizagi 10 2.5.6.3 Công cụ Activiti 11 ii 2.6 Tổng kết chương 11 CHƯƠNG 3: PHƯƠNG PHÁP SINHCAKIỂMTHỬTỪMƠHÌNH BPMN 12 3.1 Giới thiệu 12 3.2 Phát biểu toán 12 3.3 Thuật toán sinh kịch cakiểmthửtừmơhình BPMN 13 3.3.1 Ý tưởng 13 3.3.2 Chuyển đổi mơhình BPMN sang dạng CFG 13 3.3.3 Thuật toán sinh kịch cakiểmthử 16 3.4 Tổng kết chương 18 CHƯƠNG 4: CÀI ĐẶT & THỰC NGHIỆM 19 4.1 Môi trường cài đặt 19 4.2 Kết thực nghiệm 19 4.3 Ý nghĩa thực nghiệm 29 CHƯƠNG 5: KẾT LUẬN 30 TÀI LIỆU THAM KHẢO 32 iii BẢNG THUẬT NGỮ VIẾT TẮT STT Từ viết tắt BPMN BPEL OMG standard KPI UML SUT BPM BPMI SDG 10 OCL 11 SRS 12 PIM 13 PSM 14 MSDN 15 16 M2M M2T 17 MDE Viết đầy đủ Business Process model and notation Business Process Execution Language Object management group standard Key Performance Indicators Unified Modeling Language Software under test Business Process Management Business Process Management Initiative Sequence diagram graph Object Constraint Language Software Requirement Specification Platform-independent model Platform-specific model Model-Driven Software Engineering Model-to-Model Model-to-Text Model-Driven Engineering Ý nghĩa Ký pháp mơhình quy trình nghiệp vụ Ngơn ngữ thựcthi luồng quy trình nghiệp vụ Tiêu chuẩn nhóm quản lý đối tượng Các số hoạt động Ngơn ngữ mơhình hóa thống Phần mềm kiểmthử Quản lý quy trình nghiệp vụ Tổ chức sáng kiến quản lý quy trình nghiệp vụ Biểu diễn đồ họa biểu đồ Ngôn ngữ ràng buộc đối tượng Đặc tả yêu cầu phần mềm Độc lập với tảng mơhình Phụ thuộc tảng mơhình Phát triển phần mềm hướng mơhìnhMơhình thành mơhìnhMơhình thành văn Kỹ thuật ứng dụng hướng mơhình iv CHƯƠNG 1: ĐẶT VẤN ĐỀ Để phù hợp với xu hướng phát triển phần mềm ngày cao nay, kỹ thuật phương pháp tựđộng tạo cakiểmthửtừmơhình quan tâm nhiều nước giới, Việt Nam kỹ thuật phương pháp nghiên cứu lĩnh vực chưa áp dụng phát triển mạnh công nghiệp sản xuất phẩn mềm Thật vậy, vấn đề cấp bách cần thiết công ty phần mềm tổ chức phát triển, triển khai dự án phần mềm Kiểmthử phần mềm tiến hành để cung cấp cho bên liên quan thông tin chất lượng sản phẩm dịch vụ kiểmthử Mục đích kiểmthử phát lỗi phần mềm để từ khắc phục sửa chữa Việc kiểmthử khẳng định chức sản phẩm điều kiện, mà khẳng định hoạt động điều kiện cụ thể Tùy thuộc vào phương pháp, việc kiểmthửthực lúc trình phát triển phần mềm với kỹ thuật tương ứng Quá trình kiểmthử theo phương pháp truyền thống kiểmthử dựa đặc tả yêu cầu để tạo trường hợp thử nghiệm tay Ngoài lợi kỹ kinh nghiệm kiểmthử viên, q trình có nhược điểm phải nhiều nỗ lực, chất lượng cakiểmthử không đồng phụ thuộc vào kinh nghiệm người kiểmthử Trong đó, việc kiểmthửtựđộng mà đặc biệt kiểmthử dựa mơhình có lợi giúp giảm chi phí thời gian, độ bao phủ tốt giảm lỗi chủ quan, khả sử dụng lại cao, sớm phát lỗi, đảm bảo chất lượng phần mềm Có nhiều cách tiếp cận khác để tạo cakiểmthửtựđộng tạo cakiểmthửtựđộngtừmơ biểu diễn máy hữu hạn trạng thái, ôtômat, đặc tả đại số, môhình luồng quy trình nghiệp vụ, biểu đồ trạng thái Unified Modeling Language (UML),…Các mơhình biểu diễn máy hữu hạn trạng thái, ôtômat, đặc tả đại số, biểu đồ trạng thái UML đòi hỏi yêu cầu cao để đạt đặc tả xác hành vi hệ thống Trong mơhình BPMN- Business Process Model and Notation dễ dàng xây dựng, xác minh tính xác rõ ràng thơng tin mơ tả luồng quy trình nghiệp vụ cán phát triển hệ thống người sử dụng bên liên quan Do đó, khn khổ luận văn này, tơi lựa chọn tiếp cận phương pháp kiểmthửtựđộngtừmơhình luồng quy trình nghiệp vụ BPMN Để áp dụng phương pháp kiểmthửkiểmthử dựa mơhình đòi hỏi mơhình phải đặc tả xác hành vi hệ thống Tuy nhiên, xây dựng mơhình cơng việc khó khăn đòi hỏi nhiều nỗ lực tiềm ẩn nhiều nguy lỗi Việc kiểmthử tính đắn cho thiết kế dựa mơhìnhtừ đặc tả luồng quy trình nghiệp vụ thuận lợi mang lại nhiều lợi ích Do trường hợp kiểmthử tạo trước mã nguồn viết, cho phép nhà phát triển sử dụng trường hợp thử nghiệm để kiểm tra chương trình họ phát triển mã nguồn Điều làm giảm số lần lặp lại phát triển thử nghiệm, tiếp tục tiết kiệm nguồn lực, tài nguyên Các trường hợp kiểmthử tạo trực tiếp từ yêu cầu hệ thống sử dụng để phát lỗi sớm, giúp làm giảm chi phí Kiểmthử dựa mơhình thường tạo trường hợp kiểmthửtừmơhình trừu tượng phần mềm, bao gồm đặc tả thứcmơ tả thiết kế Với mục đích sinhcakiểmthử trực tiếp từmơhình luồng quy trình nghiệp vụ, luận văn trình bày nội dung sau: - Chương 1: Đặt vấn đề - Chương 2: Giới thiệu tổng quan mơhìnhthựcthi được, tổng quan kiểmthử dựa mơ hình, số phương pháp kiểmthử dựa mơhình Tập trung nghiên cứu tìm hiểu mơhình hóa quy trình nghiệp vụ nghiên cứu cách thức sử dụng ký pháp BPMN 2.0 Giới thiệu số công cụ thiết kế thựcthimơhình BPMN - Chương 3: Phát biểu toán, đề xuất phương pháp sinhtựđộngcakiểmthửtừmơhình BPMN - Chương 4: Mô tả cài đặt kết thực nghiệm triển khai phương pháp đề xuất - Chương 5: Trình bày tóm tắt kết đạt được, kết luận, hạn chế hướng nghiên cứu phát triển tương lai CHƯƠNG 2: TỔNG QUAN VỀ MÔHÌNH HĨA QUY TRÌNH NGHIỆP VỤ VÀ KIỂMTHỬ DỰA TRÊN MƠHÌNH 2.1 Giới thiệu Phương pháp tiếp cận hướng mơhình hóa cơng nghiệp phần mềm có vai trò vơ quan trọng khơng cho q trình phát triển phần mềm mà cho trình kiểmthử phần mềm nhằm tăng tính hiệu quả, đảm bảo chất lượng sản phẩm tối ưu chi phí Do đó, phương pháp sinhcakiểmthửtừmơhình đề cập nhiều nghiên cứu Tuy nhiên, nghiên cứu sinhcakiểmthửtừmôhình luồng quy trình nghiệp vụ BPMN chưa đề cập nhiều Trong BPMN mơhình cần thiết trình phát triển phần mềm để cung cấp nhìn tổng quan nghiệp vụ hệ thống khơng cho nhà phát triển sản phẩm mà trực quan, dễ hiểu cho khách hàng bên liên quan Nội dung phần chương nêu kiến thức tổng quan kiểmthử dựa mơ hình, giới thiệu số phương pháp kiểmthửmơ hình, tổng quan mơhình hóa quy trình nghiệp vụ (BPMN) 2.2 Tổng quan mơhìnhthựcthi 2.2.1 Khái niệm mơhình (Model) Mơhình biểu diễn trừu tượng cấu trúc, tính hành vi hệ thống Mơhình biểu diễn ký hiệu đồ họa diễn tả ngôn ngữ đặc tả miền cụ thể dạng ngơn ngữ hìnhthức Dưới hai định nghĩa “mơ hình” từ điển American Heritage: - Mơhình đối tượng nhỏ xây dựng để quy mô, mô chi tiết đối tượng khác thường đối tượng lớn [3] - Mơhình biểu đồ hóa mơ tả chi tiết hệ thống, đồng thời mơ tả chi tiết khía cạnh, đặc tính hệ thống [3] Theo AnnneKe, mơhình định nghĩa: "Một mơhìnhmơ tả (hoặc phần) hệ thống viết ngôn ngữ hình thức" [4] "Ngơn ngữ hìnhthức ngơn ngữ với mẫu xác định rõ ràng ngữ nghĩa phù hợp với việc biên dịch tựđộng máy tính" [4] 2.2.2 Khái niệm siêu mơhình (Meta- model) Meta-model mơhình mức trừu tượng sử dụng để biểu diễn mơhình Meta-model viết ngôn ngữ gọi meta-language 2.2.3 Khái niệm mơhìnhthựcthi (executable model) Ngơn ngữ mơhình hóa cho phép xác định cấu trúc hành vi hệ thống phần mềm cách thức mức trừu tượng cao gần với không gian vấn đề mức ngôn ngữ lập trình Ngơn ngữ mơhìnhthựcthi khơng cho phép đặc tả khía cạnh tĩnh hệ thống mà đặc tả khía cạnh động, tức hành vi hệ thống phần mềm thông qua mơhìnhthựcthi Do đó, “một mơhìnhthựcthitừ viết chương trình thựcthi chạy mơ hình” [10,11] Theo quan điểm Jordi Cabot xác định: “một mơhìnhthựcthi một mơhình đủ để thực thi” [3] Theo đó, mơhìnhthựcthi ngữ nghĩa, hoạt động xác định định nghĩa đầy đủ Trong thực tế, khả thựcthimơhình phụ thuộc nhiều vào công cụ thực thân mơhình (ví dụ cơng cụ u cầu tính đầy đủ chi tiết mơhình số cơng cụ khác có khả “lấp đầy khoảng trống” – nghĩa tự bổ sung thành phần thiếu mơhình dựa định nghĩa có sẵn cơng cụ để thựcthimơhình khơng đầy đủ đó) BPMN mơhìnhmơ tả cụ thể hành vi người dùng hệ thống đủ chi tiết để thựcthiTừ BPMN sinh mã chương trình (M2T) thơng qua hỗ trợ ngôn ngữ thựcthi BPEL – Business process execution language sinhcakiểmthử kịch kiểmthử tích hợp chức năng, kiểmthử hệ thống Một thể cụ thể cho việc BPMN mơhình đủ chi tiết để thựcthi BPMN thựcthi trực tiếp cơng cụ quản lý quy trình nghiệp vụ (BPM) Điều có nghĩa là, có mơhình BPMN import vào cơng cụ BPM, ta thực luồng nghiệp vụ cơng cụ Trực quan hóa việc thựcthi BPMN công cụ Activiti trình bày chi tiết chương III chương IV 2.3 Tổng quan kiểmthử dựa mơhình 2.3.1 Phương pháp tiếp cận kiểmthử dựa môhình Có bốn phương pháp tiếp cận với kiểmthử dựa mơ sau: - Sinh liệu đầu vào kiểmthửtừmơhình chính: - Sinhcakiểmthửtừmơhình mơi trường - Sinhcakiểmthử với dự đốn từmơhình hành vi - Sinh đoạn mã kiểmthửtừkiểmthử trừu tượng Quá trình kiểmthử dựa mơhìnhthực qua bước sau - Sinhmơhình dựa u cầu chức hệ thống - Sinhcakiểmthử (bộ đầu vào giá trị đầu mong đợi cho cakiểm thử) - Chạy kịch kiểmthử để phát lỗi/khiếm khuyết sản phẩm - So sánh kết đầu thực tế với kết đầu dự kiến - Quyết định hành động (sửa đổi mơ hình, tạo thêm cakiểm thử, dừng kiểm thử, đánh giá chất lượng phần mềm) [1] 2.3.2 Thuận lợi khó khăn kiểmthửmơhình Trong q trình phát triển phần mềm, phương pháp kiểmthửthủ công truyền thống thường tốn nhiều thời gian chi phí Kiểmthửtựđộng dựa mơhình giải pháp hiệu góp phần giải vấn đề - Kiểmthử dựa mơ có ưu điểm sau: Giảm chi phí thời gian, độ bao phủ tốt hơn, đầy đủ tài liệu, khả sử dụng lại cao, sớm phát lỗi - Tuy nhiên, kiểmthử dựa mơhình khơng dễ áp dụng thực tế số khó khăn sau: Khó xây dựng mơhình xác, u cầu cao kiểmthử viên, khó khăn việc sử dụng cakiểmthử tạo từmơhình 2.4 Một số phương pháp kiểmthử dựa mơhình Để áp dụng phương pháp kiểmthử dựa mơ hình, u cầu cần thiết xây dựng mơhình đặc tả xác hành vi hệ thống cần kiểmthửMơhình đặc tả phương pháp hìnhthức như: máy trạng thái UML, máy hữu hạn trạng thái, biểu đồ trạng thái, văn phạm, bảng định, Từmôhìnhsinhcakiểmthử Mỗi cakiểmthử đường từ trạng thái bắt đầu đến trạng thái kết thúc hệ thống Mỗi cakiểmthử phải có phép chuyển trạng thái Trong mục giới thiệu tổng quan số phương pháp phổ biến sinhcakiểmthửtừmơhình khác khơng phải mơhình BPMN 2.4.1 Sinhtựđộngcakiểmthửtừ biểu đồ UML OCL Ngôn ngữ ràng buộc đối tượng (Object Constraint Language -OCL): ngôn ngữ cho phép mô tả biểu thức ràng buộc môhình hướng đối tượng vật thể mơhình hóa đối tượng khác Trường hợp khác, OCL liên quan đến điều kiện trước/ sau hoạt động Nó kết hợp điều kiện OCL khác thơng tin điều khiển dòng chảy máy trạng thái Các công thức điều kiện đầu diễn giải phép thựcmôhình cách tượng trưng Với biểu đồ ca sử dụng, biểu đồ lớp, biểu đồ biến đổi thành biểu diễn gọi đồ thị biểu đồ (Sequence Diagram GraphSDG) Mỗi nút SDG chứa thông tin cần thiết cho việc tạo cakiểm File kết kịch cakiểmthử tương ứng với nhánh đồ thị: Hình 3.2: Kịch cakiểmthử toán chia sẻ data Cụ thể gồm kịch kiểmthử sau: STT Kịch cakiểmthử Start, Check Permission, VerifyLogin, Access Denied, End Start, Check Permission, VerifyLogin, RequestToShareData, Processing required to share data, VerifyShareData, DataSharingSucceeded , End Start, Check Permission, VerifyLogin, RequestToShareData, Processing required to share data, VerifyShareData, DataSharingFailed, End 3.4 Tổng kết chương Nội dung chương giới thiệu khái quát phương pháp sinhcakiểmthửtừmơ hình, từ tập trung vào phương pháp sinhcakiểmthửtừmơhình BPMN Trong đó, có mơ tả tốn từ đưa hướng xử lý thơng qua thuật tốn sinhca kiểm, đồng thời có ví dụ trực quan sơ đầu toán thực nghiệm Trong chương (Chương 4), tìm hiểu chi tiết mơi trường cài đặt chương trình ứng dụng thực nghiệm 18 CHƯƠNG 4: CÀI ĐẶT & THỰC NGHIỆM Chương tập trung giới thiệu môi trường cài đặt chương trình thực nghiệm, kết thực nghiệm trình bày thơng qua hai tốn ví dụ, cuối phần ý nghĩa thực nghiệm từ chương trình xây dựng 4.1 Mơi trường cài đặt Chương trình sinh kịch kiểmthửtừmơhình BPMN xây dựng công cụ môi trường sau: Công cụ phát triển - NetBeans IDE verion 8.2 - Eclipse Java verion Oxygen - Apache-tomcat-8.5.23 - Activiti-5.22.0 Môi trường cài đặt: - Hệ điều hành Windows 10 - Hệ điều hành Windows - Hệ điều hành Windows Mơi trường lập trình: Java SE Development Kit Yêu cầu phần cứng: - Bộ vi xử lý: GHz 32-bit (x86) 64-bit (x64) - RAM: GB (32-bit) GB (x64) - Ổ đĩa cứng: trống 50MB - Độ phân giải hình: 800 x 600 cao 4.2 Kết thực nghiệm Để kiểm tra tính đắn, tính khả thi khả áp dụng thực tế trình kiểmthử phần mềm công ty/tổ chức phát triển phần mềm, sau tơi xin trình bày 02 tốn minh họa kết thực nghiệm Đầu vào toán mơhình BPMN biểu diễn luồng quy trình nghiệp vụ Thơng qua chương trình cài đặt sinh đầu file định dạng *.txt chứa tập kịch kiểmthửCác kịch cakiểmthử sau áp dụng để kiểmthử cơng cụ quản lý quy trình nghiệp vụ Activiti cách thựcthimơhình BPMN Activiti Bài tốn 01: (luồng nghiệp vụ đa nhánh) Mơ tả yêu cầu toán chia sẻ liệu (Share data) : Tài khoản yêu cầu chia sẻ liệu nhập thông tin đăng nhập ứng dụng Thông tin đăng nhập xác minh để xác định quyền truy cập tài khoản yêu cầu Nếu thông tin không xác thực tài khoản u cầu nhận thơng từ chối đăng nhập (Access 19 Denied) kết thúc giao dịch Ngược lại, tài khoản yêu cầu nhập thông tin yêu cầu chia sẻ dung lượng đến tài khoản khác Yêu cầu kiểm tra, thỏa mãn điều kiện ràng buộc nghiệp vụ thực yêu cầu chia sẻ liệu, ngược lại kết thúc giao dịch Đầu vào: file xml biểu diễn luồng nghiệp vụ sau: Hình 4.1: Mơhình BPMN yêu cầu chia sẻ data Đầu ra: Các đường path bao phủ nhánh sau Hình 4.2: Kịch cakiểmthử yêu cầu chia sẻ data Cụ thể gồm kịch kiểmthử sau: STT Kịch cakiểmthử Start, Check Permission, VerifyLogin, Access Denied, End Start, Check Permission, VerifyLogin, RequestToShareData, Processing required to share data, VerifyShareData, DataSharingSucceeded , End Start, Check Permission, VerifyLogin, RequestToShareData, Processing required to share data, VerifyShareData, DataSharingFailed, End 20 Thựcthi kịch cakiểmthửmơhình chia sẻ liệu công cụ Active-explorer Khi import đầu vào file bpmn model lên công cụ activit-explorer, giao diện chương trình sau import thành cơng sau: Hình 4.3: Mơhình BPMN “Share data” import lên cơng cụ activiti Kịch cakiểmthử đầu tiên: Thông tin đăng nhập không xác thực nên tài khoản yêu câu nhận thông báo từ chối đăng nhập (Access Denied) Kịch cakiểmthử Bước 1: Start, Bước 2: Check Permission, Bước 3: VerifyLogin, Bước 4: Access Denied, Bước 5: End Bước 1: Start - Nhập thông tin username/password ấn chọn “Start process” để bắt đầu luồng nghiệp vụ 21 Hình 4.4: Bước start kịch cakiểmthửthứ Bước 2: Check Permission - Đăng nhập với account “gonzo” Sau đó, form hiển thị cho bước “Check Permission” thực không cho phép truy cập Hình 4.5: Bước Check Permission kịch cakiểmthửthứ Bước 3: VerifyLogin - Tại gateway “VerifyLogin” kiểm tra liệu từ bước để xác định user có quyền đăng nhập thành cơng hay thất bại Trong trường hợp user đăng nhập thất bại nên hiển thị thông báo qua email Bước 4: Access Denied - Login với acc Kermit để kiểm tra, task danh sách cơng việc hồn thành - Một thông báo gửi đến địa mail acc yêu cầu chia sẻ liệu để thông báo đăng nhập thất bại (Trong luồng nghiệp vụ cấu hình người gửi người nhận/người gửi địa mail: duonghuyen0805@gmail.com) 22 Hình 4.6: Thơng báo access denied kịch cakiểmthửthứ Bước 4: End Bài toán 2: ( luồng nghiệp vụ đa nhánh có vòng lặp) Mơ tả luồng nghiệp vụ quy trình xin việc (apply for job): ứng viên thực tạo hồ sơ xin việc (Create Application) gửi hồ sơ xin việc (Submit Application) đến nhà tuyển dụng Nhà tuyển dụng đánh giá hồ sơ xin việc định có mời ứng viên tham gia vấn tuyển dụng hay không? Nếu hồ sơ không đạt yêu cầu nhà tuyển dụng không mời ứng viên tham gia vấn kết thúc luồng nghiệp vụ Ngược lại, ứng viên tham gia vấn (Attend Interview) Sau buổi vấn, nhà tuyển dụng thực đánh giá kết (Evaluating the results of the interview) Nếu kết vấn không thành công nhà tuyển dụng gửi thông báo từ chối (Send Rejection) tới ứng viên kết thúc luồng nghiệp vụ Nếu kết vấn thành công, nghĩa ứng viên đáp ứng yêu cầu nhà tuyển dụng, lúc ứng viên thực xem xét mức lương mà nhà tuyển dụng đề nghị (Review Offer): - Nếu ứng viên không đồng ý mức lương nhà tuyển dụng đề nghị gửi thơng báo từ chối (Reject Offer) tới nhà tuyển dụng kết thúc luồng nghiệp vụ mơ tả hình 4.24 hình 4.25 bên - Nếu ứng viên đồng ý với mức lương nhà tuyển dụng đề nghị gửi thơng báo chấp nhận (Submit Acceptance Form) tới ứng viên kết thúc luồng nghiệp vụ - Trường hợp ứng viên cần trao đổi lại mức lương đề nghị, nhà tuyển dụng đặt lịch hẹn (Make appointment) với ứng viên thảo luận lại mức lương (Disscuss offer again) sau quy lại trình xem xét mức lương mà ứng viên u cầu (Review Offer) Đầu vào: Mơhình BPMN luồng quy trình xin việc 23 Hình 4.7: Mơhình BPMN luồng quy trình xin việc (apply for job) Kết đầu ra: dạng file *.txt Hình 4.8: Kịch cakiểmthử luồng nghiệp vụ xin việc Cụ thể gồm kịch kiểmthử sau: STT Kịch kiểmthử Start, Submit Application, Qualify Application, Called for Interview?, Attend interview, Evaluating the results of the interview, Interview sucessfull?, Review Offer, Accept Offer?, Reject offer, End Start, Submit Application, Qualify Application, Called for Interview?, Attend interview, Evaluating the results of the interview, Interview sucessfull?, Review Offer, Accept Offer?, Submit Acceptance Form, End Start, Submit Application, Qualify Application, Called for Interview?, Attend interview, Evaluating the results of the interview, Interview 24 STT Kịch kiểmthử sucessfull?, Interview failed, End Start, Submit Application, Qualify Application, Called for Interview?, End Start, Submit Application, Qualify Application, Called for Interview?, Attend interview, Evaluating the results of the interview, Interview sucessfull?, Review Offer, Accept Offer?, Make appointment, Disscuss offer Again, Review Offer, Accept Offer?, Reject offer, End Start, Submit Application, Qualify Application, Called for Interview?, Attend interview, Evaluating the results of the interview, Interview sucessfull?, Review Offer, Accept Offer?, Make appointment, Disscuss offer Again, Review Offer, Accept Offer?, Submit Acceptance Form, End - Thựcthi kịch kiểmthử Activiti- explorer Khi import mơhình quy trình xin việc lên cơng cụ activiti có giao diện sau: Hình 4.9: Import bpmn lên công cụ activiti Kịch cakiểmthửthứ nhất: ứng viên vấn thành công từ chối đề nghị từ nhà tuyển dụng Kịch kiểmthử 25 Bước 1: Start, Bước 2: Submit Application, Bước 3: Qualify Application, Bước 4: Called for Interview? Bước 5: Attend interview, Bước 6: Evaluating the results of the interview, Bước 7: Interview sucessfull? Bước 8: Review Offer, Bước 9: Accept Offer? Bước 10: Reject offer, Bước 11: End Bước 1: Start - Đăng nhập với tài khoản ứng viên – tài khoản Kermit - Thực import bpmn model lên activity - Click chọn button Start process Bước 2: Submit Application - Nhập địa email - Đính kèm file thơng tin đơn xin việc chi tiết - Ấn chọn nút completed task để gửi đơn xin việc Hình 4.10: Bước Submit application kịch cakiểmthửthứ Bước 3: Qualify Application - Đăng nhập với tài khoản nhà tuyển dụng (Gonzo) để xét duyệt đơn xin việc có đạt u cầu hay khơng 26 - Sau chọn đủ điều kiện (eligible) ấn chọn nút “Complete task” Hình 4.11: Bước Qualify Application kịch cakiểmthửthứ Bước 4: Called for Interview? - Tại gateway “Called for Interview?” kiểm tra liệu từ bước để xác định đơn xin việc có đủ điều kiện hay khơng Trong trường hợp liệu bước chọn đơn xin việc đủ điều kiện nên chuyển sang bước tham gia vấn (attend interview) Bước 5: Attend interview - Thực đăng nhập với tài khoản người tuyển dung (kermit) ấn chọn nút “Complete task” để hoàn thành buổi vấn Bước 6: Evaluating the results of the interview - Đăng nhập với tài khoản nhà tuyển dụng (gonzo) để đánh giá kết vấn - Chọn “Pass” để đánh giá kết vấn ứng viên đạt yêu cầu nhà tuyển dụng 27 Hình 4.12: Bước đánh giá kết vấn kịch kiểmthửthứ Bước 7: Interview sucessfull? - Tại gateway “Interview sucessfull?” kiểm tra liệu từ bước để xác định kết vấn có đạt hay khơng? Trong trường hợp liệu bước chọn kết vấn đạt yêu cầu nên chuyển sang bước tiếp theo: ứng viên cân nhắc đề nghị ký hợp đồng lao độngtừ nhà tuyển dụng (Review Offer) Bước 8: Review Offer - Ứng viên cân nhắc đề nghị nhà tuyển dụng Tại bước ứng viên chọn không đồng ý (disagree) Hình 4.13: Bước review offer kịch cakiểmthửthứ 28 Bước 9: Accept Offer? - Tại gateway “Accept Offer” kiểm tra liệu từ bước để xác định theo mơhình Trong trường hợp , bước ứng viên chọn từ chối đề nghị (Reject offer) nhà tuyển dụng Bước 10: Reject offer, - Sau ứng viên từ chối đề nghị nhà tuyển dụng, email gửi đến nhà tuyển dụng: Hình 4.14: Mail từ chối đề nghị kịch cakiểmthửthứ Bước 11: End 4.3 Ý nghĩa thực nghiệm Kết thực nghiệm sinh thành công kịch cakiểmthửtừmơhình BPMN cho thấy tính khả thi việc áp dụng phương pháp sinh kịch kiểmthửtựđộngtừmơhình luồng quy trình nghiệp vụ phát triển phẩn mềm Điều giúp giảm chi phí thời gian nguồn lực, mang lại nhiều hiệu cho trình kiểmthử Ngồi ra, đầu vào chương trình biểu đồ luồng quy trình nghiệp vụ trực quan nên kiểmthử viên thuận lợi quan sát việc thựcthica kịch kiểmthửCácca kịch kiểmthửsinh áp dụng để kiểmthử giai đoạn tích hợp chức năng, kiểmthử hệ thống, kiểmthử chấp nhận q trình phát triển phần mềm Ngồi ra, áp dụng để kiểmthử công cụ quản lý quy trình nghiệp vụ Tuy cơng cụ hạn chế việc chưa sinh liệu đầu vào cho cakiểmthử tiền đề cho việc phát triển, mở rộng nhằm hồn thiện chu trình kiểmthửtựđộng khép kín dựa mơhình luồng quy trình nghiệp vụ 29 CHƯƠNG 5: KẾT LUẬN Sau nghiên cứu sở lý thuyết thực luận văn này, thu nhiều kiến thức có hướng nhìn rõ ràng cụ thể phương pháp sinhcakiểmthửtựđộngtừmơhìnhthựcthi được, đặc biệt từmơhìnhthựcthi cụ thể mơhình BPMN Luận văn tập trung nghiên cứu phương pháp sinh kịch kiểmthửtừmơhình hóa quy trình nghiệp vụ thơng qua ngơn ngữ mơhình hóa BPMN, từ đề xuất phương pháp áp dụng kiểmthửtựđộng dựa mơhình BPMN cơng nghiệp phần mềm Qua q trình nghiên cứu, thực nghiệm, luận văn đạt kết sau: - Tìm hiểu tổng quan kiểmthử dựa mơhình Trình bày số phương pháp kiểmthử dựa mơ hình, thuận lợi khó áp dụng phương pháp kiểmthửtựđộng - Cung cấp nhìn tổng quan tốn mơhình hóa quy trình nghiệp vụ ngơn ngữ mơhình hóa BPMN Đồng thời giới thiệu cơng cụ quản lý quy trình nghiệp vụ hỗ trợ thiết kế thựcthimơhình BPMN, trực quan mơhình BPMN thiết kế thựcthi cơng cụ Activiti - Luận văn đóng góp phương pháp sinh kịch cakiểmthửtừmôhình BPMN dựa việc duyệt tất nhánh nghiệp vụ mơhình BPMN sinhca kịch kiểmthử tương ứng Kết đầu áp dụng cho q trình kiểmthử tích hợp, kiểmthử hệ thống kiểmthử chấp nhận phát triển phần mềm Ngoài ra, kết đầu áp dụng để kiểmthử tính đắn cơng cụ quản lý quy trình nghiệp vụ Activiti Việc áp dụng ngơn ngữ mơhình hóa quy trình BPMN mang lại nhiều hiệu lợi ích việc xây dựng, thực quản lý quy trình quan tổ chức Đặc biệt hỗ trợ tốt cho trình sinhcakiểmthửtựđộngtừmơhình Tuy nhiên q trình làm luận văn này, tơi nhận thấy bên cạnh ưu điểm BPMN áp dụng mơhìnhsinhcakiểmthử có hạn chế chưa sinh liệu đầu vào tựđộng cho cakiểm thử, BPMN mơhình quy trình nghiệp vụ tổng qt nên chưa có ràng buộc cụ thể chi tiết mặt liệu sinh liệu đầu vào cho cakiểmthử 30 Để có tính ứng dụng cao thực tế, đưa số đề xuất định hướng nghiên cứu sau: - Tiếp tục hồn thiện chương trình sinhcakiểmthửtừ ngơn ngữ mơhình hóa BPMN Do quỹ thời gian có hạn, chương trình chưa thật hồn hảo việc chưa sinh liệu kiểmthử đầu vào tựđộng cho cakiểmthử Hướng nghiên cứu tìm hiểu áp dụng tiền điều kiện hậu điều kiện cho lớp đối tượng mở rộng mơhình BPMN, từ áp dụng ngơn ngữ ràng buộc đối tượng OCL việc sinh liệu đầu vào cho cakiểmthử - Nghiên cứu xây dựng phương pháp sinhcakiểmthử cho công cụ quản lý quy trình nghiệp vụ Phạm vi luận văn áp dụng sinhcakiểmthử cho mơhình BPMN thiết kế thựcthi cơng cụ quản lý quy trình nghiệp vụ Activiti Từ áp dụng kiểmthử tính đắn cơng cụ quản lý quy trình nghiệp vụ Activiti Định hướng tơi tập trung tìm hiểu mở rộng phạm vi áp dụng chương trình ứng dụng cho cơng cụ quản lý quy trình nghiệp vụ khác 31 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Phạm Ngọc Hùng, Trương Anh Hoàng, Đặng Văn Hưng (2014), “Giáo trình kiểmthử phần mềm”, Nhà xuất giáo dục Việt Nam [2] Nguyễn Văn Hòa, “Phương pháp sinh liệu kiểmthửtựđộngtừ biểu đồ UML, biểu đồ lớp ràng buộc OCL”, Luận văn thạc sĩ Đại học Công Nghệ- Đại học Quốc Gia Hà Nội Tiếng Anh: [3] Mark Utting, Bruno Legeard (2007), Practical Model – Based Testing: A Tools Approach, Elsevier Inc [4] AnneKe K., Jos W., Wim B (2003), MDA Explained: The Model Driven Architecture: Practice and Promise, Addison Wesley, United States [5] Vinaya Sawant and Ketan Shah.Automatic (2011) Generation of Test Cases from UML Models International Conference on Technology Systems and Management (ICTSM) International Jounal of Computer Appilication, [6] W Linzhang, Y Jiesong, Y Xiaofeng, H Jun, L Xuandong, and Z Guoliang (2004), Generating test cases from UML activity diagram based on gray-box method In 11th Asia-Pacific Software Engineering Conference (APSEC04), pp 284-291 [7] C Mingsong, Q Xiaokang, and L Xuandong (2006), Automatic test case generation for UML activity diagrams In 2006 international workshop on Automation of software test, pp 2-8 [8] Debasish Kundu and Debaisis Samanta.(2008), Journal of Object Technology In Chair of Software Engineering [9] Lilly Raamesh1 and G V Uma (2010) Reliable Mining of Automatically Generated Test Cases from Software Requirements Specification International Journal of Computer Science Issues [10] Paul C Jorgensen (2009) Modeling Software Behavior: A Craftsman’s Approach Auerbach Publications [11] Dipl.-Ing Tanja Mayerhofer, BSc (2014), Defining Executable Modeling Languages with fUML [12] Marco Brambilla, Jordi Cabot, Manuel Wimmer (2012), Model –Driven Software Engineering in Practice, Austria [13] Marlon Dumas, Marcello La Rosa, Jan Mendling, Hajo A Reijers (2013), Fundamentals of Business Process Management Nguồn tham khảo khác: [14] BPMN Poster, http://www.bpmn.org/, 2017-09-01 32 ... pháp kiểm thử dựa mơ hình 2.4.1 Sinh tự động ca kiểm thử từ biểu đồ UML OCL 2.4.2 Sinh tự động ca kiểm thử từ biểu đồ UML 2.4.3 Khai thác đáng tin cậy trường hợp kiểm thử tự động từ. .. kiểm thử từ mơ hình mơi trường - Sinh ca kiểm thử với dự đốn từ mơ hình hành vi - Sinh đoạn mã kiểm thử từ kiểm thử trừu tượng Q trình kiểm thử dựa mơ hình thực qua bước sau - Sinh mơ hình dựa yêu... thi t cho việc tạo ca kiểm thử, thông tin thu thập từ mẫu ca kiểm thử, kết hợp với OCL để tạo ca kiểm thử dựa tiêu chí bao phủ toàn nhánh 2.4.2 Sinh tự động ca kiểm thử từ biểu đồ UML Trong cách