[go: up one dir, main page]

TWI911647B - Electronic device, method performed by electronic device, and non-transitory computer-readable recording medium for managing keyword related to execution of test case - Google Patents

Electronic device, method performed by electronic device, and non-transitory computer-readable recording medium for managing keyword related to execution of test case

Info

Publication number
TWI911647B
TWI911647B TW113105766A TW113105766A TWI911647B TW I911647 B TWI911647 B TW I911647B TW 113105766 A TW113105766 A TW 113105766A TW 113105766 A TW113105766 A TW 113105766A TW I911647 B TWI911647 B TW I911647B
Authority
TW
Taiwan
Prior art keywords
keyword
candidate
keywords
source code
electronic device
Prior art date
Application number
TW113105766A
Other languages
Chinese (zh)
Other versions
TW202530994A (en
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
Priority claimed from KR1020240010737A external-priority patent/KR20250115600A/en
Application filed by 韓商韓領有限公司 filed Critical 韓商韓領有限公司
Publication of TW202530994A publication Critical patent/TW202530994A/en
Application granted granted Critical
Publication of TWI911647B publication Critical patent/TWI911647B/en

Links

Abstract

本發明提出了一種用以管理與測試案例之執行相關之關鍵字之電子裝置。本發明之電子裝置可包括:一個以上之處理器;及一個以上之記憶體,其等儲存有用以藉由上述一個以上之處理器而執行之命令;於執行上述命令時,上述一個以上之處理器以如下方式構成:獲得與和一個以上之測試案例之執行相關之一個以上的候選關鍵字對應之原始碼,基於剖析上述原始碼,產生與上述一個以上之候選關鍵字各者對應之屬性資訊,接收用於推薦關鍵字之檢索之目標資訊,基於將與上述一個以上之候選關鍵字各者對應之屬性資訊及上述目標資訊進行比較,於上述一個以上之候選關鍵字中檢索與上述目標資訊匹配之上述推薦關鍵字。This invention proposes an electronic device for managing and testing the execution of keywords related to test cases. The electronic device of the present invention may include: one or more processors; and one or more memories, which store commands to be executed by the one or more processors; when executing the commands, the one or more processors are configured to: obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases; generate attribute information corresponding to each of the one or more candidate keywords based on parsing the source code; receive target information for searching recommended keywords; and search for recommended keywords that match the target information from the one or more candidate keywords by comparing the attribute information corresponding to each of the one or more candidate keywords with the target information.

Description

用以管理與測試案例之執行相關之關鍵字之電子裝置、藉由電子裝置而實行之方法、及非暫時性電腦可讀記錄媒體Electronic devices for managing and testing the execution of related keywords, methods implemented by the electronic devices, and non-temporary computer-readable recording media.

本發明係關於一種用以管理與測試案例之執行相關之關鍵字之技術。更具體而言,本發明係關於一種剖析(parsing)關鍵字之原始碼以有效率地管理與測試案例之執行相關之關鍵字的技術。This invention relates to a technique for managing and test case execution-related keywords. More specifically, this invention relates to a technique for parsing keyword source code to efficiently manage and test case execution-related keywords.

軟體測試(software test)可表示軟體是否按照開發者之意圖動作。為了進行軟體測試,可執行複數個測試案例。測試案例可表示為了驗證軟體是否符合特定設計規格而設計之一系列條件或變量。測試案例可包括與將要測試之特定場景以及測試資料(例如,輸入值)、執行條件、及預期結果相關之資訊。開發者可使用自動化之測試框架來優化測試案例之產生過程。例如,自動化之測試框架可提供基於關鍵字(keyword)之訪問,關鍵字可表示事先定義、可再次使用之任務或命令之集合。開發者於設計測試案例時,可使用關鍵字而非直接輸入命令代碼,關鍵字之使用提供了加快測試案例之產生速度之優點。Software testing demonstrates whether software behaves as the developer intended. Multiple test cases can be executed to perform software testing. A test case represents a set of conditions or variables designed to verify whether the software conforms to specific design specifications. Test cases may include information related to the specific scenario to be tested, test data (e.g., input values), execution conditions, and expected results. Developers can use automated testing frameworks to optimize the test case generation process. For example, automated testing frameworks can provide keyword-based access, where keywords represent a predefined, reusable set of tasks or commands. When designing test cases, developers can use keywords instead of directly entering command code. The use of keywords provides the advantage of speeding up the generation of test cases.

[發明所欲解決之問題] 本發明揭示了一種用以管理與測試案例之執行相關之關鍵字之技術。 [解決問題之技術手段] [Problem Solved by the Invention] This invention discloses a technique for managing and executing test cases related to keywords. [Technical Means for Solving the Problem]

本發明可揭示一種用以管理與測試案例之執行相關之關鍵字之技術。本發明之一實施例之方法可包括如下步驟:獲得與和一個以上之測試案例之執行相關之一個以上的候選關鍵字對應之原始碼;基於剖析(parsing)上述原始碼,產生與上述一個以上之候選關鍵字各者對應之屬性資訊;接收用於推薦關鍵字之檢索之目標資訊;及基於將與上述一個以上之候選關鍵字各者對應之屬性資訊及上述目標資訊進行比較,於上述一個以上之候選關鍵字中檢索與上述目標資訊匹配之上述推薦關鍵字。This invention discloses a technique for managing and executing keywords related to test cases. One embodiment of this invention may include the following steps: obtaining source code corresponding to one or more candidate keywords related to the execution of one or more test cases; generating attribute information corresponding to each of the candidate keywords based on parsing the source code; receiving target information for retrieving recommended keywords; and retrieving recommended keywords matching the target information from the candidate keywords by comparing the attribute information corresponding to each of the candidate keywords with the target information.

於一實施例中,上述一個以上之測試案例各者表示與一個頁面相關之測試案例,獲得上述原始碼之步驟可包括如下步驟:自與上述一個頁面對應之資源檔案(resource file)中識別上述原始碼。In one embodiment, each of the above-mentioned test cases represents a test case associated with a page, and the steps to obtain the above-mentioned source code may include the following steps: identifying the above-mentioned source code from the resource file corresponding to the above-mentioned page.

於一實施例中,產生與上述一個以上之候選關鍵字各者對應之屬性資訊之步驟可包括如下步驟:響應於接收欲將上述原始碼合併(merge)至主分支之第1拉取請求(pull request),觸發(trigger)對上述原始碼之剖析。In one embodiment, the step of generating attribute information corresponding to each of the above-mentioned candidate keywords may include the following steps: responding to the first pull request that wishes to merge the above source code into the main branch, triggering the parsing of the above source code.

於一實施例中,上述方法可包括如下步驟:自上述原始碼中識別與上述一個以上之候選關鍵字各者對應之部分原始碼;及基於剖析與上述每個候選關鍵字對應之部分原始碼,產生上述各候選關鍵字之一個以上之關鍵字屬性各者之部分資訊(上述每個候選關鍵字之上述一個以上之關鍵字屬性各者的部分資訊構成與上述每個候選關鍵字對應之屬性資訊)。In one embodiment, the above method may include the following steps: identifying from the above source code a portion of the source code corresponding to each of the above candidate keywords; and generating, based on analyzing the portion of the source code corresponding to each of the above candidate keywords, partial information of each of the above candidate keywords' keyword attributes (the partial information of each of the above candidate keywords' keyword attributes constitutes the attribute information corresponding to each of the above candidate keywords).

於一實施例中,產生與上述一個以上之候選關鍵字各者對應之屬性資訊之步驟可包括如下步驟:識別上述原始碼中不以空白(space)起始之一個以上之列,並將上述一個以上之列各者確定為與候選關鍵字對應之部分原始碼之起始列。In one embodiment, the steps of generating attribute information corresponding to each of the above-mentioned candidate keywords may include the following steps: identifying one or more columns in the above-mentioned source code that do not begin with a space, and determining each of the above-mentioned columns as the starting column of the portion of source code corresponding to the candidate keywords.

於一實施例中,上述一個以上之關鍵字屬性可包括:頁面名稱、關鍵字名稱、關鍵字說明、關鍵字標籤(tag)及關鍵字引數(argument)中之至少一者。In one embodiment, the above-mentioned one or more keyword attributes may include at least one of the following: page name, keyword name, keyword description, keyword tag, and keyword argument.

於一實施例中,針對上述一個以上之關鍵字屬性中之特定關鍵字屬性,預先設定用以與其他關鍵字屬性區分之標記,產生上述各候選關鍵字之一個以上之關鍵字屬性各者之部分資訊的步驟可包括如下步驟:基於自與上述每個候選關鍵字對應之部分原始碼中檢索上述標記,產生上述每個候選關鍵字之上述特定關鍵字屬性之部分資訊。In one embodiment, for a specific keyword attribute among the above-mentioned one or more keyword attributes, a marker is pre-set to distinguish it from other keyword attributes. The step of generating partial information of each of the above-mentioned candidate keyword's one or more keyword attributes may include the following steps: based on retrieving the marker from the partial source code corresponding to each of the above-mentioned candidate keywords, partial information of the above-mentioned specific keyword attribute of each of the above-mentioned candidate keywords is generated.

於一實施例中,上述方法可進而包括如下步驟:接收根據上述原始碼之變更而請求更新上述原始碼之第2拉取請求;響應於接收上述第2拉取請求,識別上述原始碼中所變更之代碼部分;及基於剖析上述所識別之代碼部分,更新與上述一個以上之候選關鍵字各者對應之屬性資訊。In one embodiment, the above method may further include the following steps: receiving a second fetch request to update the source code based on the changes to the source code; in response to receiving the second fetch request, identifying the changed code portion in the source code; and updating the attribute information corresponding to each of the one or more candidate keywords based on the analysis of the identified code portion.

於一實施例中,上述方法可進而包括如下步驟:為上述一個以上之候選關鍵字各者設定可信度(credibility)。In one embodiment, the above method may further include the following steps: setting credibility for each of the above-mentioned candidate keywords.

於一實施例中,為上述一個以上之候選關鍵字各者設定可信度之步驟可包括如下步驟:於上述一個以上測試案例中,執行(execute)特定測試案例,判斷與上述特定測試案例之執行相關之至少一個候選關鍵字之執行是否成功;及基於上述至少一個候選關鍵字之執行是否成功,調整與上述至少一個候選關鍵字各者對應之可信度。In one embodiment, the steps of setting the confidence level for each of the above-mentioned candidate keywords may include the following steps: in the above-mentioned test cases, executing a specific test case, determining whether the execution of at least one candidate keyword related to the execution of the specific test case is successful; and adjusting the confidence level corresponding to each of the above-mentioned candidate keywords based on whether the execution of the at least one candidate keyword is successful.

於一實施例中,檢索上述推薦關鍵字之步驟可包括如下步驟:識別與上述目標資訊映射之關鍵字屬性;基於將上述每個候選關鍵字之上述所識別之關鍵字屬性的部分資訊與上述目標資訊進行比較,算出上述每個候選關鍵字及上述目標資訊之間之匹配度(matching degree);及基於上述匹配度之算出結果,於上述一個以上之候選關鍵字中檢索上述推薦關鍵字。In one embodiment, the steps for retrieving the recommended keywords may include the following steps: identifying keyword attributes that map to the target information; calculating the matching degree between each candidate keyword and the target information by comparing partial information of the identified keyword attributes of each candidate keyword with the target information; and retrieving the recommended keywords from the candidate keywords based on the calculated matching degree.

於一實施例中,於上述一個以上之候選關鍵字中檢索上述推薦關鍵字之步驟可包括如下步驟:於上述一個以上之候選關鍵字中,將與上述目標資訊之匹配度係臨界值以上之候選關鍵字確定為上述推薦關鍵字。In one embodiment, the step of searching for the recommended keyword among the above-mentioned candidate keywords may include the following steps: among the above-mentioned candidate keywords, the candidate keywords whose matching degree with the target information is above a critical value are identified as the recommended keywords.

於一實施例中,上述方法可進而包括如下步驟:於上述所確定之推薦關鍵字為複數個之情形時,確定上述複數個推薦關鍵字各者之推薦值;及使上述複數個推薦關鍵字按上述推薦值由高至低之順序顯示。In one embodiment, the above method may further include the following steps: when there are multiple recommended keywords, determining the recommended value of each of the multiple recommended keywords; and displaying the multiple recommended keywords in descending order of the recommended values.

於一實施例中,確定上述複數個推薦關鍵字各者之推薦值之步驟可包括如下步驟:算出對與上述推薦關鍵字之上述目標資訊之匹配度應用第1加權值後之值加上對與上述推薦關鍵字對應之可信度應用第2加權值後之值而得到之值,作為上述推薦值。In one embodiment, the step of determining the recommendation value of each of the plurality of recommended keywords may include the following steps: calculating the value obtained by applying a first weight to the matching degree of the target information corresponding to the recommended keyword and adding a second weight to the credibility corresponding to the recommended keyword, and using this value as the recommendation value.

於一實施例中,上述第1加權值可為上述第2加權值以上。In one embodiment, the first weighted value may be greater than or equal to the second weighted value.

於一實施例中,算出上述每個候選關鍵字與上述目標資訊間之匹配度之步驟可包括如下步驟:算出上述每個候選關鍵字之上述所識別之關鍵字屬性的部分資訊及上述目標資訊間之重複度。In one embodiment, the step of calculating the matching degree between each candidate keyword and the target information may include the following steps: calculating the partial information of the identified keyword attributes of each candidate keyword and the degree of duplication between the target information.

於一實施例中,算出上述每個候選關鍵字與上述目標資訊間之匹配度之步驟可包括如下步驟:算出上述每個候選關鍵字之上述所識別之關鍵字屬性的部分資訊及上述目標資訊間之重複度;及基於上述算出之重複度,算出上述每個候選關鍵字及上述目標資訊間之匹配度。In one embodiment, the step of calculating the matching degree between each candidate keyword and the target information may include the following steps: calculating the overlap between partial information of the identified keyword attributes of each candidate keyword and the target information; and calculating the matching degree between each candidate keyword and the target information based on the calculated overlap.

於一實施例中,以如下內容作為特徵:算出上述每個候選關鍵字之上述所識別之關鍵字屬性的部分資訊及上述目標資訊間之重複度之步驟係將比率作為上述重複度而算出,該比率係上述每個候選關鍵字之上述所識別之關鍵字屬性之部分資訊及上述目標資訊間相互重複之單詞的個數與上述部分資訊中所包括之單詞的總個數之比。In one embodiment, the step of calculating the repetition between the partial information of the identified keyword attributes of each candidate keyword and the target information is characterized by the following: the ratio is calculated as the repetition, which is the ratio of the number of words that are repeated between the partial information of the identified keyword attributes of each candidate keyword and the target information to the total number of words included in the partial information.

