
Towards Automatic Consistency Checking between Web Application and its Mobile Application 1,2,3 Xiangping Chen Zhensheng Xu1,2 1 Institute of Advanced Technology, Sun Yat-sen 1 School of Information Science and Technology, Sun University, National Engineering Research Center of Yat-sen University, National Engineering Research Digital Life, Guangzhou, 510006, China Center of Digital Life, Guangzhou,510006, China 2 Shenzhen Engineering Laboratory for Mobile Internet 2 Research Institute of Sun Yat-sen University in Application Middleware Technology, Shenzhen, Shenzhen, Shenzhen, 518057, China 518060, China [email protected] 3 Research Institute of Sun Yat-sen University in Shenzhen, Shenzhen, 518057, China [email protected] Abstract—With the increasing usage of mobile devices in daily news by clicking the element “News” in the homepage, it is life, a lot of websites delivered another mobile application improper to provide the list of international news through the version of application with the same services. If the mobile “Information” element in the interface of mobile application. application is inconsistent with the web application, it may In addition, the list of international news should be the same. imply possible error or misleading information in the mobile For a web application containing hundreds and thousands application. This paper proposes an approach for automatic pages, the implementation of its mobile application is consistency checking between mobile application and its web time-consuming with a lot of repetitive work. There may rise application. Our approach starts from the generation of page inconsistency problem that the mobile application include: (1) and link information by crawling content from web application error page that shows information which is not included in and simulating user actions in Android application. Page the web application; (2) error element that displays matching and consistency checking algorithms are proposed and used to find out inconsistency in page, element and link. misleading information; (3) error link that is linked to the The validation tool is used in 3 mobile application containing wrong page. Although, not all the inconsistencies exist more than 300 pages. The result shows that our approach can between a mobile application and its web application are find out inconsistency with acceptable precision and recall. faults. For example, a mobile application may provide a special sale for mobile users only. However, inconsistency Keywords-Consistency checking, Black-Box, Mobile information is still useful to make sure that extra Application functionalities are added. Current works[1-5] focus on consistency checking of I. INTRODUCTION different software models in an application. The problem in With the increasing usage of mobile devices in daily life, this paper is how to find out the consistencies between two the number of mobile applications increased very quickly. implementations with the same design model/requirements. By July 2013, the number of applications in Google play has Some works proposed testing methods and tools[7-10] for rose through 1 million1. Android applications. However, they do not notice the With this trend, a lot of websites delivered another consistency problem. mobile application version with the same services. Almost In this paper, we propose an approach for automatic all the top 500 global sites2provide its corresponding android consistency checking between mobile application and its application3. web application. We abstract both web application and Because the web application version and mobile mobile application as a set of pages and link relationships application version are provided for the same target users, between pages. Our approach starts from the generation of the functional requirements of the mobile application are page and link information by crawling content from web already fixed before implementation. The requirement is application and simulating user actions in Android usually the same as the web application, or subset of the application. We define the consistency relationship between requirements of the web application. In addition, these two applications and propose page matching and consistency functionalities are required to be provided in the same way. checking algorithm to find out inconsistencies in page, For example, if a user can access the list of international element and link. The tool is used in 3 mobile applications containing more than 300 pages. The result shows that our approach can find out inconsistencies with acceptable 1http://www.techweb.com.cn/world/2013-07-25/1312444.shtml precision and recall. Our approach can help software 2http://www.alexa.com/topsites 3 https://play.google.com/store 53 engineers and maintainers in finding possible errors during development and maintenance. The remainder of the paper is organized as follows: Section 2 gives an illustrative example to show inconsistency problem; Section 3 gives the definition of consistency and a general overview of our solution, the definition of consistency and a general overview of our solution, which is further detailed in the Section4. Section 5 presents the evaluation of our approach; Section 6 discusses the limitations of our work, Finally, Section 7 discusses some related works before Section 8 concludes our work. II. ANILLUSTATIVE EXAMPLE For the OSChina website (http://www.oschina.net), its android application is delivered to provide the same functionality as its website. When we click the button with Figure 2. Corresponding page in the linked page text “推荐阅读” in the main interface of mobile application, III. APPROACH OVERVIEW we can see the interface shown in Fig 1(a). In the home page of the web application, we can find a A. The Consistency Requirementsbetween Web Application list of articles, as shown in Fig 1(b). These articles are listed and Mobile Application without detail information. In the mobile application, the A web application or mobile application can be author, the type of paper, publishing time and number of abstracted as AP = (P, L)where P is the set of web pages, L reviews of an article is listed in the interface. is the set of link between web pages. A page in P includes a list of elements. The elements are divided into two types: elements with link and element without link. P = (El, Ee). link=<ps, e, pt> , link ∈ L , ∈ .Epe ls . A link is a link from a web page ps to another web page pt, and related to an element e in the web page ps. We define the consistency between a web application and its mobile application based on the following assumptions: (1) There exist a web application and a mobile application. The mobile application is developed to provide the same or subset of the services provided by the web application. (2) A page in the mobile application contains less information than a page in the web application. As a result, when implementing the mobile application based on the web application, the developer divides the contents in a web page into one or more pages in the mobile application. (3) The mobile applications are implemented considering Figure 1. corresponding pages in mobile application and web application the user habit of web application. However, because a page in the web application may be implemented as 最新推荐博客文章 If we click “ ” in the home page of the more than one page in the mobile application, there are web application, we can see the same list as we see in the links between pages which are developed for the same home page of OSChina. The related information for these page of web application. If these links are neglected, the articles is not provided in this page. The related information traces of user action to acquire the same information in about an article is provided in different ways for mobile both mobile application and web application should be application users and web application users. The the same. inconsistency problem may confuse or mislead users. For a web application APweb= <Pweb, Lweb> and a mobile application APmobile = <Pmobile, Lmobile>: 1)( i mobile , j ∈∀∈∀ PpPp web ji .. epep →= descriptio i epn ).( = descriptio j epn ).( Elements in the page of a web application are different from those in the page of a mobile application because they are developed using different programming language. Two elements of different kinds can be viewed as equal when 54 they are used to provide the same information or functionality. description(e) for the element e cannot be complete. For example, for an element which is a picture, it is hard to generate its description. The extracted description from the application may affect the accuracy for finding a possible consistent page. ()2 ∀pi ∈ Pmobile , ∀ pj ∈ Pweb consistent(,)....pi p j→ p i E l ∈ p j E l ∧ p i E e ∈ p j E e We assume that a page in a mobile application contains less information and functionality than its corresponding page in the web application version. A page pi in a mobile application is consistent with a page pj in its web application when all the elements included in pi are also included in pj. ()3 ∀li ∈ Lmobile , ∀ lj ∈ Lweb consistent(,)li l j → consistent(.,.)..li p s l j p s∧ l i e = l j e ∧ consistent(li . p t , l j . p t )) A page in a web application may consistent with multiple pages in the mobile application version. We define that a link Figure 3. Approach Overview li in a mobile application is consistent with a link lj in a web application when (1) their source pages are consistent;(2)the IV. CONSISTENCY CHECKING target pages are consistent; (3) the related elements are equal. A. Generating Page and Link Information The consistency relationship between APweb and APmobile is defined as: In our approach, we view the application as a black-box and simulate user actions to generate the page and link )1( ∀p ∈ P,,(,) ∃ p ∈ P consistent p p i mobile j web i j information.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-