成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android的自動測試輸入生成:我們完成了嗎?

新聞 Android
同所有軟件一樣,移動應用程序(Apps)必須進行全面的測試,以確保其具有開發者預期的行為和表現。

 

引用:S. R. Choudhary, A. Gorla, and A. Orso. Automated Test Input Generation for Android: Are We There Yet? In 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), 2015.

摘要:

同所有軟件一樣,移動應用程序(Apps)必須進行全面的測試,以確保其具有開發者預期的行為和表現。因此,近年來,研究人員和從業人員都開始研究移動應用程序自動化測試的方法。特別是,由于Android的開源特性及其巨大的市場占比,已有大量針對Android應用程序測試輸入(通常是GUI事件,如點擊、滑動、輸入)生成工具的研究。目前,有許多這類工具,它們有著不同的測試輸入生成方式、測試策略以及不同的特定啟發式方法。為了更好地理解這些現有方法的優點和缺點,并了解如何提升工具的效果,我們對Android現有的主要測試輸入生成工具進行了全面的比較。我們根據四個指標評估這些工具的有效性:易用性,多平臺兼容性,代碼覆蓋率以及檢測故障的能力。我們的結果清晰地展示了Android應用程序輸入生成的***技術,并確定了未來的研究方向,如果經過適當地研究,可以為Android帶來更有效和高效的測試工具。

引言:

現有的許多自動化測試輸入生成技術,它們具有不同的輸入生成方式、測試策略,以及具體啟發式方法。然而,目前尚不清楚這些不同方法的優點和缺點是什么,它們在一般情況下效果如何,以及它們是否需要改進,如何改進。

為了回答這些問題,我們提出了一個針對Android現有測試輸入生成技術的比較研究.1該研究有兩個目標。***個目標是評估這些技術(和相應的工具),對它們進行比較,評估其可能更適合于哪種測試環境(例如,應用類型)。我們的第二個目標是更好地理解Android測試輸入生成中涉及的一般權衡(tradeoffs),并確定可以進行改進的現有技術或定義新技術。

工具介紹:

Android測試輸入生成工具根據其不同的測試策略可以分為以下3類:

隨機測試策略:

基于隨機測試策略的輸入生成器的優點是它們可以高效地生成事件,這使得它們特別適合于壓力測試。它們的主要缺點是隨機策略幾乎不能產生特定的輸入。此外,這些工具不知道已經涵蓋了應用程序的多少行為,因此可能會產生冗余事件。***,它們沒有測試完成的停止標準,而是采用手動指定的超時。

使用此策略的工具:Monkey,Dynodroid,Null intent fuzzer,Intent Fuzzer,DroidFuzzer。

基于模型的測試策略:

一些Android測試工具構建并使用一個應用程序的GUI模型來生成事件并系統地測試應用程序的行為。這些模型通常是有限狀態機,應用程序的Activity作為狀態,GUI事件作為轉換。一些工具通過區分Activity狀態來構建精確模型(例如,具有啟用和禁用按鈕的相同Activity將被表示為兩個單獨的狀態)。大多數工具動態地構建這樣的模型,并且當生成的所有事件到達的都是已有狀態時停止測試。

使用此策略的工具:GUIRipper,ORBIT,A3E-Depth-First,SwiftHand,PUMA

系統的測試策略:

應用程序的部分行為只能由特定的輸入來觸發,這就是為什么一些Android測試工具使用更復雜的技術(如符號執行和進化算法)來指導測試之前未被覆蓋到的代碼。對于隨機策略無法觸發的應用程序行為,使用系統的測試策略具有明顯的優勢。然而,與使用隨機策略的工具相比,這些工具的可擴展性要低得多。

使用此策略的工具:A3E-Targeted,EvoDroid,ACTEve,JPF-Android

表1. Android Apps測試輸入生成工具總覽。淺灰色行表示在本文實驗中研究的工具

實證研究:

實驗使用4個指標來評估測試輸入生成工具:易用性多平臺兼容性代碼覆蓋率以及檢測故障的能力。我們一共選用了68個Android移動應用程序,使用VirtualBox來提供實驗用的虛擬機,每個虛擬機配置為2核6GB RAM,并配置了三種Android版本的虛擬機,分別對應的SDK版本是:10 (Gingerbread),16 (Ice-cream sandwich)核19 (Kitkat)。對于每一個工具在每個應用程序上的一次運行,我們都會重置一次虛擬機,并重復10次,取實驗數據的均值。