本發明可提出一種用以管理與測試案例之執行相關之關鍵字之電子裝置。本發明之電子裝置可包括:一個以上之處理器;及一個以上之記憶體,其等儲存有用以藉由上述一個以上之處理器而執行之命令。於執行上述命令時,上述一個以上之處理器能夠以如下方式構成:獲得與和一個以上之測試案例之執行相關之一個以上的候選關鍵字對應之原始碼,基於剖析(parsing)上述原始碼,產生與上述一個以上之候選關鍵字各者對應之屬性資訊,接收用於推薦關鍵字之檢索之目標資訊,基於將與上述一個以上之候選關鍵字各者對應之屬性資訊及上述目標資訊進行比較,於上述一個以上之候選關鍵字中檢索與上述目標資訊匹配之上述推薦關鍵字。The present invention provides an electronic device for managing and testing the execution of related keywords. The electronic device of the present invention may include: one or more processors; and one or more memories, which store commands for execution by the one or more processors. When executing the above command, the above-mentioned processor can be configured as follows: obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases; generate attribute information corresponding to each of the above-mentioned candidate keywords based on parsing the source code; receive target information for searching recommended keywords; and search for recommended keywords that match the target information from the above-mentioned candidate keywords by comparing the attribute information corresponding to each of the above-mentioned candidate keywords with the target information.

本發明可提出一種非暫時性電腦可讀記錄媒體,其係記錄用以自動恢復失敗之測試案例之命令者。本發明之一實施例之記錄於記錄媒體上之命令可為用以藉由一個以上之處理器而執行或於電腦上實行之命令。該等命令能夠以如下方式構成:於藉由一個以上之處理器而執行時,一個以上之處理器獲得與和一個以上之測試案例之執行相關之一個以上的候選關鍵字對應之原始碼,基於剖析(parsing)上述原始碼,產生與上述一個以上之候選關鍵字各者對應之屬性資訊,接收用於推薦關鍵字之檢索之目標資訊,基於將與上述一個以上之候選關鍵字各者對應之屬性資訊及上述目標資訊進行比較,於上述一個以上之候選關鍵字中檢索與上述目標資訊匹配之上述推薦關鍵字。 [發明之效果] The present invention provides a non-transitory computer-readable recording medium that records commands for automatically recovering failed test cases. In one embodiment of the present invention, the commands recorded on the recording medium can be commands that can be executed by one or more processors or implemented on a computer. These commands can be configured as follows: when executed by one or more processors, the processor obtains source code corresponding to one or more candidate keywords related to the execution of one or more test cases; based on parsing the source code, it generates attribute information corresponding to each of the candidate keywords; it receives target information for retrieving recommended keywords; and based on comparing the attribute information corresponding to each of the candidate keywords with the target information, it retrieves the recommended keywords that match the target information from among the candidate keywords. [Effects of the Invention]

根據本發明,使用藉由剖析各者之關鍵字之原始碼來產生之屬性資訊而檢索與自用戶終端提供的目標資訊匹配之推薦關鍵字,藉此可更有效率地檢索與目標資訊匹配之推薦關鍵字。According to this invention, recommended keywords that match target information provided by a user terminal are retrieved by using attribute information generated by analyzing the source code of each keyword, thereby retrieving recommended keywords that match target information more efficiently.

根據本發明,將與目標資訊匹配之一個以上之推薦關鍵字按照推薦值由高至低之順序排列並提供至用戶終端,從而可使用戶終端之用戶更容易地找到適合之產生測試案例之關鍵字。According to this invention, one or more recommended keywords that match the target information are arranged in descending order of recommendation value and provided to the user terminal, thereby making it easier for users on the user terminal to find suitable keywords to generate test cases.

基於本發明技術思想之效果並不限制於上述提及之效果,普通技術人員可根據說明書之記載清楚地理解未提及之其他效果。The effects based on the technical concept of this invention are not limited to the effects mentioned above. Those skilled in the art can clearly understand other effects not mentioned based on the description in the manual.

本發明中記載之各種實施例係以明確說明本發明之技術思想為目的而例示者,並不意欲將其限定為特定實施方式。本發明之技術思想包括本發明記載之各實施例之各種變更(modifications)、均等物(equivalents)、替代物(alternatives)及選擇性地組合各實施例之全部或一部分所得之實施例。又,本發明之技術思想之申請專利範圍並不限定於以下提出之各種實施例或對其的具體說明。The various embodiments described herein are illustrated for the purpose of clearly illustrating the technical concept of the invention and are not intended to limit them to any particular embodiment. The technical concept of the invention includes various modifications, equivalents, alternatives, and embodiments obtained by selectively combining all or part of the embodiments described herein. Furthermore, the scope of the patent application for the technical concept of the invention is not limited to the various embodiments presented below or their specific descriptions.

關於本發明中使用之用語,包括技術性或科學性用語,除非另外定義,否則應具有本發明所屬技術領域中具有常識者通常理解之含義。The terms used in this invention, including technical or scientific terms, shall, unless otherwise defined, have the meanings commonly understood by a person of common knowledge in the field to which this invention pertains.

關於本發明中使用之如「包括」、「可包括」、「具備」、「可具備」、「具有」、「可具有」等表述,意味著存在對象特徵(例如,功能、動作或構成要素等),不排除其他追加性特徵之存在。即,如上所述之表述應理解為具有包括其他實施例之可能性之開放型用語(open-ended terms)。The use of terms such as "including," "may include," "possibly possess," "has," "may have," and "may have" in this invention implies the presence of object features (e.g., functions, actions, or constituent elements), and does not exclude the existence of other additional features. That is, the above-mentioned expressions should be understood as open-ended terms that have the possibility of including other embodiments.

關於本發明中使用之單數型表述,除非上下文中另有說明,否則可包括複數型之含義,此同樣適用於申請專利範圍中記載之單數型表述。The singular expressions used in this invention may include the meaning of the plural form unless the context otherwise requires, and this also applies to the singular expressions recorded in the scope of the patent application.

關於本說明書中使用之「第1」、「第2」或「第一」、「第二」等表述,除非另有提及,否則係用以於指代複數個同類對象之情形時將一個對象與其他對象區分開來,並非用以限定該等對象之順序或重要度。The terms “first,” “second,” “first,” “second,” etc., used in this specification are, unless otherwise specified, used to distinguish one object from others when referring to multiple objects of the same kind, and are not used to define the order or importance of such objects.

本發明中使用之「A、B及C」、「A、B或C」、「A、B及/或C」或「A、B及C中之至少一者」或「A、B或C中之至少一者」、「A、B及/或C中至少一者」等表述可指列出之各個項目或列出之項目的所有可能之組合。例如,「A或B中之至少一者」可指(1)至少一個A,(2)至少一個B,(3)至少一個A及至少一個B。The expressions “A, B and C”, “A, B or C”, “A, B and/or C”, “at least one of A, B and C”, “at least one of A, B or C”, “at least one of A, B and/or C”, etc., used in this invention may refer to each of the listed items or all possible combinations of the listed items. For example, “at least one of A or B” may refer to (1) at least one A, (2) at least one B, (3) at least one A and at least one B.

本發明中使用之所謂「基於~」之表述,用於描述對包括該表述之語句或文章中描述之確定、判斷之行為或動作產生影響之一個以上之因素,該表述不排除對確定、判斷或動作產生影響之其他因素。The term "based on" as used in this invention is used to describe one or more factors that affect the determination, judgment, or action described in the sentence or text that includes the term, and the term does not exclude other factors that affect the determination, judgment, or action.

本發明中使用之某個構成要素(例如,第1構成要素)「連接」或「連結」於另一構成要素(例如,第2構成要素)之表述,不僅可指上述某個構成要素直接連接或連結於上述另一構成要素,亦可指以新的其他構成要素(例如,第3構成要素)為介質而連接或連結於上述另一構成要素。The expression used in this invention to say that a certain constituent element (e.g., the first constituent element) is "connected" or "linked" to another constituent element (e.g., the second constituent element) may not only mean that the aforementioned constituent element is directly connected or linked to the aforementioned other constituent element, but may also mean that it is connected or linked to the aforementioned other constituent element through a new other constituent element (e.g., the third constituent element).

本發明中使用之表述「以~方式構成(configured to)」,根據上下文,可具有「以~方式設定」、「具有~之能力」、「以~方式變更」、「以~方式製成」、「可進行~」等含義。該表述不限定於「硬體上特別設計」之含義,例如,所謂以執行特定動作之方式構成之處理器可指藉由執行軟體而可實行特定動作之通用處理器(generic purpose processor)、或藉由程式構造化以實行該特定動作之特殊用途電腦(special purpose computer)。The phrase "configured to" as used in this invention can have meanings such as "configured in a ~ manner," "possessing ~ capabilities," "modified in a ~ manner," "made in a ~ manner," and "capable of ~ operations," depending on the context. This phrase is not limited to the meaning of "specially designed in hardware." For example, a processor configured to perform a specific action can refer to a general-purpose processor that can perform a specific action by executing software, or a special-purpose computer that performs that specific action through programming.

以下,參照附圖,對本發明中記載之各實施例進行說明。於附圖及附圖說明中,對相同或實質上等同(substantially equivalent)之構成要素賦予相同之參照符號。又,於以下實施例之說明中,可省略對相同或對應構成要素之重複描述,但這並不意味該構成要素不包括於該實施例中。The embodiments described herein will now be described with reference to the accompanying drawings. In the drawings and their descriptions, identical or substantially equivalent constituent elements are assigned the same reference numerals. Furthermore, in the following descriptions of the embodiments, repeated descriptions of identical or corresponding constituent elements may be omitted, but this does not mean that the constituent element is not included in the embodiment.

圖1示出了本發明之一實施例之可應用電子裝置之環境。Figure 1 illustrates the environment in which an electronic device of one embodiment of the present invention can be applied.

測試案例可表示為了驗證軟體是否符合特定設計規格而設計之一系列條件或變量。為了執行測試案例,可要求執行一個以上之關鍵字(keyword)。測試案例之各步驟皆可藉由呼叫一個以上之關鍵字而實行。關鍵字可表示預先定義之可再次使用動作或命令之集合。以下說明書中,將儲存於電子裝置110中之關鍵字作為候選關鍵字進行說明。Test cases can represent a series of conditions or variables designed to verify whether software conforms to specific design specifications. To execute a test case, more than one keyword can be required. Each step of a test case can be performed by calling more than one keyword. A keyword can represent a predefined set of reusable actions or commands. The following description uses keywords stored in electronic device 110 as candidate keywords.

於一實施例中,電子裝置110可為儲存一個以上之關鍵字之裝置。更具體而言,電子裝置110可儲存與一個以上之候選關鍵字對應之原始碼。電子裝置110可剖析(parsing)並儲存與一個以上之候選關鍵字對應之原始碼。In one embodiment, electronic device 110 may be a device for storing one or more keywords. More specifically, electronic device 110 may store source code corresponding to one or more candidate keywords. Electronic device 110 may parse and store source code corresponding to one or more candidate keywords.

於一實施例中,電子裝置110可藉由一個以上之計算裝置來實現。例如,電子裝置110之所有功能皆可於單個計算裝置中實現。又例如,電子裝置110之第1功能可於第1計算裝置中實現,第2功能可於第2計算裝置中實現。作為另一例,可使用分別實現電子裝置110之所有功能或特定功能之複數個計算裝置。上述計算裝置可為桌上型電腦(Desktop Computer)、膝上型電腦(Laptop Computer)、應用程式伺服器(Application Server)、代理伺服器(Proxy Server)或雲伺服器(Cloud Server)等,但並不侷限於此,具備計算功能之所有種類之裝置皆可為計算裝置。In one embodiment, electronic device 110 can be implemented by more than one computing device. For example, all functions of electronic device 110 can be implemented in a single computing device. As another example, a first function of electronic device 110 can be implemented in a first computing device, and a second function can be implemented in a second computing device. As another example, a plurality of computing devices can be used to implement all or specific functions of electronic device 110. The aforementioned computing devices can be desktop computers, laptop computers, application servers, proxy servers, or cloud servers, but are not limited to these; all types of devices with computing capabilities can be computing devices.

於一實施例中,用戶終端120可表示產生測試案例之裝置。用戶終端120之用戶可藉由用戶終端120向電子裝置110傳輸目標資訊,以產生測試案例。電子裝置110可自用戶終端120接收目標資訊,且可於儲存於電子裝置110中之候選關鍵字中檢索與目標資訊匹配之推薦關鍵字並將其提供給用戶終端120。電子裝置110可剖析並儲存與候選關鍵字對應之原始碼,以便於檢索與目標資訊匹配之推薦關鍵字。In one embodiment, user terminal 120 may represent a device for generating test cases. A user of user terminal 120 can transmit target information to electronic device 110 via user terminal 120 to generate test cases. Electronic device 110 can receive target information from user terminal 120 and can retrieve recommended keywords matching the target information from a pool of candidate keywords stored in electronic device 110 and provide them to user terminal 120. Electronic device 110 can parse and store source code corresponding to candidate keywords to facilitate retrieval of recommended keywords matching the target information.

於一實施例中,用戶終端120可實現為藉由網路而與電子裝置110能夠收發各種資訊之終端。例如,用戶終端120可為電腦、膝上型電腦(laptop)、攜帶用通訊終端(智慧型手機等)、攜帶用多媒體裝置、可穿戴裝置或HMD(Head-Mounted Display,頭戴式顯示器)中之一者。然而,用戶終端120之種類並不限定於此,用戶終端120可為如下之任意裝置:包括可自用戶接收資訊、或向用戶輸出資訊之輸入輸出介面,並可藉由網路而與電子裝置110或其他裝置實行通訊。In one embodiment, user terminal 120 may be implemented as a terminal capable of sending and receiving various information with electronic device 110 via a network. For example, user terminal 120 may be one of a computer, laptop, portable communication terminal (smartphone, etc.), portable multimedia device, wearable device, or HMD (Head-Mounted Display). However, the type of user terminal 120 is not limited to these, and user terminal 120 may be any device including an input/output interface capable of receiving or sending information to a user, and capable of communicating with electronic device 110 or other devices via a network.

