TWI904063B - Method for keyword-based testing and system therefor - Google Patents
Method for keyword-based testing and system thereforInfo
- Publication number
- TWI904063B TWI904063B TW114122475A TW114122475A TWI904063B TW I904063 B TWI904063 B TW I904063B TW 114122475 A TW114122475 A TW 114122475A TW 114122475 A TW114122475 A TW 114122475A TW I904063 B TWI904063 B TW I904063B
- Authority
- TW
- Taiwan
- Prior art keywords
- keywords
- keyword
- complexity
- score
- calculating
- Prior art date
Links
Abstract
Description
本發明涉及一種基於關鍵字的測試方法及其系統。This invention relates to a keyword-based testing method and system.
為了解決測試用例創建的困難和效率問題,人們提出了各種測試方法論,其中最引人注目的是基於關鍵字的測試(keyword-based testing)方法。To address the difficulties and efficiency issues in test case creation, various testing methodologies have been proposed, among which keyword-based testing is the most noteworthy.
基於關鍵字的測試方法是一種測試方法論,旨在根據各種動作(action,例如,登入、點擊等)用關鍵字定義測試組件,並根據關鍵字的組合創建測試用例。因此,在基於關鍵字的測試環境中,測試員(tester)不需要直接根據特定動作創建測試代碼,通過適當選擇與動作對應的關鍵字(即,預定義的關鍵字)即可快速完成測試用例的創建。Keyword-based testing is a testing methodology that aims to define test components using keywords based on various actions (e.g., login, click, etc.) and create test cases based on combinations of keywords. Therefore, in a keyword-based testing environment, testers do not need to directly create test code based on specific actions; they can quickly create test cases by appropriately selecting keywords corresponding to the actions (i.e., predefined keywords).
然而,在基於關鍵字的測試環境中,通常存在大量關鍵字。例如,一個動作可能存在多個關鍵字。因此,除非是經驗豐富的測試員,否則通過查看關鍵字說明(description)來判斷哪個關鍵字更有用(或適合測試用例)並不容易。However, in keyword-based testing environments, there are often a large number of keywords. For example, an action may have multiple keywords. Therefore, unless you are an experienced tester, it is not easy to determine which keyword is more useful (or suitable for the test case) by looking at the keyword description.
現有技術文獻Existing technical literature
專利文獻Patent documents
韓國專利公告號第10-1728170號(2017.04.19公告)Korean Patent Publication No. 10-1728170 (Published on April 19, 2017)
本發明的一些實施例所要解決的技術問題在於提供一種能夠降低創建測試用例(test case)的難度並提高測試員(tester)的便利性的基於關鍵字的測試(keyword-based testing)方法及其系統。Some embodiments of the present invention aim to solve the technical problem of providing a keyword-based testing method and system that can reduce the difficulty of creating test cases and improve the convenience for testers.
本發明的一些實施例所要解決的再一技術問題在於提供一種按照有用性對用於創建測試用例的各種關鍵字進行排名的方法及其系統。Another technical problem to be solved by some embodiments of the present invention is to provide a method and system for ranking various keywords used to create test cases according to their usefulness.
本發明的一些實施例所要解決的另一技術問題在於提供一種能夠準確測定關鍵字的有用性的各種度量(metric)。Another technical problem that some embodiments of the present invention aim to solve is to provide a variety of metrics that can accurately measure the usefulness of keywords.
本發明的技術問題不限於上述技術問題,本領域技術人員能夠從下面的說明中將清楚地理解未提及的其他技術問題。The technical problems of this invention are not limited to those described above. Those skilled in the art will clearly understand other technical problems not mentioned in the following description.
用於解決所述技術問題的根據本發明的一些實施例的基於關鍵字的測試方法是由至少一個計算裝置執行的方法,可以包括如下步驟:獲取用於創建目標軟體的測試用例的多個關鍵字的資訊,所獲取的所述資訊可以包括所述多個關鍵字的代碼例程(code routine);分析所述代碼例程以計算所述多個關鍵字中每一個的複雜度;基於所述複雜度計算所述多個關鍵字中每一個的得分;及基於所述得分確定所述多個關鍵字的排名。A keyword-based testing method according to some embodiments of the present invention for solving the aforementioned technical problem is a method performed by at least one computing device and may include the following steps: acquiring information on a plurality of keywords for creating test cases of target software, the acquired information including code routines of the plurality of keywords; analyzing the code routines to calculate the complexity of each of the plurality of keywords; calculating a score for each of the plurality of keywords based on the complexity; and determining a ranking of the plurality of keywords based on the scores.
在一些實施例中,計算所述複雜度的步驟可以包括如下步驟:從特定關鍵字的代碼例程識別有效代碼行;及基於所述有效代碼行的數量計算所述特定關鍵字的複雜度。In some embodiments, the steps of calculating the complexity may include: identifying valid code lines from the code routines of a particular keyword; and calculating the complexity of the particular keyword based on the number of valid code lines.
在一些實施例中,所獲取的所述資訊可以包括多個測試用例,計算所述多個關鍵字中每一個的得分的步驟可以包括如下步驟:計算所述多個關鍵字在所述多個測試用例中使用的頻率;及進一步基於計算出的所述頻率計算所述多個關鍵字中每一個的得分。In some embodiments, the acquired information may include multiple test cases, and the steps of calculating the score of each of the multiple keywords may include the following steps: calculating the frequency of the multiple keywords used in the multiple test cases; and further calculating the score of each of the multiple keywords based on the calculated frequency.
在一些實施例中,識別所述有效代碼行的步驟可以包括如下步驟:通過排除與聲明、注釋和空格相關的代碼行來識別所述有效代碼行。In some embodiments, the steps of identifying the valid code lines may include identifying the valid code lines by excluding code lines associated with declarations, comments, and spaces.
在一些實施例中,所獲取的所述資訊可以包括多個測試用例,計算所述多個關鍵字中每一個的得分的步驟可以包括如下步驟:監控所述多個測試用例運行時調用的多個關鍵字的代碼例程的運行狀態;基於所述監控結果測定調用的所述多個關鍵字中每一個的代碼例程中發生錯誤的次數,並基於測定的所述次數計算調用的所述多個關鍵字中每一個的信度;及進一步基於計算出的所述信度計算述多個關鍵字中每一個的得分。In some embodiments, the acquired information may include multiple test cases, and the steps for calculating the score of each of the multiple keywords may include the following steps: monitoring the execution status of the code routines of the multiple keywords called when the multiple test cases are running; determining the number of times errors occur in the code routines of each of the multiple keywords called based on the monitoring results, and calculating the reliability of each of the multiple keywords called based on the determined number; and further calculating the score of each of the multiple keywords based on the calculated reliability.
在一些實施例中,計算所述信度的步驟可以包括如下步驟:通過調用的所述多個關鍵字中每一個的代碼例程中插入的監控代碼,判斷是否發生所述錯誤。In some embodiments, the steps of calculating the confidence level may include determining whether the error has occurred by using monitoring code inserted in the code routine of each of the plurality of keywords.
在一些實施例中,計算所述多個關鍵字中每一個的得分的步驟可以包括如下步驟:分析所獲取的所述資訊以計算所述複雜度和其他度量的值;僅下調所述複雜度;及基於調整後的所述複雜度和所述其他度量的值,計算所述多個關鍵字中每一個的得分。In some embodiments, the steps of calculating the score of each of the plurality of keywords may include the following steps: analyzing the acquired information to calculate the values of the complexity and other measures; reducing only the complexity; and calculating the score of each of the plurality of keywords based on the adjusted values of the complexity and other measures.
在一些實施例中,所述多個關鍵字中特定關鍵字的複雜度的調整幅度基於所述特定關鍵字的代碼例程的修改頻率和修改程度確定。In some embodiments, the adjustment range of the complexity of a particular keyword among the plurality of keywords is determined based on the frequency and extent of modification of the code routine of the particular keyword.
在一些實施例中,所獲取的所述資訊是第一資訊,所述方法還可以包括如下步驟:獲取所述多個關鍵字的第二資訊,所述第二資訊可以包括比所述第一資訊更加新的資訊;分析所述第二資訊以更新所述多個關鍵字中每一個的得分和排名。In some embodiments, the information obtained is first information, and the method may further include the following steps: obtaining second information of the plurality of keywords, the second information may include information that is newer than the first information; analyzing the second information to update the score and ranking of each of the plurality of keywords.
在一些實施例中,所述方法還可以包括如下步驟:通過所述目標軟體的測試員(tester)能夠訪問的頁面提供所述多個關鍵字中每一個的排名資訊。In some embodiments, the method may also include the step of providing ranking information for each of the plurality of keywords through a page accessible to testers of the target software.
在一些實施例中,所述方法還可以包括如下步驟:通過測試用例創建介面,從所述目標軟體的測試員(tester)接收配置新的測試用例的動作;回應於所述動作的輸入,從所述多個關鍵字篩選與所輸入的所述動作對應的至少一個關鍵字;基於篩選後的所述關鍵字的排名從篩選後的所述關鍵字確定推薦關鍵字;及通過所述測試用例創建介面提供所述推薦關鍵字。In some embodiments, the method may further include the following steps: receiving an action to configure new test cases from a tester of the target software via a test case creation interface; responding to the input of the action by filtering at least one keyword from the plurality of keywords that corresponds to the input action; determining recommended keywords from the filtered keywords based on the ranking of the filtered keywords; and providing the recommended keywords via the test case creation interface.
用於解決所述技術問題的根據本發明的一些實施例的基於關鍵字的測試系統可以包括:一個或多個處理器;及記憶體,用於存儲由所述一個或多個處理器運行的電腦程式,所述電腦程式可以包括用於執行如下操作的多個指令:獲取用於創建目標軟體的測試用例的多個關鍵字的資訊,所獲取的所述資訊可以包括所述多個關鍵字的代碼例程(code routine);分析所述代碼例程以計算所述多個關鍵字中每一個的複雜度;基於所述複雜度計算所述多個關鍵字中每一個的得分;及基於所述得分確定所述多個關鍵字的排名。A keyword-based testing system according to some embodiments of the present invention for solving the aforementioned technical problem may include: one or more processors; and memory for storing a computer program executed by the one or more processors, the computer program including multiple instructions for performing the following operations: acquiring information on multiple keywords for creating test cases of target software, the acquired information including code routines of the multiple keywords; analyzing the code routines to calculate the complexity of each of the multiple keywords; calculating a score for each of the multiple keywords based on the complexity; and determining a ranking of the multiple keywords based on the scores.
用於解決所述技術問題的根據本發明的一些實施例的電腦程式可以存儲於電腦可讀記錄介質,與計算裝置結合來執行如下步驟:獲取用於創建目標軟體的測試用例的多個關鍵字的資訊,所獲取的所述資訊可以包括所述多個關鍵字的代碼例程(code routine);分析所述代碼例程以計算所述多個關鍵字中每一個的複雜度;基於所述複雜度計算所述多個關鍵字中每一個的得分;及基於所述得分確定所述多個關鍵字的排名。A computer program according to some embodiments of the present invention, used to solve the aforementioned technical problem, can be stored in a computer-readable recording medium and, in conjunction with a computing device, perform the following steps: acquiring information on multiple keywords for creating test cases of target software, the acquired information including code routines of the multiple keywords; analyzing the code routines to calculate the complexity of each of the multiple keywords; calculating a score for each of the multiple keywords based on the complexity; and determining a ranking of the multiple keywords based on the scores.
根據本發明的一些實施例,通過綜合考慮使用頻率、複雜度和信度計算關鍵字的得分,從而能夠在關鍵字的得分準確地反映相應關鍵字的有用性。進而,根據得分確定關鍵字的排名,從而能夠按照有用性對各種關鍵字進行排名。According to some embodiments of this invention, keyword scores are calculated by comprehensively considering frequency, complexity, and reliability, thereby accurately reflecting the usefulness of the corresponding keywords. Furthermore, keyword rankings are determined based on the scores, enabling the ranking of various keywords according to their usefulness.
並且,通過基於代碼例程(code routine)的有效代碼行的數量計算關鍵字的複雜度,從而能夠在關鍵字的複雜度準確地反映代碼例程的實際複雜度。Furthermore, the complexity of keywords is calculated by the number of valid lines of code based on code routines, thus accurately reflecting the actual complexity of code routines in terms of keyword complexity.
並且,考慮到代碼例程的頻繁修改可能性,計算關鍵字的得分時可以下調複雜度。因此,能夠降低準確度(可靠性)相對低的複雜度的值對關鍵字得分的影響,從而能夠提高關鍵字得分的準確度(可靠性)。Furthermore, considering the possibility of frequent modifications to the code routines, the complexity can be reduced when calculating the keyword score. Therefore, the impact of a complexity value with relatively low accuracy (reliability) on the keyword score can be reduced, thereby improving the accuracy (reliability) of the keyword score.
並且,通過將按照關鍵字的有用性的排名資訊提供給目標軟體的測試員(tester),能夠降低創建測試用例(test case)的難度並提高測試員的便利性。進而,還可以提高創建測試用例的速度。Furthermore, by providing testers of the target software with ranking information based on keyword usefulness, the difficulty of creating test cases can be reduced and the convenience for testers can be improved. This, in turn, can increase the speed of test case creation.
並且,通過在創建測試用例時將基於關鍵字的排名資訊的推薦關鍵字提供給測試員,能夠進一步降低測試員創建測試用例的難度並進一步提高測試員的便利性。Furthermore, by providing testers with recommended keywords based on keyword ranking information when creating test cases, the difficulty of testers creating test cases can be further reduced and the convenience for testers can be further improved.
根據本發明的技術思想的效果不限於上述效果,本領域技術人員能夠從下面的說明中將清楚地理解未提及的其他效果。The effects of the technical concept of this invention are not limited to those described above, and those skilled in the art will clearly understand from the following description other effects not mentioned.
在下文中,將參考附圖詳細說明本發明的各種實施例。通過下面結合附圖詳細說明的實施例,本發明的優點和特徵及實現它們的方法將變得清楚。然而,本發明的技術思想不限於以下實施例,並且可以以各種不同的形式來實現,提供以下實施例僅僅為了完善本發明的技術思想並使本發明所屬領域的普通技術人員充分瞭解本發明的範圍,本發明的技術思想僅由申請專利範圍的範圍來限定。The various embodiments of the present invention will be described in detail below with reference to the accompanying drawings. The advantages and features of the present invention, as well as the methods for implementing them, will become clear through the embodiments described in detail below in conjunction with the accompanying drawings. However, the technical concept of the present invention is not limited to the following embodiments and can be implemented in various different forms. The following embodiments are provided only to improve the technical concept of the present invention and to enable those skilled in the art to fully understand the scope of the present invention, which is limited only by the scope of the patent application.
在說明本發明的各種實施例時,如果確定相關已知結構或功能的詳細說明可能會模糊本發明的要旨,則將省略該詳細說明。在下文中,參考附圖說明本發明的一些實施例。In describing various embodiments of the invention, detailed descriptions of known structures or functions will be omitted if they would obscure the essence of the invention. Some embodiments of the invention are described below with reference to the accompanying figures.
除非另有定義,否則在以下實施例中使用的術語(包括技術和科學術語)可以按照本發明所屬領域的普通技術人員通常理解的含義來使用,但是也可以根據相關領域的技術人員的意圖、先例及新技術的出現而變化。本發明中使用的術語用於說明實施例並且不旨在限制本發明的範圍。Unless otherwise defined, the terms (including technical and scientific terms) used in the following embodiments may be used in accordance with their meanings as commonly understood by one of ordinary skill in the art to which this invention pertains, but may also vary depending on the intent, precedent, and emergence of new technologies by one of ordinary skill in the relevant art. The terms used in this invention are for illustrative purposes and are not intended to limit the scope of this invention.
除非在上下文中明確指定為單數,否則以下示例中使用的單數表達包括複數概念。此外,除非在上下文中明確指定為複數,否則複數表達包括單數概念。Unless explicitly specified as singular in the context, the singular expressions used in the following examples include plural concepts. Furthermore, unless explicitly specified as plural in the context, plural expressions include singular concepts.
並且,在以下實施例中使用的諸如第一、第二、A、B、(a)和(b)等術語僅用於將某些組件與其他組件區分開,並且這些術語並不用於限制相應組件的本質或順序。Furthermore, terms such as first, second, A, B, (a) and (b) used in the following embodiments are used only to distinguish certain components from other components, and these terms are not intended to restrict the nature or order of the corresponding components.
在下文中,將參考附圖詳細說明本發明的各種實施例。Various embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
圖1為用於簡單說明根據本發明的一些實施例的基於關鍵字的測試(keyword-based testing)系統10的操作的示意圖。在圖1中將基於關鍵字的測試系統10被示為‘測試系統’,並且在下面的說明中,將基於關鍵字的測試系統10簡稱為‘測試系統’。Figure 1 is a schematic diagram illustrating the operation of a keyword-based testing system 10 according to some embodiments of the present invention. In Figure 1, the keyword-based testing system 10 is shown as a 'testing system', and in the following description, the keyword-based testing system 10 will be simply referred to as a 'testing system'.
如圖1所示,根據多個實施例的測試系統10是支持基於關鍵字對目標軟體的進行測試的計算裝置/系統。比如,測試系統10可以支持(提供)諸如關鍵字定義、基於關鍵字組合的測試用例(test case)的創建、測試用例的運行、關鍵字的評分(scoring)、關鍵字排名(ranking)和關鍵字推薦等功能。As shown in Figure 1, the test system 10 according to various embodiments is a computing device/system that supports keyword-based testing of target software. For example, the test system 10 may support (provide) functions such as keyword definition, creation of test cases based on keyword combinations, execution of test cases, keyword scoring, keyword ranking, and keyword recommendation.
具體地,測試系統10可以獲取多個關鍵字11的資訊(例如,關鍵字的代碼例程,測試用例等),並分析相應資訊以計算用於顯示多個關鍵字11中每一個的有用性的得分(score)(參見12)。並且,測試系統10可以將根據得分的排名資訊提供給目標軟體的測試員13。比如,測試系統10可以通過測試員13能夠訪問的頁面提供多個關鍵字11的排名資訊(例如,諸如得分、排名、使用頻率/複雜度/信度的詳細得分等)。由此,測試員13能夠容易選擇有用的關鍵字來快速創建測試用例。即,能夠降低創建測試用例的難度並提高測試員13的便利性。Specifically, the testing system 10 can acquire information about multiple keywords 11 (e.g., keyword code routines, test cases, etc.) and analyze the relevant information to calculate a score (see 12) for the usefulness of each of the multiple keywords 11. Furthermore, the testing system 10 can provide ranking information based on the scores to the testers 13 of the target software. For example, the testing system 10 can provide ranking information for the multiple keywords 11 (e.g., scores, rankings, detailed scores for usage frequency/complexity/reliability, etc.) through pages accessible to the testers 13. Thus, the testers 13 can easily select useful keywords to quickly create test cases. That is, it can reduce the difficulty of creating test cases and improve the convenience for testers.
測試系統10可以基於各種度量(metric)計算多個關鍵字11的得分,這將參考圖4和之後的附圖詳細說明。The testing system 10 can calculate scores for multiple keywords 11 based on various metrics, which will be explained in detail with reference to Figure 4 and subsequent figures.
在一些實施例中,測試系統10可以基於多個關鍵字11的排名資訊自動向測試員13推薦關鍵字。由此,能夠進一步降低創建測試用例的難度,這將參考圖4、圖9等附圖詳細說明。In some implementations, the testing system 10 can automatically recommend keywords to the tester 13 based on the ranking information of multiple keywords 11. This can further reduce the difficulty of creating test cases, as will be explained in detail with reference to Figures 4 and 9.
上述的測試系統10可以被實現為至少一個計算裝置。例如,測試系統10的所有功能由一個計算裝置執行,或者測試系統10的第一功能由第一計算裝置執行且第二功能由第二計算裝置執行。或者,測試系統10的特定功能由多個計算裝置執行。The test system 10 described above can be implemented as at least one computing device. For example, all functions of the test system 10 may be performed by one computing device, or a first function of the test system 10 may be performed by a first computing device and a second function by a second computing device. Alternatively, a specific function of the test system 10 may be performed by multiple computing devices.
計算裝置可以包括具有計算功能的任意裝置,這種裝置的一示例可以參考圖10。The computing device may include any device with computing function, and an example of such a device can be found in Figure 10.
作為參考,計算裝置是各種組件(例如,記憶體、處理器等)交互的集合體,因此在某些情況下可以被命名為‘計算系統’。並且,計算系統可以指多個計算裝置交互的集合體。For reference, a computing device is a collection of interacting components (e.g., memory, processor, etc.), and therefore can be called a 'computing system' in some cases. Furthermore, a computing system can refer to a collection of multiple interacting computing devices.
在上文中參考圖1簡單說明了根據本發明的一些實施例的測試系統10的操作。在下文中,為了便於理解,參考圖2和圖3說明本發明的各種實施例中提到的關鍵字的概念的示意圖。The operation of the test system 10 according to some embodiments of the present invention has been briefly illustrated above with reference to Figure 1. In the following text, for ease of understanding, schematic diagrams illustrating the concepts of the keywords mentioned in various embodiments of the present invention are illustrated with reference to Figures 2 and 3.
本發明的各種實施例中提及的關鍵字是指被稱為‘基於關鍵字測試(test)方法’的軟體測試方法論(software testing methodology)中的關鍵字。即,關鍵字意味著與目標軟體(例如,網路應用程式(或網站))有關的動作(例如,登入、點擊等)或動作的組合(結合),或者根據這些動作的測試組件(例如,抽象提供根據特定動作的代碼例程的測試組件)。The keywords mentioned in the various embodiments of this invention refer to keywords in a software testing methodology known as a 'keyword-based testing methodology'. That is, a keyword means an action (e.g., logging in, clicking, etc.) or a combination of actions related to the target software (e.g., a web application (or website)), or a test component based on these actions (e.g., an abstraction that provides test components that provide code routines based on specific actions).
作為參考,‘基於關鍵字的測試方法’也稱為‘關鍵字驅動測試(keyword-driven testing)方法’或‘基於動作單詞(action word)的測試方法’。For reference, the 'keyword-based testing method' is also known as the 'keyword-driven testing method' or the 'action word-based testing method'.
例如,如圖2所示,假設目標軟體是包括登入頁面20的網路應用程式。在這種情況下,登入頁面20的測試需要登入動作(或ID輸入、PW輸入、登入按鍵點擊等詳細動作),因此可以導出並定義與登入動作對應的關鍵字21。並且,通過這種方式,可以導出並定義用於測試(驗證)目標軟體的各種關鍵字。For example, as shown in Figure 2, suppose the target software is a web application that includes a login page 20. In this case, testing the login page 20 requires login actions (or detailed actions such as ID input, PW input, login button clicks, etc.), so keywords 21 corresponding to the login actions can be exported and defined. Furthermore, in this way, various keywords used for testing (verifying) the target software can be exported and defined.
另一方面,測試用例的說明(description)由用於測試(驗證)目標軟體的一系列動作構成。因此,依次組合與動作對應的關鍵字即可創建測試用例。On the other hand, the description of a test case consists of a series of actions used to test (verify) the target software. Therefore, test cases can be created by combining keywords corresponding to the actions in sequence.
比如,如圖3所示,假設以登入(login)動作、特定動作(‘X’)和退出(logout)動作的順序創建用於驗證目標軟體的測試用例31。在這種情況下,測試員可以通過依次組合與各動作對應的多個關鍵字32至34,容易地創建測試用例31(當然,如果沒有與特定動作對應的關鍵字,則需要定義關鍵字)。即,在基於關鍵字的測試環境中,即使測試員不具備代碼級知識,也可以輕鬆創建測試用例(例如,31)。多個關鍵字32至34的多個代碼例程35至37可以由具備開發知識的測試工程師(例如,具備代碼級知識的TQA(Technical QA))預先創建,相應的多個代碼例程35至37可以在運行測試用例31時依次調用。For example, as shown in Figure 3, suppose test case 31 for verifying the target software is created in the order of login, a specific action ('X'), and logout. In this case, the tester can easily create test case 31 by sequentially combining multiple keywords 32 to 34 corresponding to each action (of course, if there is no keyword corresponding to a specific action, the keyword needs to be defined). That is, in a keyword-based testing environment, even if the tester does not have code-level knowledge, they can easily create test cases (e.g., 31). Multiple code routines 35 to 37 for multiple keywords 32 to 34 can be pre-created by a test engineer with development knowledge (e.g., a TQA with code-level knowledge (Technical QA)), and the corresponding multiple code routines 35 to 37 can be called sequentially when running test case 31.
在上文中參考圖2和圖3說明了本發明的各種實施例中提到的關鍵字的概念。在下文中,參考圖4進一步詳細說明測試系統10的結構和操作。The concepts of keywords mentioned in various embodiments of the present invention have been explained above with reference to Figures 2 and 3. The structure and operation of the test system 10 are further explained in detail below with reference to Figure 4.
圖4為顯示根據本發明的一些實施例的測試系統10的示意性框圖。Figure 4 is a schematic block diagram showing a test system 10 according to some embodiments of the present invention.
如圖4所示,根據多個實施例的測試系統10可以被配置為包括關鍵字資訊獲取單元41、關鍵字分析單元42、關鍵字排名單元43和關鍵字推薦單元44。然而,圖4僅顯示與本發明的實施例有關的組件。因此,本發明所屬領域的普通技術人員應當理解,除了圖4所示的組件之外,還可以包括其他通用組件(例如,處理器、記憶體等)。並且,圖4所示的測試系統10的組件代表了功能上有區別的功能單元41~47,在實際物理環境中可以以集成的形式實現多個組件,或者可以將特定組件分離為多個子功能單元。在下文中,詳細說明測試系統10的各組件41~47。As shown in Figure 4, the test system 10 according to various embodiments can be configured to include a keyword information acquisition unit 41, a keyword analysis unit 42, a keyword ranking unit 43, and a keyword recommendation unit 44. However, Figure 4 only shows components relevant to embodiments of the present invention. Therefore, those skilled in the art should understand that other general-purpose components (e.g., processors, memory, etc.) may be included in addition to those shown in Figure 4. Furthermore, the components of the test system 10 shown in Figure 4 represent functionally distinct functional units 41-47. In a real physical environment, multiple components can be implemented in an integrated form, or specific components can be separated into multiple sub-functional units. The components 41-47 of the test system 10 are described in detail below.
關鍵字資訊獲取單元41是用於獲取創建針對目標軟體的測試用例的各種關鍵字的各種資訊的模組。比如,關鍵字資訊獲取單元41可以收集(獲取)預先註冊的多個關鍵字的說明、這些關鍵字的代碼例程(code routine)、預先創建的多個測試用例等。然而,本發明的範圍不限於此。關鍵字資訊獲取單元41可以從關鍵字資料庫(DB;DataBase)收集預先註冊的多個關鍵字的資訊(例如,說明、代碼例程等),但本發明的範圍不限於此。測試工程師等可以通過創建關鍵字的代碼例程和說明來定義相應關鍵字,並將定義的關鍵字註冊到關鍵字DB。The keyword information acquisition unit 41 is a module used to acquire various information about various keywords used to create test cases for the target software. For example, the keyword information acquisition unit 41 can collect (acquire) descriptions of multiple pre-registered keywords, code routines for these keywords, and multiple pre-created test cases. However, the scope of this invention is not limited to this. The keyword information acquisition unit 41 can collect information (e.g., descriptions, code routines, etc.) about multiple pre-registered keywords from a keyword database (DB), but the scope of this invention is not limited to this. Test engineers and others can define corresponding keywords by creating code routines and descriptions for the keywords, and then register the defined keywords in the keyword database.
在某些情況下,關鍵字DB可以被命名為‘關鍵字庫(keyword library)’等。並且,在某些情況下,代碼例程可以被命名為‘代碼塊(code block)’、‘代碼片段(code snippet)’、‘代碼(code)’、‘源代碼(source code)’、‘腳本(script)’等。In some cases, a keyword database can be named 'keyword library', etc. Similarly, in some cases, code routines can be named 'code block', 'code snippet', 'code', 'source code', 'script', etc.
並且,關鍵字分析單元42是基於各種度量(metric)(例如,使用頻率、複雜度、信度等)分析多個關鍵字的有用性的模組。比如,關鍵字分析單元42可以在使用頻率、複雜度和信度方面分析關鍵字資訊獲取單元41獲取的資訊。Furthermore, the keyword analysis unit 42 is a module that analyzes the usefulness of multiple keywords based on various metrics (e.g., usage frequency, complexity, reliability, etc.). For example, the keyword analysis unit 42 can analyze the information obtained by the keyword information acquisition unit 41 in terms of usage frequency, complexity, and reliability.
如圖所示,關鍵字分析單元42可以被配置為包括使用頻率計算單元45、複雜度計算單元46和信度計算單元47。As shown in the figure, the keyword analysis unit 42 can be configured to include a frequency calculation unit 45, a complexity calculation unit 46, and a reliability calculation unit 47.
使用頻率計算單元45是用於計算關鍵字的使用頻率的模組。使用頻率計算單元45可以計算(統計)多個關鍵字在多個測試用例中使用的頻率(即,次數),為了避免冗餘說明,這將在後面參考圖5和之後的附圖進行說明。The frequency calculation unit 45 is a module used to calculate the usage frequency of keywords. The frequency calculation unit 45 can calculate (statistically) the frequency (i.e., number of times) of multiple keywords used in multiple test cases. To avoid redundant explanation, this will be explained later with reference to Figure 5 and subsequent figures.
作為參考,在某些情況下,使用頻率可以被命名為‘頻率得分(frequency score)’、‘頻率指數(frequency index)’等。For reference, in some cases, frequency can be named 'frequency score', 'frequency index', etc.
並且,複雜度計算單元46是用於計算關鍵字的複雜度的模組。比如,複雜度計算單元46可以分析關鍵字的代碼例程以計算相應關鍵字的複雜度,這將在後面參考圖5和之後的附圖進行說明。Furthermore, the complexity calculation unit 46 is a module used to calculate the complexity of keywords. For example, the complexity calculation unit 46 can analyze the code routines of keywords to calculate the complexity of the corresponding keywords, which will be explained later with reference to Figure 5 and subsequent figures.
作為參考,在某些情況下,複雜度可以被命名為‘複雜度得分(complexity score)’、‘複雜度指數(complexity index)’等。For reference, in some cases, complexity can be named 'complexity score', 'complexity index', etc.
並且,信度計算單元47是用於分析關鍵字的信度的模組。信度計算單元47可以通過監控關鍵字的代碼例程的運行結果(或運行狀態)來計算相應關鍵字的信度,這將在後面參考圖5和之後的附圖進行說明。Furthermore, the reliability calculation unit 47 is a module used to analyze the reliability of keywords. The reliability calculation unit 47 can calculate the reliability of the corresponding keywords by monitoring the execution results (or execution status) of the code routines of the keywords, which will be explained later with reference to Figure 5 and subsequent figures.
作為參考,在某些情況下,信度可以被命名為‘信度得分(reliability score)’、‘信度指數(reliability index)’等。For reference, in some cases, reliability can be named 'reliability score', 'reliability index', etc.
並且,關鍵字排名單元43是匯總關鍵字分析單元42的分析結果並按照關鍵字計算得分,基於得分確定關鍵字的排名的模組。比如,關鍵字排名單元43可以綜合考慮關鍵字的使用頻率、複雜度和信度計算相應關鍵字的得分,這將在後面參考圖5和之後的附圖進行說明。Furthermore, Keyword Ranking Unit 43 is a module that aggregates the analysis results of Keyword Analysis Unit 42 and calculates scores for each keyword, determining the keyword ranking based on these scores. For example, Keyword Ranking Unit 43 can comprehensively consider keyword usage frequency, complexity, and reliability to calculate the corresponding keyword score, which will be explained later with reference to Figure 5 and subsequent appendices.
作為參考,在某些情況下,得分(score)可以被命名為‘有用性得分(usability score)’、‘排名得分(ranking score)’、‘綜合得分(comprehensive/overall score)’等。For reference, in some cases, the score can be named 'usability score', 'ranking score', 'comprehensive/overall score', etc.
在某些情況下,關鍵字排名單元43可以通過測試員(例如,一般測試員、測試工程師等)能夠訪問的頁面提供各種關鍵字的排名資訊。In some cases, the keyword ranking unit 43 can provide various keyword ranking information through pages accessible to testers (e.g., general testers, test engineers, etc.).
並且,關鍵字推薦單元44是基於關鍵字的排名資訊(例如,排名、得分)推薦關鍵字的模組。比如,關鍵字推薦單元44可以將基準排名(或基準得分)更高的一個或多個關鍵字推薦給測試員(例如,開發知識不足的一般測試員)。對於關鍵字推薦單元44,請進一步參見圖9的說明。Furthermore, Keyword Recommendation Unit 44 is a module that recommends keywords based on keyword ranking information (e.g., ranking, score). For example, Keyword Recommendation Unit 44 can recommend one or more keywords with a higher benchmark ranking (or benchmark score) to testers (e.g., general testers with insufficient development knowledge). For further explanation of Keyword Recommendation Unit 44, please refer to Figure 9.
另一方面,雖然圖4中未顯示,但測試系統10可以被配置為還包括測試用例生成單元(未圖示)、關鍵字改善單元(未圖示)。On the other hand, although not shown in Figure 4, the test system 10 can be configured to also include a test case generation unit (not shown) and a keyword improvement unit (not shown).
測試用例生成單元(未圖示)是用於自動生成測試用例的模組。比如,測試用例生成單元(未圖示)可以接收用於構成測試用例的一系列動作(即,動作序列)的資訊,並組合與所輸入的動作對應的多個關鍵字來創建測試用例。此時,測試用例生成單元(未圖示)可以利用與各個動作對應的多個關鍵字中排名高於或等於基準值的關鍵字(例如,排名最高的關鍵字)生成測試用例。The test case generation unit (not shown) is a module used to automatically generate test cases. For example, the test case generation unit (not shown) can receive information about a series of actions (i.e., a sequence of actions) that constitute a test case and combine multiple keywords corresponding to the input actions to create a test case. In this case, the test case generation unit (not shown) can generate test cases using keywords that rank higher than or equal to a benchmark value among the multiple keywords corresponding to each action (e.g., the highest-ranking keyword).
並且,關鍵字改善單元(未圖示)是用於請求測試工程師(例如,TQA,具備代碼級開發知識的工程師)改善關鍵字的模組。比如,關鍵字改善單元(未圖示)可以將排名(或得分)低於或等於基準值的多個關鍵字的資訊發送給測試工程師來請求改善相應的多個關鍵字。Furthermore, the Keyword Improvement Unit (not shown) is a module used to request test engineers (e.g., TQA, engineers with code-level development knowledge) to improve keywords. For example, the Keyword Improvement Unit (not shown) can send information about multiple keywords whose ranking (or score) is lower than or equal to the benchmark value to the test engineer to request improvement of the corresponding multiple keywords.
在某些情況下,關鍵字改善單元(未圖示)可以請求測試工程師改善使用頻率(或信度程度)低於或等於基準值的關鍵字和/或使用頻率(或信度程度)處於降低趨勢的關鍵字。In some cases, the keyword improvement unit (not shown) may request the test engineer to improve keywords whose usage frequency (or reliability) is lower than or equal to the baseline value and/or keywords whose usage frequency (or reliability) is on a downward trend.
在上文中參考圖4說明了根據本發明的一些實施例的測試系統10的結構和操作。在下文中,參考圖5和之後的附圖說明能夠在上述的測試系統10執行的各種方法(即,詳細操作)。The structure and operation of a test system 10 according to some embodiments of the present invention are illustrated above with reference to Figure 4. In the following, various methods (i.e., detailed operations) that can be performed on the test system 10 described above are illustrated with reference to Figure 5 and the following figures.
在下文中,為了便於理解,假設後述的方法的所有步驟/操作均在上述的測試系統10執行來繼續說明。因此,當省略特定步驟/操作的執行主體時,可以理解成由測試系統10執行。然而,在真實環境中,後述方法的特定步驟/操作也可以在其他計算裝置執行。In the following text, for ease of understanding, it will be assumed that all steps/operations of the method described below are executed within the aforementioned test system 10. Therefore, when the execution entity of a specific step/operation is omitted, it can be understood as being executed by the test system 10. However, in a real-world environment, specific steps/operations of the method described below may also be executed on other computing devices.
圖5為顯示根據本發明的一些實施例的基於關鍵字的測試方法的示意性流程圖,但這只是實現本發明目的的一個優選實施例,當然可以根據需要增加或刪除一些步驟。圖5主要顯示確定關鍵字排名的方法。Figure 5 is a schematic flowchart showing some embodiments of the keyword-based testing method according to the present invention. However, this is only a preferred embodiment for achieving the purpose of the present invention, and some steps can be added or deleted as needed. Figure 5 mainly shows the method for determining keyword ranking.
如圖5所示,根據多個實施例的基於關鍵字的測試方法可以開始於獲取用於創建目標軟體的測試用例的多個關鍵字的資訊的步驟S51。比如,測試系統10可以獲取多個關鍵字的說明、這些關鍵字的代碼例程、測試用例等資訊。獲取這種資訊的方式可以是任何方式。比如,測試系統10可以從關鍵字DB收集預先註冊的多個關鍵字的資訊(例如,說明、代碼例程等)。As shown in Figure 5, a keyword-based testing method according to multiple embodiments can begin with step S51, which involves acquiring information about multiple keywords used to create test cases for the target software. For example, test system 10 can acquire information such as descriptions of multiple keywords, code routines for these keywords, and test cases. This information can be acquired in any way. For example, test system 10 can collect information (e.g., descriptions, code routines, etc.) of pre-registered keywords from a keyword database.
在步驟S52中,可以分析所獲取的資訊以計算多個關鍵字中每一個的使用頻率、複雜度和信度。在下文中,詳細說明用於計算(分析)關鍵字的使用頻率、複雜度和信度的方法。In step S52, the acquired information can be analyzed to calculate the usage frequency, complexity, and reliability of each of the multiple keywords. The methods used to calculate (analyze) the usage frequency, complexity, and reliability of keywords are explained in detail below.
首先,說明用於計算(分析)關鍵字的使用頻率的方法。First, the method used to calculate (analyze) the frequency of keyword usage will be explained.
測試系統10可以從多個測試用例中篩選有效的測試用例,能夠計算(統計)有效的測試用例中使用的多個關鍵字中每一個的頻率。有效的測試用例可以是例如測試用例的狀態資訊(字段)設置為有效的測試用例、運行(使用)次數大於或等於基準值的測試用例、在預先設置的最近一段時間內有運行歷史的測試用例或他們的組合等,但不限於此。The testing system 10 can filter valid test cases from multiple test cases and can calculate (statistically) the frequency of each of the multiple keywords used in valid test cases. Valid test cases can be, for example, test cases whose status information (fields) are set to valid, test cases whose execution (usage) count is greater than or equal to a baseline value, test cases that have a running history within a pre-set recent period, or combinations thereof, but are not limited to these.
在某些情況下,測試系統10可以基於測試用例的創建者(或請求運行者)的類型進行(賦予)加分或扣分(即,通過進行加分或扣分來調整使用頻率的得分)。比如,當特定測試用例的創建者為一般測試員(即,專業(代碼級)開發知識不足測試員)時,測試系統10可以對相應測試用例中使用的多個關鍵字中每一個進行加分以計算使用頻率的最終得分(例如,一般測試員的經驗越短,可以賦予越高/越多的加分)。作為另一示例,當特定測試用例的創建者為測試工程師(即,具備專業(代碼級)開發知識的測試員)時,測試系統10可以對相應測試用例中使用的多個關鍵字中每一個進行扣分以計算使用頻率的最終得分(例如,一般測試員的經驗越長,可以賦予越高/越多的扣分)。In some cases, the testing system 10 can assign or deduct points based on the type of test case creator (or requester) (i.e., adjust the score for usage frequency by assigning or deducting points). For example, when the creator of a particular test case is a general tester (i.e., a tester with insufficient professional (code-level) development knowledge), the testing system 10 can assign points to each of the multiple keywords used in the corresponding test case to calculate the final score for usage frequency (e.g., the less experience a general tester has, the higher/more points they can be assigned). As another example, when the creator of a particular test case is a test engineer (i.e., a tester with professional (code-level) development knowledge), the test system 10 can deduct points from each of the multiple keywords used in the corresponding test case to calculate a final score for the frequency of use (e.g., the more experienced a tester is, the higher/more points they can be given).
並且,在某些情況下,測試系統10可以基於測試用例的運行次數、運行間隔等進行(賦予)加分或扣分。比如,當特定測試用例的運行次數大於或等於基準值時,測試系統10可以對相應測試用例中使用的多個關鍵字中每一個進行加分以計算使用頻率的最終得分(例如,運行次數越多,可以賦予越高的加分,反之,則賦予扣分)。作為另一示例,當測試用例的運行次數的增加斜率大於或等於基準值時,測試系統10可以對相應測試用例中使用的多個關鍵字中每一個進行加分(例如,增加斜率越大,可以賦予越高的加分,反之,則賦予扣分)。作為又一示例,當特定測試用例的運行間隔小於基準值時,測試系統10可以對相應測試用例中使用的多個關鍵字中每一個進行加分(例如,運行間隔越短,可以賦予越高的加分,反之,則賦予扣分)。Furthermore, in certain situations, the testing system 10 can assign (or deduct) points based on the number of times a test case is run, the run interval, etc. For example, when the number of times a specific test case is run is greater than or equal to a baseline value, the testing system 10 can assign points to each of the multiple keywords used in the corresponding test case to calculate the final score for usage frequency (e.g., more runs result in higher scores, and vice versa). As another example, when the rate of increase in the number of times a test case is run is greater than or equal to a baseline value, the testing system 10 can assign points to each of the multiple keywords used in the corresponding test case (e.g., a steeper rate of increase results in higher scores, and vice versa). As another example, when the execution interval of a particular test case is less than the baseline value, the test system 10 can award points to each of the multiple keywords used in the corresponding test case (e.g., the shorter the execution interval, the higher the award, and vice versa).
並且,下面說明用於計算(分析)關鍵字的複雜度的方法。Furthermore, the method for calculating (analyzing) keyword complexity is explained below.
測試系統10可以分析關鍵字的代碼例程以計算相應關鍵字的複雜度。然而,具體方法可以根據實施例而變化。Test system 10 can analyze the code routines of keywords to calculate the complexity of the corresponding keywords. However, the specific method may vary depending on the implementation.
在一些實施例中,測試系統10可以從關鍵字的代碼例程識別有效代碼行,並基於有效代碼行的數量計算相應關鍵字的複雜度。其中,有效代碼行可以意味著實際運行的代碼行。比如,如圖6所示,測試系統10可以識別從關鍵字61的代碼例程62排除與聲明(例如,針對變數、函數、類、庫等的聲明)、空格、注釋等相關的代碼行(63至65、67,下文中稱為‘非有效代碼行’)的其餘代碼行(例如,66、68)作為有效代碼行。之後,測試系統10可以通過與有效代碼行的數量成正比的值計算相應關鍵字的複雜度(例如,複雜度=有效代碼行的數量)。由此,代碼例程的實際複雜度可以準確地反映到關鍵字的複雜度。In some embodiments, the test system 10 can identify valid lines of code from the code routines of a keyword and calculate the complexity of the corresponding keyword based on the number of valid lines of code. A valid line of code can mean the line of code that is actually executed. For example, as shown in Figure 6, the test system 10 can identify the remaining lines of code (e.g., 66, 68) from the code routine 62 of keyword 61, excluding lines of code related to declarations (e.g., declarations for variables, functions, classes, libraries, etc.), spaces, comments, etc. (63 to 65, 67, hereinafter referred to as 'invalid lines of code'). Then, the test system 10 can calculate the complexity of the corresponding keyword using a value proportional to the number of valid code lines (e.g., complexity = number of valid code lines). Thus, the actual complexity of the code routine can be accurately reflected in the complexity of the keyword.
在另一實施例中,測試系統10可以進一步考慮非有效代碼行來計算關鍵字的複雜度。比如,測試系統10可以基於有效代碼行的數量和非有效代碼行的數量的加權和來計算關鍵字的複雜度。此時,對有效代碼行可以賦予高於非有效代碼行的權重。考慮非有效代碼行的原因是代碼越複雜,注釋和聲明更多的可能性高。即,可以理解為由於非有效代碼行也與代碼例程的複雜度有一定關係,因此進一步考慮非有效代碼行計算關鍵字的複雜度。In another embodiment, the test system 10 can further consider invalid code lines when calculating keyword complexity. For example, the test system 10 can calculate keyword complexity based on a weighted sum of the number of valid code lines and the number of invalid code lines. In this case, valid code lines can be assigned a higher weight than invalid code lines. The reason for considering invalid code lines is that the more complex the code, the more likely it is to have more comments and declarations. That is, it can be understood that since invalid code lines are also related to the complexity of the code routine, the keyword complexity is further considered when calculating invalid code lines.
在又一實施例中,測試系統10可以進一步考慮代碼例程中出現的變數的數量、函數的數量等來計算關鍵字的複雜度。比如,測試系統10可以基於有效代碼行的數量計算複雜度,並基於代碼例程中出現的變數和/或函數的數量賦予加分(例如,變數或函數的數量越多,可以賦予越高的加分)。由此,可以計算相應關鍵字的最終複雜度(也可以理解為根據變數的數量等調整關鍵字的複雜度)。在某些情況下,函數可以被命名為‘方法(method)’、‘子例程(subroutine)’等。In another embodiment, the test system 10 can further consider the number of variables, functions, etc., appearing in the code routine to calculate the keyword complexity. For example, the test system 10 can calculate complexity based on the number of valid lines of code and assign bonuses based on the number of variables and/or functions appearing in the code routine (e.g., the more variables or functions, the higher the bonus). Thus, the final complexity of the corresponding keyword can be calculated (which can also be understood as adjusting the keyword complexity based on the number of variables, etc.). In some cases, functions can be named 'method', 'subroutine', etc.
在又一實施例中,測試系統10可以為每個代碼行賦予權重並進一步基於每個行的權重來計算關鍵字的複雜度。比如,測試系統10可以基於代碼例程的行數(或有效代碼行的數量)每個行的權重來計算關鍵字的複雜度。此時,每個行的權重可以通過各種方式確定。例如,有效代碼行的權重可被確定為高於非有效代碼行。作為另一示例,空格行的權重可被確定為最低,聲明行的權重可被確定為高於注釋行。作為又一示例,可被確定為代碼行的字數越多,相應代碼行的權重越高。作為又一示例,可被確定為代碼行中出現的變數的數量越多,相應代碼行的權重越高。作為又一示例,包括函數調用語句的代碼行的權重可被確定為高於其他代碼行。作為又一示例,可以基於上述實施例的各種組合確定每個代碼行的權重。In another embodiment, the test system 10 can assign weights to each line of code and further calculate the keyword complexity based on the weight of each line. For example, the test system 10 can calculate the keyword complexity based on the number of lines in the code routine (or the number of valid lines of code). In this case, the weight of each line can be determined in various ways. For example, the weight of a valid line of code can be determined to be higher than that of a non-valid line of code. As another example, the weight of a blank line can be determined to be the lowest, and the weight of a declaration line can be determined to be higher than that of a comment line. As yet another example, it can be determined that the more words a line of code has, the higher the weight of that line of code. As yet another example, it can be determined that the more variables appearing in a line of code, the higher the weight of that line of code. As yet another example, the weight of a line of code containing a function call statement can be determined to be higher than that of other lines of code. As yet another example, the weight of each line of code can be determined based on various combinations of the embodiments described above.
在又一實施例中,可以基於上面說明的多個實施例的各種組合計算關鍵字的複雜度。In yet another embodiment, the complexity of the keyword can be calculated based on various combinations of the multiple embodiments described above.
並且,下面說明用於計算(分析)關鍵字的信度的方法。Furthermore, the method used to calculate (analyze) the reliability of keywords is explained below.
測試系統10可以監控運行測試用例時調用的多個關鍵字的代碼例程的運行狀態來計算關鍵字的信度。即,關鍵字的信度可以理解為相應關鍵字的代碼例程的信度。The test system 10 can monitor the execution status of the code routines of multiple keywords called when running test cases to calculate the reliability of the keywords. That is, the reliability of a keyword can be understood as the reliability of the code routine of the corresponding keyword.
具體地,測試系統10可以監控每當運行測試用例時調用的多個關鍵字中每一個的代碼例程的運行狀態。比如,如圖7所示,測試系統10通過判斷調用的特定關鍵字71的代碼例程72是否發生錯誤,以測定代碼例程72的錯誤發生次數。並且,測試系統10可以通過與錯誤發生次數成反比的值計算相應關鍵字71的信度。比如,測試系統10可以每當代碼例程72中發生錯誤時減小信度值(例如,每次減小‘1’),每當代碼例程72無錯誤地完成運行時增加信度值(例如,每次增加‘1’)。由此,可以準確計算關鍵字71的信度。Specifically, the test system 10 can monitor the execution status of the code routines of each of the multiple keywords called each time a test case is run. For example, as shown in Figure 7, the test system 10 determines the number of times an error occurs in the code routine 72 of a specific keyword 71. Furthermore, the test system 10 can calculate the confidence level of the corresponding keyword 71 using a value inversely proportional to the number of errors. For example, the test system 10 can decrease the confidence level value (e.g., decrease it by '1' each time) whenever an error occurs in the code routine 72, and increase the confidence level value (e.g., increase it by '1' each time) whenever the code routine 72 completes execution without errors. Therefore, the reliability of keyword 71 can be accurately calculated.
測試系統10例如可以通過關鍵字(例如,71)的代碼例程(例如,72)中插入的監控代碼(例如,被創建為記錄/輸出/發送錯誤發生與否、運行成功與否等的資訊的代碼)對代碼例程(例如,72)的運行狀態(即,可以根據通過監控代碼獲取的資訊判斷錯誤發生與否)進行監控。然而,本發明的範圍不限於此。The test system 10 can monitor the running status of the code routine (e.g., 72) by means of monitoring code (e.g., code created to record/output/send information such as whether an error occurred, whether the execution was successful, etc.) inserted into the code routine (e.g., 72) of the keyword (e.g., 71). However, the scope of the invention is not limited thereto.
作為參考,如果關鍵字(例如,71)的代碼例程(例如,72)是用python創建的,則可以通過能夠容易在函數添加追加功能的裝飾器(decorator)實現監控代碼。然而,本發明的範圍不限於此。For reference, if the code routines (e.g., 72) for the keyword (e.g., 71) are created in Python, monitoring code can be implemented using decorators that allow for easy addition of functionality to functions. However, the scope of this invention is not limited thereto.
圖8顯示計算多個關鍵字的使用頻率、複雜度和信度的結果。圖8中假設目標軟體為購物相關網路應用程式且根據目標軟體的功能(例如,共同功能、訂單功能、配送功能等)劃分關鍵字的類別的情況。然而,本發明的範圍不限於此。Figure 8 shows the results of calculating the usage frequency, complexity, and reliability of multiple keywords. Figure 8 assumes the target software is a shopping-related web application and categorizes keywords based on the target software's functions (e.g., common functions, order functions, delivery functions, etc.). However, the scope of this invention is not limited to this.
將參考圖5再次說明。Please refer to Figure 5 for further explanation.
在步驟S53中,可以綜合考慮使用頻率、複雜度和信度計算多個關鍵字中每一個的得分(然而,在某些情況下,也可以僅使用三個度量中的一部分計算關鍵字的得分)。然而,其計算方式可以根據實施例而變化。In step S53, the score for each of the multiple keywords can be calculated by comprehensively considering frequency, complexity, and reliability (however, in some cases, the keyword score can also be calculated using only a subset of the three metrics). However, the calculation method can vary depending on the implementation.
在一些實施例中,測試系統10可以基於使用頻率、複雜度和信度的加權和來計算關鍵字的得分。此時,可以對三個度量中的複雜度賦予最低的權重,但本發明的範圍不限於此。In some embodiments, the testing system 10 can calculate the keyword score based on a weighted sum of usage frequency, complexity, and reliability. In this case, complexity can be assigned the lowest weight among the three measures, but the scope of the invention is not limited thereto.
在另一實施例中,測試系統10可以僅下調複雜度並基於調整後的複雜度和其他度量(即,使用頻率和信度)計算關鍵字的得分(這也可以理解為與對複雜度賦予最低的權重類似的概念)。可以理解,僅下調複雜度的原因是反映了與其他度量相比複雜度的準確度(可靠性)更低。更具體地,代碼例程具有能夠頻繁修改且每當修改時複雜度的值發生較大變化的特徵,因此,複雜度的值可能根據計算時刻而變化,考慮到這一點,複雜度可以被理解為準確度(可靠性)低於其他度量。並且,可以理解為,為了減小具有這種特徵的複雜度對關鍵字得分的影響,下調複雜度。比如,測試系統10可以通過下面數學式1計算關鍵字的複雜度。下面數學式1以數式表示僅對三個度量中的複雜度(‘complexity’)反映權重(‘weight’,即用於下調複雜度的權重)。In another embodiment, test system 10 may simply reduce the complexity and calculate the keyword score based on the adjusted complexity and other metrics (i.e., using frequency and reliability) (this can also be understood as a concept similar to assigning the lowest weight to complexity). It is understood that reducing only the complexity reflects its lower accuracy (reliability) compared to other metrics. More specifically, code routines are characterized by frequent modifications and significant changes in the complexity value each time a modification is made; therefore, the complexity value may vary depending on the computation time. Considering this, complexity can be understood as having lower accuracy (reliability) than other metrics. Furthermore, this can be understood as reducing the impact of complexity with this characteristic on keyword scores by lowering the complexity. For example, the testing system 10 can calculate the keyword complexity using the following mathematical formula 1. The following mathematical formula 1 expresses the weight (i.e., the weight used to lower the complexity) for only the complexity among the three measures.
【數學式1】【Mathematical Expression 1】
在前面的多個實施例中,關鍵字的複雜度的調整幅度(例如,數學式1的weight)可以基於相應關鍵字的代碼例程的修改頻率、修改程度、修改時刻之前的間隔(在下文中稱為‘修改間隔’)確定。比如,修改頻率越高、修改程度越大、修改間隔越短,調整幅度可以被確定為越大的值(反之,可以被確定為越小的值)。作為另一示例,當修改頻率(或修改程度)處於增加趨勢或修改間隔處於減小趨勢時,調整幅度可以被確定為越大的值(例如,修改頻率的增加斜率越大,可以被確定為越大的值,修改間隔的減小斜率越大,可以被確定為越大的值,反之,可以被確定為越小的值)。In the preceding embodiments, the adjustment magnitude of keyword complexity (e.g., the weight in Formula 1) can be determined based on the modification frequency, modification degree, and interval before modification in the corresponding keyword's code routine (hereinafter referred to as the 'modification interval'). For example, a higher modification frequency, a greater modification degree, and a shorter modification interval can result in a larger adjustment magnitude (and vice versa). As another example, when the modification frequency (or modification degree) is on an increasing trend or the modification interval is on a decreasing trend, the adjustment magnitude can be determined to be a larger value (e.g., a steeper slope for increasing modification frequency results in a larger value, a steeper slope for decreasing modification interval results in a larger value, and vice versa).
在另一實施例中,測試系統10可以通過與使用頻率和信度成正比且與複雜度成反比的方式計算關鍵字的得分。即,以使具有簡潔的代碼例程的關鍵字的得分更高的方式計算,以計算關鍵字的得分。In another embodiment, the testing system 10 can calculate the keyword score in a manner that is proportional to the frequency of use and reliability and inversely proportional to the complexity. That is, the score is calculated in a way that makes the keyword with a concise code routine score higher.
另一方面,在某些情況下,測試系統10可以根據預設規則、追加度量等調整步驟S53中計算出的得分。比如,測試系統10可以通過對最近註冊的關鍵字賦予加分來計算相應關鍵字的最終得分(例如,註冊時刻離目前越近,賦予越高的加分)。或者,測試系統10可以當關鍵字的使用頻率處於增加/減小趨勢時對相應關鍵字賦予(進行)加分/扣分(例如,增加/減小斜率越高,賦予越高的加分/扣分)。或者,測試系統10還可以根據代碼例程創建者的開發經驗對關鍵字賦予加分(例如,經驗越長,賦予越高的加分)。或者,測試系統10可以基於使用關鍵字的測試用例的運行次數,運行次數的增加趨勢等,對相應關鍵字賦予加分(例如,運行次數大於或等於基準值時賦予加分,運行次數越多,賦予越高的加分)。或者,測試系統10可以基於上述實施例的各種組合調整關鍵字的得分。On the other hand, in some cases, the testing system 10 can adjust the score calculated in step S53 based on preset rules, additional metrics, etc. For example, the testing system 10 can calculate the final score of a corresponding keyword by assigning bonus points to the most recently registered keywords (e.g., the closer the registration time is to the present, the higher the bonus points are assigned). Alternatively, the testing system 10 can assign (perform) bonus points/deduction points to corresponding keywords when the frequency of keyword usage is on an increasing/decreasing trend (e.g., the higher the increase/decrease slope, the higher the bonus/deduction points are assigned). Alternatively, the testing system 10 can assign bonus points to keywords based on the development experience of the code routine creator (e.g., more experience, higher bonus points). Alternatively, the testing system 10 can assign bonus points to corresponding keywords based on the number of times test cases using the keyword are run, the increasing trend of the number of runs, etc. (e.g., bonus points are assigned when the number of runs is greater than or equal to a baseline value, and higher bonus points are assigned for more runs). Alternatively, the testing system 10 can adjust the keyword scores based on various combinations of the above embodiments.
在步驟S54中,可以基於得分確定多個關鍵字的排名。即,測試系統10可以根據多個關鍵字的得分確定排名。在某些情況下,測試系統10可以根據預設基準對多個關鍵字進行分類,並按照類別確定關鍵字的排名。此時,預設基準例如可以是動作、目標軟體的功能或它們的組合等,但本發明的範圍不限於此。In step S54, the ranking of multiple keywords can be determined based on scores. That is, the testing system 10 can determine the ranking based on the scores of multiple keywords. In some cases, the testing system 10 can classify multiple keywords according to a preset criterion and determine the ranking of the keywords according to the category. In this case, the preset criterion may be, for example, an action, a function of the target software, or a combination thereof, but the scope of the invention is not limited thereto.
作為參考,上述的步驟S51可以由關鍵字資訊獲取單元41執行,步驟S52可以由關鍵字分析單元42執行,步驟S53和步驟S54可以由關鍵字排名單元43執行。For reference, step S51 can be performed by the keyword information acquisition unit 41, step S52 can be performed by the keyword analysis unit 42, and steps S53 and S54 can be performed by the keyword ranking unit 43.
另一方面,根據本發明的一些實施例,測試系統10可以定期或非定期更新多個關鍵字的得分和排名。比如,測試系統10可以獲取包括比先前獲取的多個關鍵字的第一資訊更加新的資訊的第二資訊,分析第二資訊以更新多個關鍵字中每一個的得分和排名。例如,測試系統10可以按照設定的週期(例如,一個月等)重新計算多個關鍵字的得分(例如,使用最近一個月的資訊更新得分),並使用相應得分更新多個關鍵字的排名。作為另一示例,測試系統10可以每當修改關鍵字的代碼例程時重新計算並反映複雜度,以立即更新相應關鍵字的得分(例如,即時更新得分)。作為又一示例,測試系統10還可以每當創建新的測試用例時更新並反映關鍵字的使用頻率,以立即更新相應關鍵字的得分。作為又一示例,測試系統10還可以每當運行測試用例時更新並反映關鍵字的信度,以立即更新相應關鍵字的得分。作為又一示例,測試系統10還可以基於上述實施例的各種組合更新多個關鍵字的得分和排名。On the other hand, according to some embodiments of the present invention, the testing system 10 can periodically or irregularly update the scores and rankings of multiple keywords. For example, the testing system 10 can obtain second information that includes information newer than the first information about the multiple keywords previously obtained, and analyze the second information to update the scores and rankings of each of the multiple keywords. For example, the testing system 10 can recalculate the scores of the multiple keywords according to a set cycle (e.g., monthly, etc.) (e.g., updating scores using information from the most recent month), and update the rankings of the multiple keywords with the corresponding scores. As another example, the testing system 10 can recalculate and reflect the complexity whenever the code routine of a keyword is modified, to immediately update the scores of the corresponding keywords (e.g., updating scores in real time). As yet another example, testing system 10 can also update and reflect the frequency of keyword usage whenever a new test case is created, thereby immediately updating the corresponding keyword score. As yet another example, testing system 10 can also update and reflect the reliability of keywords whenever a test case is run, thereby immediately updating the corresponding keyword score. As yet another example, testing system 10 can also update the scores and rankings of multiple keywords based on various combinations of the above embodiments.
並且,在一些實施例中,測試系統10可以通過目標軟體的測試員能夠訪問的頁面提供多個關鍵字中每一個的排名資訊(例如,排名,諸如得分、使用頻率/複雜度/信度的詳細得分等)。由此,可以降低測試員感受到的創建測試用例的難度。進而,還可以提高創建測試用例的速度。Furthermore, in some embodiments, the testing system 10 can provide ranking information for each of multiple keywords (e.g., ranking, such as score, detailed scores for usage frequency/complexity/reliability, etc.) through a page accessible to testers of the target software. This reduces the perceived difficulty for testers in creating test cases, and consequently increases the speed of test case creation.
並且,在一些實施例中,測試系統10可以基於多個關鍵字的排名資訊自動生成測試用例。例如,測試系統10當接收到用於構成測試用例的一系列動作(即,動作序列)的資訊,則組合與所輸入的動作對應的多個關鍵字來創建測試用例。此時,測試系統10可以利用與各個動作對應的多個關鍵字中排名高於或等於基準值的關鍵字(例如,排名最高的關鍵字)創建測試用例。如果沒有與特定動作對應的關鍵字,則測試系統10可以參考類似測試用例(例如,被創建為驗證與目標軟體相同或相似功能的測試用例)的動作將相應動作更改為另一動作或將其細分為多個子動作。並且,測試系統10可以使用與更改的動作或子動作對應的關鍵字生成測試用例。Furthermore, in some embodiments, the testing system 10 can automatically generate test cases based on ranking information of multiple keywords. For example, when the testing system 10 receives information about a series of actions (i.e., a sequence of actions) that constitute a test case, it combines multiple keywords corresponding to the input actions to create test cases. In this case, the testing system 10 can create test cases using keywords that rank higher than or equal to a benchmark value among the multiple keywords corresponding to each action (e.g., the highest-ranking keyword). If there is no keyword corresponding to a specific action, the testing system 10 can refer to similar test cases (e.g., test cases created to verify the same or similar functionality as the target software) to change the corresponding action to another action or subdivide it into multiple sub-actions. Furthermore, the test system 10 can generate test cases using keywords corresponding to the changed actions or sub-actions.
並且,在一些實施例中,測試系統10可以基於多個關鍵字的排名資訊(例如,諸如排名、得分、使用頻率/複雜度/信度的詳細得分等)為測試員推薦關鍵字。比如,測試系統10可以通過測試用例創建介面自動推薦對於特定動作的關鍵字,下面參考圖9對本實施例進行更詳細的說明。Furthermore, in some embodiments, the testing system 10 can recommend keywords to testers based on ranking information of multiple keywords (e.g., ranking, score, detailed scores for usage frequency/complexity/reliability, etc.). For example, the testing system 10 can automatically recommend keywords for specific actions through the test case creation interface. This embodiment will be explained in more detail below with reference to Figure 9.
如圖9所示,假設測試員91可以通過測試用例創建介面(92,下文中稱為‘創建介面’)創建新的測試用例93。並且,新的測試用例93由一系列動作94-1至94-3構成,測試員91設置(選擇/輸入)第一個動作94-1的關鍵字95-1,輪到設置(選擇/輸入)第二個動作94-2的關鍵字95-2。As shown in Figure 9, suppose tester 91 can create a new test case 93 through the test case creation interface (92, hereinafter referred to as the 'creation interface'). The new test case 93 consists of a series of actions 94-1 to 94-3. Tester 91 sets (selects/inputs) the keyword 95-1 of the first action 94-1, and then sets (selects/inputs) the keyword 95-2 of the second action 94-2.
作為參考,創建介面92是由測試系統10提供的介面,可以以任何方式實現。創建介面92例如可以包括用於支持輸入動作資訊、提供推薦關鍵字(或推薦關鍵字列表)、選擇關鍵字等功能的介面,但本發明的範圍不限於此。For reference, the creation interface 92 is an interface provided by the test system 10 and can be implemented in any way. The creation interface 92 may include, for example, an interface for supporting input action information, providing recommended keywords (or a list of recommended keywords), selecting keywords, etc., but the scope of the invention is not limited thereto.
在這種情況下,測試系統10可以通過創建介面92從測試員91接收用於構成新的測試用例93的第二個動作94-2(‘X’)的資訊,並回應於此,從多個關鍵字(即,預先註冊的多個關鍵字)篩選與所輸入的動作94-2對應的至少一個多個關鍵字。並且,測試系統10可以基於篩選的多個關鍵字的排名確定推薦關鍵字(例如,排名高於或等於基準值的關鍵字),並通過創建介面92將推薦關鍵字列表96(例如,可以包括關鍵字的名稱、排名、得分等資訊)提供給測試員91。由此,測試員91可以通過創建介面92確認推薦關鍵字列表96,並選擇適當的關鍵字95-2(‘A’),測試系統10設置所選關鍵字95-2作為與第二個動作94-2對應的關鍵字。對其他動作(例如,94-3)也可以重複執行這種過程。In this scenario, the testing system 10 can receive information from the tester 91 via the creation interface 92 regarding a second action 94-2 ('X') to constitute a new test case 93, and respond accordingly by filtering from a pool of keywords (i.e., pre-registered keywords) that correspond to the input action 94-2. Furthermore, the testing system 10 can determine recommended keywords (e.g., keywords ranked higher than or equal to a benchmark value) based on the ranking of the filtered keywords, and provide the tester 91 with a list 96 of recommended keywords (e.g., which may include keyword names, rankings, scores, etc.) via the creation interface 92. Thus, tester 91 can confirm the recommended keyword list 96 through creation interface 92 and select the appropriate keyword 95-2 ('A'). Test system 10 sets the selected keyword 95-2 as the keyword corresponding to the second action 94-2. This process can also be repeated for other actions (e.g., 94-3).
在上文中參考圖5至圖9說明了根據本發明的一些實施例的基於關鍵字的測試方法。如上所述,通過綜合考慮使用頻率、複雜度和信度計算關鍵字的得分,從而能夠在關鍵字的得分準確地反映相應關鍵字的有用性。進而,根據相應得分確定關鍵字的排名,從而能夠按照有用性對各種關鍵字進行排名。The keyword-based testing methods according to some embodiments of the present invention are illustrated above with reference to Figures 5 to 9. As stated above, by comprehensively considering frequency, complexity, and reliability to calculate keyword scores, the keyword scores can accurately reflect the usefulness of the corresponding keywords. Furthermore, the ranking of keywords is determined based on the corresponding scores, thereby enabling the ranking of various keywords according to their usefulness.
並且,通過將按照關鍵字的有用性的排名資訊提供給目標軟體的測試員,能夠降低創建測試用例的難度並提高測試員的便利性。進而,還可以提高創建測試用例的速度。Furthermore, by providing testers of the target software with ranking information based on keyword usefulness, the difficulty of creating test cases can be reduced and the convenience for testers can be improved. This, in turn, can increase the speed of test case creation.
並且,通過在創建測試用例時將基於關鍵字的排名資訊的推薦關鍵字提供給測試員,能夠進一步降低測試員創建測試用例的難度並進一步提高測試員的便利性。Furthermore, by providing testers with recommended keywords based on keyword ranking information when creating test cases, the difficulty of testers creating test cases can be further reduced and the convenience for testers can be further improved.
在下文中,參考圖10說明能夠實現根據本發明的一些實施例的測試系統10的示意性計算裝置100。In the following description, with reference to FIG10, an illustrative computing device 100 is shown that can implement a test system 10 according to some embodiments of the present invention.
圖10為顯示計算裝置100的示意性硬體結構圖。Figure 10 is a schematic hardware structure diagram of the display computing device 100.
如圖10所示,計算裝置100可以包括:一個或多個處理器101、匯流排103、通信介面104、用於加載(load)由處理器101執行的電腦程式的記憶體102、用於存儲電腦程式106的輔助記憶體105。然而,圖10中僅顯示了與本發明實施例有關的組件。因此,本發明所屬領域的普通技術人員應當理解,除了圖10所示的組件之外,還可以包括其他通用組件)。即,計算裝置100除了圖10所示的組件之外還可以包括各種組件。並且,在一些情況下,計算裝置100可以被配置為省略圖10所示的一些組件的形式。在下文中,將說明計算裝置100的各組件。As shown in FIG10, the computing device 100 may include: one or more processors 101, a bus 103, a communication interface 104, memory 102 for loading computer programs executed by the processors 101, and auxiliary memory 105 for storing computer programs 106. However, FIG10 only shows components relevant to embodiments of the present invention. Therefore, those skilled in the art will understand that other general components may be included in addition to those shown in FIG10. That is, the computing device 100 may include various components besides those shown in FIG10. Furthermore, in some cases, the computing device 100 may be configured to omit some components shown in FIG10. The components of the computing device 100 will be described below.
處理器101可以控制計算裝置100的各組件的整體操作。處理器101可以包括CPU(Central Processing Unit)、MPU(Micro Processor Unit)、MCU(Micro Controller Unit)、GPU(Graphic Processing Unit)、NPU(Neural Processing Unit)或本領域中公知的任何處理器中的至少一個。並且,處理器101可以執行用於執行根據本發明的各種實施例的操作/方法的至少一個應用程式或程式的運算。計算裝置100可以包括一個或多個處理器。Processor 101 can control the overall operation of the components of computing device 100. Processor 101 may include at least one of a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), NPU (Neural Processing Unit), or any processor known in the art. Furthermore, processor 101 can execute calculations for performing at least one application or program to carry out operations/methods according to various embodiments of the present invention. Computing device 100 may include one or more processors.
並且,記憶體102可以存儲各種數據、命令和/或資訊。記憶體102可以從輔助記憶體105加載電腦程式106以執行根據本發明的各種實施例的操作/方法。記憶體102可以被實現為諸如RAM的易失性記憶體,但是本發明的技術範圍不限於此。Furthermore, memory 102 can store various data, commands, and/or information. Memory 102 can load computer program 106 from auxiliary memory 105 to execute operations/methods according to various embodiments of the present invention. Memory 102 can be implemented as volatile memory such as RAM, but the scope of the present invention is not limited thereto.
並且,匯流排103可以提供計算裝置100的組件之間的通信功能。匯流排103可以被實現為各種類型的匯流排,諸如地址匯流排(Address Bus)、數據匯流排(Data Bus)和控制匯流排(Control Bus)等。Furthermore, bus 103 can provide communication functions between components of computing device 100. Bus 103 can be implemented as various types of buses, such as address bus, data bus, and control bus.
並且,通信介面104可以支持計算裝置100的有線/無線互聯網通信。此外,通信介面104可以支持除了互聯網通信之外的各種通信方法。為此,通信介面104可以包括本領域中公知的通信模組。Furthermore, the communication interface 104 can support wired/wireless Internet communication of the computing device 100. In addition, the communication interface 104 can support various communication methods other than Internet communication. Therefore, the communication interface 104 may include communication modules known in the art.
並且,輔助記憶體105可以非臨時地存儲一個或多個電腦程式106。輔助記憶體105可以包括諸如ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、閃存的非易失性記憶體、硬碟、可移動磁片或本領域公知的任何類型的電腦可讀記錄介質。Furthermore, the auxiliary memory 105 can store one or more computer programs 106 non-temporarily. The auxiliary memory 105 may include non-volatile memory such as ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), flash memory, hard disk, removable magnetic disk, or any type of computer-readable recording medium known in the art.
並且,電腦程式106可以包括一個或多個指令,當加載到記憶體102中時,該指令使處理器101執行根據本發明的各種實施例的操作/方法。即,處理器101可以通過執行一個或多個指令來執行根據本發明的各種實施例的操作/方法。Furthermore, the computer program 106 may include one or more instructions that, when loaded into the memory 102, cause the processor 101 to perform operations/methods according to various embodiments of the present invention. That is, the processor 101 can perform operations/methods according to various embodiments of the present invention by executing one or more instructions.
例如,電腦程式106可以包括用於執行如下操作的一個或多個指令:獲取用於創建目標軟體的測試用例的多個關鍵字的資訊,所獲取的資訊包括多個關鍵字的代碼例程;分析代碼例程以計算多個關鍵字中每一個的複雜度;基於複雜度計算多個關鍵字中每一個的得分;及基於得分確定多個關鍵字的排名。For example, computer program 106 may include one or more instructions for performing the following operations: obtaining information on multiple keywords used to create test cases for the target software, the obtained information including code routines for the multiple keywords; analyzing the code routines to calculate the complexity of each of the multiple keywords; calculating a score for each of the multiple keywords based on the complexity; and determining a ranking of the multiple keywords based on the scores.
作為另一例,電腦程式106還可以包括用於執行參考圖1至圖9說明的多個操作/方法中的至少一部分的多個指令。As another example, computer program 106 may also include multiple instructions for performing at least a portion of the multiple operations/methods described with reference to Figures 1 to 9.
如圖所示的情況下,可以通過計算裝置100實現根據本發明的一些實施例的測試系統10。As shown in the figure, a test system 10 according to some embodiments of the present invention can be implemented by a computing device 100.
另一方面,在一些實施例中,圖10所示的計算裝置100可以意味著基於雲技術實現的虛擬機。假如,計算裝置100是包括在伺服器農場(server farm)的一個以上物理伺服器(physical server)中運行的虛擬機。在這種情況下,如圖10所示的處理器101、記憶體102和輔助記憶體105中的至少一部分可以是虛擬硬體(virtual hardware),通信介面104也可以實現為虛擬交換機(virtual switch)等虛擬化網元。On the other hand, in some embodiments, the computing device 100 shown in FIG10 can mean a virtual machine implemented based on cloud technology. For example, the computing device 100 is a virtual machine running on one or more physical servers included in a server farm. In this case, at least some of the processor 101, memory 102, and auxiliary memory 105 shown in FIG10 can be virtual hardware, and the communication interface 104 can also be implemented as a virtualized network element such as a virtual switch.
在上文中參考圖10說明了能夠實現根據本發明的一些實施例的測試系統10的示意性計算裝置100。The schematic computing device 100 of the test system 10, which can implement some embodiments of the present invention, is illustrated above with reference to FIG10.
在上文中參考圖1至圖10說明了本發明的各種實施例及根據實施例的效果。根據本發明的技術思想的效果不限於上述效果,本領域技術人員能夠從下面的說明中將清楚地理解未提及的其他效果。Various embodiments of the present invention and their effects have been illustrated above with reference to Figures 1 to 10. The effects of the technical concept of the present invention are not limited to those described above, and those skilled in the art will clearly understand from the following description other effects not mentioned.
並且,儘管在上述實施例中說明了多個組件被組合為一個或組合操作,但是本發明的技術思想不一定限於這些實施例。即,在本發明的技術思想的範圍內,所有組件可以選擇性地組合一個或多個來操作。Furthermore, although the above embodiments illustrate that multiple components are combined into one or more operations, the technical concept of the present invention is not necessarily limited to these embodiments. That is, within the scope of the technical concept of the present invention, all components can be selectively combined into one or more for operation.
到目前為止說明的本發明的技術思想可以被實現為電腦可讀介質上的電腦可讀代碼。記錄在電腦可讀記錄介質上的電腦程式可以通過諸如互聯網之類的網路發送到另一計算裝置,安裝在所述另一計算裝置中,並在所述另一計算裝置中使用。The technical concept of the present invention described so far can be implemented as computer-readable code on a computer-readable medium. The computer program recorded on the computer-readable recording medium can be sent to another computing device via a network such as the Internet, installed in the other computing device, and used in the other computing device.
儘管在附圖中以特定順序顯示了操作,但是不應理解必須以所示的特定順序或連續的順序來執行所述操作,或者必須執行所有所示的操作以獲得期望的結果。在特定情況下,多任務處理和並行處理可能是有利的。儘管已經參考附圖說明了本發明的各種實施例,但是本發明所屬領域的普通技術人員應當理解,可以以不同的具體形式實施本發明的技術思想而不改變本發明的技術思想或本質特徵。因此,上述實施例應當被理解為在所有方面都是說明性的而不是限制性的。本發明的保護範圍應由所附申請專利範圍來解釋,並且等同範圍內的所有技術思想應被解釋為包括在本發明所限定的技術思想的權利範圍內。Although the operations are shown in a specific order in the accompanying figures, it should not be understood that they must be performed in the specific or sequential order shown, or that all shown operations must be performed to obtain the desired result. In certain cases, multitasking and parallel processing may be advantageous. While various embodiments of the invention have been described with reference to the accompanying figures, it should be understood by those skilled in the art that the technical concept of the invention can be implemented in different specific forms without altering the technical concept or essential characteristics of the invention. Therefore, the above embodiments should be understood as illustrative rather than restrictive in all respects. The scope of protection of the invention should be interpreted as defined by the appended claims, and all technical ideas within the equivalent scope should be interpreted as included within the scope of the technical ideas defined herein.
10: 基於關鍵字的測試系統 11: 多個關鍵字12: 關鍵字得分 13: 測試員20: 登入頁面 21、32、33、34: 關鍵字31: 測試用例 35、36、37: 代碼例程41: 關鍵字資訊獲取單元 42: 關鍵字分析單元43: 關鍵字排名單元 44: 關鍵字推薦單元45: 使用頻率計算單元 46: 複雜度計算單元47: 信度計算單元 S51、S52、S53、 S54: 步驟61, 71: 關鍵字 62, 72: 代碼例程63、64、65、66、67、68: 代碼行91: 測試員 92: 測試用例創建介面93: 新的測試用例 94-1、94-2、94-3: 動作95-1、95-2: 關鍵字 96: 推薦關鍵字列表100: 計算裝置 101: 處理器102: 記憶體 103: 匯流排104: 通信介面 105: 輔助記憶體106: 電腦程式10: Keyword-based testing system 11: Multiple keywords 12: Keyword score 13: Tester 20: Login page 21, 32, 33, 34: Keywords 31: Test cases 35, 36, 37: Code examples 41: Keyword information retrieval unit 42: Keyword analysis unit 43: Keyword ranking unit 44: Keyword recommendation unit 45: Usage frequency calculation unit 46: Complexity calculation unit 47: Reliability calculation unit S51, S52, S53 S54: Steps 61, 71: Keywords 62, 72: Code Routine 63, 64, 65, 66, 67, 68: Code Lines 91: Tester 92: Test Case Creation Interface 93: New Test Case 94-1, 94-2, 94-3: Actions 95-1, 95-2: Keywords 96: Recommended Keyword List 100: Computing Device 101: Processor 102: Memory 103: Bus 104: Communication Interface 105: Auxiliary Memory 106: Computer Programs
圖1為用於簡單說明根據本發明的一些實施例的基於關鍵字的測試(keyword-based testing)系統的操作的示意圖。Figure 1 is a schematic diagram for simply illustrating the operation of a keyword-based testing system according to some embodiments of the present invention.
圖2和圖3為用於說明本發明的各種實施例中提到的關鍵字的概念的示意圖。Figures 2 and 3 are schematic diagrams used to illustrate the concept of keywords mentioned in various embodiments of the present invention.
圖4為顯示根據本發明的一些實施例的基於關鍵字的測試系統的示意性框圖。Figure 4 is a schematic block diagram showing a keyword-based testing system according to some embodiments of the present invention.
圖5為顯示根據本發明的一些實施例的基於關鍵字的測試方法的示意性流程圖。Figure 5 is a schematic flowchart showing some embodiments of a keyword-based testing method according to the present invention.
圖6為用於說明根據本發明的一些實施例的複雜度計算方式的示意圖。Figure 6 is a schematic diagram illustrating the complexity calculation method according to some embodiments of the present invention.
圖7為用於說明根據本發明的一些實施例的信度分析方式的示意圖。Figure 7 is a schematic diagram illustrating the reliability analysis method used to explain some embodiments of the present invention.
圖8顯示根據本發明的一些實施例計算多個關鍵字的使用頻率、複雜度和信度的結果。Figure 8 shows the results of calculating the usage frequency, complexity, and reliability of multiple keywords according to some embodiments of the present invention.
圖9為用於說明根據本發明的一些實施例的關鍵字推薦方式的示意圖。Figure 9 is a schematic diagram illustrating the keyword recommendation method according to some embodiments of the present invention.
圖10顯示能夠實現根據本發明的一些實施例的基於關鍵字的測試系統的示意性計算裝置。Figure 10 shows a schematic computing device that can implement a keyword-based testing system according to some embodiments of the present invention.
S51、S52、S53、 S54: 步驟S51, S52, S53, S54: Steps
Claims (5)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2023-0125978 | 2023-09-21 | ||
| KR1020230125978A KR102787412B1 (en) | 2023-09-21 | 2023-09-21 | Method for keyword-based testing and system therefor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202538523A TW202538523A (en) | 2025-10-01 |
| TWI904063B true TWI904063B (en) | 2025-11-01 |
Family
ID=
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130326486A1 (en) | 2006-05-16 | 2013-12-05 | Open Text S.A. | Keyword based software testing system and method |
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130326486A1 (en) | 2006-05-16 | 2013-12-05 | Open Text S.A. | Keyword based software testing system and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12158831B2 (en) | Automatic performance evaluation in continuous integration and continuous delivery pipeline | |
| US8024615B2 (en) | Steady state computer testing | |
| JP5249206B2 (en) | Automated method and system for collecting and reporting API performance profiles | |
| US7844928B2 (en) | Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information | |
| US11513944B1 (en) | Ranking tests based on code change and coverage | |
| WO2021087648A1 (en) | Systems and methods for evaluating code contributions by software developers | |
| CN110245089A (en) | Stress testing method, device, equipment and computer-readable storage medium | |
| US10437587B2 (en) | Software package analyzer for increasing parallelization of code editing | |
| US9740595B2 (en) | Method and apparatus for producing a benchmark application for performance testing | |
| US11880295B2 (en) | Web service test and analysis platform | |
| US11442847B2 (en) | Automated determination of software testing resources | |
| US8359291B2 (en) | Architecture-aware field affinity estimation | |
| US10102099B2 (en) | Performance information generating method, information processing apparatus and computer-readable storage medium storing performance information generation program | |
| US20110191094A1 (en) | System and method to evaluate and size relative system performance | |
| TWI904063B (en) | Method for keyword-based testing and system therefor | |
| TW202538523A (en) | Method for keyword-based testing and system therefor | |
| US10973467B2 (en) | Method and system for automated diagnostics of none-infectious illnesses | |
| CN119948464A (en) | Systems and methods for large-scale variant testing | |
| CN118760603A (en) | A simulation verification method, device, computer equipment and storage medium | |
| CN115344495B (en) | Data analysis method, device, computer equipment and medium for batch task test | |
| US8532931B2 (en) | Calculating sample size for clinical trial | |
| CN120508487B (en) | Solid-state drive performance optimization method, device, equipment, medium and program product | |
| CN111124853B (en) | Cloud desktop scale evaluation system and method based on CPU performance | |
| JP7214173B1 (en) | System and method for evaluating software development | |
| CN119961125A (en) | A data processing method, device, equipment, storage medium and product |