999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于IFML元模型自動生成RIA用戶界面測試用例研究

2020-09-23 08:06:20李丹丹劉曉燕曹榮凱嚴馨
現代電子技術 2020年18期

李丹丹 劉曉燕 曹榮凱 嚴馨

摘? 要: 最近OMG推出的交互流建模語言(IFML),其強大的用戶界面建模功能現已逐漸應用于RIA用戶界面模型驅動開發早期的建模階段。然而針對RIA用戶界面測試依舊停留在開發后期才能使用傳統技術進行的問題,使得測試工作需要花費大量的時間和成本。文章給出一種基于IFML元模型自動生成RIA用戶界面測試用例的方法。首先,通過Eclipse IFML編輯器建立RIA用戶界面的IFML元模型;然后,分別闡述了將IFML元模型轉換到測試用例、時間自動機的轉換規則,并通過轉換引擎生成對應文件;其次,通過UPPAAL對生成的自動機導航模型進行死鎖和可達性驗證;最后以實例進行了方法驗證。

關鍵詞: RIA用戶界面測試; 用例自動生成; 交互流建模語言; 元模型建立; 轉換規則; 文件生成

中圖分類號: TN911.23?34; TP311? ? ? ? ? ? ? ? 文獻標識碼: A? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)18?0043?04

Abstract: In allusion to the IFML (interactive flow modeling language) is rolled out by OMG, its powerful user interface modeling capabilities. are increasingly used in the early modeling phase of RIA (rich internet application) user interface model?driven development? As the traditional techniques are still applied into the later stage of development for the testing of the RIA user interface, which makes the testing work take a lot of time and cost, a method of RIA user interface test case′s automatic generation based on IFML meta?model is provided. The IFML meta?model of the RIA user interface is built with the Eclipse IFML editor. The conversion rules of converting the IFML meta?model to the test case and the timed automata are elaborated respectively, and the corresponding files are generated by the conversion engine. The deadlock and reachability of the generated automaton navigation model are verified by UPPAAL. The method is verified by an example.

Keywords: RIA user interface test; case automatic generation; interactive flow modeling language;? meta?model building; conversion rule; file generation

0? 引? 言

近年來,軟件應用市場對用戶界面的需求逐漸變得豐富且復雜,因此,傳統的基于Html的Web應用程序的用戶界面越來越體現出它們的局限性,已不能滿足網絡瀏覽者更高的、全方位的體驗要求。而互聯網應用程序(Rich Internet Application,RIA)[1]的出現解決了這個問題。RIA由于結合了桌面應用程序良好的用戶交互體驗和Web應用程序部署的靈活性,很快獲得了企業界的青睞。由于RIA用戶界面包含豐富的界面元素,使得界面體系結構也因此變得復雜。隨著RIA的廣泛應用,人們通過筆記本電腦、手機、臺式電腦、iPAD等各種設備訪問RIA,因此需要提供通用的用戶界面滿足不同的用戶需求,導致RIA用戶界面的開發和測試工作也逐漸變得復雜且耗時。模型驅動工程[2]是一種著名的軟件工程開發方法,簡化了開發過程,并提供早期設計驗證功能,廣泛應用于嵌入式系統、信息系統等領域。為了降低RIA用戶界面開發和測試的難度,必須從模型驅動需求分析階段開始設計。事實上,已經有一些針對應用程序用戶界面開發早期的需求建模技術,比如UML,WebML等,但它們對用戶界面內容、用戶交互、控制行為等重要特征的描述還不夠完整和準確。交互流建模語言(Interaction Flow Modeling Language,IFML)[3]的出現簡化了RIA用戶界面開發前期的建模設計工作。IFML是以圖形化的方式描述用戶界面需求,并且可以通過擴展的方式描述更為復雜的大型應用用戶界面,操作靈活度高[4]。IFML同時支持對任何類型的設備訪問RIA用戶界面進行平臺無關的描述。然而,到目前為止,IFML還未提供用戶界面需求設計的驗證和測試功能,僅在開發后期對用戶界面的功能進行測試,這顯著降低了軟件的開發效率和軟件質量。因此,本文給出一種從IFML元模型自動生成測試用例的方法,這將在開發工作的初始階段執行用戶界面的需求設計驗證,使得測試過程更加精確有效[5]。首先,通過Eclipse IFML編輯器建立RIA用戶界面的UML,IFML元模型;然后,分別闡述了將IFML元模型轉換到測試用例、時間自動機[6]的轉換規則,并通過轉換引擎生成對應文件;其次,通過UPPAAL對生成的自動機導航模型進行死鎖和可達性驗證;最后以實例進行了方法驗證。結果表明,該方法在RIA用戶界面開發的需求分析階段便能夠提供測試用例,這有助于企業以相對較低的成本和時間開發高質量的軟件產品[7]。