於一實施例中,用戶終端120可向用戶提供自電子裝置110接收之資訊,且可自用戶接收輸入並將其傳輸至電子裝置110。具體而言,用戶終端120可自用戶獲得指示各種頁面之呼叫之輸入,並響應於所獲得之輸入產生指示各種頁面之呼叫之命令。用戶終端120可向電子裝置110傳輸指示各種頁面之呼叫之命令。自用戶獲得之輸入可包括利用滑鼠進行之點擊、利用觸控板或觸控屏進行之觸控、語音識別、其他電子輸入等各種形態之輸入。用戶終端120可自電子裝置110接收各種頁面,並輸出接收到之各種頁面。In one embodiment, user terminal 120 can provide information received from electronic device 110 to the user, and can receive input from the user and transmit it to electronic device 110. Specifically, user terminal 120 can receive input from the user indicating calls to various pages, and respond to the received input by generating commands indicating calls to various pages. User terminal 120 can transmit commands indicating calls to various pages to electronic device 110. Input received from the user may include various forms of input such as mouse clicks, touch controls using a touchpad or touchscreen, voice recognition, and other electronic inputs. User terminal 120 can receive various pages from electronic device 110 and output the received pages.

網路可實行將電子裝置110與用戶終端120或其他外部裝置連接之作用。例如,網路可提供連接路徑,以使用戶終端120或其他外部裝置可與電子裝置110連接而與電子裝置110收發封包資料。網路例如可實現為如區域網路(Local Area Network,LAN)、廣域網路(Wide Area Network,WAN)、行動通訊網路(Mobile Radio Communication Network),Wibro(Wireless Broadband Internet,無線寬頻網)等所有種類之有線或無線網路。The network enables the connection of electronic device 110 to user terminal 120 or other external devices. For example, the network provides connection paths so that user terminal 120 or other external devices can connect to electronic device 110 and send and receive packet data with electronic device 110. The network can be implemented as any type of wired or wireless network, such as a Local Area Network (LAN), a Wide Area Network (WAN), a Mobile Radio Communication Network, or Wibro (Wireless Broadband Internet).

於一實施例中,電子裝置110與用戶終端120可作為一個裝置來動作。用戶終端120可作為電子裝置110之全部或一部分構成要素包括於電子裝置110中。於此情形時,例如,電子裝置110與用戶終端120之間藉由網路收發之各種資訊可為於一個裝置中之各構成要素之間收發之各種資訊。In one embodiment, the electronic device 110 and the user terminal 120 may operate as a single device. The user terminal 120 may be included as all or part of the constituent elements of the electronic device 110. In this case, for example, the various information transmitted and received between the electronic device 110 and the user terminal 120 via a network may be various information transmitted and received between the constituent elements of a single device.

圖2係本發明之一實施例之電子裝置之方塊圖。電子裝置200(例如,圖1中之電子裝置110)可剖析並儲存與候選關鍵字對應之原始碼。於一實施例中,電子裝置200可包括一個以上之處理器210、一個以上之記憶體220及通訊介面230作為構成要素。於一實施例中,可省略電子裝置200之構成要素中之至少一者、或將其他構成要素添加至電子裝置200。於一實施例中,可附加地或替代地(alternatively)整合一部分之構成要素來實現、或實現為單個或複數個個體。於本發明中,可將一個以上處理器210表述為處理器210。若未於文中明確地進行不同之表述,則所謂處理器210之表述可指一個或一個以上之處理器之集合。於本發明中,一個以上記憶體220可表述為記憶體220。若未於文中明確地進行不同之表述,則所謂記憶體220之表述可指一個或一個以上之記憶體之集合。於一實施例中,電子裝置200之內部/外部之構成要素中之至少一部分構成要素藉由匯流排、GPIO(General Purpose Input/Output,通用目的輸入輸出)、SPI(Serial Peripheral Interface,串列周邊介面)或MIPI(Mobile Industry Processor Interface,行動產業處理器介面)等而彼此連接,從而可收發資訊(資料、信號等)。Figure 2 is a block diagram of an electronic device according to one embodiment of the present invention. The electronic device 200 (e.g., the electronic device 110 in Figure 1) can parse and store source code corresponding to candidate keywords. In one embodiment, the electronic device 200 may include one or more processors 210, one or more memory units 220, and a communication interface 230 as constituent elements. In one embodiment, at least one of the constituent elements of the electronic device 200 may be omitted, or other constituent elements may be added to the electronic device 200. In one embodiment, a portion of the constituent elements may be additionally or alternatively integrated to implement, or implemented as a single or multiple entities. In the present invention, one or more processors 210 may be referred to as processor 210. Unless otherwise specified in the text, the term "processor 210" may refer to a collection of one or more processors. In this invention, one or more memory units 220 may be referred to as memory 220. Unless otherwise specified in the text, the term "memory unit 220" may refer to a collection of one or more memory units. In one embodiment, at least some of the internal/external components of the electronic device 200 are interconnected via buses, GPIO (General Purpose Input/Output), SPI (Serial Peripheral Interface), or MIPI (Mobile Industry Processor Interface), thereby enabling the transmission and reception of information (data, signals, etc.).

處理器210可藉由驅動軟體(例如,命令、程式等)來控制連接至處理器210之電子裝置200之至少一個構成要素。又,處理器210可實行與本發明相關之各種動作,例如運算、處理、資料產生、加工等。又,處理器210可自記憶體220加載資料等或將資料儲存於記憶體220。於一實施例中,處理器210可控制通訊介面230,向用戶終端(例如,圖1之用戶終端120)請求各種資訊,自用戶終端接收各種資訊。The processor 210 can control at least one component of the electronic device 200 connected to the processor 210 via driver software (e.g., commands, programs, etc.). Furthermore, the processor 210 can perform various actions related to the present invention, such as calculation, processing, data generation, and manipulation. Additionally, the processor 210 can load data from or store data in memory 220. In one embodiment, the processor 210 can control the communication interface 230 to request various information from a user terminal (e.g., user terminal 120 in FIG. 1) and receive various information from the user terminal.

記憶體220可儲存各種資訊(資料)。儲存於記憶體220中之資訊係可藉由電子裝置200之至少一個構成要素而獲得、處理或使用之資訊,包括軟體(例如,命令、程式等)。記憶體220可包括揮發性及/或非揮發性記憶體。於本發明中,命令或程式係儲存於記憶體220中之軟體,可包括用以控制電子裝置200之資源之操作系統、應用程式及/或向應用程式提供各種功能之中間軟體等,以便應用程式可利用電子裝置200之資源。於一實施例中,記憶體220可儲存命令,該命令於由處理器210執行時使處理器210實行運算。記憶體220可儲存藉由通訊介面230而自資料庫接收到之資訊及/或藉由通訊介面230發送至資料庫之資訊之至少一部分。具體而言,記憶體220可儲存藉由處理器210而執行之命令。Memory 220 can store various information (data). The information stored in memory 220 is information that can be obtained, processed, or used by at least one component of electronic device 200, including software (e.g., commands, programs, etc.). Memory 220 may include volatile and/or non-volatile memory. In this invention, commands or programs are software stored in memory 220, and may include an operating system for controlling the resources of electronic device 200, applications, and/or intermediate software that provides various functions to applications so that applications can utilize the resources of electronic device 200. In one embodiment, memory 220 may store commands that, when executed by processor 210, cause processor 210 to perform calculations. Memory 220 may store at least a portion of information received from a database via communication interface 230 and/or information sent to a database via communication interface 230. Specifically, memory 220 may store commands executed by processor 210.

通訊介面(communication interface)230可實行電子裝置200與資料庫或其他外部電子裝置間之無線或有線通訊。例如,通訊介面230可藉由eMBB(enhanced Mobile Broadband,增強行動寬頻)、URLLC(Ultra Reliable Low-Latency Communications,超可靠性低延遲通訊)、MMTC(Massive Machine Type Communications,大規模機器類型通訊)、LTE(Long-Term Evolution,長期演進)、LTE-A(LTE Advance,進階長期演進)、NR(New Radio,新空中介面)、UMTS(Universal Mobile Telecommunications System,通用行動通訊系統)、GSM(Global System for Mobile communications,全球行動通訊系統)、CDMA(Code Division Multiple Access,碼分多重存取)、WCDMA(Wideband CDMA,寬頻碼分多址)、WiBro(Wireless Broadband,無線寬頻)、WiFi(Wireless Fidelity,無線保真)、藍牙(Bluetooth)、NFC(Near Field Communication,近距無線通訊)、GPS(Global Positioning System,全球定位系統)或GNSS(Global Navigation Satellite System,全球導航衛星系統)等方式實行無線通訊。例如,通訊介面230可藉由USB(Universal Serial Bus,通用串列匯流排)、HDMI(High Definition Multimedia Interface,高清晰度多媒體介面)、RS-232(Recommended Standard-232,推薦標準-232)或POTS(Plain Old Telephone Service,簡易老式電話業務)等方式實行有線通訊。於一實施例中,電子裝置200亦可與其他裝置整合來實現。於此情形時,通訊介面230可作為將電子裝置200與該其他裝置連接之連結電路及介面來發揮功能。The communication interface 230 enables wireless or wired communication between the electronic device 200 and a database or other external electronic devices. For example, the communication interface 230 can utilize eMBB (enhanced Mobile Broadband), URLLC (Ultra Reliable Low-Latency Communications), MMTC (Massive Machine Type Communications), LTE (Long-Term Evolution), LTE-A (LTE Advance), NR (New Radio), UMTS (Universal Mobile Telecommunications System), GSM (Global System for Mobile communications), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), WiBro (Wireless Broadband), WiFi (Wireless Fidelity), Bluetooth, and NFC (Near Field Communication). Wireless communication can be implemented via methods such as short-range wireless communication, GPS (Global Positioning System), or GNSS (Global Navigation Satellite System). For example, the communication interface 230 can implement wired communication via USB (Universal Serial Bus), HDMI (High Definition Multimedia Interface), RS-232 (Recommended Standard-232), or POTS (Plain Old Telephone Service). In one embodiment, the electronic device 200 can also be integrated with other devices. In this case, the communication interface 230 functions as a connection circuit and interface for connecting the electronic device 200 to the other device.

以下,可理解為圖3至圖10中說明之藉由電子裝置而實行之動作由圖2中說明之電子裝置200之處理器210實行。Hereinafter, it can be understood that the actions performed by the electronic device as described in Figures 3 to 10 are performed by the processor 210 of the electronic device 200 described in Figure 2.

圖3示出了本發明之一實施例之藉由剖析候選關鍵字之原始碼來檢索推薦關鍵字之方法的流程圖。Figure 3 shows a flowchart of a method for retrieving recommended keywords by analyzing the source code of candidate keywords in one embodiment of the present invention.

於動作S310中,電子裝置110可獲得與和一個以上之測試案例之執行相關之一個以上的候選關鍵字對應之原始碼。In action S310, electronic device 110 can obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases.

於一實施例中,一個以上之測試案例各者皆可表示用以實行特定軟體之測試之測試案例。更具體而言,一個以上之測試案例各者皆可表示與特定軟體中提供之一個頁面(page)(例如,登錄頁面、會員註冊頁面、客戶支持頁面、主頁等)相關之測試案例。例如,與登錄頁面相關之測試案例中,可包括試圖輸入用戶名及密碼來登錄之用戶認證測試案例、與再次設定密碼相關之密碼恢復測試案例、及連續密碼錯誤之情形時鎖定賬戶之賬戶鎖定測試案例。與登錄頁面相關之測試案例不僅可包括上述示例說明之前端(front-end)之測試案例,還可包括後端(back-end)之測試案例,例如藉由哈希演算法而確認密碼是否安全地儲存於資料庫中之密碼儲存測試案例。In one embodiment, each of the more than one test case may represent a test case used to perform tests on a specific software. More specifically, each of the more than one test case may represent a test case related to a page provided in the specific software (e.g., a login page, a member registration page, a customer support page, a homepage, etc.). For example, test cases related to a login page may include a user authentication test case attempting to log in by entering a username and password, a password recovery test case related to resetting the password, and an account locking test case locking the account in the event of consecutive password errors. Test cases related to the login page can include not only the front-end test cases illustrated in the above examples, but also back-end test cases, such as password storage test cases that use hash algorithms to verify whether passwords are securely stored in the database.

於一實施例中,一個以上之候選關鍵字各者皆可表示與執行一個以上之測試案例相關之關鍵字。一個以上之候選關鍵字各者皆可表示指示根據一個以上之測試案例中之至少一個測試案例的執行來執行之動作之關鍵字。例如,為了執行試圖輸入用戶名及密碼來登錄之用戶認證測試案例,可要求執行輸入用戶名之第1動作、輸入密碼之第2動作、及使用所輸入之用戶名及密碼而執行連接認證之第3動作。因此,與用戶認證測試案例之執行相關之候選關鍵字可為指示第1動作之第1關鍵字、指示第2動作之第2關鍵字、及指示第3動作之第3關鍵字。In one embodiment, each of the more than one candidate keyword may represent a keyword associated with the execution of one or more test cases. Each of the more than one candidate keyword may represent a keyword indicating an action to be performed based on the execution of at least one of the more than one test cases. For example, in order to execute a user authentication test case that attempts to log in by entering a username and password, the execution of a first action of entering a username, a second action of entering a password, and a third action of performing connection authentication using the entered username and password may be required. Therefore, candidate keywords related to the execution of user authentication test cases can be the first keyword indicating the first action, the second keyword indicating the second action, and the third keyword indicating the third action.

於一實施例中,電子裝置110可自與一個以上之測試案例相關之一個頁面對應之資源檔案(resource file)中獲得與一個以上之測試案例之執行相關之與一個以上之候選關鍵字對應之原始碼。關於與一個頁面對應之資源檔案,於圖4中進行了更詳細之說明。In one embodiment, the electronic device 110 can obtain source code corresponding to one or more candidate keywords related to the execution of one or more test cases from a resource file corresponding to a page associated with one or more test cases. The resource file corresponding to a page is explained in more detail in Figure 4.

於動作S320中,電子裝置110可基於剖析(parsing)與一個以上之候選關鍵字對應之原始碼,產生與一個以上之候選關鍵字各者對應之屬性資訊。In action S320, electronic device 110 can generate attribute information corresponding to each of the candidate keywords based on parsing the source code corresponding to one or more candidate keywords.

