用于測試工具的測試框架及一種測試工具的制作方法
【專利摘要】本發(fā)明涉及測試領域,公開了一種用于測試工具的測試框架及一種測試工具。該測試框架包括:接口層,該接口層中包含執(zhí)行測試所需的接口;操作序列層,該操作序列層包含多個操作序列,每個操作序列包含多個操作動作,每個操作動作由測試數(shù)據(jù)和所述接口層中的有關接口形成;以及測試用例層,該測試用例層包含多個測試用例,每個測試用例調用所述操作序列層中的相應操作序列。該測試工具和測試框架不需要反復修改測試用例,從而能夠提高測試用例的編寫效率,降低測試用例的維護成本并提高測試準確率。
【專利說明】
用于測試工具的測試框架及一種測試工具
技術領域
[0001]本發(fā)明涉及測試領域,具體地,涉及一種用于測試工具的測試框架及一種測試工具。
【背景技術】
[0002]目前,對諸如手機應用的功能進行測試的測試用例的數(shù)量通常會達到500?1000條甚至更多。另外,在應用的更新周期很短的情況下基本上在I個月內會出現(xiàn)多次應用更新。目前的自動化測試工具所提供的測試用例編寫框架的一般做法是反復修改測試用例以完成對應用功能的測試。然而,測試用例在反復修改的過程中容易出現(xiàn)錯誤。另外,被測應用的功能變更有可能會導致多條測試用例需要被修改,例如應用的登陸功能更新了,則涉及到登錄功能的測試用例都需要被修改,這會大大降低測試人員的測試效率和測試準確率,例如,有可能會遺漏某一個涉及到登錄功能的測試用例的修改從而導致測試準確率降低。
【發(fā)明內容】
[0003]本發(fā)明的目的是提供一種用于測試工具的測試框架及一種測試工具,其不需要反復修改測試用例,從而能夠提高測試用例的編寫效率,降低測試用例的維護成本并提高測試準確率。
[0004]本發(fā)明提供一種用于測試工具的測試框架,該測試框架包括:接口層,該接口層中包含執(zhí)行測試所需的接口;操作序列層,該操作序列層包含多個操作序列,每個操作序列包含多個操作動作,每個操作動作由測試數(shù)據(jù)和所述接口層中的有關接口形成;以及測試用例層,該測試用例層包含多個測試用例,每個測試用例調用所述操作序列層中的相應操作序列。
[0005]本發(fā)明還提供一種測試工具,該測試工具包括測試框架,所述測試框架包括:接口層,該接口層中包含執(zhí)行測試所需的接口;操作序列層,該操作序列層包含多個操作序列,每個操作序列包含多個操作動作,每個操作動作由測試數(shù)據(jù)和所述接口層中的有關接口形成;以及測試用例層,該測試用例層包含多個測試用例,每個測試用例調用所述操作序列層中的相應操作序列。
[0006]由于根據(jù)本發(fā)明的測試框架包括接口層、操作序列層和測試用例層,且測試用例層中的測試用例通過調用操作序列層中的相應操作序列來形成,因此在諸如手機應用的功能更新而需要進行測試時,通過修改操作序列層中的相關操作序列就可間接實現(xiàn)測試用例的修改,因此根據(jù)本發(fā)明的測試框架和測試工具不需要修改測試用例,避免了現(xiàn)有技術中反復修改測試用例的過程中容易出現(xiàn)錯誤的問題,并提高了測試用例的編寫效率、降低了測試用例的維護成本和提高了測試準確率。
[0007]本發(fā)明的其它特征和優(yōu)點將在隨后的【具體實施方式】部分予以詳細說明。
【附圖說明】
[0008]附圖是用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與下面的【具體實施方式】一起用于解釋本發(fā)明,但并不構成對本發(fā)明的限制。在附圖中:
[0009]圖1是根據(jù)本發(fā)明一種實施方式的用于測試工具的測試框架的示意框圖;
[0010]圖2是根據(jù)本發(fā)明又一實施方式的用于測試工具的測試框架的示意框圖;以及
[0011]圖3是根據(jù)本發(fā)明一種實施方式的測試工具的框圖。
【具體實施方式】
[0012]以下結合附圖對本發(fā)明的【具體實施方式】進行詳細說明。應當理解的是,此處所描述的【具體實施方式】僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
[0013]本發(fā)明提供一種用于測試工具的測試框架,如圖1所示,該測試框架10可以包括接口層101、操作序列層102和測試用例層103。
[0014]接口層101中包含執(zhí)行測試所需的接口,諸如點擊、滑動、拖拽、放大、縮小、翻轉屏幕、雙擊、指定控件獲取、等待指定控件消失、檢查手機指定文件的狀態(tài)等等接口,以上僅是列舉了其中一部分接口而非窮舉。
[0015]操作序列層102包含多個操作序列,每個操作序列包含多個操作動作,每個操作動作由測試數(shù)據(jù)和所述接口層101中的有關接口形成。例如“搜索地點西二旗”這個測試業(yè)務是通過“點擊(搜索框)”、“輸入(西二旗)”、和“點擊(搜索)”等操作動作組成的操作序列,其中前述括號中的內容(搜索框、西二旗、搜索)是測試數(shù)據(jù),而前述的“點擊”、“輸入”則對應于接口層101中的接口。
[0016]測試用例層103包含多個測試用例,每個測試用例調用所述操作序列層102中的相應操作序列。這樣,在諸如手機應用的功能更新而需要進行測試時,只需要修改操作序列層102中的相關操作序列就可間接實現(xiàn)測試用例的修改。
[0017]優(yōu)選地,如圖2所示,所述接口層101可以包括原有接口層101-1和自定義接口層101-2。原有接口層101-1可以包含所述測試工具的原有接口,這樣就可以充分利用所述測試工具的已有資源。自定義接口層101-2可以包含自定義接口,以及在所述原有接口層101-1中不包含針對所述原有接口的執(zhí)行測試所需的參數(shù)的情況下,該自定義接口層101-2中還包含針對所述原有接口的執(zhí)行測試所需的參數(shù)。例如,所述針對所述原有接口的執(zhí)行測試所需的參數(shù)可以至少包括所述操作動作的前后等待時間、點擊是否可見等等。
[0018]舉例而言,目前的測試工具中的原有接口一般包括點擊、滑動、拖拽、放大、縮小、翻轉屏幕等,但是目前的測試工具中并沒有限定實現(xiàn)這些原有接口的操作動作的前后等待時間。因此,在根據(jù)本發(fā)明的測試框架中,可以自定義一些新的接口,例如雙擊、指定控件獲取、等待指定控件消失、檢查手機指定文件的狀態(tài)等等并限定實現(xiàn)這些自定義接口的操作動作的前后等待時間。而且,由于目前的測試工具中并沒有限定實現(xiàn)測試工具的原有接口的操作動作的前后等待時間,因此在自定義接口層101-2中還包含針對所述原有接口的操作動作的前后等待時間。
[0019]優(yōu)選地,所述測試數(shù)據(jù)可以從測試數(shù)據(jù)接口(未示出)獲取,所述測試數(shù)據(jù)接口可以在所述接口層101、所述操作序列層102和所述測試用例層103中的任一層中實現(xiàn)。例如,測試數(shù)據(jù)接口可以是Java中的一個接口類。更優(yōu)選地,測試數(shù)據(jù)接口在所述接口層101或所述操作序列層102中實現(xiàn),以便于將測試數(shù)據(jù)與測試用例分離,進而在諸如手機應用的功能更新而需要進行測試時,通過修改操作序列層103中的相關操作序列就可間接實現(xiàn)測試用例的修改,而不需要直接修改測試用例。當然,測試數(shù)據(jù)接口優(yōu)選位于操作序列層102中。
[0020]優(yōu)選地,所述接口層101可以依據(jù)任一Java設計模式來建立,例如代理模式、工廠模式等。
[0021]本發(fā)明還提供一種測試工具I,如圖3所示,該測試工具I包括測試框架10,所述測試框架10包括接口層101、操作序列層102和測試用例層103。
[0022]接口層101中包含執(zhí)行測試所需的接口,諸如點擊、滑動、拖拽、放大、縮小、翻轉屏幕、雙擊、指定控件獲取、等待指定控件消失、檢查手機指定文件的狀態(tài)等等接口,以上僅是列舉了其中一部分接口而非窮舉。
[0023]操作序列層102包含多個操作序列,每個操作序列包含多個操作動作,每個操作動作由測試數(shù)據(jù)和所述接口層101中的有關接口形成。例如“搜索地點西二旗”這個測試業(yè)務是通過“點擊(搜索框)”、“輸入(西二旗)”、和“點擊(搜索)”等操作動作組成的操作序列,其中前述括號中的內容(搜索框、西二旗、搜索)是測試數(shù)據(jù),而前述的“點擊”、“輸入”則對應于接口層101中的接口。
[0024]測試用例層103包含多個測試用例,每個測試用例調用所述操作序列層102中的相應操作序列。這樣,在諸如手機應用的功能更新而需要進行測試時,只需要修改操作序列層102中的相關操作序列就可間接實現(xiàn)測試用例的修改。
[0025]優(yōu)選地,所述接口層101可以包括原有接口層和自定義接口層。原有接口層可以包含所述測試工具的原有接口,這樣就可以充分利用所述測試工具的已有資源。自定義接口層可以包含自定義接口,以及在所述原有接口層中不包含針對所述原有接口的執(zhí)行測試所需的參數(shù)的情況下,該自定義接口層中還包含針對所述原有接口的執(zhí)行測試所需的參數(shù)。例如,所述針對所述原有接口的執(zhí)行測試所需的參數(shù)可以至少包括所述操作動作的前后等待時間、點擊是否可見等等。
[0026]舉例而言,目前的測試工具中的原有接口一般包括點擊、滑動、拖拽、放大、縮小、翻轉屏幕等,但是目前的測試工具中并沒有限定實現(xiàn)這些原有接口的操作動作的前后等待時間。因此,在根據(jù)本發(fā)明的測試框架中,可以自定義一些新的接口,例如雙擊、指定控件獲取、等待指定控件消失、檢查手機指定文件的狀態(tài)等等并限定實現(xiàn)這些自定義接口的操作動作的前后等待時間。而且,由于目前的測試工具中并沒有限定實現(xiàn)測試工具的原有接口的操作動作的前后等待時間,因此在自定義接口層中還包含針對所述原有接口的操作動作的如后等待時間。
[0027]優(yōu)選地,所述測試數(shù)據(jù)可以從測試數(shù)據(jù)接口(未示出)獲取,所述測試數(shù)據(jù)接口可以在所述接口層101、所述操作序列層102和所述測試用例層103中的任一層中實現(xiàn)。例如,測試數(shù)據(jù)接口可以是Java中的一個接口類。更優(yōu)選地,測試數(shù)據(jù)接口在所述接口層101或所述操作序列層102中實現(xiàn),以便于將測試數(shù)據(jù)與測試用例分離,進而在諸如手機應用的功能更新而需要進行測試時,通過修改操作序列層103中的相關操作序列就可間接實現(xiàn)測試用例的修改,而不需要直接修改測試用例。當然,測試數(shù)據(jù)接口優(yōu)選位于操作序列層102中。
[0028]優(yōu)選地,所述接口層101可以依據(jù)任一Java設計模式來建立,例如代理模式、工廠模式等。
[0029]以上結合附圖詳細描述了本發(fā)明的優(yōu)選實施方式,但是,本發(fā)明并不限于上述實施方式中的具體細節(jié),在本發(fā)明的技術構思范圍內,可以對本發(fā)明的技術方案進行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護范圍。
[0030]另外需要說明的是,在上述【具體實施方式】中所描述的各個具體技術特征,在不矛盾的情況下,可以通過任何合適的方式進行組合。為了避免不必要的重復,本發(fā)明對各種可能的組合方式不再另行說明。
[0031]此外,本發(fā)明的各種不同的實施方式之間也可以進行任意組合,只要其不違背本發(fā)明的思想,其同樣應當視為本發(fā)明所公開的內容。
【主權項】
1.一種用于測試工具的測試框架,該測試框架包括: 接口層,該接口層中包含執(zhí)行測試所需的接口 ; 操作序列層,該操作序列層包含多個操作序列,每個操作序列包含多個操作動作,每個操作動作由測試數(shù)據(jù)和所述接口層中的有關接口形成;以及 測試用例層,該測試用例層包含多個測試用例,每個測試用例調用所述操作序列層中的相應操作序列。2.根據(jù)權利要求1所述的測試框架,其中,所述接口層包括: 原有接口層,該原有接口層包含所述測試工具的原有接口 ;以及 自定義接口層,該自定義接口層包含自定義接口,以及在所述原有接口層中不包含針對所述原有接口的執(zhí)行測試所需的參數(shù)的情況下,該自定義接口層中還包含針對所述原有接口的執(zhí)行測試所需的參數(shù)。3.根據(jù)權利要求2所述的測試框架,其中,所述針對所述原有接口的執(zhí)行測試所需的參數(shù)至少包括所述操作動作的前后等待時間。4.根據(jù)權利要求1至3中任一權利要求所述的測試框架,其中,所述測試數(shù)據(jù)從測試數(shù)據(jù)接口獲取,所述測試數(shù)據(jù)接口在所述接口層或所述操作序列層中實現(xiàn)。5.根據(jù)權利要求1至3中任一權利要求所述的測試框架,其中,所述接口層依據(jù)任一Java設計模式來建立。6.一種測試工具,該測試工具包括測試框架,所述測試框架包括: 接口層,該接口層中包含執(zhí)行測試所需的接口 ; 操作序列層,該操作序列層包含多個操作序列,每個操作序列包含多個操作動作,每個操作動作由測試數(shù)據(jù)和所述接口層中的有關接口形成;以及 測試用例層,該測試用例層包含多個測試用例,每個測試用例調用所述操作序列層中的相應操作序列。7.根據(jù)權利要求6所述的測試工具,其中,所述接口層包括: 原有接口層,該原有接口層包含所述測試工具的原有接口 ;以及 自定義接口層,該自定義接口層包含自定義接口,以及在所述原有接口層中不包含針對所述原有接口的執(zhí)行測試所需的參數(shù)的情況下,該自定義接口層中還包含針對所述原有接口的執(zhí)行測試所需的參數(shù)。8.根據(jù)權利要求7所述的測試工具,其中,所述針對所述原有接口的執(zhí)行測試所需的參數(shù)至少包括所述操作動作的前后等待時間。9.根據(jù)權利要求6至8中任一權利要求所述的測試工具,其中,所述測試數(shù)據(jù)從測試數(shù)據(jù)接口獲取,所述測試數(shù)據(jù)接口在所述接口層或所述操作序列層中實現(xiàn)。10.根據(jù)權利要求6至8中任一權利要求所述的測試工具,其中,所述接口層依據(jù)任一Java設計模式來建立。
【文檔編號】G06F11/36GK105893243SQ201510925140
【公開日】2016年8月24日
【申請日】2015年12月14日
【發(fā)明人】鹿毅
【申請人】樂視網信息技術(北京)股份有限公司