對于每一次運行,我們使用Emma (http://emma.sourceforge.net/)收集代碼覆蓋率。我們通過收集虛擬機測試過程中的log(也稱為logcat)來獲取應用程序故障,并且我們會人工審核這些應用程序故障的真實性。

1.易用性和多平臺兼容性

表2報告該工具是否開箱即用(NO EFFORT),是否需要一些努力(LITTLE EFFORT),無論是正確配置還是修復小問題,或是否需要付出巨大努力(MAJOR EFFORT)。截至目前,我們只是報告我們安裝每個工具的經驗。

表2. 各工具的易用性和在常用Android版本上的兼容性

2.代碼覆蓋率和故障檢測能力

從圖1中,我們可以看到,平均而言,Dynodroid和Monkey的表現優于其他工具,其次是ACTEve。其他三個工具(即A3E,GUIRipper和PUMA)實現了相當低的覆蓋水平。盡管如此,即使那些平均達到低覆蓋率的工具也可以達到一些應用程序的非常高的覆蓋率(大約80%)。我們手動調查了這些應用程序,發現它們是最簡單的應用程序。

圖1. 各工具在各應用程序上運行10次的覆蓋率差異 圖2. 各工具覆蓋率隨時間的變化

圖2顯示所有工具在幾分鐘內(5到10之間)達到***覆蓋范圍,唯一的例外是GUIRipper。 造成這種差異的可能原因是GUIRipper經常從其初始狀態重新啟動測試,此操作比較耗時。 (這實際上是SwiftHand通過實施限制重啟次數的測試策略來解決的主要問題。)

 

圖3. 各工具觸發的故障分布

圖3顯示故障中只有少數涉及自定義異常(即,在測試中的應用程序中聲明的異常)。其中絕大多數導致標準Java異常,其中最常見的是空指針異常。

總結:

在本文中,我們提出了Android的主要現有測試輸入生成工具(和相應的技術)的比較研究。 我們根據四個標準評估了這些工具:易用性,Android框架兼容性,實現的代碼覆蓋率和故障檢測能力。根據這一比較結果,我們確定并討論了不同技術的優缺點,并強調了該領域未來研究的潛在方向。

致謝

此文由南京大學軟件學院2018級碩士田元漢翻譯轉述。

責任編輯:張燕妮 來源: 頭條科技
相關推薦

2011-07-28 09:49:50

IOS IOS 4 UI

2018-08-10 08:38:12

區塊鏈遺留代碼自動測試工具

2009-07-16 09:09:36

ibatis自動代碼

2011-03-03 09:35:04

js

2021-01-15 11:43:05

谷歌Fitbit收購

2012-01-12 09:53:46

2011-10-09 09:20:43

喬布斯jobs蘋果

2019-11-26 17:44:16

AI 數據人工智能

2016-12-08 08:25:39

QA自動測試Angular 2

2022-06-13 07:52:43

數據中心數據鏈路層

2011-05-24 08:44:06

Ubuntu 11.1

2019-09-09 16:10:32

ETL數據科學數據

2018-01-15 10:30:00

AndroidPython 開發

2010-01-12 16:33:58

C++test

2023-11-01 07:01:07

自動化測試自動測試工具

2010-01-22 14:41:46

C++Test

2021-01-29 17:07:26

排序算法數組

2011-03-22 09:49:25

J-Hi

2018-06-20 09:00:00

DevOps持續交付測試工具

2017-06-09 14:45:14

前端深度學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久一二区 | 在线播放中文字幕 | 国产精品久久av | 日韩欧美一区二区三区在线播放 | 黄网在线观看 | 一区观看| 国产激情网站 | 一级毛片免费 | 精品成人免费一区二区在线播放 | 在线观看中文字幕 | 99国产精品视频免费观看一公开 | 免费欧美| 国产精品99久久久久 | 日韩精品一区在线 | 成人精品一区二区 | 国产精品2| 欧美性一级 | 久久爱综合 | 免费观看毛片 | 欧美一级在线 | 伊人久久综合 | 精品一区二区三区在线观看 | 久久男人| 福利视频网站 | 精品久久久久久久久久久久久久 | 精品久久av | 亚洲狠狠爱一区二区三区 | 99精品欧美一区二区三区 | 久久三区 | 国产一区免费视频 | 日本三级全黄三级三级三级口周 | 欧美黑人一区二区三区 | 91av亚洲| 久久91| 亚洲一区成人 | 中文字幕久久久 | 欧美日韩在线精品 | 国产在线高清 | 欧美一区二区激情三区 | 日本人做爰大片免费观看一老师 | 中文字幕一区二区三区不卡 |