於一實施例中,電子裝置110可自與一個以上之候選關鍵字對應之原始碼中,識別與一個以上之候選關鍵字各者對應之部分原始碼。換言之,原始碼可包括一個以上之部分原始碼。電子裝置110可剖析與每個候選關鍵字對應之部分原始碼。電子裝置110可基於剖析與每個候選關鍵字對應之部分原始碼,產生與每個候選關鍵字對應之屬性資訊。屬性資訊可按照一個以上之關鍵字屬性進行區分。電子裝置110可剖析與每個候選關鍵字對應之部分原始碼作為一個以上之關鍵字屬性,藉此來產生與每個候選關鍵字對應之屬性資訊。一個以上之關鍵字屬性可包括頁面名稱、關鍵字名稱、關鍵字說明、關鍵字標籤(tag)及關鍵字引數(argument)中之至少一者。In one embodiment, electronic device 110 can identify portions of source code corresponding to each of the candidate keywords from the source code corresponding to the candidate keywords. In other words, the source code may include more than one portion of source code. Electronic device 110 can analyze the portion of source code corresponding to each candidate keyword. Electronic device 110 can generate attribute information corresponding to each candidate keyword based on the analysis of the portion of source code corresponding to each candidate keyword. The attribute information can be distinguished according to more than one keyword attribute. Electronic device 110 can analyze the portion of source code corresponding to each candidate keyword as more than one keyword attribute, thereby generating attribute information corresponding to each candidate keyword. One or more keyword attributes may include at least one of the following: page name, keyword name, keyword description, keyword tag, and keyword argument.

於動作S330中,電子裝置110可接收用於推薦關鍵字之檢索之目標資訊。In action S330, electronic device 110 can receive target information for searching recommended keywords.

於一實施例中,電子裝置110可自用戶終端120接收用於推薦關鍵字之檢索之目標資訊。用戶終端120可為產生測試案例之裝置。用戶終端120之用戶可藉由用戶終端120向電子裝置110傳輸目標資訊,以便自電子裝置110接收測試案例之產生所需之推薦關鍵字。In one embodiment, electronic device 110 may receive target information from user terminal 120 for searching recommended keywords. User terminal 120 may be a device for generating test cases. A user of user terminal 120 may transmit target information to electronic device 110 through user terminal 120 in order to receive recommended keywords required for test case generation from electronic device 110.

於動作S340中,電子裝置110可基於將與一個以上之候選關鍵字各者對應之屬性資訊及目標資訊進行比較,於一個以上之候選關鍵字中檢索與目標資訊匹配之推薦關鍵字。In action S340, electronic device 110 can search for recommended keywords that match the target information from among the candidate keywords by comparing the attribute information and target information corresponding to each of the candidate keywords.

於一實施例中,電子裝置110可使用與一個以上之候選關鍵字各者對應之屬性資訊來檢索與目標資訊匹配之推薦關鍵字。當於一個以上之候選關鍵字中檢索到與目標資訊匹配之推薦關鍵字之情形時,電子裝置110可向用戶終端120提供檢索到之推薦關鍵字。電子裝置110可向用戶終端120傳輸與推薦關鍵字對應之部分原始碼。用戶終端120之用戶可使用自電子裝置110接收到之推薦關鍵字來產生測試案例。In one embodiment, electronic device 110 can use attribute information corresponding to one or more candidate keywords to retrieve recommended keywords that match target information. When a recommended keyword matching the target information is found among one or more candidate keywords, electronic device 110 can provide the retrieved recommended keyword to user terminal 120. Electronic device 110 can transmit a portion of the source code corresponding to the recommended keyword to user terminal 120. The user of user terminal 120 can use the recommended keyword received from electronic device 110 to generate test cases.

於一實施例中,電子裝置110可在儲存於電子裝置110中之複數個候選關鍵字中檢索與目標資訊匹配之推薦關鍵字。然而,於下文中,為了便於說明,將重點說明電子裝置110自與一個頁面相關之一個以上之候選關鍵字中檢索與目標資訊匹配之推薦關鍵字。In one embodiment, electronic device 110 may retrieve recommended keywords that match target information from a plurality of candidate keywords stored in electronic device 110. However, for the sake of explanation below, the focus will be on how electronic device 110 retrieves recommended keywords that match target information from one or more candidate keywords associated with a page.

圖4係說明本發明之一實施例之獲得候選關鍵字之原始碼之過程的圖。Figure 4 is a diagram illustrating the process of obtaining the source code of candidate keywords in one embodiment of the present invention.

於一實施例中,電子裝置110可獲得與一個頁面對應之資源檔案401。與一個頁面對應之資源檔案401可由外部用戶產生。與一個頁面對應之資源檔案401可包括與一個頁面相關之測試案例之原始碼410、與一個頁面相關之測試案例中利用之測試資料之原始碼420、及與測試案例之執行相關之一個以上之候選關鍵字之原始碼430。一個以上之候選關鍵字各者皆可為指示根據與一個頁面相關之測試案例之執行來實行之動作的關鍵字。如上所述,與一個頁面相關之測試案例可表示能夠針對與一個頁面相關而實行之測試案例,例如,可皆包括前端測試案例及後端測試案例。In one embodiment, electronic device 110 can obtain a resource file 401 corresponding to a page. The resource file 401 corresponding to a page may be generated by an external user. The resource file 401 corresponding to a page may include source code 410 of test cases associated with a page, source code 420 of test data used in the test cases associated with a page, and source code 430 of one or more candidate keywords related to the execution of the test cases. Each of the one or more candidate keywords may be a keyword that indicates an action to be performed based on the execution of the test cases associated with a page. As mentioned above, test cases associated with a page can represent test cases that can be implemented for a page, such as front-end test cases and back-end test cases.

於一實施例中,電子裝置110可自與一個頁面對應之資源檔案401中識別一個以上之候選關鍵字之原始碼401。更具體而言,電子裝置110可在與一個頁面對應之資源檔案401中檢索用以識別一個以上之候選關鍵字之原始碼430的第1標記。第1標記可為相當於一個以上之候選關鍵字之原始碼430之起始列的識別符。電子裝置110可將資源檔案401中第1標記所存在之列以下之代碼識別為一個以上之候選關鍵字的原始碼430。此外,電子裝置110可在與一個頁面對應之資源檔案401中,進而檢索與一個以上之候選關鍵字之原始碼430之終止列對應之識別符即第2標記。於此情形時,電子裝置110可於資源檔案401中識別自第1標記所存在之列以下至第2標記所存在之列為止之代碼,作為一個以上之候選關鍵字之原始碼430。In one embodiment, electronic device 110 can identify the source code 401 of one or more candidate keywords from a resource file 401 corresponding to a page. More specifically, electronic device 110 can retrieve a first identifier in the resource file 401 corresponding to a page to identify the source code 430 of one or more candidate keywords. The first identifier can be an identifier corresponding to the starting column of the source code 430 of one or more candidate keywords. Electronic device 110 can identify the codes below the column where the first identifier is located in the resource file 401 as the source code 430 of one or more candidate keywords. Furthermore, the electronic device 110 can retrieve the identifier, i.e., the second marker, corresponding to the terminal column of the source code 430 of one or more candidate keywords in the resource file 401 corresponding to a page. In this case, the electronic device 110 can identify the code in the resource file 401 from the column where the first marker exists to the column where the second marker exists as the source code 430 of one or more candidate keywords.

圖5係說明本發明之一實施例之於一個以上之候選關鍵字之原始碼中識別與每個候選關鍵字對應之部分原始碼之示例的圖。Figure 5 is a diagram illustrating an embodiment of the present invention that identifies the portion of source code corresponding to each candidate keyword in the source code of one or more candidate keywords.

於一實施例中,電子裝置110可獲得與一個頁面對應之資源檔案501,且可自與一個頁面對應之資源檔案501中識別一個以上之候選關鍵字之原始碼530。電子裝置110可在與一個頁面對應之資源檔案501中,檢索與一個以上之候選關鍵字之原始碼530之起始列對應的識別符即第1標記540,且可將第1標記540所存在之列以下之代碼識別為一個以上之候選關鍵字的原始碼530。In one embodiment, the electronic device 110 can obtain a resource file 501 corresponding to a page, and can identify the source code 530 of one or more candidate keywords from the resource file 501 corresponding to the page. The electronic device 110 can retrieve the identifier, i.e., the first marker 540, corresponding to the starting column of the source code 530 of one or more candidate keywords in the resource file 501 corresponding to the page, and can identify the code below the column where the first marker 540 exists as the source code 530 of one or more candidate keywords.

於一實施例中,電子裝置110可剖析一個以上之候選關鍵字之原始碼530。電子裝置110可響應於接收欲將一個以上之候選關鍵字之原始碼530合併(merge)至主分支(master branch)之第1拉取請求(pull request),觸發(trigger)對一個以上之候選關鍵字之原始碼530之剖析。例如,第1拉取請求可包括與一個頁面對應之資源檔案501。或者,電子裝置110於接收到欲將一個以上之候選關鍵字之原始碼530合併(merge)至主分支(master branch)之第1拉取請求(pull request)之後,可響應於決定合併第1拉取請求,觸發(trigger)對一個以上之候選關鍵字之原始碼530之剖析。In one embodiment, electronic device 110 can parse the source code 530 of more than one candidate keyword. Electronic device 110 can respond to receiving a first pull request to merge the source code 530 of more than one candidate keyword into the master branch, triggering the parsing of the source code 530 of the more than one candidate keyword. For example, the first pull request may include a resource file 501 corresponding to a page. Alternatively, after receiving a first pull request to merge the source code 530 of one or more candidate keywords into the master branch, the electronic device 110 may respond by triggering the parsing of the source code 530 of one or more candidate keywords upon deciding to merge the first pull request.

於一實施例中,電子裝置110可識別與一個以上之候選關鍵字各者對應之部分原始碼(例如,部分原始碼550、部分原始碼560),以便剖析一個以上之候選關鍵字之原始碼530。電子裝置110可基於剖析與每個候選關鍵字對應之部分原始碼(例如,部分原始碼550、部分原始碼560),產生與每個候選關鍵字對應之屬性資訊。In one embodiment, electronic device 110 can identify portions of source code (e.g., portion source code 550, portion source code 560) corresponding to each of one or more candidate keywords in order to parse the source code 530 of one or more candidate keywords. Electronic device 110 can generate attribute information corresponding to each candidate keyword based on parsing the portions of source code corresponding to each candidate keyword (e.g., portion source code 550, portion source code 560).

於一實施例中,電子裝置110可識別於一個以上之候選關鍵字之原始碼530中不以空白(space)起始之列(例如,第1列571及第2列572)。電子裝置110可將不以空白起始之列(例如,第1列571、第2列572)確定為與候選關鍵字對應之部分原始碼(例如,部分原始碼550、部分原始碼560)之起始列(start line)。換言之,與一個頁面對應之資源檔案501可具有規格設定(specification set),即,與候選關鍵字對應之部分原始碼之起始列不能以空白起始。In one embodiment, the electronic device 110 can identify columns (e.g., column 1 571 and column 2 572) in the source code 530 of one or more candidate keywords that do not begin with a space. The electronic device 110 can determine the columns (e.g., column 1 571 and column 2 572) that do not begin with a space as the start line of the portion of source code corresponding to the candidate keywords (e.g., portion source code 550 and portion source code 560). In other words, the resource file 501 corresponding to a page can have a specification set, namely, the start line of the portion of source code corresponding to the candidate keywords cannot begin with a space.

例如,參照圖5,電子裝置110可將於一個以上之候選關鍵字之原始碼530中不以空白起始之第1列571確定為與第1候選關鍵字對應之部分原始碼550之起始列。同樣,電子裝置110可將於一個以上之候選關鍵字之原始碼560中不以空白起始之第2列572確定為與第2候選關鍵字對應之部分原始碼560之起始列。電子裝置110可將自第1列571至第2列572之前一列573為止之代碼識別為與第1候選關鍵字對應之部分原始碼550,該第2列572係不以自第1列571之後之空白起始之列。For example, referring to Figure 5, the electronic device 110 can identify the first column 571, which does not begin with a space, in the source code 530 of one or more candidate keywords as the starting column of the portion of source code 550 corresponding to the first candidate keyword. Similarly, the electronic device 110 can identify the second column 572, which does not begin with a space, in the source code 560 of one or more candidate keywords as the starting column of the portion of source code 560 corresponding to the second candidate keyword. The electronic device 110 can identify the code from the first column 571 to the column 573 preceding the second column 572 as the portion of source code 550 corresponding to the first candidate keyword, where the second column 572 is a column that does not begin with a space following the first column 571.

圖6係說明本發明之一實施例之剖析一個以上之候選關鍵字之原始碼之示例的圖。Figure 6 is a diagram illustrating an example of analyzing the source code of one or more candidate keywords in one embodiment of the present invention.

於一實施例中,電子裝置110可自與一個頁面對應之資源檔案601中識別一個以上之候選關鍵字之原始碼630,且可剖析一個以上之候選關鍵字之原始碼630。電子裝置110可自一個以上之候選關鍵字之原始碼630中識別與一個以上之候選關鍵字各者對應的部分原始碼。例如,參照圖6,電子裝置110可自一個以上之候選關鍵字之原始碼630中識別與第3候選關鍵字對應之部分原始碼650。電子裝置110可基於剖析與每個候選關鍵字對應之部分原始碼(例如,部分原始碼650),產生各候選關鍵字之一個以上之關鍵字屬性各者之部分資訊。每個候選關鍵字之一個以上之關鍵字屬性各者之部分資訊可構成與每個候選關鍵字對應之屬性資訊。In one embodiment, electronic device 110 can identify and parse the source code 630 of one or more candidate keywords from a resource file 601 corresponding to a page. Electronic device 110 can identify portions of the source code corresponding to each of the candidate keywords from the source code 630. For example, referring to FIG6, electronic device 110 can identify the portion of the source code 650 corresponding to the third candidate keyword from the source code 630 of the candidate keywords. The electronic device 110 can generate partial information of one or more keyword attributes for each candidate keyword by analyzing the partial source code corresponding to each candidate keyword (e.g., partial source code 650). The partial information of one or more keyword attributes for each candidate keyword can constitute attribute information corresponding to each candidate keyword.

於一實施例中,一個以上之關鍵字屬性可包括頁面名稱、關鍵字名稱、關鍵字說明、關鍵字標籤(tag)及關鍵字引數(argument)中之至少一者。以下,具體說明了電子裝置110使用與每個候選關鍵字對應之部分原始碼,來產生各候選關鍵字之一個以上之關鍵字屬性各者之部分資訊的過程。In one embodiment, one or more keyword attributes may include at least one of page name, keyword name, keyword description, keyword tag, and keyword argument. The following describes in detail the process by which electronic device 110 uses partial source code corresponding to each candidate keyword to generate partial information of one or more keyword attributes for each candidate keyword.

