許殿君
(1.北京全路通信信號研究設計院集團有限公司,北京 100070;2.北京市高速鐵路運行控制系統(tǒng)工程技術(shù)研究中心,北京 100070)
在測試活動中測試范圍的劃定對測試結(jié)果有著至關重要的作用,因為測試的資源(人員、設備、時間)是有限的,優(yōu)秀的測試經(jīng)理在分析測試范圍時,除了掌握科學的測試理論與測試方法外,還要積累對被測系統(tǒng)的系統(tǒng)結(jié)構(gòu)、原理、工程結(jié)構(gòu)等方方面面的豐富經(jīng)驗。調(diào)度集中控制系統(tǒng)(CTC)是一個面向運輸指揮全過程的分布式系統(tǒng),有系統(tǒng)龐大、功能點多的特點,任何改動都將現(xiàn)有用例庫全部遍歷是不現(xiàn)實的。同時,針對變更點的新增用例隨著用例庫越來越龐大,如何保證其覆蓋完整并且設計合理便于重復使用,也非常依賴于測試經(jīng)理的個人技術(shù)與經(jīng)驗。因此,如何在資源有限下保證測試的充分性與必要性一直以來都是測試人員最關注的問題。本文研究一種調(diào)度集中系統(tǒng)測試范圍自動分析系統(tǒng),目的是針對調(diào)度集中系統(tǒng)的系統(tǒng)功能測試或工程測試,采用對大量歷史數(shù)據(jù)進行數(shù)據(jù)分析、對科學的測試方法與產(chǎn)品進行匹配和對系統(tǒng)進行一次性的系統(tǒng)解剖分析的方法,建立通過關鍵詞匹配的各類規(guī)則庫,通過算法將輸入與規(guī)則建立聯(lián)系,達到自動分析測試范圍的目的。這樣測試經(jīng)理就能夠利用整個組織過程知識來分析測試范圍,保障測試范圍劃定的科學性、合理性、全面性。
通過建立各類規(guī)則庫的方式作為自動分析決策的依據(jù),通過關鍵詞進行匹配,實現(xiàn)測試范圍自動分析。
功能示意如圖1 所示。
圖1 測試范圍自動分析系統(tǒng)功能示意圖Fig.1 Schematic diagram of test range automatic analysis system functions
測試經(jīng)理對本次測試活動中的被測對象變更點進行整理輸入,通過關鍵詞算法將變更點轉(zhuǎn)化為關鍵詞集,該關鍵詞集與各類規(guī)則庫之間通過自動學習的關鍵詞庫進行匹配,生成測試范圍結(jié)果集。結(jié)果集包含兩部分內(nèi)容:既有用例庫中的用例;本次需要新增/變更的測試內(nèi)容。
測試經(jīng)理依據(jù)上述兩部分內(nèi)容新編測試用例或?qū)扔杏美M行修改,保障測試內(nèi)容的準確性和完整性,一些無關內(nèi)容則無需測試,提高測試的針對性,從而進一步保障測試質(zhì)量、提高測試效率。
例如,一名測試負責人正在進行功能測試任務,變更點為“修改控顯、表示信息緩存后臺服務(RCSM)增加道岔分段設置與顯示分路不良功能”。系統(tǒng)經(jīng)過分析,關鍵詞集為:控顯、RCSM、道岔、分路不良、設置、顯示。
對于用例庫,系統(tǒng)會選出有控顯、RCSM 模塊的基本功能用例、所有用例內(nèi)容包含道岔與分路不良的用例并對用例進行分類與排序。對于兼容性規(guī)則庫,系統(tǒng)選出所有控顯、RCSM 軟件相關的兼容性測試規(guī)則(如中心與車站控顯新舊版本兼容性、控顯與RCSM 不同版本兼容性、控顯與自律控制后臺服務(SCSM)版本兼容性、非聯(lián)鎖信息顯示兼容性、操作系統(tǒng)兼容性)。對于性能規(guī)則庫,顯示容量、操作響應速度規(guī)則。對于設備庫,系統(tǒng)選出所有道岔設備的類型。對于軟件邏輯庫,系統(tǒng)顯示出所有分路不良顯示與設置的相關軟件邏輯,幫助測試人員梳理既有的功能實現(xiàn)流程,輔助分析新增操作對于功能實現(xiàn)流程的影響,以求提前排除與既有軟件相悖的邏輯問題。
以上內(nèi)容就是查詢結(jié)果集,為測試負責人新編、修改用例提供了組織級的知識清單。需要強調(diào)的是,各類規(guī)則庫之所以可以顯示到想要的內(nèi)容,是因為規(guī)則庫規(guī)則在描述時已經(jīng)對于所覆蓋的內(nèi)容進行較為全面的描述,因此在關鍵詞匹配時已經(jīng)覆蓋了關鍵詞集。
規(guī)則庫是組織過程隱性知識顯性化的體現(xiàn),對于測試范圍進行分析的過程本質(zhì)就是知識加方法然后輸出。系統(tǒng)支持各類規(guī)則庫的建立與維護,規(guī)則庫包含但不限于如下內(nèi)容。
信號設備庫:描述與系統(tǒng)有關的所有信號設備的設備類型與狀態(tài),如道岔在系統(tǒng)中分為單動道岔、雙動道岔、帶動道岔、防護道岔、復示交分道岔等,其狀態(tài)有空閑、占用、鎖閉、失表示、擠岔、故障等。
硬件設備規(guī)則庫:描述系統(tǒng)內(nèi)所有硬件設備,如自律機、服務器、數(shù)據(jù)庫、終端等。
數(shù)據(jù)類型規(guī)則庫:描述系統(tǒng)的所有數(shù)據(jù)類型,如聯(lián)鎖數(shù)據(jù)、列控數(shù)據(jù)、站細數(shù)據(jù)、TSR 數(shù)據(jù)、全景數(shù)據(jù)、公里標數(shù)據(jù)等。
軟件模塊規(guī)則庫;描述系統(tǒng)所有子模塊名稱。
數(shù)據(jù)文件規(guī)則庫;描述所有數(shù)據(jù)文件名稱、包含數(shù)據(jù)項與其定義。
配置文件規(guī)則庫;描述所有配置文件名稱、包含配置項與其定義。
兼容性規(guī)則庫;描述每個模塊可能的兼容性關系。
軟件邏輯規(guī)則庫;描述所有功能點的軟件邏輯。
壓力規(guī)則庫;描述所有模塊壓力指標。
性能規(guī)則庫;描述系統(tǒng)性能指標。
邊界值規(guī)則庫;描述所有功能邏輯的邊界值。
特殊場景規(guī)則庫;描述已知的所有特殊場景。
規(guī)則庫與規(guī)則庫之間通過關鍵詞進行關聯(lián),當一條規(guī)則被建立或者修改時,自動與關鍵詞庫按照算法進行匹配,這樣就實現(xiàn)了所有規(guī)則庫規(guī)則標簽化。當關鍵詞被確定后,可以通過標簽迅速找到相關規(guī)則,而無需對所有規(guī)則庫中規(guī)則進行匹配,降低系統(tǒng)分析時的數(shù)據(jù)運算量,提高系統(tǒng)的可用性。
關鍵詞庫建立是通過對數(shù)據(jù)進行分析獲得的,在關鍵詞學習時,系統(tǒng)會對所有給定的輸入數(shù)據(jù)進行自動分析,通過自動學習算法建立關鍵詞庫,因此更多的數(shù)據(jù)量會使關鍵詞庫更加準確完善,行業(yè)標準/規(guī)范、企業(yè)標準/規(guī)范、需求文檔、設計文檔、技術(shù)論文、維護文檔等都應盡可能多的納入進行分析。在關鍵詞確定時有以下特殊點需要注意。
需避免中文同音字與錯別字。
要排除‘增加’、‘減少’、‘顯示’等通用語。
當一個長詞匯可以拆分為多個短詞匯組成時,應排除長詞匯。
對于英文單詞,要確定最小長度,同樣排除通用單詞。
對于特殊的關鍵詞可以利用建立黑/白名單方式進行特殊處理。
對于中文,至少為兩個字。對于英文同樣需要設置一個較為合適的最短長度。
更新后的關鍵詞庫應與各類規(guī)則庫進行重新匹配,同樣在規(guī)則庫變化時,應實時對關鍵詞進行重新計算,以保證分析結(jié)果集的準確性。
用例庫與其他規(guī)則庫有很大區(qū)別,用例數(shù)量越多,用例庫對于工具維護需求越迫切,因此用例庫維護功能要考慮如下因素。
用例庫要有版本管理,當用例庫變化時要保留歷史版本,同樣用例的修改要保留歷史版本。
用例要包含使用/廢棄狀態(tài),不能存在同一用例編號對應不同用例內(nèi)容的情況,禁止刪除用例。
支持關聯(lián)用例、關聯(lián)需求功能。
支持圖片顯示。
能夠?qū)С鲇美糜跍y試文檔編制。
測試經(jīng)理首先對變更點進行初步分析,將分析結(jié)果輸入系統(tǒng),系統(tǒng)將輸入自動關聯(lián)相關關鍵詞并創(chuàng)建關鍵詞集,通過將關鍵詞集與各類規(guī)則庫規(guī)則的關鍵詞進行匹配,找到與輸入相關聯(lián)的所有規(guī)則/用例,形成測試范圍結(jié)果集,測試經(jīng)理依據(jù)測試范圍結(jié)果集新編用例和對既有用例進行修改。
規(guī)則庫與關鍵詞的匹配應在范圍分析前完成,這樣在范圍分析時能夠有效降低數(shù)據(jù)處理量,提高系統(tǒng)執(zhí)行效率,使系統(tǒng)便于使用。
本文研究的調(diào)度集中測試范圍自動分析系統(tǒng),研究了一種通過關鍵詞匹配規(guī)則庫的方式對測試范圍進行自動分析的系統(tǒng),適用于成熟系統(tǒng)的功能測試與工程測試,使用簡單、易于定制與維護,能夠有效保障測試質(zhì)量,加強測試針對性。