1? 交互流建模語言

交互流建模語言是OMG最近為用戶界面建模采用的新標準,以圖形化的形式來表示軟件應用用戶界面的內容、用戶交互和控制行為,并且支持諸如桌面、網頁、移動等多種終端應用。IFML元模型為IFML元素提供了語義和結構,其中,UML概要文件定義了使用UML表達IFML模型的語法。IFML元模型包含2個包:核心包和擴展包。核心包包括IFML主要元素,擴展包包含IFML擴展元素。擴展元素使得IFML能夠表達更為豐富的用戶界面元素,使建模工作更加具體[8]。由于IFML的龐大元素體系,本文只針對RIA用戶界面所需的IFML元素進行介紹。

視圖容器(View Container)是IFML模型圖的基本界面元素,例如實際中的窗口、網頁等。視圖容器可以嵌套,子容器可以與父容器同時顯示,也可以使用XOR嵌套使它們互斥。在互斥的情況下,可以將子容器設置為Default,當用戶訪問父容器時,仍然顯示子容器。容器設置為Landmark,表示容器可以被嵌套容器中的所有其他容器訪問。視圖容器可以包含一個或多個視圖組件(View Component),而視圖組件則包含要顯示的數據類型,比如IFML元模型擴展包中的Form(表單)、List(列表)、Details(詳細信息)。視圖組件還包括Data Bingding(數據綁定),它引用域概念,精確地指定需要從域中提取哪些數據。Event(事件)表示視圖容器或視圖組件之間的交互,它導致源和目標RIA用戶界面的轉換。有很多類型的事件,比如Submit(提交)、Select(選擇)、Add(添加)等。事件通過Navigation Flow(導航流)連接到目標視圖組件或視圖容器。Parameter Binding Group(參數綁定組)與導航流相關聯,表示視圖容器或視圖組件之間輸入輸出的依賴關系。

2? 研究方法概述

本節給出將IFML元模型轉換到測試用例以及時間自動機的轉換規則,并描述了使用測試用例生成器生成對應的測試用例文檔以及時間自動機導航模型。

2.1? IFML到測試用例的轉換規則

視圖組件有3種擴展類型,即Form,List,Details,它們能夠捕獲用戶界面的詳細信息。本節闡述了將這3種視圖組件轉換為測試用例的轉換規則。IFML模型的其他視圖組件無法捕獲用戶界面的詳細信息,因此,本節沒有對其他視圖組件進行測試用例的轉換。

1) Form到測試用例的轉換規則:Form名稱映射到測試用例名稱;Form中的Simple Field和Selection Field映射到測試用例,分別檢查輸入值和選定值;Form上的Submit事件映射到測試用例的最終提交步驟。

2) List到測試用例的轉換規則:List名稱映射到測試用例名稱;List中的Data Binding映射到領域模型元素;Visualization Attribute映射到List中顯示的領域模型元素屬性。

3) Details到測試用例的轉換規則:Details名稱映射到測試用例名稱;Details中的Data Binding映射到領域模型元素;Visualization Attribute映射到Details中顯示的領域模型元素屬性。

2.2? IFML到時間自動機的轉換規則