於一實施例中,電子裝置110可基於與一個頁面對應之資源檔案601之檔案名(例如,Login_page.robot),產生第3候選關鍵字之頁面名稱(例如,login)。與一個頁面對應之資源檔案601可具有規格設定,該規格設定係與一個頁面對應之資源檔案601之檔案名稱必須包括該頁面之名稱。In one embodiment, electronic device 110 may generate a third candidate keyword page name (e.g., login) based on the file name of a resource file 601 corresponding to a page (e.g., Login_page.robot). The resource file 601 corresponding to a page may have a specification setting that the file name of the resource file 601 corresponding to a page must include the name of the page.

於一實施例中,電子裝置110可基於與第3候選關鍵字對應之部分原始碼650之起始列671,產生第3候選關鍵字之關鍵字名稱(例如,login the store app)。如上所述,電子裝置110可藉由檢索不以空格起始之列來識別與第3候選關鍵字對應之部分原始碼650之起始列671。於與任意候選關鍵字對應之部分原始碼之起始列上,可編寫與任意之候選關鍵字之關鍵字名稱對應之代碼。因此,電子裝置110可產生與第3候選關鍵字對應之部分原始碼650之起始列671編寫之代碼(例如,login the store app)651作為第3候選關鍵字的關鍵字名稱(例如,login the store app)之部分資訊。In one embodiment, electronic device 110 may generate the keyword name of the third candidate keyword (e.g., login the store app) based on the starting column 671 of the partial source code 650 corresponding to the third candidate keyword. As described above, electronic device 110 may identify the starting column 671 of the partial source code 650 corresponding to the third candidate keyword by retrieving columns that do not begin with a space. On the starting column of the partial source code corresponding to any candidate keyword, code corresponding to the keyword name of any candidate keyword may be written. Therefore, the electronic device 110 can generate code (e.g., login the store app) 651 written in the starting column 671 of the partial source code 650 corresponding to the third candidate keyword as part of the keyword name (e.g., login the store app) of the third candidate keyword.

於一實施例中,電子裝置110可針對一個以上之關鍵字屬性中之特定關鍵字屬性(例如,關鍵字說明、關鍵字標籤、或關鍵字引數),預先設定用以與其他關鍵字屬性區分之標記。電子裝置110可基於自與每個候選關鍵字對應之部分原始碼中檢索預先設定之標記,來產生每個候選關鍵字之特定關鍵字屬性之部分資訊。In one embodiment, the electronic device 110 may pre-configure a marker to distinguish a specific keyword attribute (e.g., keyword description, keyword tag, or keyword argument) from other keyword attributes within one or more keyword attributes. The electronic device 110 may generate partial information of the specific keyword attribute of each candidate keyword based on retrieving the pre-configured marker from the portion of source code corresponding to each candidate keyword.

例如,電子裝置110可分別針對關鍵字說明預先設定用以與其他關鍵字屬性區分之第3標記(例如,[Documentation])、針對關鍵字標籤預先設定用以與其他關鍵字屬性區分之第4標記(例如,[Tags])、及針對關鍵字引數預先設定用以與其他關鍵字屬性區分之第5標記(例如,[Arguments])。此處,關鍵字說明可表示有關候選關鍵字指示之動作之說明,關鍵字標籤可表示說明候選關鍵字指示之動作之單詞,關鍵字引數可表示用以實行候選關鍵字指示之動作所需之參數或輸入值。關鍵字說明、關鍵字標籤、及關鍵字引數可相當於用以幫助用戶理解之註釋,而非藉由電子裝置而執行之原始碼。電子裝置110可於與第3候選關鍵字對應之部分原始碼650中檢索針對關鍵字屬性預設特定之標記,且可使用檢索到之標記所存在之列以下之代碼,來產生第3候選關鍵字之特定關鍵字屬性之部分資訊。具體而言,電子裝置110可使用自所檢索之標記所存在之列以下至其他標記所存在之列及執行代碼所存在之列中更靠前之列之前列所編寫的代碼,來產生有關第3候選關鍵字之特定關鍵字屬性之部分資訊。For example, the electronic device 110 may pre-configure a third tag (e.g., [Documentation]) to distinguish keyword descriptions from other keyword attributes, a fourth tag (e.g., [Tags]) to distinguish keyword tags from other keyword attributes, and a fifth tag (e.g., [Arguments]) to distinguish keyword arguments from other keyword attributes. Here, keyword descriptions may represent descriptions of actions performed by candidate keyword indicators, keyword tags may represent words describing the actions performed by candidate keyword indicators, and keyword arguments may represent parameters or input values required to perform the actions performed by candidate keyword indicators. Keyword descriptions, keyword tags, and keyword arguments serve as annotations to aid user understanding, rather than source code executed by the electronic device. The electronic device 110 can retrieve default-specific markers for keyword attributes from the portion of source code 650 corresponding to the third candidate keyword, and can use the code below the column where the retrieved markers are located to generate partial information about the specific keyword attributes of the third candidate keyword. Specifically, the electronic device 110 can use code written from the column where the retrieved markers are located to the column where other markers are located and the column where the executed code is located, before the first column, to generate partial information about the specific keyword attributes of the third candidate keyword.

參照圖6,電子裝置110可在與第3候選關鍵字對應之部分原始碼650中檢索第3標記(例如,[Documentation]),且可使用第3標記所存在之列以下之代碼,來產生第3候選關鍵字之關鍵字說明之部分資訊。例如,電子裝置110可使用自第3標記所存在之列以下至其他標記、即第4標記所存在之列之前列所編寫的代碼652,來產生第3候選關鍵字之關鍵字說明之部分資訊。同樣,電子裝置110可在與第3候選關鍵字對應之部分原始碼650中檢索第4標記(例如,[Tags]),且可使用第4標記所存在之列以下之代碼,來產生第3候選關鍵字之關鍵字標籤之部分資訊。電子裝置110可使用自第4標記所存在之列以下至其他標記、即第5標記所存在之列之前列所編寫的代碼653,來產生第3候選關鍵字之關鍵字標籤之部分資訊。電子裝置110可在與第3候選關鍵字對應之部分原始碼650中檢索第5標記(例如,[Arguments]),且可使用第5標記所存在之列以下之代碼,來產生第3候選關鍵字之關鍵字引數之部分資訊。電子裝置110可使用自第5標記所存在之列以下至執行代碼所存在之列之前列所編寫的代碼654,來產生第3候選關鍵字之關鍵字引數之部分資訊。Referring to Figure 6, the electronic device 110 can retrieve the third marker (e.g., [Documentation]) in the portion of source code 650 corresponding to the third candidate keyword, and can use the code below the column where the third marker exists to generate partial information of the keyword description of the third candidate keyword. For example, the electronic device 110 can use the code 652 written from the column where the third marker exists to the column before the other marker, i.e., the column where the fourth marker exists, to generate partial information of the keyword description of the third candidate keyword. Similarly, the electronic device 110 can retrieve the fourth tag (e.g., [Tags]) from the portion of source code 650 corresponding to the third candidate keyword, and can use the code below the column where the fourth tag exists to generate partial information of the keyword tag of the third candidate keyword. The electronic device 110 can use the code 653 written from the column where the fourth tag exists to the column before the other tags, i.e., the column where the fifth tag exists, to generate partial information of the keyword tag of the third candidate keyword. The electronic device 110 can retrieve the fifth tag (e.g., [Arguments]) from the portion of source code 650 corresponding to the third candidate keyword, and can use the code below the column where the fifth tag exists to generate partial information of the keyword arguments of the third candidate keyword. The electronic device 110 can use code 654, written from the column where the 5th marker exists down to the column where the execution code exists, to generate partial information of the keyword arguments of the 3rd candidate keyword.

於一實施例中,在與一個候選關鍵字對應之部分原始碼中可能檢索不到用以區分特定關鍵字屬性(例如,關鍵字說明、關鍵字標籤、或關鍵字引數)之其他關鍵字屬性之標記。於此情形時,電子裝置110可針對一個候選關鍵字之特定關鍵字屬性不產生部分資訊。例如,參照圖5,在與第1候選關鍵字對應之部分原始碼550中可能檢索不到與關鍵字引數對應之第5標記(例如,[Arguments])。於此情形時,當產生與第1候選關鍵字對應之屬性資訊時,電子裝置110可不產生第1候選關鍵字之關鍵字引數之部分資訊。In one embodiment, the identifiers for other keyword attributes (e.g., keyword descriptions, keyword tags, or keyword arguments) used to distinguish a specific keyword attribute may not be found in the portion of source code corresponding to a candidate keyword. In this case, the electronic device 110 may not generate partial information for a specific keyword attribute of a candidate keyword. For example, referring to FIG5, the fifth identifier (e.g., [Arguments]) corresponding to the keyword arguments may not be found in the portion of source code 550 corresponding to the first candidate keyword. In this case, when generating attribute information corresponding to the first candidate keyword, the electronic device 110 may not generate partial information about the keyword arguments of the first candidate keyword.

於一實施例中,當變更一個以上之候選關鍵字之原始碼之情形時,電子裝置110可更新(update)與一個以上之候選關鍵字各者對應之屬性資訊。更具體而言,特定用戶可修正或添加一個以上之候選關鍵字之原始碼,且特定用戶可藉由特定用戶之用戶終端向電子裝置110傳輸請求更新一個以上之候選關鍵字之原始碼之第2拉取請求。例如,第2拉取請求可包括特定用戶變更之一個以上之候選關鍵字之原始碼。於此情形時,電子裝置110可響應於接收第2拉取請求,識別一個以上之候選關鍵字之原始碼中變更之代碼部分。電子裝置110可比較儲存於現有電子裝置110中之一個以上之候選關鍵字之原始碼、及包括於第2拉取請求中之一個以上之候選關鍵字之原始碼,藉此來識別所變更之代碼部分。電子裝置110可基於剖析所識別之代碼部分,更新與一個以上之候選關鍵字各者對應之屬性資訊。例如,於特定候選關鍵字之關鍵字名稱發生了變更之情形時,電子裝置110可將關鍵字名稱更新為變更以後之關鍵字名稱,且進而將變更以前之關鍵字名稱儲存為特定候選關鍵字之關鍵字名稱之部分資訊。In one embodiment, when the source code of more than one candidate keyword is changed, the electronic device 110 can update the attribute information corresponding to each of the candidate keywords. More specifically, a particular user can modify or add the source code of more than one candidate keyword, and the particular user can transmit a second pull request to the electronic device 110 via a user terminal to update the source code of more than one candidate keyword. For example, the second pull request may include the particular user changing the source code of more than one candidate keyword. In this case, the electronic device 110 can respond to receiving the second pull request by identifying the changed code portion in the source code of the more than one candidate keyword. Electronic device 110 can compare the source code of one or more candidate keywords stored in existing electronic devices 110 with the source code of one or more candidate keywords included in the second fetch request, thereby identifying the changed code portion. Electronic device 110 can update the attribute information corresponding to each of the one or more candidate keywords based on the analysis of the identified code portion. For example, when the keyword name of a specific candidate keyword changes, electronic device 110 can update the keyword name to the changed keyword name, and further store the keyword name before the change as part of the keyword name information of the specific candidate keyword.

圖7係說明本發明之一實施例之儲存與一個以上之候選關鍵字對應之屬性資訊之示例的圖。Figure 7 is a diagram illustrating an example of storing attribute information corresponding to one or more candidate keywords in one embodiment of the present invention.

於一實施例中,電子裝置110可儲存與複數個候選關鍵字對應之屬性資訊。圖7示出了示例性地表示與電子裝置110儲存之複數個候選關鍵字對應之屬性資訊之表701。表701可包括:與主頁相關之第1候選關鍵字對應之屬性資訊721、及與登錄頁面相關之第3候選關鍵字對應之屬性資訊722。即,表701可包括與各種頁面相關之候選關鍵字之屬性資訊。In one embodiment, electronic device 110 may store attribute information corresponding to a plurality of candidate keywords. Figure 7 illustrates, exemplarily, a table 701 representing the attribute information corresponding to the plurality of candidate keywords stored in electronic device 110. Table 701 may include: attribute information 721 corresponding to a first candidate keyword associated with the home page, and attribute information 722 corresponding to a third candidate keyword associated with the login page. That is, table 701 may include attribute information of candidate keywords associated with various pages.

於一實施例中,與候選關鍵字對應之屬性資訊(例如,屬性資訊721、屬性資訊722)可包括候選關鍵字之一個以上之關鍵字屬性(例如,頁面名稱711、關鍵字名稱712、關鍵字說明713、關鍵字標籤714、或關鍵字引數715)各者之部分資訊及候選關鍵字之可信度(credibility)730。電子裝置110可用可信度分數(例如,82分)來表示候選關鍵字之可信度730。In one embodiment, the attribute information corresponding to the candidate keyword (e.g., attribute information 721, attribute information 722) may include partial information of each of the keyword attributes of the candidate keyword (e.g., page name 711, keyword name 712, keyword description 713, keyword tag 714, or keyword quote 715) and the credibility 730 of the candidate keyword. The electronic device 110 may use a credibility score (e.g., 82 points) to represent the credibility 730 of the candidate keyword.

於一實施例中,電子裝置110可為一個以上之候選關鍵字各者設定可信度。電子裝置110可調整一個以上之候選關鍵字各者之可信度。更具體而言,電子裝置110可執行(execute)一個以上之測試案例中之特定測試案例,且可實行根據特定測試案例之執行來調整與特定測試案例之執行相關之至少一個候選關鍵字之可信度的反饋。此處,至少一個候選關鍵字各者皆可表示指示根據特定測試案例之執行來實行之動作之關鍵字。由於電子裝置110為了執行特定測試案例而執行至少一個候選關鍵字各者,因此可判斷至少一個候選關鍵字各者之執行是否成功。電子裝置110可基於至少一個候選關鍵字之執行是否成功,調整與至少一個候選關鍵字各者對應之可信度。In one embodiment, electronic device 110 can set the confidence level for one or more candidate keywords. Electronic device 110 can adjust the confidence level of one or more candidate keywords. More specifically, electronic device 110 can execute a specific test case in one or more test cases and can provide feedback to adjust the confidence level of at least one candidate keyword associated with the execution of the specific test case based on the execution of the specific test case. Here, each of the at least one candidate keyword can represent a keyword indicating an action to be performed based on the execution of the specific test case. Since the electronic device 110 executes at least one candidate keyword in order to perform a specific test case, it can determine whether the execution of the at least one candidate keyword is successful. The electronic device 110 can adjust the confidence level corresponding to the at least one candidate keyword based on whether the execution of the at least one candidate keyword is successful.

