TWI571737B - 軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體 - Google Patents

軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體 Download PDF

Info

Publication number
TWI571737B
TWI571737B TW104138069A TW104138069A TWI571737B TW I571737 B TWI571737 B TW I571737B TW 104138069 A TW104138069 A TW 104138069A TW 104138069 A TW104138069 A TW 104138069A TW I571737 B TWI571737 B TW I571737B
Authority
TW
Taiwan
Prior art keywords
test
software
input
parameters
processing unit
Prior art date
Application number
TW104138069A
Other languages
English (en)
Other versions
TW201719411A (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 TW104138069A priority Critical patent/TWI571737B/zh
Priority to US15/047,603 priority patent/US9830252B2/en
Priority to GB1603189.0A priority patent/GB2544568A/en
Application granted granted Critical
Publication of TWI571737B publication Critical patent/TWI571737B/zh
Publication of TW201719411A publication Critical patent/TW201719411A/zh

Links

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/3664Environments for testing or debugging software
    • 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/3684Test management for test design, e.g. generating new test cases
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

軟體測試系統、方法及其非暫態電腦可 讀取紀錄媒體
本發明是有關於一種軟體測試技術,且特別是有關於一種軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體。
在軟體的設計發展過程中,需要在許多發展階段對函式進行測試,以驗證軟體的品質。許多工具軟體被開發來自動產生測試個案。然而,部分技術產生具有所有可能的參數的測試個案來進行測試,不但耗時,並且無法針對不同待測軟體的特性而有效地找出問題。部分技術採用亂數的方式產生測試個案進行測試,並無法確認產生的亂數是否為有效的測試值,因此同樣無法在效率上取得優勢。另有部分技術採用非確定性程序(non-deterministic programming)的方式來產生個案,但是這樣的方法依舊是建立在亂數與隨機的基礎上,而無法更有效地進行測試。
因此,如何設計一個新的軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體,以解決上述缺陷,乃為此一業界亟待解決的問題。
因此,本發明之一態樣是在提供一種軟體測試系統,包含記憶體以及處理單元。記憶體儲存複數個電腦可執行之指令。指令包括:輸入輸出偵測模組、運作狀態偵測模組、分析模組、測試個案產生模組以及測試模組。輸入輸出偵測模組配置以偵測對應儲存於記憶體之待測軟體在連續運作狀態時的複數輸入輸出參數。運作狀態偵測模組配置以偵測對應待測軟體在連續運作狀態時的複數內部運作參數。分析模組配置以根據輸入輸出參數以及內部運作參數之數值範圍及參數型態,藉由機率模型建立待測軟體所包含之複數函式間之各複數參數變化組合的參數變化機率。測試個案產生模組配置以根據參數變化組合及參數變化機率產生至少一測試個案,測試個案包含複數測試參數。測試模組配置以根據測試個案傳送測試參數至待測軟體以進行測試。處理單元耦接於記憶體以執行指令。
本發明之另一態樣是在提供一種軟體測試方法,應用於軟體測試系統中,軟體測試系統包含儲存複數個電腦可執行之指令的一記憶體以及耦接於記憶體之處理單元,處理單元用以執行指令,以執行軟體測試方法,軟體測試方法包含:使處理單元偵測對應儲存於記憶體之待測軟體 在連續運作狀態時的複數輸入輸出參數;使處理單元偵測對應待測軟體在連續運作狀態時的複數內部運作參數;使處理單元根據輸入輸出參數以及內部運作參數之數值範圍及參數型態,藉由機率模型建立待測軟體所包含之複數函式間之各複數參數變化組合的參數變化機率;使處理單元根據參數變化組合及參數變化機率產生至少一測試個案,測試個案包含複數測試參數;以及使處理單元根據測試個案傳送測試參數至待測軟體以進行測試。
本發明之又一態樣是在提供一種非暫態電腦可讀取紀錄媒體,儲存電腦程式,電腦程式包含電腦可執行之複數指令,用以執行應用於軟體測試系統的軟體測試方法,軟體測試系統包含儲存複數個電腦可執行之指令的一記憶體以及耦接於記憶體之處理單元,處理單元用以執行指令,以執行軟體測試方法,軟體測試方法包含:使處理單元偵測對應儲存於記憶體之待測軟體在連續運作狀態時的複數輸入輸出參數;使處理單元偵測對應待測軟體在連續運作狀態時的複數內部運作參數;使處理單元根據輸入輸出參數以及內部運作參數之數值範圍及參數型態,藉由機率模型建立待測軟體所包含之複數函式間之各複數參數變化組合的參數變化機率;使處理單元根據參數變化組合及參數變化機率產生至少一測試個案,測試個案包含複數測試參數;以及使處理單元根據測試個案傳送測試參數至待測軟體以進行測試。
應用本發明之優點在於,本案的軟體測試系統利用訓練模式建立待測軟體中,函式間的輸入與輸出的機率 關係,進而據以產生測試個案中的測試參數,將更有效地找出容易發生異常的狀況,不但使測試的時間長度有效縮短,更在測試效率上大幅提升,而輕易地達到上述之目的。
1‧‧‧軟體測試系統
10‧‧‧處理單元
11‧‧‧使用者輸入
12‧‧‧記憶體
120‧‧‧指令
122‧‧‧待測軟體
14‧‧‧顯示單元
16‧‧‧輸入單元
18‧‧‧網路單元
20‧‧‧輸入輸出偵測模組
21‧‧‧輸入輸出參數
22‧‧‧運作狀態偵測模組
23‧‧‧內部運作參數
24‧‧‧分析模組
25‧‧‧參數變化組合
26‧‧‧測試個案產生模組
27‧‧‧參數變化機率
28‧‧‧測試模組
29‧‧‧測試個案
400‧‧‧軟體測試方法
401-411‧‧‧步驟
500‧‧‧方法
501-507‧‧‧步驟
第1圖為本發明一實施例中,一種軟體測試系統之方塊圖;第2圖為本發明一實施例中,處理單元執行第1圖的指令時的方塊圖;第3圖為本發明一實施例中,三種參數型態間的變化機率關係圖;第4圖為本發明一實施例中,一種軟體測試方法的流程圖;以及第5圖為本發明一實施例中,用以執行第4圖的步驟中的訓練模式的方法更詳細的流程圖。
請參照第1圖。第1圖為本發明一實施例中,一種軟體測試系統1之方塊圖。軟體測試系統1包含:處理單元10、記憶體12、包括顯示單元14及輸入單元16的使用者輸入輸出介面以及網路單元18。
處理單元10耦接記憶體12、顯示單元14、輸入單元16及網路單元18。處理單元10可為各種具有運算能力的 處理器,並可透過不同的資料傳輸路徑與上述的單元進行資料傳輸。記憶體12可包含一或多個不同形式的儲存元件,例如但不限於唯讀記憶體、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫或其他類型之記憶體。
於一實施例中,顯示單元14可為例如,但不限於液晶顯示器,以依據處理單元10的控制產生顯示畫面。於一實施例中,輸入單元16可為例如,但不限於滑鼠、鍵盤或其他可用以接收使用者輸入11的裝置,以在使用者的操作下傳送指令至處理單元10。
網路單元18可連接至網路(未繪示),例如但不限於區域網路或是網際網路。處理單元10可藉由網路單元18透過網路與其他的遠端主機進行通訊。
需注意的是,上述的元件僅為一示例性說明。於其他實施例中,軟體測試系統1亦可包含其他類型的元件。
記憶體12儲存有多個電腦可執行的指令120。當指令120由處理單元10執行處理動作時,可作用為多個模組,以執行並提供軟體測試系統1的功能。於一實施例中,處理單元10可藉由判斷是否自輸入單元16接收到用以驅動軟體測試系統1的使用者輸入11來判斷是否運行軟體測試系統1。以下將就處理單元10執行軟體測試系統1時的處理動作進行說明。
請同時參照第2圖。第2圖為本發明一實施例中,處理單元10執行第1圖的指令120時的方塊圖。於本實 施例中,該等指令120包括:輸入輸出偵測模組20、運作狀態偵測模組22、分析模組24、測試個案產生模組26以及測試模組28。
於一實施例中,第1圖所繪示的記憶體12可儲存有待測軟體122。待測軟體122可為各種類型的軟體,例如但不限於網頁軟體、資料庫軟體或其他類型的應用軟體。輸入輸出偵測模組20、運作狀態偵測模組22及分析模組24可先在訓練模式下針對待測軟體122進行參數的偵測與分析。此時,待測軟體122是由使用者進行一般的操作以產生相關的參數。測試個案產生模組26依據分析結果產生一或多個測試個案29。測試模組28接著在測試模式下依據測試個案29所包含的測試參數對待測軟體122進行測試。
於一實施例中,處理單元10可選擇性地進行訓練模式或測試模式。於一實施例中,處理單元10藉由判斷自輸入單元16接收到用以選擇的使用者輸入11來選擇是執行訓練模式亦或執行測試模式。
以下將針對各個模組的運作方式進行更詳細的說明。
輸入輸出偵測模組20偵測對應待測軟體122在連續運作狀態時的輸入輸出參數21。
於一實施例中,第1圖的記憶體12可儲存有分析程式(parser,未繪示)。處理單元10可在執行分析程式後,偵測正在運行中的應用軟體,並控制顯示單元14顯示相關的應用軟體清單畫面。處理單元10可接著透過輸入單元16接收 來自使用者,用以選取運行中的應用軟體其中之一做為待測軟體122的使用者輸入11,以由輸入輸出偵測模組20偵測該待測軟體122的輸入輸出參數21。
於一實施例中,輸入輸出參數21是處理單元10執行待測軟體122時,透過第1圖的網路單元18、使用者輸入輸出介面或其組合所輸入或輸出的參數。舉例來說,當待測軟體122為網頁軟體時,輸入輸出參數21可包含藉由網路單元18所接收,用以操作該網頁軟體的遠端操作輸入訊號,以及網路單元18所傳送的回應輸出訊號。
運作狀態偵測模組22偵測對應待測軟體122在連續運作狀態時的複數內部運作參數23。於一實施例中,待測軟體122包含多個函式,以執行不同的功能。內部運作參數23包含例如,但不限於待測軟體122在連續運作狀態時的記憶體使用參數以及函式的使用參數。舉例來說,記憶體使用參數包含待測軟體122在連續運作狀態時所使用到的記憶體位址以及記憶體用量,而使用參數則包含各個函式的輸入及輸出值。
分析模組24根據輸入輸出參數21以及內部運作參數23之數值範圍及參數型態,藉由機率模型建立待測軟體122所包含之函式間之各參數變化組合25的參數變化機率27。
於一實施例中,數值範圍為輸入輸出參數21以及內部運作參數23的數值大小所在的範圍,而參數型態可包含例如,但不限於布林(Boolean)、數值(Number) 和字串(String)的型態。機率模型可為例如,但不限於馬可夫模型(Markov model)。
請參照第3圖。第3圖為本發明一實施例中,三種參數型態間的變化機率關係圖。其中,B代表布林型態,N代表數值型態,而S代表字串型態。
如第3圖所示,RNS表示參數在例如,但不限於函式的輸入與輸出間,由數值型態輸入轉變為字串型態輸出的機率。類似的,RSN表示參數由字串型態輸入轉變為數值型態輸出的機率。RNN、RSS、RBB分別表示參數由數值型態輸入轉變為數值型態輸出、由字串型態輸入轉變為字串型態輸出以及由布林型態輸入轉變為布林型態輸出的機率。RSB、RBS分別表示參數由字串型態輸入轉變為布林型態輸出以及由布林型態輸入轉變為字串型態輸出的機率。RNB、RBN分別表示參數由數值型態輸入轉變為布林型態輸出以及由布林型態輸入轉變為數值型態輸出的機率。
藉由馬可夫模型,將可找出連續事件發生的機率,以找出參數隨著函式運作時的相關性。因此,當待測軟體122中的多個函式間有一系列的參數變化組合25時,分析模組24將可建立參數變化組合25的參數變化機率27。舉例來說,當一個函式的參數由數值型態輸入轉變為布林型態輸出的機率為RNB1,下一個函式由布林型態輸入轉變為字串型態輸出的機率為RBS2,則此二函式間的參數變化機率將為RNB1和RBS2相乘而得。
請再次參照第2圖。於一實施例中,以輸入輸出偵測模組20、運作狀態偵測模組22及分析模組24所進行的訓練模式可由輸入單元16接收來自使用者對訓練模式進行控制的輸入,以中斷訓練模式,或是設定訓練模式的時間長度或終止條件。其中,終止條件可為例如,但不限於在執行到待測軟體122中的特定函式時終止。
測試個案產生模組26根據參數變化組合25以及參數變化機率27產生一個或多個測試個案29。測試個案29包含複數測試參數(未繪示)。
於一實施例中,參數變化機率27較高的參數變化組合25屬於正常行為的模式。相反的,參數變化機率27較高的參數變化組合25則是較有可能發生例外狀態的模式。因此,測試個案產生模組26是根據參數變化機率27中,小於預設機率值者所對應的參數變化組合25來產生測試個案29中的測試參數,以達到測試待測軟體122是否在不同的輸入輸出狀況下會有異常的情形發生。
於一實施例中,處理單元10在訓練模式終止時,會控制第1圖的顯示單元14顯示輸入輸出參數21、內部運作參數23、參數變化組合25及參數變化機率27。處理單元10更藉由輸入單元16接收對測試個案進行調整的使用者輸入11。測試個案產生模組26將根據輸入調整測試個案29中的測試參數之權重比例及測試個案29之數量。
於一實施例中,處理單元10可在訓練模式結束並產生測試個案29後,亦或具有已儲存的測試資料時,驅 動測試模組28進入測試模式。測試模組28根據測試個案29,在測試模式中傳送測試參數至待測軟體122以進行測試。
於一實施例中,測試模組28可對所有待測軟體122的函式進行測試,抑或僅測試部分的函式。於一實施例中,在測試進行時,如發生符合終止條件的狀況,例如但不限於記憶體錯誤、軟體中斷或是軟體執行完畢的情形,測試模組28將停止測試,並控制顯示單元14顯示測試狀態及測試結果。在實作中,處理單元10可將測試結果儲存於記憶體12中。
於一實施例中,輸入輸出偵測模組20、運作狀態偵測模組22及分析模組24亦可在測試模式運作,以蒐集待測軟體122在受測時所產生的參數並進行分析,以使待測試個案產生模組26根據分析的結果產生新的測試個案。
於一實施例中,處理單元10可在測試模式結束後,藉由判斷是否自輸入單元16接收到確認進行下一輪測試的輸入,以決定是否繼續下一輪的測試。
於部分技術中,是產生具有所有可能的參數的測試個案來進行測試。這樣的方式不但耗時,並且無法針對不同待測軟體的特性而有效地找出問題。部分技術則是採用亂數的方式產生測試個案進行測試。這樣的方式並無法確認產生的亂數是否為有效的測試值,因此同樣無法在效率上取得優勢。另有部分技術採用非確定性程序(non-deterministic programming)的方式來產生個案, 但是這樣的方法依舊是建立在亂數與隨機的基礎上,而無法更有效地進行測試。
因此,本案的軟體測試系統1利用訓練模式建立待測軟體中,函式間的輸入與輸出的機率關係,進而據以產生測試個案中的測試參數,將更有效地找出容易發生異常的狀況,不但使測試的時間長度有效縮短,更在測試效率上大幅提升。
請參照第4圖。第4圖為本發明一實施例中,一種軟體測試方法400的流程圖。軟體測試方法400可應用於如第1圖所繪示的軟體測試系統1中,或經由其他硬體元件如資料庫、一般處理器、計算機、伺服器、或其他具特定邏輯電路的獨特硬體裝置或具特定功能的設備來實作,如將程式碼和處理器/晶片整合成獨特硬體。此方法可實作為一電腦程式,並儲存於一電腦可讀取記錄媒體中,而使電腦讀取此記錄媒體後執行即時地點推薦方法。電腦可讀取記錄媒體可為唯讀記憶體、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫或熟悉此技藝者可輕易思及具有相同功能之電腦可讀取紀錄媒體。
軟體測試方法400包含下列步驟(應瞭解到,在本實施方式中所提及的步驟,除特別敘明其順序者外,均可依實際需要調整其前後順序,甚至可同時或部分同時執行)。
於步驟401,判斷是否運行軟體測試系統1。於一實施例中,處理單元10可藉由判斷是否自輸入單元16接收到用以驅動軟體測試系統1的輸入來判斷是否運行軟體 測試系統1。當並未運行軟體測試系統1時,流程將回至步驟401繼續判斷。
而當運行軟體測試系統1時,流程將進行至步驟402,處理單元10執行分析程式以偵測正在運行中的應用軟體,並藉由自輸入單元16接收到用以選擇的使用者輸入11來選擇待測軟體122。
於步驟403,判斷是否選擇訓練模式。於一實施例中,處理單元10可藉由判斷自輸入單元16接收到用以選擇的使用者輸入11來選擇是執行訓練模式亦或執行測試模式。
當並未選擇訓練模式時,軟體測試系統1是執行測試模式。於步驟404,將判斷是否有測試個案的存在。於一實施例中,處理單元10可藉由判斷記憶體12是否儲存有測試個案來判斷測試個案是否存在。
當步驟404判斷的結果為並未有測試個案的存在,或是步驟403選擇的是訓練模式時,流程將進行至步驟405,處理單元10驅動輸入輸出偵測模組20、運作狀態偵測模組22及分析模組24進行訓練模式以產生測試個案。
當測試個案29於步驟405產生後,或是在步驟404中判斷測試個案存在時,流程將進行至步驟406,進行測試模式。
於步驟407,判斷是否發生符合終止條件的狀況,例如但不限於記憶體錯誤、軟體中斷或是軟體執行完畢的情形。當上述情形並未發生時,流程將回至步驟406,繼 續進行測試模式。而當上述情形發生時,於步驟408,處理單元10控制顯示單元14顯示測試結果。接著於步驟409,在實作中,處理單元10可將測試結果儲存於記憶體12中,並依據測試結果建立新的測試個案。
進一步地,於步驟410,處理單元10判斷是否繼續下一輪的測試。於一實施例中,處理單元10可藉由判斷是否自輸入單元16接收到確認進行下一輪測試的輸入,以決定是否繼續下一輪的測試。當處理單元10判斷繼續下一輪的測試時,流程回至步驟402,以進行上述的流程。而當處理單元10判斷不再繼續下一輪的測試時,流程將進行至步驟411,結束測試。
請同時參照第5圖。第5圖為本發明一實施例中,用以執行第4圖的步驟405中的訓練模式的方法500更詳細的流程圖。
於步驟501,處理單元10驅動輸入輸出偵測模組2偵測對應待測軟體122在連續運作狀態時的輸入輸出參數21。
於步驟502,處理單元10驅動運作狀態偵測模組22偵測對應待測軟體122在連續運作狀態時的內部運作參數23。
於步驟503,處理單元10驅動分析模組24根據輸入輸出參數21以及內部運作參數23之數值範圍及參數型態,藉由機率模型建立待測軟體122所包含之複數函式間之各複數參數變化組合25的參數變化機率27。
於步驟504,訓練模式結束,且處理單元10控制顯示單元16顯示訓練結果。
於步驟505,處理單元10藉由輸入單元16接收對測試個案進行調整的輸入,例如對測試參數或是測試個案數目的調整。接著於步驟506,處理單元10驅動測試個案產生模組26根據參數變化組合25及參數變化機率27產生測試個案29。
於步驟507,處理單元10儲存訓練結果以及測試個案29於記憶體12。
需注意的是,上述的步驟中,部分可視實作的需求而調整順序或增減,不為上述的順序及內容所限。
雖然本案內容已以實施方式揭露如上,然其並非配置以限定本案內容,任何熟習此技藝者,在不脫離本案內容之精神和範圍內,當可作各種之更動與潤飾,因此本案內容之保護範圍當視後附之申請專利範圍所界定者為準。
500‧‧‧方法
501-507‧‧‧步驟

Claims (19)

  1. 一種軟體測試系統,包含:一記憶體,儲存複數個電腦可執行之指令,其中該等指令包括:一輸入輸出偵測模組,配置以偵測對應儲存於該記憶體之一待測軟體在連續運作狀態時的複數輸入輸出參數;一運作狀態偵測模組,配置以偵測對應該待測軟體在連續運作狀態時的複數內部運作參數;一分析模組,配置以根據該等輸入輸出參數以及該等內部運作參數之一數值範圍及一參數型態,藉由一機率模型建立該待測軟體所包含之複數函式間之各複數參數變化組合的一參數變化機率;一測試個案產生模組,配置以根據該等參數變化組合及該參數變化機率產生至少一測試個案,該測試個案包含複數測試參數;以及一測試模組,配置以根據該測試個案傳送該等測試參數至該待測軟體以進行測試;以及一處理單元,耦接於該記憶體以執行該等指令。
  2. 如請求項1所述之軟體測試系統,其中該測試個案產生模組根據該參數變化機率中,小於一預設機率值的複數參數變化組合產生該等測試參數。
  3. 如請求項1所述之軟體測試系統,其中該機率模型為一馬可夫模型(Markov model)。
  4. 如請求項1所述之軟體測試系統,其中該等輸入輸出參數由該處理單元執行該待測軟體時,透過一網路單元、一使用者輸入輸出介面或其組合所輸入或輸出。
  5. 如請求項1所述之軟體測試系統,其中該等內部運作參數包含該待測軟體在連續運作狀態時之複數記憶體使用參數以及該等函式之複數使用參數。
  6. 如請求項1所述之軟體測試系統,其中該參數型態包含一布林(Boolean)、一數值(Number)和一字串(String)或其組合。
  7. 如請求項1所述之軟體測試系統,其中該輸入輸出偵測模組、該運作狀態偵測模組以及該分析模組係在該測試模組進行測試前之一訓練模式中運作或是在該測試模組進行測試時之一測試模式中運作。
  8. 如請求項7所述之軟體測試系統,更包含一使用者輸入輸出介面,該使用者輸入輸出介面包含一輸入單元,配置以接收一訓練模式控制輸入,以使該處理單元 根據該訓練模式控制輸入中斷該訓練模式或設定該訓練模式之一時間長度或一終止條件。
  9. 如請求項8所述之軟體測試系統,其中該使用者輸入輸出介面更包含一顯示單元,配置以於該訓練模式終止時顯示該等輸入輸出參數、該等內部運作參數、該等參數變化組合以及該參數變化機率,並藉由該輸入單元接收一測試個案調整輸入,該測試個案產生模組根據該測試個案調整輸入調整該等測試參數之權重比例及該測試個案之數量。
  10. 一種軟體測試方法,應用於一軟體測試系統中,該軟體測試系統包含儲存複數個電腦可執行之指令的一記憶體以及耦接於該記憶體之一處理單元,該處理單元用以執行該等指令,以執行該軟體測試方法,該軟體測試方法包含:使該處理單元偵測對應儲存於該記憶體之一待測軟體在連續運作狀態時的複數輸入輸出參數;使該處理單元偵測對應該待測軟體在連續運作狀態時的複數內部運作參數;使該處理單元根據該等輸入輸出參數以及該等內部運作參數之一數值範圍及一參數型態,藉由一機率模型建立該待測軟體所包含之複數函式間之各複數參數變化組合的一參數變化機率; 使該處理單元根據該等參數變化組合及該參數變化機率產生至少一測試個案,該測試個案包含複數測試參數;以及使該處理單元根據該測試個案傳送該等測試參數至該待測軟體以進行測試。
  11. 如請求項10所述之軟體測試方法,更包含使該處理單元根據該參數變化機率中,小於一預設機率值的複數參數變化組合產生該等測試參數。
  12. 如請求項10所述之軟體測試方法,其中該機率模型為一馬可夫模型。
  13. 如請求項10所述之軟體測試方法,其中該等輸入輸出參數由該處理單元執行該待測軟體時,透過一網路單元、一使用者輸入輸出介面或其組合所輸入或輸出。
  14. 如請求項10所述之軟體測試方法,其中該等內部運作參數包含該待測軟體在連續運作狀態時之複數記憶體使用參數以及該等函式之複數使用參數。
  15. 如請求項10所述之軟體測試方法,其中該參數型態包含一布林、一數值和一字串或其組合。
  16. 如請求項10所述之軟體測試方法,其中該處理單元偵測該等輸入輸出參數及該等內部運作參數以及建立該參數變化機率之步驟係於進行測試前之一訓練模式中運作或是在進行測試時之一測試模式中運作。
  17. 如請求項16所述之軟體測試方法,更包含使該處理單元透過一輸入單元接收一訓練模式控制輸入,以中斷該訓練模式或設定該訓練模式之一時間長度或一終止條件。
  18. 如請求項17所述之軟體測試方法,更包含:使該處理單元控制該顯示單元顯示該等輸入輸出參數、該等內部運作參數、該等參數變化組合以及該參數變化機率;使該處理單元透過一輸入單元接收一測試個案調整輸入;以及使該處理單元根據該測試個案調整輸入調整該等測試參數之權重比例及該測試個案之數量。
  19. 一種非暫態電腦可讀取紀錄媒體,儲存一電腦程式,該電腦程式包含電腦可執行之複數指令,用以執行應用於一軟體測試系統的一軟體測試方法,該軟體測 試系統包含儲存複數個電腦可執行之指令的一記憶體以及耦接於該記憶體之一處理單元,該處理單元用以執行該等指令,以執行該軟體測試方法,該軟體測試方法包含:使該處理單元偵測對應儲存於該記憶體之一待測軟體在連續運作狀態時的複數輸入輸出參數;使該處理單元偵測對應該待測軟體在連續運作狀態時的複數內部運作參數;使該處理單元根據該等輸入輸出參數以及該等內部運作參數之一數值範圍及一參數型態,藉由一機率模型建立該待測軟體所包含之複數函式間之各複數參數變化組合的一參數變化機率;使該處理單元根據該等參數變化組合及該參數變化機率產生至少一測試個案,該測試個案包含複數測試參數;以及使該處理單元根據該測試個案傳送該等測試參數至該待測軟體以進行測試。
TW104138069A 2015-11-18 2015-11-18 軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體 TWI571737B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW104138069A TWI571737B (zh) 2015-11-18 2015-11-18 軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體
US15/047,603 US9830252B2 (en) 2015-11-18 2016-02-18 System, method and non-transitory computer readable medium for software testing
GB1603189.0A GB2544568A (en) 2015-11-18 2016-02-24 System, method and non-transitory computer readable medium for software testing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104138069A TWI571737B (zh) 2015-11-18 2015-11-18 軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體

Publications (2)

Publication Number Publication Date
TWI571737B true TWI571737B (zh) 2017-02-21
TW201719411A TW201719411A (zh) 2017-06-01

Family

ID=55753108

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104138069A TWI571737B (zh) 2015-11-18 2015-11-18 軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體

Country Status (3)

Country Link
US (1) US9830252B2 (zh)
GB (1) GB2544568A (zh)
TW (1) TWI571737B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI732381B (zh) * 2019-12-13 2021-07-01 財團法人工業技術研究院 用於計算機程式的線上測試系統及測試方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951373A (zh) * 2017-04-25 2017-07-14 国家电网公司 一种用于电网网管移动运维软件的自动化测试方法及装置
US10715687B2 (en) * 2017-05-29 2020-07-14 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method for testing a series of processes of one or more applications
CN107608892A (zh) * 2017-09-22 2018-01-19 苏州惠邦科信息技术有限公司 手机软件的测试方法
CN108009082B (zh) * 2017-11-22 2021-05-25 中国航空工业集团公司西安飞机设计研究所 一种基于飞行管理的组合测试用例生成方法
CN107832231A (zh) * 2017-12-05 2018-03-23 郑州云海信息技术有限公司 一种系统测试方法、装置及介质
US11119900B2 (en) * 2018-03-21 2021-09-14 Wipro Limited Modular testing kit and testing framework for testing a human machine interface (HMI) application
CN110309064A (zh) * 2019-05-30 2019-10-08 重庆金融资产交易所有限责任公司 基于日志记录的单元测试方法、装置、设备及存储介质
CN111176995B (zh) * 2019-12-25 2023-07-21 中国航空工业集团公司西安飞机设计研究所 一种基于大数据测试用例的测试方法和测试系统
CN111538653B (zh) * 2020-04-07 2023-08-18 北京达佳互联信息技术有限公司 方案的测试方法、装置、电子设备和存储介质
CN112988606B (zh) * 2021-05-11 2021-07-23 成都爱瑞无线科技有限公司 测试用例生成方法、装置、设备及存储介质
CN116450512B (zh) * 2023-04-11 2024-03-29 深圳市蓝鲸智联科技股份有限公司 一种软件测试方法和软件测试装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200919178A (en) * 2007-10-19 2009-05-01 Inventec Corp Language translation testing system based on computer and method thereof
TWI322351B (zh) * 2006-12-22 2010-03-21 Inventec Besta Co Ltd
US20140040296A1 (en) * 2012-07-31 2014-02-06 Nokia Corporation Method and apparatus for software testing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US550941A (en) * 1895-12-10 Bond or connector
US5671351A (en) * 1995-04-13 1997-09-23 Texas Instruments Incorporated System and method for automated testing and monitoring of software applications
US5991537A (en) * 1997-09-16 1999-11-23 The United States Of America As Represented By The Secretary Of The Navy VXI test executive
US7278135B2 (en) * 2003-06-11 2007-10-02 Microsoft Corporation Method and system for generating an efficient test suite from a domain description with given constraints
US8181163B2 (en) * 2007-05-07 2012-05-15 Microsoft Corporation Program synthesis and debugging using machine learning techniques
US8387016B2 (en) 2009-05-01 2013-02-26 Microsoft Corporation Whitebox trace fuzzing
EP2531931B1 (en) * 2010-02-02 2018-08-22 WebTrends, Inc. Method and system for test-duration estimation
US9098621B2 (en) * 2011-02-28 2015-08-04 Microsoft Technology Licensing, Llc Modeling software behavior using learned predicates
US8756460B2 (en) * 2011-04-05 2014-06-17 International Business Machines Corporation Test selection based on an N-wise combinations coverage
US20150067648A1 (en) * 2013-08-27 2015-03-05 Hcl Technologies Limited Preparing an optimized test suite for testing an application under test in single or multiple environments
US9367435B2 (en) * 2013-12-12 2016-06-14 Vertafore, Inc. Integration testing method and system for web services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI322351B (zh) * 2006-12-22 2010-03-21 Inventec Besta Co Ltd
TW200919178A (en) * 2007-10-19 2009-05-01 Inventec Corp Language translation testing system based on computer and method thereof
US20140040296A1 (en) * 2012-07-31 2014-02-06 Nokia Corporation Method and apparatus for software testing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI732381B (zh) * 2019-12-13 2021-07-01 財團法人工業技術研究院 用於計算機程式的線上測試系統及測試方法

Also Published As

Publication number Publication date
TW201719411A (zh) 2017-06-01
GB2544568A (en) 2017-05-24
GB201603189D0 (en) 2016-04-06
US9830252B2 (en) 2017-11-28
US20170139811A1 (en) 2017-05-18

Similar Documents

Publication Publication Date Title
TWI571737B (zh) 軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體
US11500762B2 (en) System and method for automated intelligent mobile application testing
US10671516B2 (en) Method, device, and computer program product for testing code
EP3306475B1 (en) System and method for predicting disk failure
US8719789B2 (en) Measuring coupling between coverage tasks and use thereof
US9910766B2 (en) Whitebox network fuzzing
US20080276129A1 (en) Software tracing
US9134997B2 (en) Methods for assessing deliverable product quality and devices thereof
US9842044B2 (en) Commit sensitive tests
US9645873B2 (en) Integrated configuration management and monitoring for computer systems
US10346293B2 (en) Testing pre and post system call exits
US10725894B2 (en) Measuring and improving test coverage
US11200125B2 (en) Feedback from higher-level verification to improve unit verification effectiveness
WO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
US11847393B2 (en) Computing device and method for developing a system model utilizing a simulation assessment module
US10261925B2 (en) Enhanced techniques for detecting programming errors in device drivers
US9111025B2 (en) Providing automated performance test execution
Nguyen et al. Prioritizing automated test cases of Web applications using reinforcement learning: an enhancement
WO2020232906A1 (zh) 代码有效性测试方法、计算设备及存储介质
US20080155325A1 (en) Apparatus, system, and method for providing a multi-dimensional weighted propagated status
CN117234852A (zh) 一种异常服务检测方法、装置、电子设备及存储介质
JP3150125B2 (ja) コンピュータ装置検査方法および情報記憶媒体
CN114090357A (zh) 一种硬盘性能测试方法、装置、电子设备及存储介质
TW202414421A (zh) 測試記憶體裝置的系統與方法及非暫態電腦可讀取記錄媒體
CN116560928A (zh) 一种多图形处理器性能均衡性测试方法、装置及其介质