Luận án TS: Kiểm thử dựa trên mô hình với cách tiếp cận mô hình hóa chuyên biệt miền
"Nghiên cứu chuyên sâu về kiểm thử mô hình dựa trên miền ứng dụng. Đề xuất phương pháp cải tiến hiệu quả cho luận án tiến sĩ."
Kỹ thuật phần mềm / Kiểm thử phần mềm
Luan An
Luận án tiến sĩ
Số trang
147
Thời gian đọc
23 phút
Lượt xem
0
Lượt tải
0
Phí lưu trữ
40 Point
Tổng quan nhanh
- Chủ đề:
- 1. Thách thức kiểm thử phần mềm: Tự động hóa ca kiểm thử
- Số trang:
- 147 trang
- Chuyên ngành:
- Kỹ thuật phần mềm / Kiểm thử phần mềm
- Tác giả:
- Luan An
Tóm tắt nội dung luận án
I. Thách thức kiểm thử phần mềm Tự động hóa ca kiểm thử
Phần mềm ngày càng phức tạp, ứng dụng rộng rãi. Điều này dẫn đến chi phí phát triển tăng cao, đặc biệt trong hoạt động kiểm thử. Kiểm thử phần mềm chiếm 30-60% tổng chi phí. Các yêu cầu phần mềm thường xuyên thay đổi. Điều này đòi hỏi phải xây dựng và thực thi lại các ca kiểm thử. Quá trình này tiêu tốn nhiều thời gian, công sức. Xác định, bảo trì, thực thi ca kiểm thử là một thách thức lớn. Giải pháp tự động sinh và thực thi ca kiểm thử trở nên cấp thiết. Tự động hóa giúp tiết kiệm thời gian, giảm lỗi. Mục tiêu chính là nâng cao chất lượng phần mềm, giảm chi phí.
1.1. Chi phí và sự phức tạp của kiểm thử phần mềm
Hệ thống phần mềm phức tạp hơn mỗi ngày. Hoạt động kiểm thử phần mềm đảm bảo chất lượng. Tuy nhiên, nó tiêu tốn phần lớn ngân sách. Từ 30% đến 60% chi phí phát triển dành cho kiểm thử. Các ca kiểm thử được xây dựng thủ công từ tài liệu. Sau đó chúng được thực thi, đôi khi tự động. Việc thay đổi yêu cầu phần mềm là phổ biến. Mỗi thay đổi yêu cầu kiểm thử hồi quy. Điều này gia tăng đáng kể gánh nặng cho đội ngũ kiểm thử.
1.2. Nhu cầu tự động hóa hoạt động kiểm thử
Sinh và thực thi ca kiểm thử tự động là giải pháp quan trọng. Điều này giúp giảm thiểu đáng kể thời gian, công sức. Nó cũng hạn chế lỗi phát sinh trong quy trình. Nhiều nghiên cứu hướng tới tăng tính tự động hóa. Hiện tại, tự động hóa tập trung vào thực thi kiểm thử. Sinh ca kiểm thử tự động vẫn là bài toán khó. Quy trình kiểm thử dựa trên mô hình (Model-Based Testing - MBT) hứa hẹn tự động hóa cao hơn. MBT không chỉ tự động thực thi, mà còn tự động sinh ca kiểm thử. Đây là lợi ích chính của MBT.
II. Kiểm thử dựa trên mô hình MBT Giải pháp tiên tiến
Model-Based Testing (MBT) đại diện cho một bước tiến quan trọng. Nó thúc đẩy tự động hóa trong kiểm thử phần mềm. MBT tự động hóa cả việc sinh và thực thi ca kiểm thử. Lợi ích then chốt là khả năng duy trì bộ kiểm thử. Nó cũng đảm bảo độ phủ kiểm thử hiệu quả. Khi phần mềm tiến hóa, các mô hình được cập nhật. Bộ kiểm thử cũng tự động được sinh mới. Điều này giảm thiểu công sức duy trì. MBT mang lại năng suất cao, chất lượng tốt hơn. Đồng thời, nó giúp giảm chi phí phát triển phần mềm.
2.1. Giới thiệu và lợi ích của Model Based Testing
Kiểm thử dựa trên mô hình là một phương pháp mạnh mẽ. Nó nâng cao mức độ tự động hóa trong kiểm thử. Mục tiêu của MBT là sinh và thực thi ca kiểm thử tự động. Điều này giúp giảm đáng kể chi phí, thời gian. Lợi ích lớn nhất là khả năng thích ứng với thay đổi. Khi các yêu cầu thay đổi, chỉ cần cập nhật mô hình. Bộ kiểm thử sẽ được cập nhật tự động. Điều này đặc biệt hữu ích cho kiểm thử hồi quy. MBT tối ưu hóa quy trình kiểm thử. Nó cải thiện chất lượng sản phẩm.
2.2. Quy trình kiểm thử dựa trên mô hình Các bước chính
Quy trình MBT bao gồm năm bước cơ bản. Bước một là mô hình hóa hệ thống. Bước hai là sinh các ca kiểm thử. Bước ba là sinh các tập lệnh thực thi kiểm thử. Bước bốn tiến hành thực thi kiểm thử. Bước năm là phân tích kết quả kiểm thử. Các bước từ ba đến năm đã có nhiều công cụ hỗ trợ. Tuy nhiên, hai bước đầu tiên gặp nhiều thách thức. Đó là mô hình hóa và sinh ca kiểm thử. Đây là trọng tâm của nhiều nghiên cứu hiện nay.
III. Tự động sinh ca kiểm thử Vượt qua rào cản hiện tại
Sinh ca kiểm thử tự động là một mục tiêu chính của Model-Based Testing. Tuy nhiên, nó vẫn còn nhiều rào cản cần vượt qua. Các yêu cầu chức năng là đầu vào chính. Chúng thường được đặc tả dưới dạng ca sử dụng. Ca sử dụng bao gồm biểu đồ và mô tả văn bản. Dạng này dễ đọc, dễ hiểu cho con người. Nhưng nó khó để tự động trích xuất thông tin. Điều này gây khó khăn cho việc sinh ca kiểm thử chức năng tự động.
3.1. Những thách thức trong mô hình hóa và sinh ca kiểm thử
Hai bước đầu tiên của MBT còn nhiều thách thức. Đó là mô hình hóa và sinh ca kiểm thử. Đặc tả ca sử dụng bằng ngôn ngữ tự nhiên rất phổ biến. Tuy nhiên, việc tự động xác định thông tin rất khó. Từ đó, sinh ca kiểm thử tự động gặp trở ngại lớn. Các nghiên cứu hiện tại đã đề xuất nhiều cách tiếp cận. Một số sử dụng xử lý ngôn ngữ tự nhiên. Chúng tạo ra các mô hình trung gian. Sau đó, các mô hình này sinh ca kiểm thử.
3.2. Hạn chế của đặc tả ngôn ngữ tự nhiên trong kiểm thử
Các nghiên cứu sinh ca kiểm thử từ ngôn ngữ tự nhiên có hạn chế. Các ngôn ngữ được sử dụng thường là không hình thức. Chúng thiếu cú pháp trừu tượng rõ ràng. Điều này gây khó khăn trong việc đảm bảo tính đúng đắn của đặc tả. Việc sinh mô hình trung gian phải dùng NLP. NLP chỉ áp dụng cho ngôn ngữ cụ thể, phức tạp. Ràng buộc mô tả trong ngôn ngữ tự nhiên cũng cần được đặc tả chính xác. Điều này mới có thể sinh dữ liệu kiểm thử. Các biểu đồ UML cũng được sử dụng nhưng chủ yếu cho kịch bản trừu tượng.
IV. Đặc tả hình thức Nền tảng sinh kiểm thử tự động
Vấn đề chính trong sinh ca kiểm thử tự động là đặc tả không hình thức. Ngôn ngữ tự nhiên có nhiều sự mơ hồ, thiếu chính xác. Điều này cản trở quá trình tự động hóa. Để khắc phục, cần có các phương pháp đặc tả hình thức hơn. Đặc tả hình thức cung cấp cú pháp, ngữ nghĩa rõ ràng. Chúng giúp công cụ hiểu và xử lý thông tin một cách chính xác. Đây là nền tảng vững chắc cho sinh ca kiểm thử tự động. Đặc biệt là khi tích hợp với các công cụ kiểm thử.
4.1. Vấn đề của ngôn ngữ không hình thức trong nghiên cứu hiện tại
Các đặc tả trong nhiều nghiên cứu hiện tại là không hình thức. Điều này có nghĩa là chúng không có cú pháp trừu tượng rõ ràng. Việc thiếu tính hình thức gây khó khăn lớn. Nó khó đảm bảo tính đúng đắn của các đặc tả. Sinh các mô hình trung gian trở nên phức tạp. Chúng đòi hỏi các kỹ thuật xử lý ngôn ngữ tự nhiên chuyên sâu. Các kỹ thuật này thường chỉ hiệu quả với một ngôn ngữ cụ thể. Ràng buộc kiểm thử cũng cần được định nghĩa lại chính xác.
4.2. Hướng tiếp cận bằng ngôn ngữ chuyên biệt miền
Để giải quyết vấn đề của ngôn ngữ không hình thức, cần một phương pháp mới. Ngôn ngữ chuyên biệt miền (Domain-Specific Language - DSL) là một giải pháp tiềm năng. DSL cung cấp cách đặc tả hình thức, chính xác. Nó tập trung vào một miền ứng dụng cụ thể. DSL giúp mô tả các yêu cầu chức năng một cách rõ ràng. Điều này tạo điều kiện thuận lợi cho việc sinh ca kiểm thử tự động. Việc sử dụng Domain-Specific Modeling (DSM) cũng hỗ trợ hiệu quả. DSM cho phép xây dựng các mô hình có thể đọc và xử lý bằng máy.
V. Kiểm thử chuyên biệt miền Nâng cao hiệu quả MBT
Việc kết hợp kiểm thử dựa trên mô hình với cách tiếp cận chuyên biệt miền mang lại lợi ích lớn. Nó giải quyết triệt để các hạn chế của đặc tả không hình thức. Sử dụng ngôn ngữ chuyên biệt miền (DSL) cho phép đặc tả chính xác hơn. Điều này là then chốt để tự động hóa sinh ca kiểm thử. Mô hình hóa chuyên biệt miền (Domain-Specific Modeling) giúp tạo ra các mô hình dễ hiểu. Đồng thời chúng có thể được xử lý tự động. Đây là hướng đi đầy hứa hẹn để cải thiện đáng kể quy trình kiểm thử.
5.1. Tối ưu hóa kiểm thử bằng mô hình chuyên biệt miền
Mô hình chuyên biệt miền cung cấp sự chính xác cần thiết. Chúng giúp mô tả các yêu cầu chức năng một cách tường minh. Sự rõ ràng này là yếu tố cốt lõi để sinh ca kiểm thử tự động hiệu quả. Các mô hình này có thể được chuyển đổi thành các cấu trúc hình thức. Ví dụ: máy trạng thái hữu hạn. Từ đó, dễ dàng áp dụng các thuật toán sinh kiểm thử. Kiểm thử chuyên biệt miền tăng cường khả năng tự động hóa. Nó giảm thiểu lỗi do hiểu sai yêu cầu.
5.2. Hướng tới tự động hóa hoàn chỉnh quá trình kiểm thử
Mục tiêu cuối cùng là tự động hóa hoàn chỉnh quy trình kiểm thử. Điều này bao gồm cả mô hình hóa và sinh ca kiểm thử. Sự kết hợp giữa MBT và cách tiếp cận chuyên biệt miền là chiến lược tối ưu. Nó giải quyết các thách thức ở hai bước đầu của MBT. Các đặc tả hình thức từ ngôn ngữ chuyên biệt miền. Chúng là nền tảng cho việc sinh dữ liệu kiểm thử tự động. Luận án này sẽ tập trung vào hướng giải pháp này. Nó đóng góp vào việc tăng năng suất, giảm chi phí kiểm thử phần mềm.
Mục lục chi tiết luận án
Tải xuống file đầy đủ để xem toàn bộ nội dung
Tải đầy đủ (147 trang)Trích đoạn nội dung luận án
Tải xuống để đọc toàn bộChương 1 MỞ ĐẦU 1.1 Đặt vấn đề Ngày nay, các hệ thống phần mềm càng ngày càng trở nên phức tạp và được ứng dụng rộng rãi trong hầu hết lĩnh vực của đời sống xã hội. Để tăng tính cạnh tranh của các sản phẩm phần mềm, chi phí phát triển phần mềm cần phải được cắt giảm trong khi chất lượng phần mềm phải được nâng cao. Kiểm thử phần mềm (software testing) là một hoạt động quan trọng để đảm bảo chất lượng phần mềm. Hoạt động này chiếm nhiều thời gian và chi phí trong phát triển phần mềm thường từ 30-60% [71].
Khi kiểm thử một ứng dụng, các kiểm thử viên sẽ xây dựng các ca kiểm thử (test cases) dựa trên tài liệu đầu vào, sau đó khi có chương trình phần mềm thì thực thi các ca kiểm thử thủ công hoặc tự động bằng các công cụ thực thi kiểm thử tự động. Trong thực tế, các yêu cầu phần mềm thường hay thay đổi trong suốt quy trình phát triển phần mềm. Khi các yêu cầu phần mềm thay đổi, các ca kiểm thử liên quan phải được xây dựng và thực thi lại (kiểm thử hồi quy). Vì vậy, những nỗ lực được yêu cầu để xác định, bảo trì, và thực thi các ca kiểm thử khi các yêu cầu thay đổi là rất lớn.
Đối với hoạt động kiểm thử phần mềm, giải pháp sinh và thực thi các ca kiểm thử một cách tự động giúp tiết kiệm rất nhiều thời gian và các nỗ lực cũng như giảm được số lượng các lỗi và các sai sót trong hoạt động kiểm thử phần mềm. Do đó, nhiều nghiên cứu đã đề xuất các giải pháp tăng tính tự động trong phát triển phần mềm cũng như hoạt động kiểm thử phần mềm. 1 Mở đầu 2 Hiện tại trong thực tế, kiểm thử tự động tập trung vào thực thi kiểm thử tự động, còn vấn đề sinh các ca kiểm thử tự động chưa được giải quyết triệt để. Trong các quy trình kiểm thử phần mềm, quy trình kiểm thử dựa trên mô hình (Model-Based Testing - MBT ) đẩy mạnh mức độ tự động hóa cao hơn [71].
Quy trình này không chỉ tự động hóa trong thực thi kiểm thử mà còn tự động hóa trong sinh các ca kiểm thử. Lợi ích chính của MBT là tạo điều kiện thuận lợi cho việc duy trì bộ kiểm thử và phủ của bộ kiểm thử. Khi tiến hóa phần mềm, các mô hình được cập nhật, sau đó bộ kiểm thử được sinh cập nhật một cách tự động. Với ý nghĩa to lớn của MBT trong công nghiệp phần mềm, phương pháp này đang là một giải pháp tối ưu giúp tăng tính tự động, tăng năng suất, tăng chất lượng, và giảm chi phí trong phát triển phần mềm nói chung và trong kiểm thử nói riêng.
Quy trình MBT gồm năm bước chính là (1) mô hình hóa, (2) sinh các ca kiểm thử, (3) sinh các tập lệnh thực thi kiểm thử (test scripts), (4) thực thi kiểm thử, (5) phân tích các ca kiểm thử được minh họa như Hình 2. Trong đó, ba bước cuối cùng đã được giải quyết rất tốt bằng các công cụ thực thi kiểm thử tự động thương mại hoặc miễn phí trên thị trường. Hai bước đầu tiên là (1) mô hình hóa và (2) sinh các ca kiểm thử còn gặp nhiều thách thức với cộng đồng nghiên cứu. Trong hoạt động kiểm thử phần mềm, các yêu cầu chức năng (functional software requirements) của phần mềm là đầu vào để xây dựng các ca kiểm thử chức năng.
Các yêu cầu chức năng phần mềm thường được cấu trúc và biểu diễn bằng các ca sử dụng. Một mô hình ca sử dụng thường được đặc tả bằng các biểu đồ ca sử dụng và các mô tả của các ca sử dụng ở dạng văn bản có cấu trúc theo mẫu [53]. Với dạng thể hiện này thì mô hình ca sử dụng sẽ tạo điều kiện thuận lợi cho các bên liên quan trong phát triển phần mềm dễ dàng đọc, học, và sử dụng chúng. Tuy nhiên, các mô tả ca sử dụng trong ngôn ngữ tự nhiên là rất khó để xác định tự động các thông tin được mô tả trong nó.
Vì vậy, bài toán sinh các ca kiểm thử chức năng tự động từ mô hình ca sử dụng vẫn còn rất nhiều thách thức. Nhiều nghiên cứu như trong [7, 11, 23, 24, 41, 43, 51, 58, 65, 67, 73] đã chỉ dẫn các cách tiếp cận để sinh tự động các ca kiểm thử từ mô hình ca sử dụng. Một số nghiên cứu như trong [58, 73] đã đề xuất phương pháp sinh tự động các ca kiểm thử chức năng từ các đặc tả ca sử dụng trong ngôn ngữ tự nhiên theo mẫu với các luật hạn chế và các từ khóa. Để sinh tự động được Mở đầu 3 các ca kiểm thử, đầu tiên các nghiên cứu này sử dụng kỹ thuật xử lý ngôn ngữ tự nhiên để sinh các mô hình trung gian.
Sau đó, các mô hình trung gian này được sử dụng để sinh các ca kiểm thử. Tuy nhiên, các ngôn ngữ được sử dụng để đặc tả trong các nghiên cứu này là các ngôn ngữ không hình thức (informal) (không có cú pháp trừu tượng). Vì vậy, việc đảm bảo tính đúng đắn của các đặc tả cũng như sinh các mô hình trung gian phải sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên vốn khó và chỉ được áp dụng cho một ngôn ngữ cụ thể. Hơn nữa, các ràng buộc được mô tả trong ngôn ngữ tự nhiên nên muốn sinh được dữ liệu kiểm thử cần phải đặc tả chính xác lại các ràng buộc này.
Nhiều nghiên cứu đề xuất sử dụng biểu đồ hoạt động và tuần tự trong UML để đặc tả các thông tin mô tả trong ca sử dụng, sau đó sinh các ca kiểm thử như trong [24, 51, 67]. Tuy nhiên, các nghiên cứu này chủ yếu tập trung đề xuất phương pháp để đặc tả phân biệt được hành động của tác nhân và hệ thống bằng các biểu đồ trong UML cho mục đích sinh các ca kiểm thử trừu tượng (kịch bản kiểm thử) mà không đề cập đến sinh tự động dữ liệu cụ thể cho các ca kiểm thử. Một số nghiên cứu khác đã đề xuất cách tiếp cận sinh tự động các ca kiểm thử chức năng từ các mô hình ca sử dụng được đặc tả trong các ngôn ngữ chuyên biệt miền (Domain-Specific Language - DSL). Như nghiên cứu trong [23], các mô tả của ca sử dụng được đặc tả trong ngôn ngữ chuyên biệt miền tên là NDT (Navigational Development Techniques) được đề xuất trong [16].
Tuy nhiên, nghiên cứu không đề cập đến phương pháp xác định các giá trị kiểm thử cho các kịch bản kiểm thử. Trong nghiên cứu [65], các mô tả ca sử dụng được đặc tả trong ngôn ngữ RSL (Requirements Specification Language) đã được đề xuất trong [63] để sinh các ca kiểm thử chức năng. Các ca kiểm thử được sinh cũng được đặc tả rõ ràng trong ngôn ngữ đặc tả kiểm thử tên là TSL (Test Specification Language). Tuy nhiên trong nghiên cứu này, dữ liệu kiểm thử được xác định như các mô tả về điều kiện thay vì là các giá trị cụ thể.
Như đã phân tích ở trên để sinh tự động các ca kiểm thử chức năng từ mô hình ca sử dụng, đầu tiên các nghiên cứu đề xuất sử dụng một ngôn ngữ đặc tả để đặc tả các thông tin mô tả trong ca sử dụng. Sau đó, các nghiên cứu sử dụng các đặc tả này để sinh tự động các ca kiểm thử. Trong quá trình khảo sát các phương pháp đặc tả các thông tin mô tả trong ca Mở đầu 4 sử dụng, luận án nhận thấy rằng mô hình ca sử dụng là chế tác (artifact) trung tâm trong phát triển phần mềm. Các mô hình ca sử dụng không chỉ là đầu vào để xây dựng các ca kiểm thử chức năng mà còn là đầu vào để xây dựng các mô hình cấu trúc (biểu đồ lớp, biểu đồ trạng thái, v.), các mô hình hành vi (biểu đồ tuần tự, biểu đồ hoạt động, v.), và làm tài liệu cho hệ thống.
Để tăng tính tự động hóa trong phát triển phần mềm, các mô hình ca sử dụng không chỉ cần được tích hợp vào phương pháp kiểm thử hướng mô hình mà cũng cần được tích hợp vào trong phương pháp phát triển hướng mô hình (Model-Driven Development - MDD). MDD cho phép sử dụng mô hình ca sử dụng là mô hình trung tâm để sinh tự động các ca kiểm thử, các mô hình cấu trúc, các mô hình hành vi. Vì vậy, các ca sử dụng cần được đặc tả rõ ràng và đủ các thông tin cần thiết để sinh tự động các chế tác khác nhau trong phát triển phần mềm. Trong các nghiên cứu mà luận án đã khảo sát, có hai nghiên cứu đã đề xuất các ngôn ngữ đặc tả RSL [63] và SelabReq [59] với mục đích cho phép tích hợp đặc tả ca sử dụng vào trong phương pháp phát triển hướng mô hình.
Tuy nhiên, thông tin mô tả trong các ca sử dụng được đặc tả trong RSL không đủ chi tiết để sinh được dữ liệu kiểm thử cụ thể như trong nghiên cứu [65] đã đề cập ở trên. Ngôn ngữ SelabReq chỉ đề cập đến khả năng sinh các mô hình cấu trúc và mô hình hành vi mà không đề cập đến việc sinh các ca kiểm thử. Mặc dù đã có nhiều nghiên cứu quan tâm giải quyết bài toán sinh các ca kiểm thử chức năng từ mô hình ca sử dụng, cũng như bài toán đặc tả thông tin mô tả trong ca sử dụng để tích hợp vào trong phương pháp phát triển hướng mô hình. Tuy nhiên, bài toán này vẫn còn một số thách thức đặt ra như sau: thách thức thứ nhất là một ngôn ngữ đặc tả chuyên biệt miền cho phép đặc tả các thông tin trong ca sử dụng rõ ràng và đủ chi tiết để có thể tích hợp mô hình ca sử dụng vào trong phương pháp phát triển hướng mô hình.
Việc tích hợp mô hình ca sử dụng vào trong phương pháp phát triển hướng mô hình cho phép sinh tự động các ca kiểm thử, mô hình cấu trúc, mô hình hành vi, và làm tài liệu. Cụ thể trong luận án này, chúng tôi tập trung vào hiện thực hóa khả năng sinh tự động các ca kiểm thử. Thách thức thứ hai là một phương pháp sinh tự động các ca kiểm thử có chứa các thông tin cần thiết để có thể sinh và thực thi tự động các tập lệnh thực thi kiểm thử bằng các công cụ thực thi kiểm thử tự động. Thách thức thứ ba là một ngôn ngữ đặc tả chuyên biệt miền để đặc tả rõ ràng và đầy Mở đầu 5 đủ các thông tin của các ca kiểm thử được sinh.
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ
Trích dẫn luận án này
Kiểm thử dựa trên mô hình, chuyên biệt miền - Luận án TS (n.d.) [Luận án tiến sĩ]. LuanAn.net. https://luanan.net/cong-nghe-thong-tin/he-thong-thong-tin/luan-an-ts-kiem-thu-dua-tren-mo-hinh-chuyen-biet-mien
Câu hỏi thường gặp
Luận án "Kiểm thử dựa trên mô hình, chuyên biệt miền - Luận án TS" nghiên cứu về vấn đề gì?
"Nghiên cứu chuyên sâu về kiểm thử mô hình dựa trên miền ứng dụng. Đề xuất phương pháp cải tiến hiệu quả cho luận án tiến sĩ."
Luận án "Kiểm thử dựa trên mô hình, chuyên biệt miền - Luận án TS" thuộc chuyên ngành gì?
Luận án "Kiểm thử dựa trên mô hình, chuyên biệt miền - Luận án TS" thuộc chuyên ngành Kỹ thuật phần mềm / Kiểm thử phần mềm. Danh mục: Hệ Thống Thông Tin.
Luận án "Kiểm thử dựa trên mô hình, chuyên biệt miền - Luận án TS" có bao nhiêu trang?
Luận án "Kiểm thử dựa trên mô hình, chuyên biệt miền - Luận án TS" có 147 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.
Cách tải luận án "Kiểm thử dựa trên mô hình, chuyên biệt miền - Luận án TS" về máy như thế nào?
Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.