於一實施例中,於根據特定測試案例之執行而成功執行一個候選關鍵字之情形時,電子裝置110可增加一個候選關鍵字之可信度。例如,電子裝置110可將表示一個候選關鍵字之可信度之可信度分數增加至預先設定值(例如,「1」)。相反,於根據特定測試案例之執行而未能成功執行一個候選關鍵字之情形時,電子裝置110可降低一個候選關鍵字之可信度。例如,電子裝置110可將表示一個候選關鍵字之可信度之可信度分數降低至預先設定值(例如,「1」)。此外,當根據實行反饋來調整與一個以上之候選關鍵字對應之可信度,與複數個候選關鍵字對應之可信度降低至臨界可信度以下之情形時,電子裝置110能夠以如下方式設定:向管理者請求更新(update)與特定候選關鍵字對應之部分原始碼,或刪除特定候選關鍵字之部分原始碼,以刪除與特定候選關鍵字對應之屬性資訊,使特定候選關鍵字不再被推薦。In one embodiment, when a candidate keyword is successfully executed according to a specific test case, the electronic device 110 may increase the confidence level of the candidate keyword. For example, the electronic device 110 may increase the confidence score representing the confidence level of a candidate keyword to a preset value (e.g., "1"). Conversely, when a candidate keyword is not successfully executed according to a specific test case, the electronic device 110 may decrease the confidence level of the candidate keyword. For example, the electronic device 110 may decrease the confidence score representing the confidence level of a candidate keyword to a preset value (e.g., "1"). Furthermore, when the confidence level corresponding to one or more candidate keywords is adjusted based on implementation feedback, and the confidence level corresponding to multiple candidate keywords decreases to below the critical confidence level, the electronic device 110 can be configured to request the administrator to update part of the source code corresponding to the specific candidate keyword, or delete part of the source code of the specific candidate keyword, in order to delete the attribute information corresponding to the specific candidate keyword, so that the specific candidate keyword is no longer recommended.

於一實施例中,電子裝置110可根據測試環境(test environment)各者來單獨設定候選關鍵字之可信度。測試環境可表示為了執行軟體之測試案例而設定之硬體、軟體、網路等操作環境。候選關鍵字可於一個測試環境下順利實現,但於其他測試環境下可能無法順利實現。因此,電子裝置110可根據測試環境各者來單獨管理候選關鍵字之可信度。例如,電子裝置110於第1測試環境中表示對一個候選關鍵字之可信度之第1可信度分數、及於第2測試環境中表示對一個候選關鍵字之可信度之第2可信度分數可能相互不同。In one embodiment, electronic device 110 can individually set the confidence level of candidate keywords based on each test environment. A test environment can refer to the hardware, software, network, and other operating environments configured to execute test cases for software. A candidate keyword may work successfully in one test environment but may not work successfully in other test environments. Therefore, electronic device 110 can manage the confidence level of candidate keywords individually based on each test environment. For example, the first confidence score of the electronic device 110 representing the confidence of a candidate keyword in the first test environment and the second confidence score representing the confidence of a candidate keyword in the second test environment may be different from each other.

圖8示出了本發明之一實施例之檢索推薦關鍵字之過程的流程圖。Figure 8 shows a flowchart of the process of searching and recommending keywords in one embodiment of the present invention.

於一實施例中,電子裝置110可基於將與一個以上之候選關鍵字各者對應之屬性資訊及目標資訊進行比較,於一個以上之候選關鍵字中檢索與目標資訊匹配之推薦關鍵字。圖8之動作S841、動作S842及動作S843可為圖3之動作S340中之至少一部分動作。以下,將具體說明圖8所示之動作S841、S842、S843。In one embodiment, the electronic device 110 can search for recommended keywords that match the target information from among the candidate keywords by comparing attribute information and target information corresponding to each of the candidate keywords. Actions S841, S842, and S843 in Figure 8 can be at least a portion of actions S340 in Figure 3. The actions S841, S842, and S843 shown in Figure 8 will be explained in detail below.

於動作S841中,電子裝置110可識別與目標資訊映射之關鍵字屬性。In action S841, electronic device 110 can identify the keyword attributes mapped to target information.

於一實施例中,電子裝置110於接收目標資訊之同時,可自用戶終端120一起接收有關與目標資訊映射之關鍵字屬性之資訊。例如,與目標資訊映射之關鍵字屬性可為關鍵字名稱、關鍵字說明、關鍵字標籤、及關鍵字引數中之至少一者。於其他實施例中,目標資訊亦可已經包括有關與目標資訊映射之關鍵字屬性之資訊。In one embodiment, while receiving target information, electronic device 110 may simultaneously receive information from user terminal 120 regarding keyword attributes mapped to the target information. For example, the keyword attributes mapped to the target information may be at least one of keyword name, keyword description, keyword tag, and keyword arguments. In other embodiments, the target information may already include information regarding keyword attributes mapped to the target information.

於動作S842中,電子裝置110可基於將每個候選關鍵字之所識別之關鍵字屬性的部分資訊與目標資訊進行比較,算出每個候選關鍵字及目標資訊之間之匹配度(matching degree)。例如,匹配度可具有0以上1以下之值。換言之,每個候選關鍵字及目標資訊之間之匹配度之最大值可設定為1,及最小值可設定為0。In action S842, the electronic device 110 can calculate the matching degree between each candidate keyword and the target information by comparing partial information of the identified keyword attributes of each candidate keyword with the target information. For example, the matching degree can have a value between 0 and 1. In other words, the maximum value of the matching degree between each candidate keyword and the target information can be set to 1, and the minimum value can be set to 0.

例如,電子裝置110可將與目標資訊映射之關鍵字屬性識別為關鍵字標籤。於此情形時,電子裝置110可將每個候選關鍵字之關鍵字標籤之部分資訊與目標資訊進行比較。電子裝置110可基於將每個候選關鍵字之關鍵字標籤之部分資訊與目標資訊進行比較,算出每個候選關鍵字及目標資訊之間之匹配度。For example, electronic device 110 can identify keyword attributes mapped to target information as keyword tags. In this case, electronic device 110 can compare partial information of the keyword tags of each candidate keyword with the target information. Based on the comparison of partial information of the keyword tags of each candidate keyword with the target information, electronic device 110 can calculate the matching degree between each candidate keyword and the target information.

於一實施例中,電子裝置110可基於每個候選關鍵字之所識別之關鍵字屬性之部分資訊及目標資訊之間的重複度,算出每個候選關鍵字及目標資訊之間之匹配度。例如,候選關鍵字及目標資訊之間之重複度越高,則電子裝置110可計算出候選關鍵字及目標資訊之間之匹配度越高。相反,候選關鍵字及目標資訊之間之重複度越低,則電子裝置110可計算出候選關鍵字及目標資訊之間之匹配度越低。In one embodiment, the electronic device 110 can calculate the matching degree between each candidate keyword and the target information based on the degree of overlap between partial information of the identified keyword attributes of each candidate keyword and the target information. For example, the higher the overlap between the candidate keywords and the target information, the higher the matching degree that the electronic device 110 can calculate. Conversely, the lower the overlap between the candidate keywords and the target information, the lower the matching degree that the electronic device 110 can calculate.

於一實施例中,電子裝置110可將比率作為每個候選關鍵字及目標資訊間之重複度而算出,該比率係每個候選關鍵字之所識別之關鍵字屬性之部分資訊及目標資訊間相互重複之單詞的個數與部分資訊中所包括之單詞的總個數之比。例如,與目標資訊映射之關鍵字屬性係關鍵字標籤,候選關鍵字之關鍵字標籤之部分資訊可包括「store」及「common」。於候選關鍵字之關鍵字標籤之部分資訊與目標資訊間之相互重複的單詞被識別為「store」之情形時,電子裝置110可計算出候選關鍵字及目標資訊間之重複度為1/2(=0.5)。然而,候選關鍵字及目標資訊間之重複度計算方法並不限於此,可藉由其他各種方式來計算出候選關鍵字及目標資訊間之重複度。In one embodiment, the electronic device 110 can calculate a ratio as the degree of overlap between each candidate keyword and target information. This ratio is the ratio of the number of words that overlap between the partial information of the identified keyword attribute of each candidate keyword and the target information to the total number of words included in the partial information. For example, the keyword attribute mapped to the target information is a keyword tag, and the partial information of the keyword tag of the candidate keyword may include "store" and "common". When the word that overlaps between the partial information of the keyword tag of the candidate keyword and the target information is identified as "store", the electronic device 110 can calculate that the degree of overlap between the candidate keyword and the target information is 1/2 (=0.5). However, the method for calculating the duplication between candidate keywords and target information is not limited to this; various other methods can be used to calculate the duplication between candidate keywords and target information.

於動作S843中,電子裝置110可基於匹配度算出結果,於一個以上之候選關鍵字中檢索上述推薦關鍵字。In action S843, electronic device 110 can calculate the result based on the matching degree and search for the recommended keyword among one or more candidate keywords.

於一實施例中,當於一個以上之候選關鍵字中存在至少一個與目標資訊匹配度為臨界值以上之候選關鍵字之情形時,電子裝置110能夠判斷推薦關鍵字為可檢索者。換言之,電子裝置110可於一個以上之候選關鍵字中,將與目標資訊之匹配度係臨界值以上之候選關鍵字確定為推薦關鍵字。相反,當一個以上之候選關鍵字中與目標資訊之匹配度均未達臨界值之情形時,電子裝置110能夠判斷一個以上之候選關鍵字中推薦關鍵字為不可檢索者。例如,臨界值可為0.7,但並不限於此。In one embodiment, when at least one of the candidate keywords has a match degree with the target information that is above a critical value, the electronic device 110 can determine that the recommended keyword is searchable. In other words, the electronic device 110 can identify the candidate keywords with a match degree with the target information that is above a critical value from among the candidate keywords as recommended keywords. Conversely, when none of the candidate keywords have a match degree with the target information that reaches the critical value, the electronic device 110 can determine that the recommended keyword among the candidate keywords is not searchable. For example, the critical value can be 0.7, but it is not limited to this.

圖9示例性地示出了本發明之一實施例之顯示與目標資訊匹配之推薦關鍵字的頁面。Figure 9 exemplarily illustrates a page displaying recommended keywords that match target information, according to one embodiment of the present invention.

於一實施例中,於判斷一個以上之候選關鍵字中推薦關鍵字為可檢索者之情形時,電子裝置110可將與目標資訊匹配之推薦關鍵字提供至用戶終端120。換言之,當於一個以上之候選關鍵字中存在至少一個與目標資訊之匹配度為臨界值以上之候選關鍵字之情形時,電子裝置110可向用戶終端120提供與目標資訊之匹配度為臨界值以上之候選關鍵字作為推薦關鍵字。電子裝置110可向用戶終端120提供於一個以上之候選關鍵字中顯示與目標資訊匹配之推薦關鍵字之頁面901。In one embodiment, when it is determined that a recommended keyword among one or more candidate keywords is searchable, the electronic device 110 may provide the recommended keyword matching the target information to the user terminal 120. In other words, when at least one candidate keyword among one or more candidate keywords has a matching degree with the target information exceeding a critical value, the electronic device 110 may provide the user terminal 120 with the candidate keyword whose matching degree with the target information exceeds a critical value as a recommended keyword. The electronic device 110 may provide the user terminal 120 with a page 901 displaying the recommended keyword matching the target information among one or more candidate keywords.

頁面901上可顯示有與目標資訊匹配之一個以上之推薦關鍵字911、921、931、941、…。與目標資訊匹配之一個以上之推薦關鍵字911、921、931、941、…各者可為一個以上之候選關鍵字中與目標資訊之匹配度為臨界值以上之候選關鍵字。例如,參照圖9,頁面901上可顯示有有關第1推薦關鍵字911之資訊910、有關第2推薦關鍵字921之資訊920、有關第3推薦關鍵字931之資訊930、及有關第4推薦關鍵字941之資訊940。Page 901 may display one or more recommended keywords 911, 921, 931, 941, ... that match the target information. Each of the recommended keywords 911, 921, 931, 941, ... that match the target information may be a candidate keyword whose matching degree with the target information is above the critical value among one or more candidate keywords. For example, referring to Figure 9, page 901 may display information 910 about the first recommended keyword 911, information 920 about the second recommended keyword 921, information 930 about the third recommended keyword 931, and information 940 about the fourth recommended keyword 941.

於一實施例中,電子裝置110可確定一個以上之推薦關鍵字911、921、931、941、…各者之推薦值。電子裝置110可使一個以上之推薦關鍵字911、921、931、941、…按推薦值由高至低之順序來顯示。例如,一個推薦關鍵字之推薦值排名越高,則電子裝置110可將一個推薦關鍵字顯示於越靠近頁面901之第1側邊緣之區域中。參照圖9,第1推薦關鍵字911之推薦值可能高於第2推薦關鍵字921之推薦值,第2推薦關鍵字921之推薦值可能高於第3推薦關鍵字931。In one embodiment, electronic device 110 can determine the recommendation values of one or more recommended keywords 911, 921, 931, 941, ... Electronic device 110 can display the recommended keywords 911, 921, 931, 941, ... in descending order of recommendation value. For example, the higher the recommendation value of a recommended keyword, the more likely electronic device 110 will display that recommended keyword in the area closer to the first edge of page 901. Referring to Figure 9, the recommendation value of the first recommended keyword 911 may be higher than that of the second recommended keyword 921, and the recommendation value of the second recommended keyword 921 may be higher than that of the third recommended keyword 931.

於一實施例中,電子裝置110可使用一個推薦關鍵字之與目標資訊之匹配度及與任意推薦關鍵字對應之可信度,計算出一個推薦關鍵字之推薦值。更具體而言,電子裝置110可計算出與一個推薦關鍵字對應之推薦值,該推薦值係將應用於一個推薦關鍵字之與目標資訊之匹配度之第1加權值的值、與應用於與一個推薦關鍵字對應之可信度之第2加權值的值相加之值。此處,第1加權值可為第2加權值以上。第1加權值及第2加權值各者可具有0以上1以下之值。例如,第1加權值可為0.8,第2加權值可為0.5,但並不限於此。作為參考,圖9之頁面901中雖然示出了顯示一個以上之推薦關鍵字911、921、931、941、…各者之與目標資訊之匹配度及可信度的示例,但頁面901所顯示之資訊並不限於此,亦可顯示與一個以上之推薦關鍵字911、921、931、941、…相關之其他資訊(例如,部分原始碼、推薦值等)。In one embodiment, electronic device 110 can calculate a recommendation value for a recommended keyword using the matching degree of a recommended keyword with target information and the credibility corresponding to any recommended keyword. More specifically, electronic device 110 can calculate a recommendation value corresponding to a recommended keyword, which is the sum of a first weighted value applied to the matching degree of the recommended keyword with the target information and a second weighted value applied to the credibility corresponding to the recommended keyword. Here, the first weighted value can be greater than or equal to the second weighted value. Both the first weighted value and the second weighted value can have values greater than 0 and less than 1. For example, the first weighting value could be 0.8, and the second weighting value could be 0.5, but it is not limited to these. For reference, although page 901 of Figure 9 shows an example of displaying the matching degree and credibility of more than one recommended keyword 911, 921, 931, 941, ... with the target information, the information displayed on page 901 is not limited to this, and may also display other information related to more than one recommended keyword 911, 921, 931, 941, ... (e.g., part of the source code, recommended values, etc.).

