新四季網

用於行動應用程式的機上測試系統的製作方法

2023-06-04 14:28:41

專利名稱:用於行動應用程式的機上測試系統的製作方法
技術領域:
用於行動應用程式的機上測試系統技術領域本發明涉及一種計算機軟體測試系統,更具體地說是涉及移動應用軟體的 機上測試系統。
技術背景在過去的幾年裡,第三代移動通信的迅猛發展,蜂窩電話和手持計算設備 的使用量呈指數級增長,企業應用、多媒體應用和聯網遊戲逐漸成為了移動開發領域關注的熱點。在這個領域內,JavaME的應用越來越廣,用其開發的軟體 業越來越多,經過多年的領跑,JavaME技術幾乎成為了行動應用程式開發的標準。行動應用程式是一類嵌入式軟體,其特點在於與底層硬體耦合,代碼執行 效率高。不過由於行動電話軟體設計是一定的目標硬體平臺為基礎的,其上運 行的軟體也存在著嵌入式軟體可移植性差的通病。這個特點決定了移動應用軟 件的繼承性較差,升級時系統的測試時間長,測試成本高。為了兼容不同的設備,JavaME由多種配置、簡表和可選包組成。配置包含 Java虛擬機(也被稱為KVM)和一系列基礎API,目前有兩個配置層規範,分 別是CDC (連接設備配置)和CLDC (連接受限設備配置)。簡表為運行環境提 供高級的API,如採用最廣泛的MIDP (移動信息設備簡表)。然而現實中廠商 的實現和Java ME規範存在不少差別,這些都導致行動應用程式的測試是困難 的。由於受到當時行動電話硬體的限制,MIDP 1.0提供的功能並不強大,如不 支持多媒體內容處理,不能對圖形像素操作。為此知名廠商分別實現了自己的 私有API來彌補MIDP 1.0的不足,比較典型的例子就是Nokia提供的NokiaUI API,藉助它可以實現聲音播放、圖像旋轉和全屏等特性。然而,這種私有的 API不可能得到普及。通常,Nokia之外的行動電話製造商不會在自己的產品中 實現Nokia UI API,這樣就給程序的移植帶來了負面影響。考慮到設備的多樣性, JCP專家組在制定規範時,有些是強制要求的,有些是明確禁止的,而還有些細 節沒有做嚴格的規定,是可選的。這樣行動電話製造商在自.己的產品上實現Java4ME就有所不同。比較典型的就是MIDlet的生命周期,規範中的定義比較籠統, 導致行動電話製造商在實現MIDlet生命周期時採取了不同的做法,這也給程序 移植帶來的困難。為了方便調試程序,廠商都提供了自己的設備模擬器。這樣開發者可以首 先在目標機型的模擬器上運行應用程式,經過測試無誤後再將MIDlet套件安裝 在行動電話上。然而,設備模擬器只是對行動電話軟體運行環境的近似模擬, 無法模擬行動電話真實的硬體環境和Java運行時環境。因此,有些應用程式在 模擬器上運行良好,但是安裝到行動電話後出現速度慢、非正常關閉等問題。 設備模擬器永遠都是應用程式運行狀況的參考,行動電話才是檢驗應用程式正 確與否的標準。市面上移動開發平臺混雜,造成軟體在某設備上可以順利安裝執行,而到 了其它設備,有可能無法執行,甚至連安裝都可能有問題。巿場競爭激烈,商 品急於上市,導致行動電話軟體開發周期短、軟體版木多更新快。為此開發者 不得不開發好幾種版本的應用程式供各種廠商、各種型號的嵌入式設備使用。 因此在測試任務中,測試不完全的現象時有發生。此外,行動電話型號多,淘 汰快,為了保證充分地測試行動應用程式,測試人員不得不在不同行動電話設 備上的進行著單調繁雜的重複性工作。而在版本更新過程中經常會臨時添加新 功能,由於測試方案缺少測試的度量數據,因此很難量化行動應用程式的測試 充分性、測試覆蓋率和軟體的質量。這些現狀說明,行動電話軟體這種嵌入式 軟體的測試工作量太大,成本很高。近年來發展起來的測試自動化比傳統的手工測試具有明顯的優勢,即提高 測試的效率、降低測試的成本。目前,商品化的測試工具,如MI公司的Winrunner、 Rational公司的Purify、 Parasoft公司的JTest等,都能夠實現可編程測試,即可 以根據用戶對被測軟體的具體需求,在一定程度上能夠滿足大多數軟體自動化 測試的需求。然而,它們並不支持像行動應用程式這類的嵌入式軟體。這類運 行在特定目標系統上的嵌入式軟體,其硬體平臺和作業系統往往專用的,把現 有的成熟技術移植到嵌入式軟體中來是實現難度極大的一項工作。例如我們 熟悉的JUnit就是一種被軟體業界普遍認可的單元測試工具,它為PC桌面軟體 的自動化單元測試提供了理想的測試框架。為了測試行動應用程式,出現了易學易用的J2MEUnit和JMUnit,它們也被稱為Java ME版本的JUnit,能支持編 寫模擬器環境下的JavaME單元測試。遺憾地,它們不支持機上測試。我們知道模擬器只是應用程式運行狀況的參考,行動電話才是檢驗應用程 序正確與否的標準。然而現階段支持行動應用程式機上測試的裝置或系統並不 多,美國Parasoft公司的C++test 支持嵌入式C/C++開發測試。C+十testTM可以 幫助開發人員在主機環境中生成測試用例,然後將生成的測試用例連同用戶的 源碼交叉編譯生成目標機的可執行程序,在目標機直接進行測試,測試完成後,將測試報告文件傳回主機進行分析。〔++16311"本質是一個〔化++自動單元測試工具,不支持java ME這種行動應用程式,而本發明是一個支持Java ME的自 動化的集成測試/功能性測試裝置。為支持行動應用程式的機上測試,有些廠商 如SonyEricsson專門針對它們生產的行動電話,提供了能夠運行在其產品上運 行的單元測試庫。與本發明相比,這類單元測試工具功能單一,缺乏測試管理 功能,不能處理大量的測試,不能測MIDlet本身,不能測私有方法。 發明內容本發明克服現有技術中的不足之處,提供一種支持行動電話機上測試Java ME程序的自動化測試裝置。本裝置支持在行動電話真實的硬體環境和Java運 行環境上的機上測試,獲得更真實的運行狀況;本裝置可以自動生成測試用例 (包括測試驅動程序或樁調用等代碼),可以提高測試覆蓋率和錯誤檢測的能 力。本發明提供的用於行動應用程式的機上測試系統,包括伺服器端和客戶端; 伺服器端具有被測項目管理單元,用於導入被測程序,判斷被測項目的合法性以及通信方式參數的配置工作;測試用例生成單元,用於生成測試用例序列、 優化測試用例序列以及測試用例的劃分等工作;測試描述單元,用於描述測試 用例的信息;測試配置單元,用於輸入測試用例的信息;測試集創建單元,用 於創建測試用例集,每個測試集都包含一個機上代理程序、若干個測試用例及 其相關輔助文檔;測試集管理單元,用於操作以及管理測試集在機上的運行; 測試結果收集單元,用於在完成測試集上的所有測試用例後,收集全部測試結 果;測試報告生成單元,用於統計匯總,並生成測試報告;顯示單元,用於顯 示統計結果;通信服務單元,用於在客戶端和伺服器端之間提供API級的消息 服務;客戶端具有機上應用程式管理單元,用於管理Java ME行動應用程式6的下載、解壓、安裝、刪除、運行;機上代理單元,用於配置並執行測試用例 及間接調用被測應用程式,並將執行結果與期望結果進行比較驗證,並上報測 試結果;所述被測項目管理單元導入被測程序,測試人員根據被測程序的功能
說明,通過測試用例生成單元生成測試用例中的測試代碼,測試集創建單元調
用所述測試描述單元獲取的測試用例的描述信息及測試用例生成單元生成的測 試代碼,再根據所述測試配置單元的運行環境配置信息完成測試用例集的創建,
並交由所述測試集管理單元運行測試集,所述測試集管理單元與通信服務單元 建立通信連接等待客戶端請求,機上應用程式管理單元通過所述通信服務單元 向所述測試集管理單元請求下發測試包,所述機上應用程式管理單元解包處理 下發來的測試包並交與所述機上代理單元,所述機上代理單元獲得代理程序代
碼和測試用例,並啟動所述機上代理單元執行代理程序;上述執行結果通過通 信服務單元交與測試集管理單元後,由所述測試結果收集單元匯總,所述測試 報告生成單元生成測試報告,並交由所述顯示單元顯示。
本發明所述的測試用例生成單元能夠根據在伺服器端編寫的程序規約說明 文件生成相應的有限狀態機,通過搜索狀態機的遷移路徑生成測試用例。
本發明所述的伺服器端調用所述測試集創建單元,間接調用所述測試描述 單元獲取測試用例的描述信息,定位被測程序,發現測試用例,讀取配置文件, 完成測試用例集的創建。
本發明所述的伺服器端調用所述測試集管理單元運行測試集,間接調用所 述通信服務單元建立通信連接等待客戶端請求。
本發明所述的所述機上代理單元的代理程序請求下一個待執行的測試用例 名稱,並依次執行該測試用例,並通過所述通信服務單元上報執行結果。
本發明通過所述測試配置單元還可以進行測試用例的選擇條件和運行環境 信息,包括包含條件、排除條件、運行平臺。
本發明所述的測試結果收集單元收集完測試結果後,所述顯示單元可以顯 示出圖形化的測試統計報告。
本發明具有下述有益效果
(1)支持行動電話上的軟體測試。區別於設備模擬器上進行的模擬測試, 本發明支持在行動電話真實的硬體環境和Java運行環境上的機上測試,獲得更 真實的運行狀況,為了調試行動應用程式提供一種更加真實的測試手段,更早地發現行動應用程式中不容易模擬的軟體錯誤和性能瓶頸。
(2) 有效支持自動化的移植測試。測試人員在選定型號行動電話上進行軟 件測試,通過該型號行動電話所提供的人機接口人為地製造各種輸入狀態,運 行在伺服器端(後臺計算機)上的測試程序記錄被測軟體觸發的事件,並創建 可運行於其它型號行動電話上的測試用例集。在其它型號行動電話執行同樣測 試時,測試人員只需觀察被測軟體運行情況,與預期結果比較給出測試通過與 否的結論。這種測試方法對於實際運行中可能出現的情況在不同型號行動電話 上進行比較全面的模擬,測試人員"一次輸入,多次重複測試",大大降低了在 不同行動電話設備上移植應用程式所帶來的大量的重複性工作。
(3) 由於本測試方法的測試用例由後臺計算機的測試程序定製或生成,測 試用例在滿足用戶要求的情況下可以隨意組合,從而為覆蓋各種測試情況,這 豐富了測試的控制和定製,極大地提高了測試覆蓋率。


