• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于粒子群優化算法的Android自動化測試方法技術

    技術編號:14568968 閱讀:182 留言:0更新日期:2017-02-06 02:44
    本發明專利技術一種基于粒子群優化算法的Android自動化測試方法,不僅能夠模塊化進行應用控件的觸發,并且能夠生成更高效的輸入類測試數據,在便捷的同時能夠更加高效的觸發軟件異常。步驟一、將app安裝在模擬器上,viewer模塊負責開啟view?server服務,通過hierarchy?viewer獲取app的控件層次樹信息;步驟二、以獲取到的控件層次樹信息為輸入,PSO模塊的build?tree方法將其組織成便于遍歷的樹結構;步驟三、遍歷build?tree構造的控件層次樹,每遍歷一個節點就去test?case模塊中查找是否有歷史測試用例;步驟四、調用test?case模塊中存儲的測試用例集,即可實現自動化測試。

    【技術實現步驟摘要】

    本專利技術屬于軟件自動化測試領域,涉及一種基于粒子群優化算法的Android自動化測試方法
    技術介紹
    目前的Android應用自動化測試依舊需要大量的測試人員的手動參與,測試周期長,效率和覆蓋率都較低,以及使用現有測試工具會導致代碼冗余的問題,關鍵字驅動的測試框架是通過使用測試指令來操作測試用例生成的方法。目前基于關鍵字的測試框架與測試方法在Android應用的自動化測試中應用較為廣泛。Robotium是以對Instrumentation框架的封裝為基礎的開源測試框架,主要用于模仿用戶的場景測試。使用Robotium能夠簡易地為Android應用編寫強健而有效的自動化黑盒及白盒測試。將關鍵字思想與Robotium的結合有利于測試代碼模塊化與測試數據分離,提高便利性與健壯性。粒子群優化算法(ParticleSwarmoptimization,PSO)又稱為粒子群算法、微粒群算法、或微粒群優化算法。是通過模擬鳥群覓食行為而發展起來的一種基于群體協作的隨機搜索算法,引入粒子群優化算法可以使生成的輸入類測試用例更加高效。Robotium框架:Android應用的自動化測試領域最為重要的研究成果就是GoogleAndroidSDK研發的Instrumentation框架,是現階段絕大多數的自動化測試工具的核心。Robotium是目前使用率最高的Android開源測試框架,主要用于模仿用戶的場景測試。使用Robotium能夠簡易地為Android應用編寫強健而有效的自動化黑盒及白盒測試。Robotium是對Android自帶測試類Instrumentation的一個封裝,是另一種通過InstrumentationTestRunner來完Android交互式測試的架構,方便于測試人員直接調用封裝好的接口。粒子群優化算法PSO(ParticieSwarmOptimization)是由Eberhart博士和Kennedy博士專利技術的一種新的全局優化進化算法,它源于對鳥類捕食行為的模擬。與遺傳算法類似,粒子群優化算法同樣基于群體(這里稱作粒子群)與適應度。粒子群的個體(這里稱作粒子)代表問題的一個可能解。每個粒子具有位置和速度兩個特征。粒子位置坐標對應的目標函數值即可作為該粒子的適應度。算法通過適應度來衡量粒子的優劣,從而能夠對解空間進行有效的優化。經過近十年的發展,針對Android自動化測試,已經有了很多方法,但是各種技術都有其優缺點和適用情況,目前還沒有一種被公認的最為有效的方法,尤其是輸入類測試用例生成方向。目前測試人員實現Android應用自動化測試往往是:通過UI檢查工具從可視化的角度直觀地獲得UI布局設計結構和各種屬性的信息,根據得到的屬性信息結合自動化測試工具提供的方法對控件進行操作,從而觸發應用程序的運行,在運行中監測每一步的輸出信息和運行結果,從而發現應用程序的危險路徑。首先,這樣的Android應用自動化測試依舊需要大量的測試人員的手動參與,測試周期長,效率和覆蓋率都較低。其次,現有的Android自動化測試框架在生成輸入類的測試用例方面有極大的局限性,主要依靠經驗判斷,大大降低了自動化測試的效率與覆蓋率。
    技術實現思路
    本專利技術一種基于粒子群優化算法的Android自動化測試方法,提供結合關鍵字、粒子群優化算法,以現有的Android自動化測試工具為基礎,將粒子群優化算法引入到Android自動化測試中,不僅能夠模塊化進行應用控件的觸發,并且能夠生成更高效的輸入類測試數據,在便捷的同時能夠更加高效的觸發軟件異常。本專利技術通過以下技術方案實現。一種基于粒子群優化算法的Android自動化測試方法,包括以下步驟:步驟一、將應用安裝在模擬器上,viewer模塊負責開啟ViewServer服務,通過hierarchyviewer獲取應用的控件層次樹信息;步驟二、以獲取到的控件層次樹信息為輸入,在生成控件層次樹的方法中將其組織成便于遍歷的樹結構;步驟三、遍歷buildtree構造的控件層次樹,每遍歷一個節點就去存儲測試用例模塊testcase中查找是否有歷史測試用例,有則繼續遍歷下一個節點,沒有則調用生成測試數據模塊PSO的createtestcase方法進行生成;所述的生成過程如下:根據控件層次樹中的控件信息調用測試方法模塊testmethod,查詢該控件的測試用例需要用到的測試方法并記錄關鍵字methodkey,而后createtestcase調用pre-seed方法生成測試數據,其中pre-seed中為粒子群優化算法的具體實現,根據數據類型生成隨機序列,粒子群優化算法通過調整序列中的粒子最終得到最優測試數據,將測試數據與測試方法信息結合即為測試用例,存放于在testcase模塊中;步驟四、調用testcase模塊中存儲的測試用例集,即可實現自動化測試。本專利技術的有益效果:本專利技術結合關鍵字與Robotium框架并且引入粒子群優化算法,使三者有效的結合起來,以自動化生成測試用例方法研究為重點,通過自動化的測試用例生成來避免低效的手動測試,進而通過對robotium的重新封裝來避免代碼冗余,最重要的是通過引入粒子群優化算法生成“最優”測試數據,這里的最優是指通過粒子群優化算法可以通過調整測試數據中粒子的選取和粒子的位置,使得以往一條測試觸發一次或少數幾次異常變為一條測試數據盡可能多的觸發異常,進而能夠以最少的測試用例達到理想的測試效果,提高測試效率和覆蓋率。具體實施方式下面對本專利技術作進一步介紹。本專利技術的基于粒子群優化算法的Android自動化測試方法主要分為viewer、testmethod、PSO、testcase、report/log模塊,其中PSO是整個方法的核心模塊,負責粒子群優化算法對測試用例的生成,viewer負責獲取被測應用的控件層次樹信息,testmethod模塊是對robotium中基本測試方法的的重新封裝,負責減少代碼冗余提供更高效的測試方法,report/log模塊負責記錄運行日志,方便查找異常信息、testcase模塊用于存儲已經生成的測試用例,便于復用以提高測試用例生成效率。當選定一個APK后,首先要連接其與viewer模塊的通信,由于viewserver獲得的控件層次樹信息是純文本的,所以需要將控件層次樹信息傳送給PSO模塊的buildtree方法,將控件層次樹信息整理成基于關鍵字的方便遍歷的控件層次樹,而后調用createtestcase方法,這個過程中會不斷查詢testcase中是本文檔來自技高網
    ...

    【技術保護點】
    一種基于粒子群優化算法的Android自動化測試方法,其特征在于,包括以下步驟:步驟一、將應用安裝在模擬器上,viewer模塊負責開啟View?Server服務,通過hierarchy?viewer獲取應用的控件層次樹信息;步驟二、以獲取到的控件層次樹信息為輸入,在生成控件層次樹的方法中將其組織成便于遍歷的樹結構;步驟三、遍歷build?tree構造的控件層次樹,每遍歷一個節點就去存儲測試用例模塊test?case中查找是否有歷史測試用例,有則繼續遍歷下一個節點,沒有則調用生成測試數據模塊PSO的create?test?case方法進行生成;所述的生成過程如下:根據控件層次樹中的控件信息調用測試方法模塊test?method,查詢該控件的測試用例需要用到的測試方法并記錄關鍵字method?key,而后create?test?case調用pre?seed方法生成測試數據,其中pre?seed中為粒子群優化算法的具體實現,根據數據類型生成隨機序列,粒子群優化算法通過調整序列中的粒子最終得到最優測試數據,將測試數據與測試方法信息結合即為測試用例,存放于在test?case模塊中;步驟四、調用test?case模塊中存儲的測試用例集,即可實現自動化測試。...

    【技術特征摘要】
    1.一種基于粒子群優化算法的Android自動化測試方法,其特征在于,包括以下步驟:
    步驟一、將應用安裝在模擬器上,viewer模塊負責開啟ViewServer服務,通過hierarchy
    viewer獲取應用的控件層次樹信息;
    步驟二、以獲取到的控件層次樹信息為輸入,在生成控件層次樹的方法中將其組織成便
    于遍歷的樹結構;
    步驟三、遍歷buildtree構造的控件層次樹,每遍歷一個節點就去存儲測試用例模塊test
    case中查找是否有歷史測試用例,有則繼續遍歷下一個節點,沒有則調用生成測試數據模塊
    PSO的createtestcase方法進行生成;所述的生成過程如下:根據控件層次樹中的控件信息調
    用測試方法模塊testmethod,查詢該控件的測試用例需要用到的測試方法并記錄關鍵字
    methodkey,而后createtestcase調用pre-seed方法生成測試數據,其中pre-seed中為粒子群
    優化算法的具體實現,根據數據類型生成隨機序列,粒子群優化算法通過調整序列中的粒子
    最終得到最優測試數據,將測試數據與測試方法信息結合即為測試用例,存放于在testcase
    模塊中;
    步驟四、調用testcase模塊中存儲的測試用例集,即可實現自動化測試。
    2.一種基于粒子群優化算法的Android自動化測試系統,其特征在于,包括viewer模塊、
    testmethod模塊、PSO模塊、testcase模塊、輸出日志模塊report/log;其中:
    PSO模塊負責粒子群優化算法對測試用例的生成;
    viewer模塊負責獲取被測應用的控件層次樹信息;
    testmethod模塊是對Android自動化測試框架robotium中基本測試方法的的重新封裝,負責
    減少代碼冗余提供更高效的測試方法;
    report/log模塊負責記錄運行日志,方便查找異常信息;
    testcase模塊用于存儲已經生成的測試用例,便于復用以提高測試用例生成效率;
    當選定一個APK后,首先連接其與viewer模塊的通信,將控件層次樹信息傳送給PSO模塊
    的buildtree方法,將控件層次樹信息整理成基于關鍵字的方便遍歷的控件層次樹,而后調用
    createtestcase方法,過程中不斷查詢testcase中是否有可復用的測試用例,若沒有則調用
    pre-seed生成,若有則跳過,最終生成的所有測試用例均存儲于testcase中。
    3.如權利要求2所述的一種基于粒子群優化算法的Android自動化測試系統,其特征在于,
    進一步地,viewer模塊獲取控件層次樹信息采用以下方法:
    3.1將Android設備上的4939端口映射到PC的某端口上,使得向PC的該端口號發包轉發到
    Android設備的4939端口上;
    3.2打開ViewServer服務,連接Vie...

    【專利技術屬性】
    技術研發人員:胡昌振馬銳王達光劉月王赫晨
    申請(專利權)人:北京理工大學
    類型:發明
    國別省市:北京;11

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲Av无码国产情品久久| 中文字幕日产无码| 国产成人无码a区在线视频| 国产午夜精华无码网站| 亚洲美免无码中文字幕在线| 亚洲精品无码av天堂| 国产在线无码精品电影网| 久久久久亚洲Av无码专| 精品无码一级毛片免费视频观看| 无码乱人伦一区二区亚洲| av无码一区二区三区| 亚洲AV无码专区在线电影成人| 国产成人无码精品一区在线观看| 久久精品国产亚洲AV无码娇色| 国产精品va在线观看无码| 97免费人妻无码视频| 久久久久无码精品亚洲日韩 | 亚洲av无码天堂一区二区三区| 亚洲av中文无码乱人伦在线播放| 天堂一区人妻无码| 亚洲av日韩av高潮潮喷无码| 免费VA在线观看无码| 亚洲人AV在线无码影院观看| 免费无码成人AV在线播放不卡 | 亚洲AV无码久久寂寞少妇| 亚洲av无码专区在线观看素人| 亚洲av无码一区二区三区天堂| 亚洲AV无码一区二区三区人| 久久久久无码精品国产不卡| 亚洲无码在线播放| 亚洲av永久无码精品网站| 超清无码熟妇人妻AV在线电影| 亚洲精品无码你懂的网站| 五月天无码在线观看| 午夜无码视频一区二区三区| 无码av中文一二三区| 国产免费AV片无码永久免费| 无码国模国产在线无码精品国产自在久国产| 无码夫の前で人妻を侵犯| 亚洲AV综合色区无码一二三区 | 中文字幕无码中文字幕有码|