於一實施例中,電子裝置110響應於選擇頁面901所顯示之一個以上之推薦關鍵字911、921、931、941、…中之特定推薦關鍵字(例如,第2推薦關鍵字921)之用戶輸入,可向用戶終端120提供有關特定推薦關鍵字(例如,第2推薦關鍵字921)之資訊(例如,與第2推薦關鍵字921對應之部分原始碼)。In one embodiment, electronic device 110 responds to user input of a specific recommended keyword (e.g., the second recommended keyword 921) among one or more recommended keywords 911, 921, 931, 941, ... displayed on selection page 901, and can provide information (e.g., a portion of source code corresponding to the second recommended keyword 921) about the specific recommended keyword (e.g., the second recommended keyword 921) to user terminal 120.

圖10係說明本發明之一實施例之電子裝置用以提供推薦關鍵字之檢索功能之軟體的圖。Figure 10 is a diagram illustrating the software of an electronic device according to one embodiment of the present invention for providing a search function for recommended keywords.

於一實施例中,電子裝置110可使用複數個軟體,以提供與目標資訊匹配之推薦關鍵字之檢索功能。例如,電子裝置110可使用自動化框架(automation framework)1001、原始碼剖析程式1002、關鍵字可信度管理程式1003、及推薦關鍵字檢索平台1004。於一實施例中,自動化框架1001、原始碼剖析程式1002、關鍵字可信度管理程式1003、及推薦關鍵字檢索平台1004中之至少一者可包括於作為電子裝置110之一部分。以下,將對各軟體實行之動作進行說明。In one embodiment, electronic device 110 may use a plurality of software programs to provide a function for searching recommended keywords that match target information. For example, electronic device 110 may use an automation framework 1001, a source code parser 1002, a keyword credibility management program 1003, and a recommended keyword search platform 1004. In one embodiment, at least one of the automation framework 1001, the source code parser 1002, the keyword credibility management program 1003, and the recommended keyword search platform 1004 may be included as part of electronic device 110. The actions performed by each software program will be described below.

首先,自動化框架1001可藉由外部用戶而產生與一個頁面相關之測試案例之原始碼(1011)。又,自動化框架1001可產生一個以上之候選關鍵字之原始碼(1012),且可產生用於測試案例之測試資料之原始碼(1013)。即,自動化框架1001可產生與一個頁面對應之資源檔案。First, the automation framework 1001 can generate source code (1011) for test cases associated with a page through an external user. Furthermore, the automation framework 1001 can generate source code for more than one candidate keyword (1012) and source code for test data used in the test cases (1013). In other words, the automation framework 1001 can generate resource files corresponding to a page.

原始碼剖析程式1002可從自動化框架1011接收拉取請求(例如,第1拉取請求、第2拉取請求)(1021)。原始碼剖析程式1002可響應於接收拉取請求者,觸發關鍵字剖析器(keyword parser)(1022)。原始碼剖析程式1002之關鍵字剖析器可基於剖析一個以上之候選關鍵字之原始碼,產生與候選關鍵字各者對應之屬性資訊(1023)。原始碼剖析程式1002可向關鍵字可信度管理程式1003傳遞與每個候選關鍵字對應之屬性資訊。Source code parser 1002 may receive pull requests (e.g., first pull request, second pull request) from automation framework 1011 (1021). Source code parser 1002 may respond to the recipient of the pull request by triggering a keyword parser (1022). The keyword parser of source code parser 1002 may generate attribute information corresponding to each candidate keyword based on parsing the source code of one or more candidate keywords (1023). Source code parser 1002 may pass the attribute information corresponding to each candidate keyword to keyword trust management program 1003.

關鍵字可信度管理程式1003可根據測試案例之執行調整一個以上之候選關鍵字各者之可信度(1031)。關鍵字可信度管理程式1003可包括儲存處1030,且可於儲存處1030中儲存有關每個候選關鍵字之可信度。關鍵字可信度管理程式1003可於儲存處1030中儲存與自原始碼剖析程式1002接收到之每個候選關鍵字對應之屬性資訊。The keyword confidence management program 1003 can adjust the confidence level of one or more candidate keywords (1031) based on the execution of test cases. The keyword confidence management program 1003 may include a storage location 1030, and can store the confidence level of each candidate keyword in the storage location 1030. The keyword confidence management program 1003 can store attribute information corresponding to each candidate keyword received from the source code parser 1002 in the storage location 1030.

推薦關鍵字檢索平台1004可藉由用戶終端120向欲產生測試案例之用戶提供與目標資訊匹配之推薦關鍵字。具體而言,推薦關鍵字檢索平台1004可自用戶終端120接收目標資訊(1041)。推薦關鍵字檢索平台1004可利用儲存於儲存處1030中之候選關鍵字各者之屬性資訊,檢索與目標資訊匹配之推薦關鍵字(1042)。推薦關鍵字檢索平台1004可向用戶終端120提供顯示推薦關鍵字之頁面(1043)。The recommended keyword search platform 1004 can provide users who want to generate test cases with recommended keywords that match the target information through the user terminal 120. Specifically, the recommended keyword search platform 1004 can receive target information from the user terminal 120 (1041). The recommended keyword search platform 1004 can use the attribute information of each candidate keyword stored in the storage location 1030 to search for recommended keywords that match the target information (1042). The recommended keyword search platform 1004 can provide the user terminal 120 with a page displaying the recommended keywords (1043).

本發明之方法可為藉由電腦而實現之方法。電腦可包括例如能夠實行處理之電子裝置。於本發明中,以規定順序示出與說明了該方法之各步驟,然而各步驟除了依次實行之外,還可按照根據本發明可任意組合之順序實行。於一實施例中,可並行、反覆或啟發性地實行至少一部分步驟。本發明不排除對該方法進行改變或修正。於一實施例中,可省略至少一部分步驟或添加其他步驟。The method of this invention can be implemented by a computer. The computer may include, for example, an electronic device capable of processing. In this invention, the steps of the method are shown and described in a prescribed order; however, in addition to being performed sequentially, the steps may also be performed in any combination according to this invention. In one embodiment, at least some steps may be performed in parallel, repeatedly, or heuristically. This invention does not preclude changes or modifications to the method. In one embodiment, at least some steps may be omitted or other steps may be added.

本發明之各種實施例可於設備(Machine)可讀記錄媒體(Machine-Readable Storage Medium)中以所記錄之軟體之形式實現。軟體可為用以實現上述本發明之各種實施例之軟體。本發明所屬之技術領域內之程式設計師可根據屬於本發明之各種實施例推測出軟體。設備係可根據自記錄媒體呼叫之命令進行動作之裝置,例如可為電腦。於一實施例中,設備可為本發明之實施例之電子裝置。於一實施例中,設備之處理器執行所呼叫之命令,從而可使設備之構成要素實行與該命令對應之功能。於一實施例中,處理器可為本發明之實施例之處理器。記錄媒體可指可由設備讀取且儲存資料之所有種類之記錄媒體(Recording Medium)。記錄媒體可包括例如ROM(Read only memory,唯讀記憶體)、RAM(Random-access memory,隨機存取記憶體)、CD-ROM(Compact Disc Read-Only Memory,光碟唯讀記憶體)、磁帶、軟碟、光學資訊儲存裝置等。於一實施例中,記錄媒體可為記憶體。於一實施例中,記錄媒體能夠以分散於與網路連接之電腦系統等之形態實現。軟體可分散儲存於電腦系統等來執行。記錄媒體可為非暫時性(non-transitory)記錄媒體。非暫時性記錄媒體係指無論資訊係半永久地儲存抑或暫時性地儲存皆實際存在之媒體(Tangible Medium),且不包括暫時(transitory)傳播之信號(Signal)。Various embodiments of the present invention can be implemented in the form of recorded software on a machine-readable storage medium. The software can be software used to implement the various embodiments of the present invention described above. Programmers in the art to which the present invention pertains can infer the software based on the various embodiments of the present invention. A device is an apparatus capable of performing actions according to commands called from a recording medium, such as a computer. In one embodiment, the device can be an electronic device of an embodiment of the present invention. In one embodiment, the processor of the device executes the called commands, thereby enabling the components of the device to perform functions corresponding to those commands. In one embodiment, the processor can be a processor of an embodiment of the present invention. Recording medium can refer to all types of recording medium that can be read and stored by a device. Recording medium can include, for example, ROM (Read-only memory), RAM (Random-access memory), CD-ROM (Compact Disc Read-Only Memory), magnetic tape, floppy disk, optical information storage device, etc. In one embodiment, the recording medium can be memory. In one embodiment, the recording medium can be implemented in a form distributed across computer systems connected to a network. Software can be distributed and executed across computer systems. The recording medium can be a non-transitory recording medium. Non-transitory recording media refers to media that actually exist, whether the information is stored semi-permanently or temporarily, and does not include transient signals.

以上,根據各種實施例對本發明之技術思想進行了說明,但本發明之技術思想包括能夠於本發明所屬之技術領域內具有常識者可理解之範圍內實現之各種置換、變化及變更。又,應理解此種置換、變化及變更可包括於隨附之發明申請專利範圍內。本發明之實施例可彼此組合。各實施例可根據情形之數量而進行各種組合,組合而成之實施例亦屬於本發明之範圍。The technical concept of this invention has been described above based on various embodiments. However, the technical concept of this invention includes various substitutions, variations, and modifications that can be implemented within the scope of understanding of a person skilled in the art to which this invention pertains. Furthermore, it should be understood that such substitutions, variations, and modifications may be included within the scope of the appended invention claims. The embodiments of this invention can be combined with each other. The embodiments can be combined in various ways depending on the number of cases, and the combined embodiments also fall within the scope of this invention.

110:電子裝置 120:用戶終端 200:電子裝置 210:處理器 220:記憶體 230:通訊介面 401:與一個頁面對應之資源檔案 410:與一個頁面相關之測試案例之原始碼 420:與一個頁面相關之測試案例中利用之測試資料之原始碼 430:與測試案例之執行相關之一個以上之候選關鍵字之原始碼 501:與一個頁面對應之資源檔案 530:一個以上之候選關鍵字之原始碼 540:第1標記 550:與第1候選關鍵字對應之部分原始碼 560:與第2候選關鍵字對應之部分原始碼 571:第1列 572:第2列 573:列 601:與一個頁面對應之資源檔案 630:一個以上之候選關鍵字之原始碼 650:與第3候選關鍵字對應之部分原始碼 651:代碼 652:代碼 653:代碼 654:代碼 671:起始列 701:表 711:頁面名稱 712:關鍵字名稱 713:關鍵字說明 714:關鍵字標籤 715:關鍵字參數 721:屬性資訊 722:屬性資訊 730:可信度 901:頁面 910:資訊 911:第1推薦關鍵字 920:資訊 921:第2推薦關鍵字 930:資訊 931:第3推薦關鍵字 940:資訊 941:第4推薦關鍵字 1001:自動化框架 1002:原始碼剖析程式 1003:關鍵字可信度管理程式 1004:推薦關鍵字檢索平台 1011:動作 1012:動作 1013:動作 1021:動作 1022:動作 1023:動作 1031:動作 1030:儲存處 1041:動作 1042:動作 1043:動作 S310:動作 S320:動作 S330:動作 S340:動作 S841:動作 S842:動作 S843:動作 110: Electronic Device 120: User Terminal 200: Electronic Device 210: Processor 220: Memory 230: Communication Interface 401: Resource File Corresponding to a Page 410: Source Code of a Test Case Associated with a Page 420: Source Code of Test Data Used in a Test Case Associated with a Page 430: Source Code of One or More Candidate Keywords Related to the Execution of a Test Case 501: Resource File Corresponding to a Page 530: Source Code of One or More Candidate Keywords 540: First Tag 550: Partial Source Code Corresponding to the First Candidate Keyword 560: Partial source code corresponding to the second candidate keyword 571: Column 1 572: Column 2 573: Column 601: Resource file corresponding to a page 630: Source code of more than one candidate keyword 650: Partial source code corresponding to the third candidate keyword 651: Code 652: Code 653: Code 654: Code 671: Starting column 701: Table 711: Page name 712: Keyword name 713: Keyword description 714: Keyword label 715: Keyword parameters 721: Attribute information 722: Attribute information 730: Credibility 901: Page 910: Information 911: Top Recommended Keyword 920: Information 921: Top Recommended Keyword 930: Information 931: Top Recommended Keyword 940: Information 941: Top Recommended Keyword 1001: Automation Framework 1002: Source Code Analysis Program 1003: Keyword Reliability Management Program 1004: Recommended Keyword Search Platform 1011: Action 1012: Action 1013: Action 1021: Action 1022: Action 1023: Action 1031: Action 1030: Storage Location 1041: Action 1042: Action 1043: Action S310: Action S320: Action S330: Action S340: Action S841: Action S842: Action S843: Action

圖1示出了本發明之一實施例之可應用電子裝置之環境。 圖2係本發明之一實施例之電子裝置之方塊圖。 圖3示出了本發明之一實施例之藉由剖析候選關鍵字之原始碼來檢索推薦關鍵字之方法的流程圖。 圖4係說明本發明之一實施例之獲得候選關鍵字之原始碼之過程的圖。 圖5係說明本發明之一實施例之於一個以上之候選關鍵字之原始碼中識別與每個候選關鍵字對應之部分原始碼之示例的圖。 圖6係說明本發明之一實施例之剖析一個以上之候選關鍵字之原始碼之示例的圖。 圖7係說明本發明之一實施例之儲存與一個以上之候選關鍵字對應之屬性資訊之示例的圖。 圖8示出了本發明之一實施例之檢索推薦關鍵字之過程的流程圖。 圖9示例性地示出了本發明之一實施例之顯示與目標資訊匹配之推薦關鍵字的頁面。 圖10係說明本發明之一實施例之電子裝置用以提供推薦關鍵字之檢索功能之軟體的圖。 Figure 1 illustrates the environment of an electronic device to which one embodiment of the present invention can be applied. Figure 2 is a block diagram of the electronic device according to one embodiment of the present invention. Figure 3 is a flowchart illustrating a method for retrieving and recommending keywords by parsing the source code of candidate keywords according to one embodiment of the present invention. Figure 4 is a diagram illustrating the process of obtaining the source code of candidate keywords according to one embodiment of the present invention. Figure 5 is a diagram illustrating an example of identifying the portion of source code corresponding to each candidate keyword from the source code of one or more candidate keywords according to one embodiment of the present invention. Figure 6 is a diagram illustrating an example of parsing the source code of one or more candidate keywords according to one embodiment of the present invention. Figure 7 is a diagram illustrating an example of storing attribute information corresponding to one or more candidate keywords in one embodiment of the present invention. Figure 8 shows a flowchart of the process of retrieving recommended keywords in one embodiment of the present invention. Figure 9 exemplarily shows a page displaying recommended keywords matching the target information in one embodiment of the present invention. Figure 10 is a diagram illustrating the software used by the electronic device in one embodiment of the present invention to provide the function of retrieving recommended keywords.