圖1是本發明用於行動應用程式機上的測試系統的結構示意圖; 圖2是本發明用於行動應用程式機上的測試系統的工作流程圖。
具體實施方式

本發明提供了一種用於行動應用程式機上測試的實施系統。物理上,該系 統可劃分為伺服器端(後臺計算機)和客戶端(被測行動電話)兩部分,兩者 通過串行電纜、藍牙或者USB連接在一起,其中後臺計算機上運行著本發明的 測試工具,行動電話上運行被測的行動應用程式。測試工具運行於普通PC上, 可以選擇通過TCP/IP協議或者HTTP協議同行動電話上的被測應用程式進行通 訊。
圖l給出了本發明的結構示意圖,包括被測項目管理單元200,用於選擇
被測項目,判斷被測項目的合法性以及通信方式等參數的配置工作,由
PanelManager、 SpecificationFileFilter類組成;測試用例生成單元201,用於生成 測試用例序列、優化測試用例序列以及測試用例的劃分等工作,由TestingTree、 WMethod、 WpMethod、 OptimizationMethod、 GenericMethod、 PartitionMethod、 EndStatePartitionMethod類組成;測試描述單元202,用於描述測試用例的名稱、 說明、關鍵字、原始碼文件名、執行類名、運行腳本及參數等信息,由
8TestDescriptor 、 TestProvider 、 MidTestProvider 、 DistributedScript 、 MidScript、 TestFinder、 ExcludeListFilter類組成;測試配置單元203,用於測試人員輸入測 試名稱、說明、運行平臺信息、通信方式及參數、日誌選項等內容,由 QuickStartWizard 、 ConfigurableTestFilter 、 ConfigHandler 、 ConfigEditor 、 ParameterFilter、 TestFormHandler、 TestLoger、 EnvParameter類組成;測試集倉'j 建單元204,用於測試人員創建測試用例集,每個測試集都包含一個機上代理程 序、若干個測試用例及其相關輔助文檔等,由SuiteHandler、 TestSuiteCreater、 TestsGenerator 、 TestsGeneratorWithSourceElement 、 AppDescriptor 、 TestsGeneratorWithStream類組成;測試集管理單元205,用於打開、關閉、修改、 導入/導出以及運行測試集,由RunTestsHandler、 TestBundle、 MidBundler、 PermissionHandler、 JKSSigner類組成;通信服務單元206,用於在客戶端和服 務器端之間提供API級的消息服務,由HttpServer、 SocketServer、 ServerManager、 StartServer 、 CommPacketHandler 、 CommClient 、 SerialPortCo皿ection 、 BluetoothCo皿ection、 USBConnection、 SocketCo皿ection類組成;禾几上應用禾呈序 管理單元207,行動電話廠商提供,用於管理JavaMe行動應用程式的下載、解 壓、安裝、刪除、運行等;機上代理單元208,用於配置並執行機上測試用例單 元的測試用例及間接調用被測應用程式,被執行吋它會將執行結果與期望結果 進行比較驗證,並上報測試結果,由MIDletBaseAgent 、 MIDletAgent 、 MIDletGUIAgent, DistributedTest、 AutoTest、 TestCases、 MultiTest類組成;測 試結果收集單元209,用於在完成測試集上的所有測試用例後,收集全部測試結 果,由Status、 StatusFilter、 TestResult、 TestResultTable類組成;測試報告生成 單元210,用於統計匯總,將統計結果在後臺計算機上顯不出來,並生成文本、 HTML或XML等格式的測試報告,由TestReporter、 TxtReporter、 XMLReporter、 HTMLReporter、 ReportViewer類組成;顯示單元211,用於顯示文字、圖形化的 測試統計報告。
結合圖2說明本發明用於行動應用程式機上的測試系統的工作流程。
首先,測試人員在伺服器端(後臺計算機)通過測試項目管理單元200創建
一個被測項目,獲得被測行動應用程式的原始碼和構造腳本等(步驟S101); 測試人員將導入的被測項目在伺服器端編寫程序的規約說明文件並通過測
試用例生成單元201根據程序規約說明文件生成相應的有限狀態機,並通過搜索狀態機的遷移路徑生成測試用例(步驟S102);
測試人員繼續在伺服器端編寫測試用例描述信息並通過測試配置單元203 輸入測試用例配置信息,如測試名稱、測試用例選擇條件、運行平臺、通信端 口等,生成配置文件(步驟S103);
伺服器端調用測試集創建單元204,間接調用測試描述單元202獲取測試用 例的描述信息,定位被測程序,發現測試用例,讀取配置文件,完成測試用例 集(簡稱測試集)的創建;伺服器端調ffi測試集管理爭元205運行測試集,間 接調用通信服務單元206建立通信連接等待客戶端請求(步驟S104);
客戶端(被測設備/行動電話)通過機上應用程式管理單元207向伺服器端 請求下發一個測試包(步驟S105);
伺服器端上的測試集管理單元204動態地將測試用例集封裝打包並通過已 建立的通信連接發送給客戶端(步驟S106);
被測設備上的應用程式管理單元207解包處理下發來的測試包並交與機上 代理單元208,機上代理單元208獲得代理程序代碼和測試用例,並啟動機上代 理單元208執行代理程序(步驟S107);
伺服器端上的測試集管理單元205根據測試人員的選擇條件決定測試用例 的先後執行次序,並等待客戶端請求(步驟S108);
機上代理單元208的代理程序請求下一個待執行的測試用例名稱,並依次 執行該測試用例,並通過通信服務單元206上報執行結果(步驟S109);
伺服器端上的測試集管理單元205調用測試結果收集單元209匯總全部測 試用例的執行結果(步驟S110);
伺服器端上的測試結果收集單元209間接調用測試報告生成單元210生成 測試報告,顯示單元211顯示統計結果(步驟Slll)。 [第一實施方式l
本發明的第一優選實施例以複合表達式求值程序(簡稱求值程序)為例。 求值程序的功能與行動電話提供的計算器是一致的,它的特別之處在於用戶像 編輯簡訊那樣輸入複合表達式,它直接計算該表達式的值。例如,用戶輸入 "14*(152-37)",求值程序回答1610。該程序主要有Parser、 Calculator、 Expression 、 Grammar 、 Terminal 、 NonTerminal、 Number 、 Negation 、 NDFA、 State 、Transition和Operation等類組成,木實例測試的主要目的是檢査在目標機型 SonyEricssonK700C上表達式求值的解析和求值是否正確。在木發明的機上測試 系統上測試該程序時,測試人員自己設計測試用例,沒有使用測試用例生成單 元201,主要包括步驟
1、 測試人員手工設計測試用例並編寫相關的測試用例描述。我們設計"合 法的"和"不合法的"兩類測試,每類測試下又細分為簡單情況和複雜情況, 例如,只有加、減、乘、除運算但不包含括號的表達式視為簡單情況,複雜情 況就包含括號、指數運算等;不合法的情況包括表達式輸入的不完整,還有就 是括號不匹配,或是被除數是0等等。按照這種劃分,測試人員共設計了30個 測試用例。
2、 創建被測項目測試人員在被測項目管理單元200的嚮導面板幫助下導 入被測的求值程序,創建一個被測項目。
3、 創建測試集測試人員使用測試用例描述單元202描述所有的測試用例 的名稱、說明、關鍵字、原始碼文件名、執行類名、運行腳本及參數;使用 測試配置單元203輸入測試名稱、說明、運行平臺信息、通信方式及參數、 日誌選項等內容。然後測試人員就可以使用測試集創建單元204完成測試集 的創建,這間接地會調用測試配置單元203檢査運行環境參數等,間接調用 測試描述單元202査找測試用例。
4、 執行測試集測試人員使用測試集管理單元205執行創建好的測試集, 調用通信服務單元206等待來自行動電話的測試請求。
5、 行動電話請求測試包。行動電話建立與後臺計算機的網絡連接,請求下 發一個測試包。後臺計算機上的測試集管理單元205檢査是否存在創建好的 測試集,若沒有系統就顯示一個空的測試報告;否則就根據當前的測試集動 態地生成一個測試包,將它發送給請求的行動電話(機上應用程式管理單元 207),並根據測試人員的有選擇地建立測試包中測試用例的執行次序。
6、 機上應用程式管理單元207首先判斷測試包是否為空,若為空就表明完 成測試;否則就裝載處理該測試包,得到機上代理單元208,啟動機上代理 單元208,通過通信服務單元206請求後臺計算機的測試集管理單元205下 一個要執行的測試用例名稱。
117、 測試集管理單元205獲得該請求後,判斷是否存在一個待執行的測試用 例,若沒有就返回等待被測行動電話請求下一個測試包;否則就將下一個測
試用例名發送給被測行動電話。
8、 行動電話上的代理單元208判斷獲得測試用例名是否為空,若為空就返 回請求下發下一個測試包;否則執行選擇的測試用例,隱含地調用被測移動 應用程式,上報測試集管理單元205該測試用例的執行結果,並請求下發下 一個測試包。在本實施例中,發現對於像人工設計的測試用例"11.2-3.1*2" 以及括號不匹配的測試用例時,測試用例執行失敗。
9、 後臺計算機上測試集管理單元205調用測試結果收集單元209收集本次 測試的詳細執行記錄。
10、 若不再有其它的測試包了,後臺計算機上的測試結果收集單元209統計 匯總所有的測試結果及其相關說明,並間接調用測試報告生成單元210生成 文本、HTML或XML等格式的測試報告。
[第二實施方式
本發明的第二優選實施例以開源的行動電話多媒體音樂播放器軟體(簡稱 音樂播放器)為例。音樂播放器要播放的音頻數據流可以從網絡獲取,也可以 通過打開已經錄製保存的音頻文件獲得。獲得數據流後進行緩衝、解碼,即把 音頻數據流轉化為PCM編碼格式,然後送揚聲器播放。網絡播放時根據用戶點 擊播放列表獲得文件URL,然後與普通PC上的網絡伺服器建立連結下載數據 流,轉換為PCM編碼格式後播放數據流,與此同時頻譜線程啟動,顯示數據流 頻譜。 '
本實例測試的主要目的是檢査在目標機型Nokia 7610上完成本機播放和網 絡播放功能是否符合設計要求。本實例主要是對該軟體的AudioPlayer類進行界 面測試。AudioPlayer類主要負責初始化音樂播放器列表、音樂播放器的控制、 音樂文件的獲取以及音樂播放器背景的繪製等功能。本實例進行的界面測試不 同於單體測試,而是一種功能測試。由於界面測試的複雜性,目前主流的測試 工具無法直接應用到界面測試中。目前,最常見的界面測試工具是記錄/回放工 具。但是,記錄/回放工具的記錄部分工作需要人工來完成,費時費力。而且, 測試效率很低,記錄/回放的功能僅僅是全部功能的很小一部分。使用本發明所提供的方法,可以不需要用戶去執行記錄操作,自動生成測試用例。這樣,不但可以減輕測試人員的工作強度,同時也會大大提高界面測試的測試效率和錯誤覆蓋率。測試步驟如下
1、 創建被測項目測試人員在被測項目管理單元200的嚮導面板幫助下導入音樂播放器程序,創建一個被測項目。
2、 創建測試用例序列。測試人員根據被測程序的功能說明,通過測試用例生成單元201的嚮導面板,輸入一些相關參數,指定生成測試用例的生成方式以及一些與真實運行環境相關的參數,嚮導面板生成程序的規約說明文件。測
試用例生成單元201會根據該規約說明文件生成相應的有限狀態機,檢査該有
限狀態機是否滿足完備性、強連通性以及精簡性,不滿足提示並請測試人員重新定義規約說明文件,滿足時就通過搜索狀態機的遷移路徑生成測試用例序列,序列中每個測試用例包括某次操作的輸入及相應的輸出。
3、 創建測試用例集。測試人員使用測試用例描述單元202描述所有的測試用例的名稱、說明、關鍵字、原始碼文件名、執行類名、運行腳本及參數;使用測試配置單元203輸入測試名稱、說明、運行平臺信息、通信方式及參數、曰志選項等內容。然後測試人員就可以使用測試集創建單元204完成測試集的創建,這間接地使用生成的測試用例序列生成測試原始碼及其依賴文件等,同時會調用測試配置單元203檢査運行環境參數等,間接調用測試描述單元202査找測試用例。
4、 執行測試集測試人員使用測試集管理單元205執行創建好的測試集,調用通信服務單元206等待來自行動電話的測試請求。
5、 行動電話請求測試包。行動電話建立與後臺計算機的網絡連接,請求下發一個測試包。後臺計算機上的測試集管理單元205檢查是否存在創建好的測試集,若沒有系統就顯示一個空的測試報告;否則就根據當前的測試集動態地生成一個測試包,將它發送給請求的行動電話(機上應用程式管理單元207),並根據測試人員的有選擇地建立測試包中測試用例的執行次序。
6、 機上應用程式管理單元207首先判斷測試包是否為空,若為空就表明完成測試;否則就裝載處理該測試包,得到機上代理單元208,啟動機上代理單元208,通過通信服務單元206請求後臺計算機的測試集管理單元205下一個要執行的測試用例名稱。
7、 測試集管理單元205獲得該請求後,判斷是否存在一個待執行的測試用例,若沒有就返回等待被測行動電話請求下一個測試包;否則就將下一個測
試用例名發送給被測行動電話。
8、 行動電話上的代理單元208判斷獲得測試用例名是否為空,若為空就返回請求下發下一個測試包;否則執行選擇的測試用例,隱含地調用被測行動應用程式,上報測試集管理單元205該測試用例的執行結果,並請求下發下一個測試包。在本實施例中,測試人員在一旁觀察界面的變化,包括界面的外形、布局、風格等是否符合設計要求,界面輸出是否正確,是否出現異常等。然後測試人員回答系統對測試用例是否通過的提問。
9、 後臺計算機上測試集管理單元205調用測試結果收集單元209收集本次測試的詳細執行記錄。
10、 若不再有其它的測試包了,後臺計算機上的測試結果收集單元209統計匯總所有的測試結果及其相關說明,並間接調用測試報告生成單元210生成文本、HTML或XML等格式的測試報告。
運用本發明所提供的方法,測試人員的主要工作是生成被測程序規約說明文件和觀察被測軟體的界面變化,能夠做到"一次生成規約文件,多次測試",測試所需的按鍵輸入顯著減少,這樣重複利用測試數據可以顯著降低測試成本。並且,通過搜索狀態機的遷移路徑生成的測試用例可以達到很高的錯誤覆蓋率,這使得本發明的測試效率可以達到較高的水平。
綜上,對本發明的實施例進行了說明。但本發明並不限於上述實施例所記述的範圍,任何熟悉本技術領域的技術人員在本發明所披露的技術範圍內,根據本發明的技術方案及其發明構思加以等同替換或改變,都應涵蓋在本發明的保護範圍之內。
1權利要求1、一種用於行動應用程式的機上測試系統,其特徵在於,包括伺服器端和客戶端;伺服器端具有被測項目管理單元,用於導入被測程序,判斷被測項目的合法性以及通信方式參數的配置工作;測試用例生成單元,用於生成測試用例序列、優化測試用例序列以及測試用例的劃分等工作;測試描述單元,用於描述測試用例的信息;測試配置單元,用於輸入測試用例的運行方面的配置信息;測試集創建單元,用於創建測試用例集,每個測試集都包含一個機上代理程序、若干個測試用例及其相關輔助文檔;測試集管理單元,用於操作以及管理測試集在機上的運行;測試結果收集單元,用於在完成測試集上的所有測試用例後,收集全部測試結果;測試報告生成單元,用於統計匯總,並生成測試報告;顯示單元,用於顯示統計結果;通信服務單元,用於在客戶端和伺服器端之間提供API級的消息服務;客戶端具有機上應用程式管理單元,用於管理Java Me行動應用程式的下載、解壓、安裝、刪除、運行;機上代理單元,用於配置並執行測試用例及間接調用被測應用程式,並將執行結果與期望結果進行比較驗證,並上報測試結果;所述被測項目管理單元導入被測程序,測試人員根據被測程序的功能說明,通過測試用例生成單元生成測試用例中的測試代碼,測試集創建單元調用所述測試描述單元獲取的測試用例的描述信息及測試用例生成單元生成的測試代碼,再根據所述測試配置單元的運行環境配置信息完成測試用例集的創建,並交由所述測試集管理單元運行測試集,所述測試集管理單元與通信服務單元建立通信連接等待客戶端請求,機上應用程式管理單元通過所述通信服務單元向所述測試集管理單元請求下發測試包,所述機上應用程式管理單元解包處理下發來的測試包並交與所述機上代理單元,所述機上代理單元獲得代理程序代碼和測試用例,並啟動所述機上代理單元執行代理程序;上述執行結果通過通信服務單元交與測試集管理單元後,由所述測試結果收集單元匯總,所述測試報告生成單元生成測試報告,並交由所述顯示單元顯示。
2、 根據權利要求1所述的用於行動應用程式的機上測試系統,其特徵在於 所述測試用例生成單元能夠根據在伺服器端編寫的程序規約說明文件生成相應 的有限狀態機,通過搜索狀態機的遷移路徑生成測試用例。
3、 根據權利要求1所述的用於行動應用程式的機上測試系統,其特徵在於 伺服器端調用所述測試集創建單元,間接調用所述測試描述單元獲取測試用例 的描述信息,定位被測程序,發現測試用例,讀取配置文件,完成測試用例集 的創建。
4、 根據權利要求1所述的用於行動應用程式的機上測試系統,其特徵在於 伺服器端調用所述測試集管理單元運行測試集,間接調用所述通信服務單元建 立通信連接等待客戶端請求。
5、 根據權利要求1所述的用於行動應用程式機上的測試系統,其特徵在於 所述機上代理單元的代理程序請求下一個待執行的測試用例名稱,並依次執行 該測試用例,並通過所述通信服務單元上報執行結果。 ~
6、 根據權利要求1所述的用於行動應用程式機上的測試系統,其特徵在於 通過所述測試配置單元還可以進行測試用例的選擇條件和運行環境信息,包括 包含條件、排除條件、運行平臺。
7、 根據權利要求1所述的用於行動應用程式機上的測試系統,其特徵在於 所述測試結果收集單元收集完測試結果後,所述顯示單元可以顯示出圖形化的 測試統計報告。
專利摘要本實用新型涉及一種計算機軟體測試系統,更具體地說是涉及移動應用軟體的機上測試系統。包括伺服器端和客戶端;伺服器端創建測試用例集並交由測試集管理單元運行測試集,與通信服務單元建立通信連接等待客戶端請求,客戶端下載測試包並執行測試。本裝置支持在行動電話真實的硬體環境和Java運行環境上的機上測試,獲得更真實的運行狀況;本裝置可以自動生成測試用例包括測試驅動程序或樁調用等代碼,可以提高測試覆蓋率和錯誤檢測的能力。
文檔編號G06F11/36GK201392526SQ20092001247
公開日2010年1月27日 申請日期2009年3月25日 優先權日2009年3月25日
發明者瑩 侯, 丹 屠, 斌 張, 杜振軍, 王正磊, 鄧名傑, 榮 陳 申請人:大連海事大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