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
5,28 MB
Nội dung
Luận văn thạc sỹ MỤC LỤC LỜI CAM ĐOAN Danh mục từ viết tắt thuật ngữ Danh mục bảng Danh mục hình vẽ MỞ ĐẦU Chương TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ KIỂM THỬ HƯỚNG MƠ HÌNH 1.1 Tổng quan kiểm thử 1.1.1 Các khái niệm liên quan kiểm thử 1.1.2 Quy trình kiểm thử (Test Process) 12 1.2 Tổng quan kiểm thử hướng mơ hình 15 1.2.1 Khái niệm kiểm thử hướng mơ hình 15 1.2.2 Cách thức làm việc kiểm thử hướng mơ hình 16 1.2.3 Ưu kiểm thử hướng mơ hình 17 1.2.4 So sánh kiểm thử hướng mơ hình kiểm thử thơng thường 17 1.2.5 Khả ứng dụng kiểm thử hướng mơ hình phát triển ứng dụng cho điện thoại di động thông minh 18 1.2.6 Giới thiệu số cơng cụ miễn phí hỗ trợ kiểm thử hướng mơ hình 20 1.3 Kết chương 21 Chương SỬ DỤNG CÔNG CỤ SPEC EXPLORER ĐỂ SINH CÁC CA KIỂM THỬ TỰ ĐỘNG 23 Đặt vấn đề 23 Cơ sở lý thuyết áp dụng spec explorer 23 2.2.1 Trạng thái (state) 23 2.2.2 Máy tạo mơ hình tự động (model automata) 24 2.2.3 Chương trình mơ hình (model program) 25 2.2.4 Duyệt trạng thái (State exploration) 26 2.3 Các bước xây dựng chương trình mơ hình sinh ca kiểm thử tự động spec explorer 27 2.3.1 Tóm lược yêu cầu ứng dụng ví dụ mẫu 29 2.3.2 Các bước tạo chương trình mơ hình 30 2.3.3 Cấu hình kiểm thử để sinh ca kiểm thử 34 2.4 Kết luận 38 2.1 2.2 Chương THỬ NGHIỆM ỨNG DỤNG THỰC TẾ 39 3.1 Đặt vấn đề 39 Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 3.1.1 Thông tin chung dự án 39 3.1.2 Mô tả ứng dụng (đặc tả hệ thống) 39 3.1.3 Xây dựng Ca kiểm thử (viết cách thủ công) 41 3.2 Ứng dụng kỹ thuật sinh kiểm thử tự động hướng mơ hình vào dự án 42 3.2.1 Phân tích ban đầu 42 3.2.2 Xây dựng chương trình mơ hình cho Tutle Run 43 3.2.3 Đánh giá kết 52 3.3 Kết chương 53 3.3.1 Ưu điểm kiểm thử hướng mơ hình với Spec Explorer 53 3.3.2 Nhược điểm kiểm thử hướng mơ hình với Spec Explorer 53 KẾT LUẬN VÀ KIẾN NGHỊ 54 A Kết luận 54 Các kết đạt đề tài: 54 Những khó khăn hướng giải 55 B Kiến nghị 56 C Hướng phát triển đề tài 57 Tài liệu tham khảo 58 Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn "Kiểm thử hướng mơ hình ứng ụng phát triển ứng dụng cho điện thoại di động thông minh" thân tự thực hướng dẫn PGS.TS Huỳnh Quyết Thắng - Viện Công nghệ thông tin Truyền thông - Đại học Bách khoa Hà Nội; thông tin số liệu kết Luận văn có nguồn gốc rõ ràng, nội dung Luận văn chưa cơng bố cơng trình nghiên cứu nước Hà Nội, tháng năm 2015 Tác giả Luận văn Ngơ Hồng Thành Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ Danh mục từ viết tắt thuật ngữ Từ viết tắt, thuật ngữ Từ viết đầy đủ AAL Adapter Action Language IUT MBT OTC Impementation Under Test Model Based Testing Intel Open Source Technology Center System Under Test SUT Ngơ Hồng Thành Ý nghĩa Ngơn ngữ mơ hình hóa sử dụng fMBT Bộ phần thực thi cần kiểm thử Kiểm thử hướng mơ hình Trung tâm công nghệ mã nguồn mở Intel Hệ thống cần kiểm thử Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ Danh mục bảng Bảng 1: Ca kiểm thử Turtle Run 42 Bảng 2: Ca kiểm thử dùng với HowTo Scene Turtle Run 48 Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ Danh mục hình vẽ Hình 1-1: Mối liên hệ sai sót, lỗi thất bại Hình 1-2: Mơ hình chữ V 13 Hình 1-3: Ba phương pháp tích hợp kiểm thử vào kỹ nghệ hệ thống 14 Hình 1-4: Cách thức vận hành kiểm thử hướng mơ hình 16 Hình 2-1: Quy trình sử dụng spec explorer 28 Hình 2-2: Normal Trace Sample 32 Hình 2-3: LoadAndSave Trace Sample 32 Hình 2-4: ShowOldMap Trace Sample 33 Hình 2-5: Hỉnh ảnh model program 35 Hình 2-6: Hình ảnh ví dụ ca kiểm thử 36 Hình 2-7: Hình ảnh minh họa state ca kiểm thử (S32) 37 Hình 2-8: Hình ảnh minh họa state ca kiểm thử (S65) 38 Hình 3-1: Scene Flow Turtle Run 40 Hình 3-2: Mơ hình SceneFlow Turtle Run 44 Hình 3-3: Ca kiểm thử SceneFlow Turtle Rune 44 Hình 3-4: Mơ hình ca kiểm thử TopScene Turtle Run 45 Hình 3-5: Mơ hình ca kiểm thử rankingScene Turtle Run 46 Hình 3-6: Mơ hình ca kiểm thử HowTo Scene Turtle Run 47 Hình 3-7: Mơ hình ca kiểm thử GameOver Scene Turtle Run 48 Hình 3-8: Mơ hình vào ca kiểm thử GameScene - Story Turtle Run 50 Hình 3-9: Mơ hình ca kiểm thử GameScene - gameplay Turtle Run 51 Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ MỞ ĐẦU Lý chọn đề tài Kiểm thử phần mềm khâu quan trọng việc phát triển phần mềm Tuy nhiên thực tế Việt Nam cơng ty trọng mức vào công đoạn kiểm thử (do tiết kiệm chi phí, trình độ nhân cơng lý khác) điều then chốt ảnh hưởng tới chất lượng sản phẩm đầu Khi làm việc công ty phát triển phần mềm Việt Nam, nhận thấy chất lượng sản phẩm ln mức mà có từ thường sử dụng “chấp nhận được”, sản phẩm cơng ty nói riêng có lẽ ngành gia cơng phần mềm Việt Nam nói chung chưa có tiếng nói, chưa thể sánh ngang với nước khác giới Ngoài ra, chất lượng việc kiểm thử vấn đề nan giải Do tơi chọn đề tài hướng hứa hẹn giải vấn đề chất lượng phần mềm nói chung chất lượng ứng dụng điện thoại thông minh (lĩnh vực mà phát triển) cải thiện đảm bảo chi phí sản xuất khoảng cạnh tranh Tính cấp thiết đề tài Như nói trên, Việt Nam chất lượng việc kiểm thử lĩnh vực phát triển phần mềm nói chung phát triển ứng dụng cho điện thoại thơng minh nói riêng vấn đề nan giải Qua trình tìm hiểu tác giả, vấn đề kiểm thử phần mềm cho ứng dụng điện thoại di động thông minh có ngun nhân sau: Quy trình kiểm thử mang nhiều tính chất chủ quan lệ thuộc vào kiểm thử viên Tại công ty phần mềm vừa nhỏ, việc kiểm thử chưa có quy chuẩn rõ ràng dẫn đến việc xây dựng ca kiểm thử việc tiến hành kiểm thử phụ thuộc nhiều vào cách nhìn nhận vấn đề kiểm thử viên Do tiết kiệm chi phí nên bỏ qua nhiều công đoạn kiểm thử Các công ty phần mềm Việt Nam phần lớn dựa lĩnh vực “outsource” (làm cho khách hàng) nước Để tăng lợi nhuận, giảm giá thành (tăng tính cạnh tranh), chi phí cho việc kiểm thử thường bị cắt giảm xem nhẹ với dự án nhỏ, chi phí thấp Rất nhiều dự án phát triển ứng dụng cho điện thoại di động thông minh rơi vào trường hợp Kỹ thuật kiểm thử nhiều hạn chế Các kỹ thuật kiểm thử chủ yếu kiểm thử thủ cơng phụ thuộc vào trình độ kiểm thử viên, kiểm thử viên thường không đào tạo bàn dẫn đến việc kiểm thử cịn hạn chế mặt kỹ thuật Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ Từ địi hỏi cần phải có phương pháp, kỹ thuật với công cụ để hỗ trợ quy trình kiểm thử, giúp cho khâu cải thiện chất lượng mà đảm bảo hợp lý mặt chi phí Kiểm thử tự động – kiểm thử hướng mơ hình hướng tiếp cận hứa hẹn đáp ứng điều kiện đề Nhiệm vụ luận văn Với mục đích ứng dụng kỹ thuật kiểm thử hướng mơ hình vào phát triển ứng dụng cho điện thoại di động thông minh (smart phone), luận văn tập trung nghiên cứu nội dung sau : minh Tìm hiểu kỹ thuật kiểm thử tập trung vào kiểm thử hướng mơ hình Tìm hiểu cơng cụ, lựa chọn cơng cụ thích hợp Áp dụng cơng cụ vào q trình phát triển ứng dụng cho điện thoại di động thông Đánh giá hiệu đưa hướng phát triển Bố cục luận văn Chương 1: Giới thiệu tổng quan kiểm thử phần mềm kiểm thử hướng mơ hình Chương trình bày khái niệm kiểm thử, tiếp trình bày khái niệm đặc điểm chung kiểm thử hướng mơ hình Chương 2: Phương pháp sử dụng cơng cụ kiểm thử hướng mơ hình Chương tập trung vào việc mơ tả quy trình, cách thức thực kiểm thử hướng mơ hình cách sử dụng công cụ Spec Explorer Chương 3: Thực nghiệm đánh giá kết Chương cuối trình bày nội dung dự án thực tế phát triển ứng dụng smart phone (phát triển game Turtle Run), đưa kết chưa áp dụng kiểm thử hướng mơ hình sau áp dụng kỹ thuật Từ đánh giá ưu, nhược điểm kỹ thuật việc phát triển ứng dụng điện thoại di động thơng minh Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ Chương TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ KIỂM THỬ HƯỚNG MƠ HÌNH 1.1 Tổng quan kiểm thử 1.1.1 Các khái niệm liên quan kiểm thử Ta tìm hiểu vài thuật ngữ kiểm thử Trong đề tài ta sử dụng thuật ngữ IUT (Implementation Under Test) SUT (System Under Test) mang ý nghĩa phần thực thi hệ thống cần kiểm thử Ta hiểu đơn giản đối tượng ta muốn kiểm thử 1.1.1.1 Sai sót, Lỗi, Hỏng hóc Đây ba thuật ngữ việc kiểm thử mà ta cần phải làm rõ Định nghĩa – Sai sót(Fault): Là sai sót “tĩnh” hệ thống [9] Định nghĩa – Lỗi (Error): Là trạng thái nội hệ thống xảy sai sót hệ thống vận hành [9] Định nghĩa – Thất bại (Failure): Là sai khác thấy thực tế hệ thống so với dự kiến [9] Sơ đồ sau thể mối quan hệ sai sót, lỗi thất bại Đối chiếu Kích hoạt Sai sót Lỗi Thất bại Hình 1-1: Mối liên hệ sai sót, lỗi thất bại Sơ đồ biểu thị trình phát sinh thất bại hệ thống sai sót, sai sót q trình hệ thống thực thi tạo lỗi làm cho kết hệ thống không mong muốn tạo thất bại Vậy đâu nguồn gốc sai sót? Ta quy nguyên nhân sai sót ba nguyên nhân sau: Thứ nhất, cần phải kể đến sai lầm, thiếu sót yêu cầu hệ thống Trong trường hợp này, kỹ sư hệ thống thiếu số trường hợp sử dụng hệ thống thiếu định nghĩa hành động mà ta mong muốn hệ thống thực Những sai sót thuộc loại phát việc phân tích u cầu hệ thống Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 10 Thứ hai, sai sót liên quan đến chức hệ thống, ví dụ việc sai khác đặc tả kiểm thử với kết thực thi hệ thống kiểm thử Sai sót thường xảy thiếu sót q trình phát triển, cài đặt phần mềm phần cứng Sai sót loại phát kiểm thử chức Thứ ba, sai sót phi chức Những sai sót gắn liền với đặc tả phi chức hệ thống hiệu năng, tính bảo mật, tính mở rộng, tính tương thích… hệ thống Để phát sai sót loại ta cần có phương pháp tương ứng với đặc điểm phi chức cụ thể Ngồi ta phát sai sót loại q trình thực thi hệ thống để kiểm thử Trên ba khái niệm kiểm thử, sau ta đưa khái niệm kiểm thử 1.1.1.2 Kiểm thử (testing) gì? Trong phần ta làm rõ khái niệm liên quan, từ đưa khái niệm đâu kiểm thử đâu kiểm thử Kiểm thử (testing) thực tế vừa thẩm định (Validation) vừa kiểm chứng (Verification) [9] Trước hết ta cần hiểu thẩm định kiểm chứng Định nghĩa – Thẩm định (validation): Thẩm định trình đánh giá hệ thống để đảm bảo phù hợp với đặc tả mục đích sử dụng [9] Định nghĩa – Kiểm chứng (verification): Kiểm chứng trình xác minh kết giai đoạn phát triển hệ thống có thực đầy đủ yêu cầu đưa giai đoạn trước hay khơng [9] Ta hiểu cách đơn giản kiểm chứng phát lỗi lập trình, tức tìm sai khác hệ thống ta tạo với yêu cầu đề Còn thẩm định phát hệ thống có đáp ứng nhu cầu thực tế hay khơng, ta phát lỗi thiết kế mức cao kiểm chứng Định nghĩa – Kiểm thử (Testing): Kiểm thử q trình đánh giá cách có hệ thống (systematically) hệ thống việc quan sát hoạt động [9] Định nghĩa – Gỡ lỗi (Debugging): Gỡ lỗi trình tìm sai sót dẫn đến thất bại hệ thống [9] Định nghĩa cho ta thấy rõ kiểm thử vừa thẩm định, vừa kiểm chứng Thông thường kiểm thử viên tạo ca kiểm thử từ đặc tả yêu cầu hệ thống cách thủ cơng, việc kiểm thử kỹ thuật thẩm định hệ thống Đối với kiểm thử hướng mơ hình, ca kiểm thử thường sinh tự động từ mơ tả hệ thống kiểm thử việc ta xác minh lại kết thực thi hệ thống ca kiểm thử này, lúc kiểm thử kỹ thuật kiểm chứng Ở ta cần phân biệt kiểm thử gỡ lỗi Có thể hiểu kiểm thử trình tìm thất bại gỡ lỗi q trình xác định sai sót tạo thất bại Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 44 (Lưu ý action có ta chưa bàn đến điều kiện để thực chúng (các Rule)) Mơ hình: Hình 3-2: Mơ hình SceneFlow Turtle Run Ca kiểm thử: Hình 3-3: Ca kiểm thử SceneFlow Turtle Rune Chương trình mơ hình ca kiểm thử cho ta nhìn tổng quát hệ thống ta kiểm tra lại luồng chung hệ thống Điều ca kiểm thử thủ công tạo sử dụng trình phát triển hệ thống thực tế 3.2.2.2 Xây dựng chương trình mơ hình hình Tiếp theo ta xây dựng chương trình mơ hình hình cụ thể với chức cần thiết chúng Với hình: Top Scene, Ranking Scene, HowTo Scene, GaveOver Scene thao tác hình đơn giản Do ta khơng sâu phân tích hình mà đưa kết thực tế xây dựng Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 45 3.2.2.2.1 Top Scene Hình 3-4: Mơ hình ca kiểm thử TopScene Turtle Run Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 46 3.2.2.2.2 Ranking Scene Hình 3-5: Mơ hình ca kiểm thử rankingScene Turtle Run Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 47 3.2.2.2.3 HowTo Scene Hình 3-6: Mơ hình ca kiểm thử HowTo Scene Turtle Run Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 48 Với hình Howto ta nhận thấy ca kiểm thử xây dựng model program sinh chi tiết nhiều so với ca kiểm thử sử dụng phát triển ứng dụng Ca kiểm thử sử dụng sau: No Main point Sub Point How to Thao tác Sub-sub Point Type Confirmation State click bt Prev trở trang How to liền trước, How to trang Top OK click bt Next tiến tới trang How to liền sau, hết vòng How to OK Note Bảng 2: Ca kiểm thử dùng với HowTo Scene Turtle Run Về mặt chất, sai sót thường thấy tạo ca kiểm thử Người tạo ca kiểm thử cách thủ công thường khơng nhìn thấy rõ ràng thao tác hệ thống, khởi tạo ca kiểm thử mô tả nội dung cách chung chung, thiếu tính chi tiết Điều hồn tồn khắc phục sử dụng chương trình mơ hình 3.2.2.2.4 GameOver Scene Hình 3-7: Mơ hình ca kiểm thử GameOver Scene Turtle Run Tới ta đưa đánh giá chung ca kiểm thử chương trình mơ hình sinh đầy đủ hơn, xác so với ca kiểm thử viết cách thủ công sử dụng trình thực dự án Đối với hình gameScene tính phức tạp ta bàn tới việc xây dựng chương trình mơ hình cho hình phần sau Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 49 3.2.2.3 Xây dựng model program cho hình gameScene Màn hình bao gồm phần story dùng để hiển thị cốt truyện ứng dụng phần gameplay phần để người dùng sử dụng (chơi game) Qua phân tích sơ ta nhận thấy lựa chọn không kỹ lượng action gọi hình lớn Trước hết ta cần tách riêng hai chức biệt lập hình để mơ tả riêng, phần story phần gameplay Để kết nối luồng hai phần ta sử dụng lớp chung chứa liệu tồn hình (class gameSceneData) Tiếp ta xây dựng hai chương trình mơ hình hai hành động kết nối với (thông qua gameSceneData): story action storyEnd() với gameplay action gameStart() Khi tách hai thành phần (được biểu diễn hai chương trình mơ hình khác nhau) thành phần story biểu diễn tương tự scene Ta thu hình ảnh mơ hình ca kiểm thử thành phần sau 3.2.2.3.1 gameScene – Story Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 50 Hình 3-8: Mơ hình vào ca kiểm thử GameScene - Story Turtle Run 3.2.2.3.2 gameScene – gameplay Đây thành phần phức tạp ứng dụng, đòi hỏi phải tính tốn kỹ xây dựng chương trình mơ hình Trước hết ta nhận thấy mục đích ứng dụng đặt cho người dùng điều khiển Rùa quãng đường xa tốt Điều kéo theo đặc điểm: mặt lý thuyết phần gameplay kéo dài mãi (miễn người chơi trì thể lực Rùa con) Như cố tình mơ tả q trình ta khơng thể đáp ứng u cầu “hữu hạn” mơ hình action Do ta cần trừu tượng hóa trạng thái action đồng thời đưa số giới hạn cho để mơ tả phần gameplay cách hữu hạn Ta nhận thấy người dùng khơng có tác động “Rùa con” khơng lấy vật phẩm bổ sung thể lực sau khoảng thời gian định gameplay trở trạng thái gameOver Vì thực chất để mơ tả hành vi phần gameplay ta cần ba action: Rùa lấy vật phẩm đường Rùa va phải vật cản đường Game Over Tuy nhiên chưa đủ để hữu hạn hóa số lượng hành động xảy Giả dụ Rùa liên tục lấy vật phẩm phục hồi thể lực đường lượng action gọi vơ hạn Ngồi ra, lượng action tăng lên kéo theo phức tạp mô hình ca kiểm thử Ở đây, ta dùng biến passedStep để giới hạn lượng action thực Khi đạt tới giới hạn lượng action ta Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 51 chấp nhận gameplay “trạng thái” playing ta xem xét, so sánh thơng số trạng thái Khi xác định action giới hạn số lượng action tối đa ta mong muốn kiểm thử ta đưa mơ hình ca kiểm thử cho thành phần gameplay Hình 3-9: Mơ hình ca kiểm thử GameScene - gameplay Turtle Run (Hình ảnh thể phần mơ hình ca kiểm thử sinh ra) Với giới hạn ca kiểm thử ta đa có tới 2706 states, từ ta thấy khả sinh ca kiểm thử kiểm thử hướng mơ hình mạnh tới mức Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 52 Thế vấn đề lại với lượng ca kiểm thử lớn với sức người khó đảm đương việc kiểm thử Trong trường hợp ta cần tới 3.2.3 Đánh giá kết 3.2.3.1 Sản phẩm thu Sử dụng kiểm thử hướng mơ hình thơng qua cơng cụ spec explorer ta thu hai sản phầm chính: Mơ hình hệ thống (cũng phần tài liệu phục vụ cho phát triển tiếp sau này) Ca kiểm thử Tuy mơ hình ca kiểm thử sinh spec explorer chưa có yêu cầu phi chức hệ thống thể cách trực quan đầy đủ chức cần có hệ thống, chí có nhiều trường hợp đầy đủ hẳn với ca kiểm thử viết cách thủ cơng Điều có việc sử dụng công cụ cách tự động làm giảm thiểu sai sót người gây ra, đồng thời việc viết ca kiểm thử phụ thuộc nhiều vào trình độ hiểu biết người viết nên thực tế người cho ta ca kiểm thử khác nhau, khó thống chung nội dung 3.2.3.2 Chi phí sản xuất Như đưa trên, chi phí thực tế dự án: o System design: md o Testing: 15 md Trong cụ thể sau: thiết kế chung hệ thống 1.5 md, viết ca kiểm thử md (chức md, phi chức 2md) Như tổng cộng trình tương đương với ta sử dụng cơng cụ có mức chi phí: 4.5md Trong thực tế xây dựng mơ hình sinh ca kiểm thử (tự động) 1.5 md Nếu nhìn vào số 1.5, 4.5 đơn vị md ta cho việc sử dụng công cụ không tiết kiệm nhiều chi phí Tuy nhiên suy xét kỹ lại hồn tồn khác biệt Thứ nhất: ta cần nhận chi phí cho việc sử dụng cơng cụ ta bớt chi phí cho việc xây dựng ca kiểm thử, với hệ thống lớn chi phí đáng kể khả xảy sai sót lớn Thứ hai: việc xây dựng thiết kế chung hệ thống điều bỏ qua phát triển ứng dụng Tuy nhiên thực tế Việt Nam, Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 53 form mẫu mô tả hệ thống cịn nhiều điều chưa thống nhất, khó hiểu khó sử dụng Khi sử dụng cơng cụ ta có chuẩn chung mơ tả hệ thống, từ dễ dàng phát triển tiếp ứng dụng sau Ngồi có điều ta cần nhận thấy việc sử dụng nguồn lực linh hoạt nhiều Nếu trước ta cần người thiết kế kiểm thử viên để xây dựng mơ hình hệ thống ca kiểm thử sử dụng cơng cụ ta cần người thiết kế Điều thật giải phóng khơng thân nhân kiểm thử mà phía quản lý phân phối nhân Mặt khác với việc sử dụng nhân thiết kế ta tăng cao khả hệ thống kiểm thử (với ca kiểm thử sát với mơ hình) xác so với đặc tả yêu cầu 3.3 Kết chương Việc áp dụng kiểm thử hướng mô hình thơng qua spec explorer vào thực tế cho thấy có ưu điểm khuyết điểm đinh 3.3.1 Ưu điểm kiểm thử hướng mơ hình với Spec Explorer Mơ hình xây dựng ngơn ngữ lập trình (C#) nên dễ tiếp cận lập trình viên, với người làm hệ thống Tiết kiệm chi phí tạo ca kiểm thử (và chi phí kiểm thử hệ thống) Có thể kiểm tra lại sớm thiết kế phát lỗi sớm Giảm khả sai sót khâu thiết kế tạo ca kiểm thử người tạo Linh động trình sử dụng nguồn lực người 3.3.2 Nhược điểm kiểm thử hướng mơ hình với Spec Explorer Người xây dựng mơ hình cần phải người hiểu rõ hệ thống cần đào tạo sử dụng cơng cụ kiểm thử hướng mơ hình Còn hạn chế trường hợp logic mở trường hợp vô hạn Với ứng dụng cho kiểm thử di động hạn chế việc kiểm thử tự động code thực thi Tóm lại việc kiểm nghiệm thực tế sử dụng spec explorer cho ta thấy tính khả quan áp dụng kiểm thử hướng mơ hình vào việc phát triển ứng dụng nói chung ứng dụng cho di động nói riêng Với ưu điểm bước đầu mang lại, việc áp dụng kiểm thử hướng mơ hình chắn lựa chọn tốt để cải thiện chất lượng, giảm chi phí cho q trình phát triển ứng dụng Việt Nam Ngô Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 54 KẾT LUẬN VÀ KIẾN NGHỊ A Kết luận Luận văn thạc sĩ tác giả với đề tài: “Kiểm thử hướng mơ hình ứng ụng phát triển ứng dụng cho điện thoại di động thông minh” hoàn thành Đề tài giải vấn đề sau: Tìm hiểu khái niệm, yếu tố kiểm thử phần mềm nói chung kiểm thử hướng mơ hình nói riêng Đưa nhìn tổng qt ngơn ngữ mơ hình hố đồng thời tìm hiểu cơng cụ miễn phí hỗ trợ cho việc xây dựng mơ hình ứng dụng Phác thảo quy trình xây dựng mơ hình ứng dụng cho điện thoại di động thông minh cách sử dụng công cụ spec explorer Tiến hành thử nghiệm xây dựng mơ hình sinh ca kiểm thử với dự án phát triển game điện thoại di động thông minh, đưa đánh giá chủ quan dựa kết thử nghiệm Các kết đạt đề tài: Đề tài tổng hợp khái niệm đưa hình ảnh tổng quan kiểm thử hướng mơ hình Trên sở phân tích ưu nhược điểm khả áp dụng kiểm thử hướng mơ hình vào thực tế phát triển ứng dụng cho điện thoại di động thông minh Tác giả đưa bước cụ thể để xây dựng mơ hình cho ứng dụng điện thoại di động thông minh dựa đầu vào yêu cầu ứng dụng, đồng thời xây dựng thực tế mơ hình dựa bước đưa Kết thực nghiệm cho thấy tính hiệu phương pháp kiểm thử hướng mơ hình trình phát triển ứng dụng cho điện thoại di động thơng minh Q trình áp dụng kiểm thử hướng mơ hình mà tác giả làm sau: Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 55 o Đầu tiên, từ yêu cầu ứng dụng tác giả xây dựng nên “hình ảnh” ứng dụng Các “hình ảnh” sơ đồ dịch chuyển hình (scene flow), sơ đồ luồng xử lý, v.v Chúng giúp cho ta có nhìn trực quan ứng dụng, đồng thời giúp ích cho việc xây dựng mơ hình ứng dụng o Tiếp theo đó, dựa vào yêu cầu “hình ảnh” tác giả xây dựng chương trình mơ hình tương ứng cho ứng dụng Chương trình mơ hình viết C# cấu hình dựa Cord Scripting Language o Sau viết (code) xong chương trình mơ hình tác giả dựa vào công cụ spec explorer để xem lại mơ hình cách trực quan, sinh tự động ca kiểm thử, đối chiếu ca kiểm thử sinh cách tự động với ca kiểm thử kiểm thử viên xây dựng thủ công dựa vào yêu cầu ban đầu ứng dụng Thêm vào tác giả đối chiếu lại chi phí (dựa nhân cơng) tồn q trình áp dụng so với việc thực phát triển dự án thông thường, phân tích dựa quy mơ dự án đưa đánh giá, nhận định việc áp dụng kiểm thử hướng mơ hình vào phát triển ứng dụng cho điện thoại di động thông minh Những khó khăn hướng giải Những khó khăn gặp phải trình thực đề tài: Các cơng cụ hỗ trợ kiểm thử hướng mơ hình áp dụng cho phát triển ứng dụng cho điện thoại di động thơng minh cịn thường khơng hỗ trợ đầy đủ Nền tảng điện thoại di động thơng minh đa dạng, có đặc thù riêng thay đổi thường xuyên (version hệ điều hành, hệ máy, cấu hình phần cứng.v.v.) nên việc xây dựng nên quy chuẩn chung gặp nhiều khó khăn Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 56 Kiểm thử hướng mơ hình dành áp dụng cho phát triển ứng dụng di động thông minh lĩnh vực mới, có tài liệu thực nghiệm khiến việc tìm hiểu gặp nhiều khó khăn Hướng giải quyết: Thử nghiệm công cụ tìm được, tìm hướng áp dụng cơng cụ kiểm thử hướng mơ hình cho ứng dụng thơng thường (ứng dụng PC – personal computer) cho việc phát triển ứng dụng điện thoại di động thông minh Tìm hướng áp dụng kiểm thử hướng mơ hình công cụ phát triển crossplatform cho điện thoại di động thơng minh Unity, Xamarin, Cocos2dx,.v.v Tìm kiếm tự thử nghiệm tài liệu liên quan lĩnh vực kiểm thử cho ứng dụng điện thoại di động thơng minh nói chung kiểm thử hướng mơ hình ứng dụng thơng thường Các kết nghiên cứu lý luận thực tiễn cho thấy việc áp dụng kiểm thử hướng mơ hình phát triển ứng dụng cho điện thoại di động thơng minh bước đầu đạt tín hiệu tích cực Hiệu ca kiểm thử chi phí dành cho việc tạo ca kiểm thử cải thiện Ngoài ra, việc áp dụng vào công cụ cross-platfrom mở hướng cho việc áp dụng triệt để kiểm thử hướng mơ hình cho phát triển ứng dụng điện thoại di động thơng minh B Kiến nghị Trong q trình nghiên cứu hoàn thành luận văn, tác giả thấy để áp dụng kiểm thử hướng mơ hình trình phát triển ứng dụng cho điện thoại di động thông minh đạt hiệu ta cần trọng đến số vấn đề sau: - Mô hình cho ứng dụng cần đơn giản nhiều Trong trường hợp ứng dụng phức tạp ta cần chia nhiều mơ hình cho chức hình khác - Ln ln lưu ý tới tính “hữu hạn” mơ hình Để làm điều cần trừu tượng hoá “hữu hạn hoá” - Cần đào tạo nhân viên để nhân viên làm quen với ngơn ngữ mơ hình xây dựng mơ hình theo đặc tả Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 57 C Hướng phát triển đề tài Do điều kiện cá nhân hạn chế, nên vấn đề nghiên cứu “Kiểm thử hướng mơ hình ứng dụng phát triển ứng dụng cho điện thoại di động thông minh” khuôn khổ luận văn dừng lại việc xây dựng mô hình chương trình mơ hình (code) sinh ca kiểm thử cách tự động Vì vậy, nghiên cứu vấn đề tập trung theo hai hướng sau: Hướng thứ nhất: Phát triển rộng theo hướng hỗ trợ nhiều ngơn ngữ xây dựng mơ hình (ví dụ UML), hỗ trợ cách trực quan việc xây dựng mơ hình (kéo thả, giao diện đồ hịa.v.v) Trên thực tế hướng phát triển có cơng cụ sử dụng (LTSA UML 2.0) nhiên nhiều hạn chế khó sử dụng Hướng thứ hai: Phát triển theo chiều sâu, hướng việc kiểm thử tự động IUT (dưới dạng code) cho ứng dụng điện thoại thơng minh Trước mắt ta áp dụng mức độ kiểm thử chức nhỏ lẻ với đoạn mã viết C# engine Unity3D, nhiên việc tích hợp đảm bảo tính đắn kết kiểm thử sản phầm thực tế nhiều vấn đề cần phải xem xét Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B Luận văn thạc sỹ 58 Tài liệu tham khảo AIDA NIKNEJAD A Quality Evaluation of an Android Smartphone Application 2011 Master thesis James H Andrews, Lionel C Briand, Yvan Labiche Is mutation an appropriate tool for testing experiments? New York : ACM New York, 2005 Kent Bect Test Driven Development: By Example 1st Edition s.l : Addison Wesley Professional, 2002 Wang Linzhang, Yuan Jiesong, Yu Xiaofeng, Hu Jun, Li Xuandong and Zheng Guoliang Generating Test Cases from UML Activity Diagram based on Gray-Box Method 2004 Technical Report Mark Utting and Bruno Legeard Practical Model-Based Testing : A Tools Approach San Francisco : Morgan Kaufmann Publishers Inc., 2006 spec explorer tutorial [Online] http://rasmus.selsmark.dk/post/2013/09/16/SpecExplorer-Tutorial-for-Visual-Studio-2012.aspx Margus Veanes, Colin Campbell, Wolfgang Grieskamp, Wolfram Schulte, Nikolai Tillmann, Lev Nachmanson Model-Based Testing of Object-Oriented Reactive Systems with Spec Explorer s.l : Microsoft Research, 2007 Nico Kicillof MSDN Blog What is Model-Based Testing? [Online] Oct 27, 2009 http://blogs.msdn.com/b/specexplorer/archive/2009/10/27/what-is-model-basedtesting.aspx Patrick Cousot, Radhia Cousot Basic Concepts of Abstract Interpretation s.l : Kluwer Academic Publishers, 2004, pp 359-366 10 msdn [Online] Microsoft https://msdn.microsoft.com/enus/library/ee620489.aspx 11 Stephan Weißleder Test Models and Coverage Criteria for Automatic ModelBased Test Generation with UML State Machines Berlin : s.n., 2010 12 Intel Open Source [Online] OTC https://01.org/fmbt 13 TorX Test Tool Information TorX Test Tool website [Online] University of Twente http://fmt.cs.utwente.nl/tools/torx/introduction.html Ngơ Hồng Thành Lớp 12BCNTT2 – Khóa 2012B ... phần ứng dụng điện thoại di động thông minh ứng dụng phát triển thời gian ngắn, chi phí thấp Các hạn chế: Tuy nhiên, kiểm thử hướng mơ hình áp dụng vào phát triển ứng dụng điện thoại di động thông. .. giúp cho việc phát mâu thuẫn thân đặc tả yêu cầu 1.2.5 Khả ứng dụng kiểm thử hướng mô hình phát triển ứng dụng cho điện thoại di động thông minh 1.2.5.1 Đặc trưng việc phát triển ứng dụng điện thoại. .. áp dụng kiểm thử hướng mơ hình phát triển ứng dụng cho điện thoại di động thông minh Mức độ phù hợp: Như trình bày (mục 1.2.1), kiểm thử hướng mơ hình phương pháp kiểm thử gọn nhẹ để kiểm thử