S310:動作 S320:動作 S330:動作 S340:動作 S310: Action S320: Action S330: Action S340: Action

Claims (18)

一種藉由電子裝置而實行之方法,其包括如下步驟: 獲得與和一個以上之測試案例之執行相關之一個以上之候選關鍵字對應之原始碼; 基於剖析上述原始碼,產生與上述一個以上之候選關鍵字各者對應之屬性資訊; 接收用於推薦關鍵字之檢索之目標資訊;及 基於將與上述一個以上之候選關鍵字各者對應之屬性資訊及上述目標資訊進行比較,於上述一個以上之候選關鍵字中檢索與上述目標資訊匹配之上述推薦關鍵字, 其中產生與上述一個以上之候選關鍵字各者對應之屬性資訊之步驟包括如下步驟: 自上述原始碼中識別與上述一個以上之候選關鍵字各者對應之部分原始碼;及 基於剖析與上述每個候選關鍵字對應之部分原始碼,產生上述各候選關鍵字之一個以上之關鍵字屬性各者之部分資訊,上述每個候選關鍵字之上述一個以上之關鍵字屬性各者之部分資訊構成與上述每個候選關鍵字對應之屬性資訊。 A method implemented by an electronic device includes the following steps: Obtaining source code corresponding to one or more candidate keywords related to the execution of one or more test cases; Generating attribute information corresponding to each of the one or more candidate keywords based on parsing the source code; Receiving target information for retrieving recommended keywords; and Retrieving recommended keywords matching the target information from the one or more candidate keywords by comparing the attribute information corresponding to each of the one or more candidate keywords with the target information, The step of generating attribute information corresponding to each of the one or more candidate keywords includes the following steps: Identify the portion of source code corresponding to each of the aforementioned candidate keywords from the aforementioned source code; and Based on analyzing the portion of source code corresponding to each of the aforementioned candidate keywords, generate partial information of each of the aforementioned candidate keyword's keyword attributes. The partial information of each of the aforementioned candidate keyword's keyword attributes constitutes the attribute information corresponding to each of the aforementioned candidate keywords. 如請求項1之方法,其中上述一個以上之測試案例各者表示與一個頁面相關之測試案例, 獲得上述原始碼之步驟包括如下步驟: 自與上述一個頁面對應之資源檔案中識別上述原始碼。 As in Request 1, where each of the above-mentioned test cases represents a test case associated with a page, the steps to obtain the above-mentioned source code include the following: Identifying the above-mentioned source code from the resource file corresponding to the above-mentioned page. 如請求項2之方法,其中產生與上述一個以上之候選關鍵字各者對應之屬性資訊之步驟進一步包括如下步驟: 響應於接收欲將上述原始碼合併至主分支之第1拉取請求,觸發對上述原始碼之剖析。 As in Request 2, the step of generating attribute information corresponding to each of the above-mentioned candidate keywords further includes the following steps: In response to receiving the first pull request to merge the above source code into the main branch, trigger the parsing of the above source code. 如請求項1之方法,其中產生與上述一個以上之候選關鍵字各者對應之屬性資訊之步驟包括如下步驟: 識別上述原始碼中不以空白起始之一個以上之列,並將上述一個以上之列各者確定為與候選關鍵字對應之部分原始碼之起始列。 As in the method of claim 1, the step of generating attribute information corresponding to each of the above-mentioned candidate keywords includes the following steps: Identifying one or more columns in the above-mentioned source code that do not begin with a space, and determining each of the above-mentioned columns as the starting column of the portion of source code corresponding to the candidate keywords. 如請求項1之方法,其中上述一個以上之關鍵字屬性包括:頁面名稱、關鍵字名稱、關鍵字說明、關鍵字標籤及關鍵字引數中之至少一者。As in the method of Request 1, the above-mentioned keyword attributes include at least one of the following: page name, keyword name, keyword description, keyword tag, and keyword argument. 如請求項1之方法,其中針對上述一個以上之關鍵字屬性中之特定關鍵字屬性,預先設定用以與其他關鍵字屬性區分之標記, 產生上述各候選關鍵字之一個以上之關鍵字屬性各者之部分資訊的步驟包括如下步驟: 基於自與上述每個候選關鍵字對應之部分原始碼中檢索上述標記,產生上述每個候選關鍵字之上述特定關鍵字屬性之部分資訊。 As in the method of claim 1, wherein for a specific keyword attribute among the aforementioned one or more keyword attributes, a marker is pre-set to distinguish it from other keyword attributes, the steps for generating partial information of each of the aforementioned candidate keyword's one or more keyword attributes include the following steps: Based on retrieving the aforementioned marker from the portion of source code corresponding to each of the aforementioned candidate keywords, partial information of the aforementioned specific keyword attribute of each of the aforementioned candidate keywords is generated. 如請求項1之方法,其進而包括如下步驟: 接收根據上述原始碼之變更而請求更新上述原始碼之第2拉取請求; 響應於接收上述第2拉取請求,識別上述原始碼中所變更之代碼部分;及 基於剖析上述所識別之代碼部分,更新與上述一個以上之候選關鍵字各者對應之屬性資訊。 The method of claim 1 further includes the following steps: Receiving a second fetch request to update the source code based on the changes to the source code; In response to receiving the second fetch request, identifying the changed code portion in the source code; and Based on analyzing the identified code portion, updating the attribute information corresponding to each of the one or more candidate keywords. 如請求項1之方法,其進而包括如下步驟: 為上述一個以上之候選關鍵字各者設定可信度。 The method described in Request 1 further includes the following steps: Assigning credibility to each of the above-mentioned candidate keywords. 如請求項8之方法,其中為上述一個以上之候選關鍵字各者設定可信度之步驟包括如下步驟: 於上述一個以上測試案例中,執行特定測試案例,判斷與上述特定測試案例之執行相關之至少一個候選關鍵字之執行是否成功;及 基於上述至少一個候選關鍵字之執行是否成功,調整與上述至少一個候選關鍵字各者對應之可信度。 As in the method of claim 8, the step of setting the confidence level for each of the above-mentioned candidate keywords includes the following steps: In the above-mentioned test cases, execute a specific test case and determine whether the execution of at least one candidate keyword related to the execution of the specific test case is successful; and Based on the success of the execution of the at least one candidate keyword, adjust the confidence level corresponding to each of the at least one candidate keyword. 如請求項1之方法,其中檢索上述推薦關鍵字之步驟包括如下步驟: 識別與上述目標資訊映射之關鍵字屬性; 基於將上述每個候選關鍵字之上述所識別之關鍵字屬性的部分資訊與上述目標資訊進行比較,算出上述每個候選關鍵字及上述目標資訊之間之匹配度; 基於上述匹配度之算出結果,於上述一個以上之候選關鍵字中檢索上述推薦關鍵字。 The method described in Request 1 includes the following steps for retrieving the recommended keywords: Identifying keyword attributes that map to the target information; Calculating the matching degree between each candidate keyword and the target information by comparing partial information of the identified keyword attributes of each candidate keyword with the target information; Based on the calculated matching degree, retrieving the recommended keywords from the one or more candidate keywords. 如請求項10之方法,其中於上述一個以上之候選關鍵字中檢索上述推薦關鍵字之步驟包括如下步驟: 於上述一個以上之候選關鍵字中,將與上述目標資訊之匹配度係臨界值以上之候選關鍵字確定為上述推薦關鍵字。 The method of claim 10, wherein the step of retrieving the recommended keyword from the above-mentioned candidate keywords includes the following steps: From the above-mentioned candidate keywords, the candidate keywords whose matching degree with the target information is above a critical value are identified as the recommended keywords. 如請求項11之方法,其進而包括如下步驟: 於上述所確定之推薦關鍵字為複數個之情形時, 確定上述複數個推薦關鍵字各者之推薦值;及 使上述複數個推薦關鍵字按上述推薦值由高至低之順序顯示。 The method of claim 11 further includes the following steps: When there are multiple recommended keywords as determined above, determine the recommended value of each of the multiple recommended keywords; and display the multiple recommended keywords in descending order of their recommended values. 如請求項12之方法,其中確定上述複數個推薦關鍵字各者之推薦值之步驟包括如下步驟: 算出對與上述推薦關鍵字之上述目標資訊之匹配度應用第1加權值後之值加上對與上述推薦關鍵字對應之可信度應用第2加權值後之值而得到之值,作為上述推薦值。 The method of claim 12, wherein the step of determining the recommendation value of each of the plurality of recommended keywords includes the following steps: Calculating the value obtained by applying a first weight to the match degree of the target information corresponding to the recommended keyword and adding a second weight to the credibility corresponding to the recommended keyword, and using this value as the recommendation value. 如請求項13之方法,其中上述第1加權值為上述第2加權值以上。The method of claim 13, wherein the first weighted value is greater than or equal to the second weighted value. 如請求項10之方法,其中算出上述每個候選關鍵字及上述目標資訊間之匹配度之步驟包括如下步驟: 算出上述每個候選關鍵字之上述所識別之關鍵字屬性的部分資訊及上述目標資訊間之重複度;及 基於上述算出之重複度,算出上述每個候選關鍵字及上述目標資訊間之匹配度。 The method of claim 10, wherein the step of calculating the matching degree between each candidate keyword and the target information includes the following steps: Calculating the overlap between partial information of the identified keyword attributes of each candidate keyword and the target information; and Based on the calculated overlap, calculating the matching degree between each candidate keyword and the target information. 如請求項15之方法,其中算出上述每個候選關鍵字之上述所識別之關鍵字屬性的部分資訊及上述目標資訊間之重複度之步驟 係將比率作為上述重複度而算出,該比率係上述每個候選關鍵字之上述所識別之關鍵字屬性之部分資訊及上述目標資訊間相互重複之單詞的個數與上述部分資訊中所包括之單詞的總個數之比。 As in the method of claim 15, the step of calculating the repetition between the partial information of the identified keyword attributes and the target information for each candidate keyword is: the repetition is calculated using a ratio, which is the ratio of the number of words that overlap between the partial information of the identified keyword attributes and the target information for each candidate keyword to the total number of words included in the partial information. 一種電子裝置,其包括: 一個以上之處理器;及 一個以上之記憶體,其等儲存有用以藉由上述一個以上之處理器而執行之命令; 上述電子裝置以如下方式構成:於執行上述命令時,使上述一個以上之處理器執行如請求項1至16中任一項之方法。 An electronic device includes: one or more processors; and one or more memories storing commands to be executed by the one or more processors; the electronic device is configured such that, upon executing the commands, the one or more processors perform the method described in any one of claims 1 to 16. 一種非暫時性電腦可讀記錄媒體,其係記錄有藉由一個以上之處理器而執行時使上述一個以上之處理器實行動作之命令者,上述命令以如下方式構成:使上述一個以上之處理器執行如請求項1至16中任一項之方法。A non-temporary computer-readable recording medium that records commands that, when executed by one or more processors, cause the one or more processors to perform actions, wherein the commands are configured to cause the one or more processors to perform any of the methods described in claims 1 to 16.
TW113105766A 2024-01-24 2024-02-19 Electronic device, method performed by electronic device, and non-transitory computer-readable recording medium for managing keyword related to execution of test case TWI911647B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020240010737A KR20250115600A (en) 2024-01-24 2024-01-24 Apparatus, method, and recording medium for managing keyword related to execution of test case
KR10-2024-0010737 2024-01-24

Publications (2)

Publication Number Publication Date
TW202530994A TW202530994A (en) 2025-08-01
TWI911647B true TWI911647B (en) 2026-01-11

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200019492A1 (en) 2018-07-12 2020-01-16 EMC IP Holding Company LLC Generating executable test automation code automatically according to a test case

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200019492A1 (en) 2018-07-12 2020-01-16 EMC IP Holding Company LLC Generating executable test automation code automatically according to a test case

Similar Documents

Publication Publication Date Title
US10963470B2 (en) Website scoring system
WO2021184725A1 (en) User interface test method and apparatus, storage medium, and computer device
US20180196665A1 (en) Managing, using, and updating application resources
US10346159B2 (en) Systems and methods for software scanning tool
CN108197024B (en) Embedded browser debugging method, debugging terminal and computer readable storage medium
US20180157478A1 (en) Deployment of immutable web application builds
CN111190905A (en) Database table processing method and device and electronic equipment
KR20170105325A (en) Method for analyzing source code, system and apparatus for executing the method
CN111666471A (en) Information acquisition method and device, computer equipment and storage medium
WO2019223136A1 (en) Data acquisition method and apparatus, and computer device and storage medium
WO2020259034A1 (en) Method, apparatus, and device for identifying offline source code, and storage medium
US8880586B2 (en) Metadata subscription registry
TWI911647B (en) Electronic device, method performed by electronic device, and non-transitory computer-readable recording medium for managing keyword related to execution of test case
PH12015500034B1 (en) A web browser operation method and system
CN112527802A (en) Soft link method and device based on key value database
TW202530994A (en) Apparatus, method, and recording medium for managing keyword related to execution of test case
CN109697141B (en) Method and device for visual testing
EP4030280A1 (en) Seamless lifecycle stability for extensible software features
CN116661936A (en) Page data processing method and device, computer equipment and storage medium
CN116719735A (en) Test case generation method and device
WO2023151397A1 (en) Application program deployment method and apparatus, device, and medium
TWI912821B (en) Apparatus, method, and recording medium for generating test case
TWI897203B (en) Method, electronic device and recording medium for deployment automation of computer program
TWI908183B (en) Method, apparatus, and non-transitory computer-readable recording medium storing instruction for rendering web page
TW202601384A (en) Apparatus, method, and recording medium for generating test case