導航測試對于分析應用程序體系結構和改進用戶交互流起著關鍵的作用。本節給出將IFML模型轉換為時間自動機的轉換規則,通過轉換生成時間自動機導航模型。時間自動機模型由初始位置、邊、位置組成。初始位置表示時間自動機模型的初始狀態,邊表示狀態的轉換,位置則表示轉換后的狀態`。

IFML元模型到時間自動機的轉換規則:Home? View Container表示IFML模型中的主頁,轉換到時間自動機模型的初始位置,表示系統的初始狀態;IFML模型中的Navigation Flow轉換到時間自動機模型中的邊;除了Home View Container,其他的View Container轉換為時間自動機模型中的位置。

2.3? 測試用例生成器(MBUITC)

使用基于模型的用戶界面測試用例生成器(Model?based UI Test Case,MBUITC)[9]實現第2節所述的轉換規則并得到相應的生成文件。MBUITC的功能包括3個部分:Eclipse IFML編輯器、轉換引擎、UPPAAL模型檢查器,如圖1所示。在Eclipse IFML編輯器中建立RIA用戶界面的UML,IFML元模型,通過轉換引擎導入UML,IFML元模型,生成完整的用戶界面測試用例的測試文檔(.txt)、包含導航模型代碼的文本文件(.xta)。盡管IFML編輯器只有在UML元模型的基礎上才能建立IFML元模型,但實際上只是IFML元模型的轉換,與UML元模型無關。擴展名為.xta的文本文件作為模板導入UPPAAL模型檢查器用來驗證模型的死鎖和可達性。

UPPAAL由3個部分組成:編輯器、模擬器、驗證器[10],當.xta文本文件導入UPPAAL時,編輯器會首先根據模板文件生成自動機導航模型,然后導航模型通過模擬器檢查其語法,保證模型的正確性和完整性。最后,使用驗證器對模型進行驗證,在驗證中應考慮兩個方面的性質:可達性和死鎖。可達性是檢查查詢語句中提到的狀態是否可以從初始狀態通過至少一條路徑到達,可達性確保RIA用戶界面是可訪問的,用于檢查導航模型可達性的查詢語句為:E<> Process.page,如果滿足條件,則意味著page可達。驗證導航模型是否發生死鎖,若滿足A[] not deadlock,則意味著模型無死鎖,當導航模型中存在一個狀態而沒有下一個狀態時,會發生死鎖。

3? 實例驗證

為驗證本文給出方法的有效性,本節結合圖書管理應用作為研究案例。該應用實例包含5個主要用戶界面:主界面(Home)、圖書列表(BookList)、圖書詳細信息(BookDetails)、圖書添加頁面(AddBook)、圖書添加錯誤頁面(ErrorPage)。主界面包括最近出版的圖書列表,列表包含圖書名稱以及出版年份,通過列表選擇1本書,頁面將會跳轉到圖書詳細信息頁面。圖書詳細信息頁面包含書籍名稱、作者、出版年份、有關書籍描述。圖書列表頁面顯示一份書單,通過選擇一本圖書,頁面將跳轉到圖書詳細信息頁面。在圖書列表中通過點擊“添加圖書”按鈕,頁面將跳轉到圖書添加頁面。圖書添加頁面包含一個圖書添加表單,通過點擊“提交”按鈕,頁面將跳轉到圖書列表頁面,如果數據提交失敗,頁面將跳轉到圖書添加錯誤頁面。圖2和圖3分別是圖書管理應用的領域模型和IFML模型。

通過MBUITC中Eclipse IFML編輯器建立圖書管理應用實例的UML,IFML元模型(book.uml,book.core),打開轉換引擎,導入元模型進行轉換。最終生成測試用例文檔,部分截圖如圖4所示,導航模型文件如圖5所示。

打開MBUITC中的UPPAAL模型檢查器,導入導航模型的.xta文件,編輯器中將生成自動機導航模型如圖6所示。通過驗證器的驗證輸出結果顯示,導航模型無死鎖并且Book Details滿足可達性,如圖7所示。

4? 結? 語

針對傳統RIA用戶界面測試過程中出現的低效、高成本等問題,文章給出了一種基于IFML元模型自動生成RIA用戶界面測試用例方法。首先,通過Eclipse IFML編輯器建立RIA用戶界面的IFML元模型;然后,分別闡述了將IFML元模型轉換到測試用例、時間自動機的轉換規則,并通過轉換引擎生成對應文件;其次,通過UPPAAL對生成的自動機導航模型進行死鎖和可達性驗證;最后以實例進行了方法驗證。文章下一步工作將改進和擴展所提出的方法,以支持IFML其他重要結構,如模塊、動作、菜單、上下文和表達等。

參考文獻

[1] 康愷.面向RIA的Java Web組件封裝技術設計與實現[D].西安:長安大學,2017.

[2] 劉撥杰.基于模型驅動的MapReduce大數據變換軟件開發方法研究[D].南京:南京大學,2018.

[3] MISRA H. Interaction flow modeling language: model?driven UI engineering of web and mobile apps with IFML [J]. Computing reviews, 2016, 57(8): 477?477.

[4] MARCO Brambilla, ANDREA Mauri, ERIC Umuhoza. Extending the interaction flow modeling language (IFML) for model driven development of mobile applications front end [J]. Mobile web information systems, 2014, 8640: 176?191.

[5] FRAJT?K K, BURES M, JELINEK I. Transformation of IFML schemas to automated tests [C]// Conference on Research in Adaptive & Convergent Systems. New York: ACM, 2015: 509?511.

[6] 黃青青.基于時間自動機理論的PLC程序設計方法及應用[D].武漢:華中科技大學,2018.

[7] SUHAG V, BHATIA R. Model based test cases generation for web applications [J]. International journal of computer applications, 2014, 92(3): 23?31.

[8] NAZIHA Laaz, SAMIR Mbarki. Combining ontologies and IFML models regarding the GUIs of rich internet applications [C]// International Conference on Artificial Intelligence: Methodology. Varna: Springer, 2016: 226?236.

[9] Anon. MBUITC [EB/OL]. [2019?07?14]. https://ceme.nust.edu.pk/ISEGROUP/MBUITC/index.html.

[10] 吳丹.基于UPPAAL的ETCS?1級/ETCS?NTC級等級轉換形式化建模[D].成都:西南交通大學,2017.

主站蜘蛛池模板: 激情六月丁香婷婷四房播| 亚洲日韩久久综合中文字幕| 青青草国产一区二区三区| 国产亚洲精| aⅴ免费在线观看| 鲁鲁鲁爽爽爽在线视频观看| 日韩欧美国产三级| 欧美精品高清| 国产毛片不卡| 国产丝袜无码一区二区视频| 在线另类稀缺国产呦| 成人福利在线免费观看| 国产欧美另类| 播五月综合| 狂欢视频在线观看不卡| 国产91麻豆免费观看| 久久综合五月婷婷| 沈阳少妇高潮在线| 欧美亚洲一区二区三区在线| 亚洲无码熟妇人妻AV在线| 欧美黑人欧美精品刺激| 97视频在线观看免费视频| 国产va在线观看免费| 国产丝袜啪啪| 玩两个丰满老熟女久久网| 久久黄色免费电影| 超清无码一区二区三区| 亚洲黄色成人| 久久人搡人人玩人妻精品一| 国产精品v欧美| 国产精品开放后亚洲| 国产激爽大片高清在线观看| 国产成人高清在线精品| 一级毛片高清| 国产成人凹凸视频在线| 一级毛片免费不卡在线| 国产日韩久久久久无码精品| 亚洲水蜜桃久久综合网站| 欧美色99| 国产精品丝袜在线| 久久情精品国产品免费| 国产av无码日韩av无码网站| 久久久久九九精品影院 | 亚洲欧洲日产国产无码AV| 亚洲欧美综合在线观看| 欧美亚洲综合免费精品高清在线观看 | 丁香五月激情图片| 91精品国产一区| 婷婷五月在线视频| Jizz国产色系免费| 欧美三级不卡在线观看视频| 黄网站欧美内射| 一级看片免费视频| 97青草最新免费精品视频| 老司机午夜精品网站在线观看| 国产杨幂丝袜av在线播放| 成人噜噜噜视频在线观看| 91欧美亚洲国产五月天| 毛片卡一卡二| 午夜一区二区三区| 日韩欧美91| 成人日韩欧美| 国产国拍精品视频免费看| 天堂在线视频精品| 精品人妻一区无码视频| 国产自无码视频在线观看| 久久永久视频| 日韩精品无码不卡无码| 亚洲黄色网站视频| 日韩成人在线视频| 国产精女同一区二区三区久| 熟妇无码人妻| 国内精品久久人妻无码大片高| 国产拍在线| 久久这里只精品热免费99| 久久综合亚洲色一区二区三区| 伊人久久大线影院首页| 2019年国产精品自拍不卡| 操美女免费网站| 午夜不卡视频| 国产在线小视频| 亚洲激情99|