TWI682295B - 測試資料產生裝置及測試資料產生方法 - Google Patents

測試資料產生裝置及測試資料產生方法 Download PDF

Info

Publication number
TWI682295B
TWI682295B TW107139177A TW107139177A TWI682295B TW I682295 B TWI682295 B TW I682295B TW 107139177 A TW107139177 A TW 107139177A TW 107139177 A TW107139177 A TW 107139177A TW I682295 B TWI682295 B TW I682295B
Authority
TW
Taiwan
Prior art keywords
test data
data
complex
test
variation
Prior art date
Application number
TW107139177A
Other languages
English (en)
Other versions
TW202018543A (zh
Inventor
田家瑋
林佩儀
田謹維
Original Assignee
財團法人資訊工業策進會
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人資訊工業策進會 filed Critical 財團法人資訊工業策進會
Priority to TW107139177A priority Critical patent/TWI682295B/zh
Priority to CN201811342789.3A priority patent/CN111143190B/zh
Priority to US16/207,033 priority patent/US10846188B2/en
Application granted granted Critical
Publication of TWI682295B publication Critical patent/TWI682295B/zh
Publication of TW202018543A publication Critical patent/TW202018543A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種測試資料產生裝置及測試資料產生方法被揭露於此。該測試資料產生裝置儲存複數模擬測試資料。該複數模擬測試資料中的每一筆均符合一待測裝置所接受之資料格式,且該資料格式包含不同的複數資料區塊。該測試資料產生裝置還針對該複數模擬測試資料之每一者,以複數變異型態其中之一者進行變異以產生用以測試該待測裝置之複數第一測試資料。該複數變異型態之每一者是指針對該複數資料區塊其中之一者,以複數變異方式其中之一者進行變異。

Description

測試資料產生裝置及測試資料產生方法
本揭露與測試資料產生裝置及測試資料產生方法有關。更具體而言,本揭露與能夠產生多樣化測試資料的測試資料產生裝置及測試資料產生方法有關。
在傳統的自動化軟體測試中,其採用的測試資料通常是透過隨機亂數產生,或是由技術人員撰寫腳本而自動產生。然而,透過隨機亂數方式而產生的測試資料的格式未必符合待測裝置所使用的協定/或待測裝置所接受的格式,故較容易產生無效的測試資料,導致資料有效性低。除此之外,透過隨機亂數方式所產生的測試資料雖可能造成應用程式出現錯誤,卻難以追溯該錯誤的肇因是源自於測試資料的何處。至於透過腳本所產生的測試資料,因腳本是由技術人員所撰寫,故測試資料的內容十分仰賴撰寫者的主觀判斷,也因此容易存在盲點。由此可見,傳統的測試資料產生方法經常造成自動化軟體測試的效率及全面性不足,較難有效地發掘應用程式的弱點與測試資料的相關性。有鑑於此,如何改善傳統的測試資料產生方法,藉以提升自動化軟體測試的效率及全面性,對本發明所屬技術領域而言是相當重要的。
為了至少解決上述的問題,本揭露提供一種測試資料產生裝置。該測試資料產生裝置包含一儲存器以及與該儲存器電性連接的一處理器。該儲存器可用以儲存複數模擬測試資料,其中該複數模擬測試資料中的每一筆均實質上符合一待測裝置所接受之一資料格式,且該資料格式包含不同的複數資料區塊。該處理器可用以針對該複數模擬測試資料之每一者,以複數變異型態其中之一者進行變異以產生用以測試該待測裝置之複數變異測試資料,其中該複數變異型態之每一者是指針對該複數資料區塊其中之一者,以複數變異方式其中之一者進行變異。
為了至少解決上述的問題,本揭露還提供一種測試資料產生方法。該測試資料產生方法可包含:由一測試資料產生裝置儲存複數模擬測試資料,其中該複數模擬測試資料中的每一筆均實質上符合一待測裝置所接受之一資料格式,且該資料格式包含不同的複數資料區塊;以及由該測試資料產生裝置針對該複數模擬測試資料之每一者,以複數變異型態其中之一者進行變異以產生用以測試該待測裝置之複數第一測試資料,其中該複數變異型態之每一者是指針對該複數資料區塊其中之一者,以複數變異方式其中之一者進行變異。
因上述測試資料產生裝置及測試資料產生方法所產生的測試資料符合待測對象所接受的資料格式,故能確保產生的測試資料的有效性。上述測試資料產生裝置及測試資料產生方法所產生的每一筆測試資料是針對其某一資料區塊進行變異所產生,故當其造成應用程式出現錯誤時, 能夠容易地找出引發該錯誤的資料區塊及內容。上述測試資料產生裝置及測試資料產生方法採用的資料變異型態具有二個維度(即,資料區塊及變異方式這兩個維度),故其產生的測試資料能夠讓自動化軟體測試進行更全面/更多樣的測試。因此,本揭露所提供的測試資料產生裝置及測試資料產生方法有效地解決了傳統測試資料產生方法的上述問題。
如下所示:
1‧‧‧測試系統
10‧‧‧測試裝置
11‧‧‧測試資料產生裝置
111‧‧‧處理器
113‧‧‧儲存器
19‧‧‧待測裝置
301、303、305、307、309、311、313、315‧‧‧動作
4‧‧‧測試資料產生方法
401、403‧‧‧步驟
B1、B2、B3、B4‧‧‧資料區塊
BM‧‧‧位元變異
CM‧‧‧字元變異
D1、D2、D3、D4‧‧‧資料變化率
LM‧‧‧長度變異
STD_1、STD_2、STD_3‧‧‧模擬測試資料
STDS‧‧‧模擬測試資料集
TD_1、TD_2、TD_3‧‧‧第一測試資料
TDS_1‧‧‧第一測試資料集
TDS_2‧‧‧第二測試資料集
TDS_3‧‧‧第三測試資料集
TR_1、TR_2、TR_3‧‧‧測試結果
W11、W12、W13‧‧‧權重值
W21、W22、W23‧‧‧權重值
W31、W32、W33‧‧‧權重值
W41、W42、W43‧‧‧權重值
第1圖例示了在本發明的一或多個實施例中的一種測試系統的示意圖。
第2A圖例示了在本發明的一或多個實施例中的複數模擬測試資料中對應至複數資料區塊的資料變化率及複數變異型態的權重值的關聯關係的示意圖。
第2B圖例示了在本發明的一或多個實施例中針對模擬測試資料以複數變異型態進行變異的示意圖。
第3A-3B圖例示了在本發明的一或多個實施例中第1圖所示測試系統的運作的示意圖。
第4圖例示了在本發明的一或多個實施例中的一種測試資料產生方法的示意圖。
以下所述各種實施例並非用以限制本發明只能在所述的環境、應用、結構、流程或步驟方能實施。於圖式中,與本發明的實施例非直接相關的元件皆已省略。於圖式中,各元件的尺寸以及各元件之間的比例僅是範例,而非用以限制本發明。除了特別說明之外,在以下內容中,相同(或 相近)的元件符號可對應至相同(或相近)的元件。在可被實現的情況下,如未特別說明,以下所述的每一個元件的數量是指一個或多個。
第1圖例示了在本發明的一或多個實施例中的一種測試系統的示意圖。第1圖所示內容僅是為了說明本發明的實施例,而非為了限制本發明。
參照第1圖,一測試系統1可包含一測試裝置10、一待測裝置19與一測試資料產生裝置11。測試資料產生裝置11可用以產生測試資料,而測試裝置10可使用該測試資料來測試待測裝置19。測試資料產生裝置11基本上可包含一處理器111以及與處理器111電性連接的一儲存器113。於某些實施例中,測試資料產生裝置11可以設置在測試裝置10之中,且與測試裝置10共用處理器111以及儲存器113。於某些實施例中,測試資料產生裝置11可以設置在測試裝置10之外,且測試資料產生裝置11通過有線或無線的方式與測試裝置10連接。於某些實施例中,測試裝置10可以設置在待測裝置19之中。於某些實施例中,測試裝置10也可以設置在待測裝置19之外,並通過有線或無線的方式與其連接。
儲存器113可用以儲存測試資料產生裝置11所產生的資料或由外部傳入的資料。儲存器113可包含第一級記憶體(又稱主記憶體或內部記憶體),且處理器111可直接讀取儲存在第一級記憶體內的指令集,並在需要時執行這些指令集。儲存器113可選擇性地包含第二級記憶體(又稱外部記憶體或輔助記憶體),且此記憶體可透過資料緩衝器將儲存的資料傳送至第一級記憶體。舉例而言,第二級記憶體可以是但不限於:硬碟、光碟等。儲存器113可選擇性地包含第三級記憶體,亦即,可直接插入或自電腦拔除 的儲存裝置,例如隨身硬碟。
處理器111可以是具備訊號處理功能的微處理器(microprocessor)或微控制器(microcontroller)等。微處理器或微控制器是一種可程式化的特殊積體電路,其具有運算、儲存、輸出/輸入等能力,且可接受並處理各種編碼指令,藉以進行各種邏輯運算與算術運算,並輸出相應的運算結果。處理器111可被編程以在測試資料產生裝置11中執行各種運算或程式。
儲存器113可儲存由處理器111所產生的複數模擬測試資料。為了便於說明,以下將以一模擬測試資料集STDS來表示該複數模擬測試資料。處理器111可基於模擬測試資料集STDS產生包含複數第一測試資料的一第一測試資料集TDS_1。測試裝置10可使用第一測試資料集TDS_1來測試待測裝置19,並獲得一測試結果TR_1。處理器111可根據測試結果TR_1,再次基於模擬測試資料集STDS產生一第二測試資料集TDS_2,而測試裝置10可使用第二測試資料集TDS_2再次測試待測裝置19,並獲得一測試結果TR_2。處理器111可根據測試結果TR_2,再次基於模擬測試資料集STDS產生一第三測試資料集TDS_3,而測試裝置10可使用第三測試資料集TDS_3再次測試待測裝置19,並獲得一測試結果TR_3。相同的流程可重複進行直到一終止條件被滿足。
第2A圖例示了在本發明的一或多個實施例中的複數模擬測試資料中對應至複數資料區塊的資料變化率及複數變異型態的權重值的關聯關係的示意圖,而第2B圖例示了在本發明的一或多個實施例中針對模擬測試資料以複數變異型態進行變異的示意圖。第2A圖及第2B圖所示內容僅 是為了說明本發明的實施例,而非為了限制本發明。
同時參照第1圖、第2A圖以及第2B圖。模擬測試資料集STDS可包含複數測試資料,例如模擬測試資料STD_1、模擬測試資料STD_2、以及模擬測試資料STD_3等。模擬測試資料集STDS中的每一筆模擬測試資料均實質上符合待測裝置19所接受之一資料格式,且該資料格式包含不同的複數資料區塊。舉例而言,若待測裝置19採用的協定是消息隊列遙測傳輸(Message Queuing Telemetry Transport,MQTT),則該資料格式可包含例如「標頭」、「負載(payload)長度」、「主題長度」、「主題內容」、「訊息識別碼」、以及「訊息內容」等資料區塊。為了簡化說明,下方假定模擬測試資料集STDS中的每一筆測試資料所對應的該資料格式包含一資料區塊B1、一資料區塊B2、一資料區塊B3、以及一資料區塊B4。
處理器111可分析模擬測試資料集STDS中各資料區塊內的資料變化程度,以算出對應至各資料區塊的一資料變化率,例如分別對應至資料區塊B1、資料區塊B2、資料區塊B3、以及資料區塊B4的一資料變化率D1、一資料變化率D2、一資料變化率D3、以及一資料變化率D4。
舉例而言,以模擬測試資料STD_1、模擬測試資料STD_2、以及模擬測試資料STD_3這三筆模擬測試資料為例,處理器111可根據資料區塊B1中的資料內容(即「10」、「10」、「6」)而分析出資料區塊B1的三筆資料中存在兩種數值,故計算出對應至資料區塊B1的資料變化率為「2/3」,即「67%」。根據此規則,舉例而言,處理器111可計算出資料區塊B1的資料變化率D1、資料區塊B2的資料變化率D2、資料區塊B3的資料變化率D3、與資料區塊B4的資料變化率D4分別為「20%」、「65%」、「85%」、以及「35%」。
上述資料變化率的計算方式僅為本發明諸多實施例當中的一個態樣,而非限制。舉例而言,在某些實施例中,處理器111也可以根據各種已知可計算最長共同子序列(Longest Common Subsequence,LCS)的演算法,透過針對資料區塊中的資料任取兩者計算最長共同子序列來評估該資料區塊內資料的相似程度,進而可計算資料變化率D1、資料變化率D2、資料變化率D3、以及資料變化率D4。計算最長共同子序列的演算法可以是例如但不限於「尼德曼-翁施演算法(Needleman-Wunsch algorithm)」、「史密斯-沃特曼演算法(Smith-Waterman algorithm)」、或「赫什伯格演算法(Hirschberg’s algorithm)」等。
處理器111可使用複數變異型態來針對模擬測試資料集STDS中的每一筆模擬測試資料進行變異,以產生包含複數第一測試資料的第一測試資料集TDS_1。該複數變異型態是指針對模擬測試資料中對應至該複數資料區塊其中之一者的資料內容以複數變異方式其中之一者進行變異,其中該複數變異方式可至少包含一位元變異BM、一字元變異CM、以及一長度變異LM。為了便於說明,以下將以變異型態M11、變異型態M12、變異型態M13(未繪示)來分別表示處理器111針對資料區塊B1的資料內容進行位元變異BM、字元變異CM、以及長度變異LM;以變異型態M21、變異型態M22、變異型態M23(未繪示)來分別表示處理器111針對資料區塊B2的資料內容進行位元變異BM、字元變異CM、以及長度變異LM;以變異型態M31、變異型態M32、變異型態M33(未繪示)來分別表示處理器111針對資料區塊B1的資料內容進行位元變異BM、字元變異CM、以及長度變異LM;以及以變異型態M41、變異型態M42、變異型態M43(未繪示)來分別 表示處理器111針對資料區塊B1的資料內容進行位元變異BM、字元變異CM、以及長度變異LM。
在某些實施例中,該複數變異型態中的每一者可具有一相應的權重值,而處理器111可根據該複數變異型態中的每一者的權重值,針對每一筆模擬測試資料選擇以該複數變異型態中的其中一者來進行變異。由於該複數變異型態中的每一者皆會對應至模擬測試資料集STDS中的該複數資料區塊中的其中一者,故於計算出該複數資料區塊的資料變化率之後,處理器111可根據該複數資料區塊中的每一者的該資料變化率而決定對應至該資料區塊的變異型態的權重值。為了便於說明,以下將以權重值W11、權重值W12、權重值W13來分別表示變異型態M11、變異型態M12、變異型態M13的權重值;以權重值W21、權重值W22、權重值W23來分別表示變異型態M21、變異型態M22、變異型態M23的權重值;以權重值W31、權重值W32、權重值W33來分別表示變異型態M31、變異型態M32、變異型態M33的權重值;以及以權重值W41、權重值W42、權重值W43來分別表示變異型態M41、變異型態M42、變異型態M43的權重值。
資料變化率愈低的資料區塊表示其中的測試資料的變化程度越低,故可期待若對該資料區塊進行的變異程度越大,則所產生的測試資料將愈可能讓測試裝置10在測試待測裝置19之後取得更多錯誤訊息。有鑑於此,在某些實施例中,該複數變異型態中對應至相同資料區塊的變異型態的權重值與該複數模擬測試資料中對應至該資料區塊的資料變化率可以是逆相關的,亦即對應至具有愈低資料變化率的資料區塊的變異型態可具有愈大的權重值。
舉例而言,由於資料區塊B1的資料變化率D1是資料變化率D1-D4四者中最低的,故處理器111可將對應至資料區塊B1的變異型態M11-M13的權重值W11-W13皆設定為四個資料區塊D1-D4中相對最大的「5」。接著,處理器111可將對應至具有第二低的資料變化率D4的資料區塊B4的變異型態M41-M43的權重值W41-W43皆設定為「4」。然後,處理器111可將對應至具有第三低的資料變化率D2的資料區塊B2的變異型態M21-M23的權重值W21-W23皆設定為「2」。最後,處理器111可將對應至具有最高的資料變化率D3的資料區塊B3的變異型態M31-M33的權重值W31-W33皆設定為「1」。
在決定該複數變異型態中的每一者的權重值後,處理器111便可根據該複數權重值針對該複數模擬測試資料中的每一者隨機選擇以該複數變異型態的其中一者進行變異。權重值越高表示該變異型態被處理器111選中的機率越高。舉例而言,如第2B圖所示,處理器111可決定根據變異型態M12(即,針對資料區塊D1進行字元變異CM)來變異模擬測試資料集STDS中的模擬測試資料STD_1,亦即,將模擬測試資料STD_1中對應至資料區塊B1的資料內容「10」變異成「df」,以產生第一測試資料TD_1。另舉例而言,如第2B圖所示,處理器111可決定根據變異型態M21(即,針對資料區塊D2進行位元變異BM)來變異模擬測試資料集STDS中的模擬測試資料STD_2,亦即,將模擬測試資料STD_2中對應至資料區塊B2的資料內容「0 ae」變異成「12 ae」,以產生第一測試資料TD_2。又舉例而言,如第2B圖所示,處理器111可決定根據變異型態M43(即,針對資料區塊D4進行長度變異LM)來變異模擬測試資料集STDS中的模擬測試資料STD_3,亦即,將 模擬測試資料STD_3中對應至資料區塊B4的資料內容「01」變異成「01 01 01 01 01 01」,以產生第一測試資料TD_3。處理器111可接著使用相同的模式完成模擬測試資料集STDS中其餘模擬測試資料的變異,以形成第一測試資料集TDS_1。
測試裝置10可將第一測試資料集TDS_1輸入待測裝置19以進行測試,並得到測試結果TR_1。在某些實施例中,測試結果TR_1中可針對各種錯誤類型記錄第一測試資料集TDS_1中造成待測裝置19出現該類型錯誤的第一測試資料的數量,且由於每一筆第一測試資料皆可對應至其所經歷過的一種變異型態,故測試結果TR_1中還可統計造成該類型錯誤的變異型態的數量,例如下方表(1)所示。
Figure 107139177-A0101-12-0010-1
處理器111可根據測試結果TR_1,調整該複數變異型態的權重值,並且依據調整後的權重值,再次針對模擬測試資料集STDS中的每一 筆模擬測試資料隨機選擇該複數變異型態其中之一者來進行變異,以產生包含複數第二測試資料的第二測試資料集TDS_2。然後,測試裝置10便可根據該複數第二測試資料,再次測試待測裝置19。
舉例而言,自表(1)可看出,在造成待測裝置19出現「處理錯誤」的諸多第一測試資料中,以透過變異型態M11進行變異而得的第一測試資料為最多者,而在造成待測裝置19出現「反應時間過長」錯誤的諸多第一測試資料中,則是以透過變異型態M12進行變異而得的第一測試資料為最多者。此結果隱含著變異型態M11(亦即,針對資料區塊B1進行位元變異BM)似容易造成待測裝置19出現「處理錯誤」的錯誤,而變異型態M12(亦即,針對資料區塊B2進行字元變異CM)則似容易造成待測裝置19出現「處理時間過長」的錯誤。有鑑於此,假設使用者欲針對「處理錯誤」的錯誤類型進行更深度的測試,則處理器111可根據測試結果TR_1,將變異型態M11的權重值W11從第一次測試前的「5」調整為「10」,亦即在與前一次變異時相同數量的模擬測試資料中,將有更多的模擬測試資料會被隨機選擇到以變異型態M11進行變異。同理,假設使用者欲針對「反應時間過長」的錯誤類型進行更深度的測試,則處理器111可根據測試結果TR_1,將變異型態M12的權重值W11從第一次測試前的「5」調整為「15」,亦即在與前一次變異時相同數量的模擬測試資料中,將有更多的模擬測試資料會被隨機選擇到以變異型態M12進行變異。
在某些實施例中,儲存器113還可儲存包含複數預設測試資料的一預設測試資料集,其中該複數預設測試資料符合待測裝置19所接受的資料格式(但測試資料產生裝置11不知道該資料格式)。在此情況下,處 理器111可根據該預設測試資料集,透過一機器學習演算法來分析待測裝置19的溝通模式,以得知待測裝置19所接受的資料格式為何,並接著基於該資料格式產生模擬測試資料集STDS中的該複數模擬測試資料。因此,模擬測試資料集STDS中的每一筆模擬測試資料實質上皆符合待測裝置19所接受的該資料格式。舉例而言,處理器111可透過例如但不限於一長短期記憶模型(Long Short-Term Memory,LSTM)、一遞歸神經網路(Recurrent Neural Network,RNN)、深度神經網路(Deep Neural Network,DNN)等關於深度學習(deep learning)的演算法,根據該複數預設測試資料而訓練出關於待測裝置19所採用的協定的一模型,亦即學習待測裝置19的溝通模式,並接著透過該模型來產生該複數模擬測試資料,以產生實質上符合待測裝置19所接受的資料格式的該複數模擬測試資料。所述模擬測試資料的產生方式具有以下優點:只要將一待測裝置19可接受的資料格式的複數測試資料提供至處理器111,其便可透過機器學習的方式而自行學習待測裝置19的溝通模式,並產生符合待測裝置19所接受的資料格式的模擬測試資料,而不需知道待測裝置19所採用的協定為何,因此可不受限於使用特定一種協定的待測裝置19。
第3A-3B圖例示了在本發明的一或多個實施例中第1圖所示測試系統1的運作的示意圖。第3A圖及第3B圖所示內容僅是為了說明本發明的實施例,而非為了限制本發明。
如第3A圖所示,測試資料產生裝置11可首先分析並學習(例如:透過與機器學習相關的一深度學習演算法)待測裝置19的溝通模式(標示為動作301)然後根據該構通模式產生且儲存複數模擬測試資料(標示為 動作303),其中該複數模擬測試資料中的每一筆均實質上符合待測裝置19所接受之一資料格式,且該資料格式包含不同的複數資料區塊。隨後,測試資料產生裝置11可分析該複數模擬測試資料中對應至每一個資料區塊的資料內容的資料變化率(標示為動作305),然後根據該複數資料區塊的該複數資料變化率決定複數變異型態的權重值(標示為動作307),其中該複數變異型態的每一者是指針對對應至該複數資料區塊的其中一者的資料內容以複數變異方式其中一者進行變異,且該複數變異方式可至少包含一位元變異、一字元變異、以及一長度變異。
如第3B圖所示,測試資料產生裝置11可基於該複數變異型態的權重值,針對該複數模擬測試資料中的每一者隨機決定以該複數變異型態其中一者進行變異,以產生複數測試資料(標示為動作309)。隨後,測試裝置10可將該複數測試資料輸入至待測裝置19以進行測試(標示為動作311),以獲得一測試結果。接著,測試裝置10可判斷該測試結果是否滿足一預設條件(標示為動作313)。若判斷結果為是,則可終止該測試資料產生及測試流程;而若判斷結果為否,則測試資料產生裝置11可根據該測試結果調整該複數變異型態的權重值(標示為動作315)。在測試資料產生裝置11調整該複數變異型態的權重值之後,將再次依序進行動作309、動作311、以及動作313,直至測試的結果滿足該預設條件。
舉例而言,該預設條件可以是但不限於造成待測裝置19發生某特定類型錯誤的測試資料的數量佔全部測試資料數量的百分比低於一預設值如百分之一。或者,該預設條件可以是測試的次數達到某一預設門檻值,例如一百次。
第4圖例示了在本發明的一或多個實施例中的一種測試資料產生方法的示意圖。第4圖所示內容僅是為了說明本發明的實施例,而非為了限制本發明。
參照第4圖,一測試資料產生方法4可包含以下步驟:由一測試資料產生裝置儲存複數模擬測試資料,其中該複數模擬測試資料中的每一筆均實質上符合一待測裝置所接受之一資料格式,且該資料格式包含不同的複數資料區塊(標示為401);以及由該測試資料產生裝置針對該複數模擬測試資料之每一者,以複數變異型態其中之一者進行變異以產生用以測試該待測裝置之複數第一測試資料,其中該複數變異型態之每一者是指針對該複數資料區塊其中之一者,以複數變異方式其中之一者進行變異(標示為403)。
在某些實施例中,該複數變異方式可至少包含一位元變異、一字元變異以及一長度變異。
在某些實施例中,除了步驟401-403之外,測試資料產生方法4還可包含以下步驟:由該測試資料產生裝置學習該待測裝置之溝通模式,以取得該待測裝置所接受之該資料格式;以及由該測試資料產生裝置基於該資料格式產生該複數模擬測試資料。另外,非限制地,該測試資料產生裝置是以一機器學習演算法分析該待測裝置之溝通模式。
在某些實施例中,除了步驟401-403之外,測試資料產生方法4還可包含以下步驟: 由該測試資料產生裝置針對該複數變異型態中的每一者決定一權重值,其中該複數變異型態中對應至相同資料區塊的變異型態的權重值與該複數模擬測試資料中對應至該資料區塊的資料變化率有關;以及由該測試資料產生裝置針對該複數模擬測試資料之每一者,依據該複數權重值隨機選擇以該複數變異型態其中之一者進行變異,以產生該複數第一測試資料。另外,非限制地,該複數變異型態中對應至相同資料區塊的變異型態的權重值與該複數模擬測試資料中對應至該資料區塊的資料變化率可以是逆相關的。
在某些實施例中,除了步驟401-403之外,測試資料產生方法4還可包含以下步驟:由該測試資料產生裝置針對該複數變異型態中的每一者決定一權重值,其中該複數變異型態中對應至相同資料區塊的變異型態的權重值與該複數模擬測試資料中對應至該資料區塊的資料變化率有關;由該測試資料產生裝置針對該複數模擬測試資料之每一者,依據該複數權重值隨機選擇以該複數變異型態其中之一者進行變異,以產生該複數第一測試資料;由該測試資料產生裝置根據該複數第一測試資料的測試結果,調整該複數變異型態之該複數權重值;以及由該測試資料產生裝置依據調整後之該複數權重值,針對該複數模擬測試資料之每一者隨機選擇該複數變異型態其中之一者進行變異,以產生用以測試該待測裝置之複數第二測試資料。
在某些實施例中,除了上述步驟之外,測試資料產生方法4 還可以與測試資料產生裝置11有關的上述所有實施例相對應的其他步驟。因本發明所屬技術領域中具有通常知識者可根據上文針對測試資料產生裝置11的說明而瞭解這些其他步驟,於此不再贅述。
雖然本文揭露了多個實施例,但該等實施例並非用以限制本發明,且在不脫離本發明的精神和範圍的情況下,該等實施例的等效物或方法(例如,對上述實施例進行修改及/或合併)亦是本發明的一部分。本發明的範圍以申請專利範圍所界定的內容為準。
4‧‧‧測試資料產生方法
401、403‧‧‧步驟

Claims (12)

  1. 一種測試資料產生裝置,包含:一儲存器,用以儲存複數模擬測試資料,其中該複數模擬測試資料中的每一筆均實質上符合一待測裝置所接受之一資料格式,且該資料格式包含不同的複數資料區塊;以及一處理器,與該儲存器電性連接,用以:學習該待測裝置之溝通模式,以取得該待測裝置所接受之該資料格式;基於該資料格式產生該複數模擬測試資料;以及針對該複數模擬測試資料之每一者,以複數變異型態其中之一者進行變異(mutation)以產生用以測試該待測裝置之複數第一測試資料,其中該複數變異型態之每一者是指針對該複數資料區塊其中之一者,以複數變異方式其中之一者進行變異。
  2. 如請求項1所述之測試資料產生裝置,其中該複數變異方式至少包含一位元變異、一字元變異以及一長度變異。
  3. 如請求項1所述之測試資料產生裝置,其中該處理器是以一機器學習(machine learning)演算法分析該待測裝置之溝通模式。
  4. 如請求項1所述之測試資料產生裝置,其中該處理器還用以:針對該複數變異型態中的每一者決定一權重值,其中該複數變異型態中對應至相同資料區塊的變異型態的權重值與該複數模擬測試資料中對應至該資料區塊的資料變化率有關;以及針對該複數模擬測試資料之每一者,依據該複數權重值隨機選擇以 該複數變異型態其中之一者進行變異,以產生該複數第一測試資料。
  5. 如請求項4所述之測試資料產生裝置,其中該複數變異型態中對應至相同資料區塊的變異型態的權重值與該複數模擬測試資料中對應至該資料區塊的資料變化率是逆相關的。
  6. 如請求項4所述之測試資料產生裝置,其中該處理器還用以根據該複數第一測試資料的測試結果,調整該複數變異型態之該複數權重值,並依據調整後之該複數權重值,針對該複數模擬測試資料之每一者隨機選擇該複數變異型態其中之一者進行變異,以產生用以測試該待測裝置之複數第二測試資料。
  7. 一種測試資料產生方法,包含:由一測試資料產生裝置學習一待測裝置之溝通模式,以取得該待測裝置所接受之一資料格式;由該測試資料產生裝置基於該資料格式產生複數模擬測試資料;由該測試資料產生裝置儲存該複數模擬測試資料,其中該複數模擬測試資料中的每一筆均實質上符合該待測裝置所接受之該資料格式,且該資料格式包含不同的複數資料區塊;以及由該測試資料產生裝置針對該複數模擬測試資料之每一者,以複數變異型態其中之一者進行變異以產生用以測試該待測裝置之複數第一測試資料,其中該複數變異型態之每一者是指針對該複數資料區塊其中之一者,以複數變異方式其中之一者進行變異。
  8. 如請求項7所述之測試資料產生方法,其中該複數變異方式至少包含一位元變異、一字元變異以及一長度變異。
  9. 如請求項7所述之測試資料產生方法,其中該測試資料產生裝置是以一機器學習演算法分析該待測裝置之溝通模式。
  10. 如請求項7所述之測試資料產生方法,還包含:由該測試資料產生裝置針對該複數變異型態中的每一者決定一權重值,其中該複數變異型態中對應至相同資料區塊的變異型態的權重值與該複數模擬測試資料中對應至該資料區塊的資料變化率有關;以及由該測試資料產生裝置針對該複數模擬測試資料之每一者,依據該複數權重值隨機選擇以該複數變異型態其中之一者進行變異,以產生該複數第一測試資料。
  11. 如請求項10所述之測試資料產生方法,其中該複數變異型態中對應至相同資料區塊的變異型態的權重值與該複數模擬測試資料中對應至該資料區塊的資料變化率是逆相關的。
  12. 如請求項10所述之測試資料產生方法,還包含:由該測試資料產生裝置根據該複數第一測試資料的測試結果,調整該複數變異型態之該複數權重值;以及由該測試資料產生裝置依據調整後之該複數權重值,針對該複數模擬測試資料之每一者隨機選擇該複數變異型態其中之一者進行變異,以產生用以測試該待測裝置之複數第二測試資料。
TW107139177A 2018-11-05 2018-11-05 測試資料產生裝置及測試資料產生方法 TWI682295B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107139177A TWI682295B (zh) 2018-11-05 2018-11-05 測試資料產生裝置及測試資料產生方法
CN201811342789.3A CN111143190B (zh) 2018-11-05 2018-11-13 测试数据产生装置及测试数据产生方法
US16/207,033 US10846188B2 (en) 2018-11-05 2018-11-30 Device and method for producing test data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107139177A TWI682295B (zh) 2018-11-05 2018-11-05 測試資料產生裝置及測試資料產生方法

Publications (2)

Publication Number Publication Date
TWI682295B true TWI682295B (zh) 2020-01-11
TW202018543A TW202018543A (zh) 2020-05-16

Family

ID=69942459

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107139177A TWI682295B (zh) 2018-11-05 2018-11-05 測試資料產生裝置及測試資料產生方法

Country Status (3)

Country Link
US (1) US10846188B2 (zh)
CN (1) CN111143190B (zh)
TW (1) TWI682295B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853853B1 (en) 2019-09-18 2023-12-26 Rapid7, Inc. Providing human-interpretable explanation for model-detected anomalies
US11509674B1 (en) 2019-09-18 2022-11-22 Rapid7, Inc. Generating machine learning data in salient regions of a feature space
CN115118413B (zh) * 2022-08-29 2022-11-08 联宝(合肥)电子科技有限公司 一种tds的有效性测试方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805795A (en) * 1996-01-05 1998-09-08 Sun Microsystems, Inc. Method and computer program product for generating a computer program product test that includes an optimized set of computer program product test cases, and method for selecting same
US8010844B2 (en) * 2007-06-05 2011-08-30 Electronics And Telecommunications Research Institute File mutation method and system using file section information and mutation rules
TW201734791A (zh) * 2016-03-23 2017-10-01 Alibaba Group Services Ltd 軟體測試方法和裝置
TWI617933B (zh) * 2014-12-18 2018-03-11 Asml荷蘭公司 藉由機器學習之特徵搜尋

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214746A (en) * 1991-06-17 1993-05-25 Orincon Corporation Method and apparatus for training a neural network using evolutionary programming
CN101873506B (zh) * 2009-04-21 2012-01-25 财团法人工业技术研究院 提供深度信息的影像处理方法及其影像处理系统
JP2013143155A (ja) * 2012-01-06 2013-07-22 Powerchip Technology Corp 不揮発性半導体記憶装置とその書き込み方法
US8938646B2 (en) * 2012-10-24 2015-01-20 International Business Machines Corporation Mutations on input for test generation
TWI501628B (zh) * 2013-01-08 2015-09-21 Novatek Microelectronics Corp 雜訊估測裝置及其方法
US11004012B2 (en) * 2017-11-29 2021-05-11 International Business Machines Corporation Assessment of machine learning performance with limited test data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805795A (en) * 1996-01-05 1998-09-08 Sun Microsystems, Inc. Method and computer program product for generating a computer program product test that includes an optimized set of computer program product test cases, and method for selecting same
US8010844B2 (en) * 2007-06-05 2011-08-30 Electronics And Telecommunications Research Institute File mutation method and system using file section information and mutation rules
TWI617933B (zh) * 2014-12-18 2018-03-11 Asml荷蘭公司 藉由機器學習之特徵搜尋
TW201734791A (zh) * 2016-03-23 2017-10-01 Alibaba Group Services Ltd 軟體測試方法和裝置

Also Published As

Publication number Publication date
US10846188B2 (en) 2020-11-24
US20200142794A1 (en) 2020-05-07
TW202018543A (zh) 2020-05-16
CN111143190A (zh) 2020-05-12
CN111143190B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
TWI682295B (zh) 測試資料產生裝置及測試資料產生方法
JP6555411B2 (ja) 情報処理方法および情報処理装置
Radchenko et al. Improved variable selection with forward-lasso adaptive shrinkage
CN110147732A (zh) 指静脉识别方法、装置、计算机设备及存储介质
Sharma et al. Software testing using genetic algorithms
TWI781354B (zh) 測試資料產生系統及測試資料產生方法
CN115114421A (zh) 一种问答模型训练方法
CN116306863A (zh) 基于对比学习的协同知识追踪建模方法及系统
US9904961B2 (en) System and method for determining the feedback capacity of information distributed in a complex network
Anil et al. Black-box search by elimination of fitness functions
Keeler et al. A model framework for greedy routing in a sensor network with a stochastic power scheme
CN116467466A (zh) 基于知识图谱的编码推荐方法、装置、设备及介质
Chen et al. Perfect sampling of multivariate Hawkes processes
CN116263972A (zh) 基于量子生成对抗网络的图像生成方法及装置
Lim et al. Analyzing deep neural networks with noisy labels
Picos et al. Pose estimation in noncontinuous video sequences using evolutionary correlation filtering
Chen et al. Reconfidencing LLMs from the Grouping Loss Perspective
JP2012238075A (ja) 特徴選択装置、特徴選択方法及び特徴選択プログラム
TWI769820B (zh) 生成對抗網路優化方法及電子設備
Shao et al. Improving Cognitive Diagnosis Models with Adaptive Relational Graph Neural Networks
Schönhuth Generic identification of binary-valued hidden Markov processes
Zhang et al. Multi-Factor Influencing Truth Inference in Crowdsourcing.
CN116056074A (zh) 基于多重验证的无线通信控制方法及应用其的无线路由器
TW202201261A (zh) 兼顧不平衡資料集與高召回率要求的對抗樣本生成方法、系統及電腦可讀取記錄媒體
CN117788193A (zh) 一种针对不完整用户信息的谣言源检测方法