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

    測試方法及裝置制造方法及圖紙

    技術編號:14158986 閱讀:92 留言:0更新日期:2016-12-12 01:45
    本申請提供了一種測試方法及裝置,所述方法包括:將待處理的多個任務按照預設分配規則分配給線程池中的多個同步線程;所述線程池中預先配置了多個同步線程;觸發所述線程池在主線程中同步調度所述多個同步線程執行所述多個任務;在所述多個任務執行完畢之后,對所述執行的過程進行測試斷言。在本申請實施例中,可以提高測試斷言的準確率。

    【技術實現步驟摘要】

    本申請涉及測試
    ,特別涉及一種測試方法及裝置。
    技術介紹
    目前,應用系統為了提高系統吞吐量,常常使用多線程技術將待執行的任務通過線程池技術異步化執行,使得處理線程不阻塞主線程的執行。其中,線程池是一種多線程處理形式,處理過程中將任務添加到隊列,然后在創建線程后自動啟動隊列中的任務。而線程是程序執行流的最小單元,它是進程中的一個實體,是被系統獨立調度和分派的基本單位。
    技術實現思路
    但是專利技術人在研究過程中發現,現有的多線程技術對于線下的測試將是非常困難的。因為測試需要在任務都執行完畢之后再進行,但是由于任務執行的過程中采用了異步化執行的方式,執行任務的線程不在主線程內,因此就無法準確得知執行任務的線程何時執行完畢,就使得測試結果不夠準確。由此,本申請所要解決的技術問題是提供一種測試方法,用以盡量避免現有技術中由于采用線程異步化執行任務的方式而導致的測試結果不夠準確的問題,提高測試斷言的準確率。本申請還提供了一種測試裝置,用以保證上述方法在實際中的實現及應用。為了解決上述問題,本申請公開了一種測試方法,包括:將待處理的多個任務按照預設分配規則分配給線程池中的多個同步線程;所述線程池中預先配置了多個同步線程;觸發所述線程池在主線程中同步調度所述多個同步線程執行所述多
    個任務;在所述多個任務執行完畢之后,對所述執行的過程進行測試斷言。本申請公開了一種測試裝置,包括:分配模塊,用于將待處理的多個任務按照預設分配規則分配給線程池中的多個同步線程;所述線程池中預先配置了多個同步線程;觸發模塊,用于觸發所述線程池在主線程中同步調度所述多個同步線程執行所述多個任務;測試模塊,用于在所述多個任務執行完畢之后,對所述執行的過程進行測試斷言。與現有技術相比,本申請包括以下優點:在本申請實施例中,由于設計了新的線程池,在該線程池中的所有線程都是采用run方法調用的同步線程,因此,在為線程池中的線程分配任務之后,各個同步線程采用run方法調用即可保證它們都在調用它們的主線程中執行,從而使得測試斷言可以在多個同步線程都執行任務完畢之后進行,提高了測試斷言的準確率。當然,實施本申請的任一產品并不一定需要同時達到以上所述的所有優點。附圖說明為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本申請的測試方法實施例的流程圖;圖2是本申請的測試裝置實施例的結構框圖。具體實施方式下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術
    人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。本申請可用于眾多通用或專用的計算裝置環境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器裝置、包括以上任何裝置或設備的分布式計算環境等等。本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。參考圖1,示出了本申請一種測試方法實施例的流程圖,本實施例可以包括以下步驟:步驟101:將待處理的多個任務按照預設分配規則分配給線程池中的多個同步線程;所述線程池中預先配置了多個同步線程。在本申請中,也需要預先建立線程池,在本實施例中線程池中的同步線程可以為:需要調用run方法執行的線程。例如,在線程池中預先配置了10個同步線程,這10個線程同步都需要采用run方法執行,而采用run方法執行的這10個同步線程在執行時就可以在主線程中進行,從而使得同步線程執行任務的結束時間是可以被主線程感知的。其中,線程池可以直接或間接擴展自JDK(Java Development Kit,Java語言的軟件開發工具包)提供的ThreadPoolExecutor。本實施例中的線程池(DoImmediatelyThreadPoolTaskExecutor)與現有技術中的線程池不同,本實施例中的線程池的同步線程都是調用run方法執行的,以便同步線程可以在調用的主線程中同步執行。其中,步驟101在具體執行時可以包括:步驟A1:為所述線程池建立任務隊列。首先,為已經創建的線程池建立一個任務隊列,該任務隊列可以按照
    先后順序存放分配給線程池中的同步線程的任務。步驟A2:按照觸發所述多個任務的各個用戶來將多個任務分別添加至所述任務隊列中。在本實施例中,可以按照觸發任務的用戶的不同,來將多個任務分別添加至任務隊列中。例如,對于實際應用中的緩沖補賬業務,有四個用戶觸發了緩沖補賬的7個任務。具體如表1所示:表1用戶任務idA1A2A3B4B5C6D7那么任務隊列中可以先添加用戶A的三個任務,再添加用戶B的兩個任務,再依次添加用戶C和用戶D的任務。步驟A3:將所述任務隊列中的任務分別分配給線程池中的多個同步線程,其中,每一個用戶對應一個同步線程。然后再將任務隊列中的任務分別分配給線程池中的多個同步線程,例如,每個用戶的任務對應分配給一個同步線程。那么,參考表1所示,用戶A的三個任務可以分配給線程池中的第一個同步線程,而用戶B的兩個任務可以分配給線程池中的第二個同步線程,以此類推。當然,在實際應用中,不僅僅限于以用戶為維度來為任務分配線程,還可以以任務為維度,為每一個任務對應分配一個同步線程,當然還可以采用其他分配方式。接著返回圖1,進入步驟102:觸發所述線程池在主線程中同步調度所述多個同步線程執行所述多個任務。將任務分配完成之后,可以定時觸發線程池同步調度多個同步線程,來在主線程中執行分別為同步線程分配的任務。具體的,則是觸發線程池以調用run方法的方式來調度同步線程,從而觸發同步線程能依次同步執行為其分配的多個任務。步驟103:在所述多個任務執行完畢之后,對所述執行的過程進行測試斷言。因為采用run方法調用的同步線程在主線程中執行,因此主線程就可以獲取到各個同步線程的執行過程以及同步線程在什么時候將任務執行完畢,一旦,主線程確定同步線程將多個任務執行完畢之后,就主線程就觸發對執行的過程進行測試斷言,測試斷言具體可以是在所述多個任務執行完畢之后,驗證所述多個任務的執行結果。例如,對于緩沖補賬任務來講,可以驗證補賬結果是否滿足預期,用戶的余額有沒有到賬等。當然,測試斷言還可以檢查數據有沒有處理完畢,任務處理邏輯是不是正確,等等??梢?,在本申請實施例中,由于設計了新的線程池,在該線程池中的所有線程都是采用run方法調用的同步線程,因此,在為線程池中的線程分配任務之后,各個同步線程被觸發時都可以采用run方法調用,這樣即可保證同步線程都在調用它們的主線程中執行,從而使得測試斷言可以在多個同步本文檔來自技高網
    ...
    測試方法及裝置

    【技術保護點】
    一種測試方法,其特征在于,該方法包括:將待處理的多個任務按照預設分配規則分配給線程池中的多個同步線程;所述線程池中預先配置了多個同步線程;觸發所述線程池在主線程中同步調度所述多個同步線程執行所述多個任務;在所述多個任務執行完畢之后,對所述執行的過程進行測試斷言。

    【技術特征摘要】
    1.一種測試方法,其特征在于,該方法包括:將待處理的多個任務按照預設分配規則分配給線程池中的多個同步線程;所述線程池中預先配置了多個同步線程;觸發所述線程池在主線程中同步調度所述多個同步線程執行所述多個任務;在所述多個任務執行完畢之后,對所述執行的過程進行測試斷言。2.根據權利要求1所述的方法,其特征在于,所述將待處理的多個任務按照預設分配規則分配給線程池中的多個同步線程,包括:為所述線程池建立任務隊列;按照觸發所述多個任務的各個用戶來將多個任務分別添加至所述任務隊列中;將所述任務隊列中的任務分別分配給線程池中的多個同步線程,其中,每一個用戶對應一個同步線程。3.根據權利要求1或2所述的方法,其特征在于,所述線程池中的同步線程為:需要調用run方法執行的線程。4.根據權利要求3所述的方法,其特征在于,所述觸發所述線程池在主線程中同步調度所述多個同步線程執行所述多個任務,包括:觸發所述線程池在主線程中以調用run方法的方式觸發所述多個同步線程依次執行多個任務。5.根據權利要求1所述的方法,其特征在于,所述在所述多個任務執行完畢之后,對所述執行的過程進行測試斷言,包括:在所述多個任務執行完...

    【專利技術屬性】
    技術研發人員:朱春茂,林耿,
    申請(專利權)人:阿里巴巴集團控股有限公司
    類型:發明
    國別省市:開曼群島;KY

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

    1
    主站蜘蛛池模板: 无码国产伦一区二区三区视频| 无码精品人妻一区二区三区影院| 无码人妻久久一区二区三区免费丨 | 无码国产精品一区二区免费3p | av大片在线无码免费| 蜜臀亚洲AV无码精品国产午夜.| 亚洲AV中文无码字幕色三| 少妇仑乱A毛片无码| 精品一区二区三区无码免费视频| 国产综合无码一区二区三区| 在线观看无码AV网站永久免费| 人妻少妇伦在线无码专区视频| 日韩aⅴ人妻无码一区二区| 亚洲aⅴ天堂av天堂无码麻豆| 潮喷无码正在播放| 人妻无码久久精品人妻| 少妇人妻无码精品视频app| 成人无码A区在线观看视频| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻系列av无码一区二区 | 亚洲av成人无码网站…| 久久午夜无码免费| 水蜜桃av无码一区二区| 国模无码人体一区二区| 少妇无码?V无码专区在线观看| 中文字幕无码播放免费| 无码内射中文字幕岛国片| 亚洲综合av永久无码精品一区二区| 日韩毛片无码永久免费看| 免费无码黄十八禁网站在线观看| 日韩精品人妻系列无码专区| 亚洲AV永久青草无码精品| 亚洲AV无码专区在线播放中文 | 伊人久久大香线蕉无码| 亚洲中文无码卡通动漫野外| 99久久亚洲精品无码毛片| 久久久久亚洲av无码专区导航 | 精品无码三级在线观看视频 | 亚洲精品无码成人片久久| 中文字幕日产无码| 久久午夜无码鲁丝片秋霞 | 久久精品国产亚洲AV无码娇色 |