本發(fā)明涉及業(yè)務(wù)測試分析系統(tǒng),尤其涉及能自動生成用于業(yè)務(wù)測試的場景及流程的系統(tǒng)及方法。
背景技術(shù):
為適應(yīng)業(yè)務(wù)發(fā)展及風(fēng)險管理的需要,很多企業(yè)都開發(fā)或引入了業(yè)務(wù)管理系統(tǒng)等,這樣的業(yè)務(wù)管理系統(tǒng)因其業(yè)務(wù)種類、業(yè)務(wù)操作等而復(fù)雜度不同,例如銀行核心業(yè)務(wù)系統(tǒng),其作為銀行存款、貸款賬務(wù)處理等的重要組成部分,是銀行業(yè)務(wù)系統(tǒng)運(yùn)作的心臟,凡一切關(guān)于存款、貸款賬戶的業(yè)務(wù)操作都是在核心業(yè)務(wù)系統(tǒng)中完成的。其主要業(yè)務(wù)例如包括客戶信息管理、存款業(yè)務(wù)、貸款業(yè)務(wù)、總賬以及對這些存、貸款賬戶的日間操作等等。
另外,隨著業(yè)務(wù)的不斷開拓和創(chuàng)新,經(jīng)常需要新開發(fā)一些滿足新業(yè)務(wù)需要的軟件系統(tǒng)等。當(dāng)為滿足這樣的業(yè)務(wù)需要而新開發(fā)了某項軟件系統(tǒng)時,需要對開發(fā)完成的軟件系統(tǒng)在正式上線前進(jìn)行業(yè)務(wù)分析及業(yè)務(wù)測試,以驗證其是否能夠完成所要求的各項功能、以及是否能夠適應(yīng)實際業(yè)務(wù)操作時可能發(fā)生的各種場景。
傳統(tǒng)的測試分析方法的具體實現(xiàn)是:人工分析業(yè)務(wù)需求,把需求按功能點逐條摘錄、排序、分析,形成場景需求文檔,并補(bǔ)充行業(yè)通用規(guī)則等隱性需求,把所有梳理好的條目化需求按照真實業(yè)務(wù)及功能實現(xiàn)進(jìn)行場景排序,再以排序鏈路為依據(jù)進(jìn)行流程的編寫和后續(xù)執(zhí)行。
這種方法的分析結(jié)果很大程度上取決于個人工作經(jīng)驗和業(yè)務(wù)知識能力,且分析效率較低。對于不熟悉本項目業(yè)務(wù)領(lǐng)域的測試人員,業(yè)務(wù)需求摘錄質(zhì)量無法保障,隱性需求規(guī)則補(bǔ)充無法全面,測試分析覆蓋率無法達(dá)標(biāo),項目質(zhì)量無法保障。
另外,隨著業(yè)務(wù)種類的不斷豐富,項目不斷增多,開創(chuàng)一項新業(yè)務(wù)時需要對原有業(yè)務(wù)系統(tǒng)進(jìn)行新功能模塊的追加等,當(dāng)新追加的功能模塊涉及到原功能模塊或數(shù)據(jù)的抽取等時,需要針對新功能制作各種測試用的流程進(jìn)行穩(wěn)定性測試。由于新增功能與原功能的相互交叉等,在建立流程時就需要測試人員全面掌握新老功能的交叉性等,對測試人員的業(yè)務(wù)掌握能力提出了很高的要求。因此,傳統(tǒng)方法已無法適應(yīng)大量項目和組合型大型項目的測試分析需要,為了提高分析效率,減少個人因素對分析結(jié)果的影響,迫切需要一種能夠系統(tǒng)且可靠地編寫出各種業(yè)務(wù)測試用的場景及流程,使得能可靠且全面地進(jìn)行業(yè)務(wù)測試分析的場景及流程的生成系統(tǒng)及方法。
技術(shù)實現(xiàn)要素:
針對上述需求,本發(fā)明人設(shè)計出了一種能夠系統(tǒng)且可靠地編寫出各種業(yè)務(wù)測試用的場景及流程的場景及流程生成系統(tǒng)及方法,使得能可靠且全面地進(jìn)行業(yè)務(wù)測試分析。
本發(fā)明的一個方案是一種用于業(yè)務(wù)測試的場景生成系統(tǒng),其包括:因子庫,用于存儲作為用于形成一個業(yè)務(wù)的最小業(yè)務(wù)元素的因子;因子抽取單元,從因子庫中抽取與從本業(yè)務(wù)的說明文檔提取的關(guān)鍵詞相匹配的因子;以及場景生成單元,使因子抽取單元抽取出的因子按照預(yù)定的用于規(guī)定各因子之間是否具有可組合關(guān)系的因子關(guān)系表組合成場景。
在所述場景生成系統(tǒng)中,因子可以帶有標(biāo)識信息和表明該因子的類型的類型信息;類型至少包括產(chǎn)品、角色、渠道、時間、事件、條件、結(jié)果七種類型;因子的類型信息用于表明該因子為所述七種類型中的至少一種。
在因子抽取單元和場景生成單元的動作中,因子中的產(chǎn)品、角色、渠道、時間、事件、條件類型的因子可以被劃分成業(yè)務(wù)核心層、業(yè)務(wù)執(zhí)行層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)角色層來進(jìn)行處理,其中業(yè)務(wù)核心層包括產(chǎn)品類型因子,業(yè)務(wù)執(zhí)行層包括事件和條件類型因子,業(yè)務(wù)發(fā)生層包括時間和渠道類型因子,業(yè)務(wù)角色層包括角色類型因子。
因子抽取單元可以按照業(yè)務(wù)核心層、業(yè)務(wù)執(zhí)行層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)角色層的順序逐層抽取因子。
因子抽取單元可以首先從因子庫中抽取出與從本業(yè)務(wù)的說明文檔提取的關(guān)鍵詞相匹配的、屬于業(yè)務(wù)核心層的類型的因子,然后參照因子關(guān)系表,逐層抽取與已抽取出的屬于前一層的類型的因子間具有可組合關(guān)系的因子,并參照因子關(guān)系表,抽取與已抽取出的事件類型因子具有可組合關(guān)系的結(jié)果類型的因子。
因子抽取單元可以在逐層抽取屬于業(yè)務(wù)執(zhí)行層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)角色層的因子時,分別參照因子關(guān)系表,將其中的與屬于本層及前面各層的類型的因子間不具有可組合關(guān)系的因子作為冗余項剔除掉。
場景生成單元可以參照所述因子關(guān)系表,按照業(yè)務(wù)角色層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)執(zhí)行層、業(yè)務(wù)角色層的順序使分屬各層的因子組合,并根據(jù)本組合中所使用的條件類型因子搭配相應(yīng)的結(jié)果類型因子,生成場景。
因子抽取單元可以包括:從因子庫中抽取與從業(yè)務(wù)說明文檔提取的關(guān)鍵詞相匹配的產(chǎn)品類型因子的模塊;參照因子關(guān)系表,抽取與已抽取出的產(chǎn)品類型因子具有可組合關(guān)系的事件類型因子的模塊;參照因子關(guān)系表,抽取與已抽取出的事件類型因子分別具有可組合關(guān)系的條件類型、時間類型、渠道類型、結(jié)果類型的因子的模塊;參照因子關(guān)系表,從已抽取出的條件類型、時間類型、渠道類型的因子中剔除掉該三種類型因子間不同時具有可組合關(guān)系的因子的模塊;以及參照因子關(guān)系表,抽取與剔除后的條件類型、時間類型、渠道類型的因子同時具有可組合關(guān)系的角色類型因子的模塊。
場景生成單元可以使抽取出的因子按角色類型、時間類型、渠道類型、事件類型、條件類型、產(chǎn)品類型的順序組合,并參照因子關(guān)系表,根據(jù)本組合中所使用的條件類型因子搭配相應(yīng)的結(jié)果類型因子,生成場景。
本發(fā)明的場景生成系統(tǒng)可以還包括:因子維護(hù)單元,當(dāng)因子庫中沒有與從業(yè)務(wù)說明文檔提取的關(guān)鍵詞相匹配的因子時,生成與該關(guān)鍵詞相應(yīng)的新因子存儲到因子庫中,并根據(jù)本業(yè)務(wù)的說明文檔,針對各因子與該新因子的可組合關(guān)系更新因子關(guān)系表。場景生成單元可以使因子抽取單元抽取出的因子和因子維護(hù)單元生成的新因子按照更新后的因子關(guān)系表組合成場景。
本發(fā)明的場景生成系統(tǒng)可以還包括:場景庫,用于保存場景生成單元生成的場景。
本發(fā)明另一方案是一種用于業(yè)務(wù)測試的流程生成系統(tǒng),包括:如前所述的場景生成系統(tǒng);以及場景排序單元,使場景生成單元生成的場景按照預(yù)定的用于規(guī)定業(yè)務(wù)中各場景間的排序關(guān)系的場景關(guān)系表排序而形成可執(zhí)行的流程。
該流程生成系統(tǒng)可以還包括:流程庫,用于保存場景排序單元生成的流程。
本發(fā)明的再一個方案是一種用于業(yè)務(wù)測試的場景生成方法,包括:因子抽取步驟,從因子庫中抽取與從本業(yè)務(wù)的說明文檔提取的關(guān)鍵詞相匹配的因子;場景生成步驟,使因子抽取步驟抽取出的因子按照預(yù)定的因子關(guān)系表組合成場景。其中,因子是用于形成一個業(yè)務(wù)的最小業(yè)務(wù)元素;因子關(guān)系表用于規(guī)定各因子之間是否具有可組合關(guān)系。
本發(fā)明的再一個方案是一種用于業(yè)務(wù)測試的流程生成方法,包括:如前所述的場景生成方法;以及場景排序步驟,使場景生成步驟生成的場景按照預(yù)定的用于規(guī)定業(yè)務(wù)中各場景間的排序關(guān)系的場景關(guān)系表排序而形成可執(zhí)行的流程。
通過以上技術(shù)方案,能夠提供一種能系統(tǒng)且可靠地編寫出各種業(yè)務(wù)測試用的場景及流程的生成系統(tǒng)及方法,使得能可靠且全面地進(jìn)行業(yè)務(wù)測試分析。
附圖說明
圖1是用于說明將業(yè)務(wù)拆解成場景、因子的概念的示意圖。
圖2是用于說明本發(fā)明的因子類型的圖。
圖3是用于說明本發(fā)明的因子抽取及場景生成的過程的示意圖。
圖4是以銀行相關(guān)業(yè)務(wù)為例說明編寫業(yè)務(wù)測試流程用的因子抽取及其組合成場景的一個例子的圖。
圖5是用于說明含有新因子的業(yè)務(wù)測試流程的生成過程的圖。
圖6是用于說明實現(xiàn)本發(fā)明的業(yè)務(wù)測試流程生成方法的系統(tǒng)的功能框圖。
具體實施方式
首先說明本發(fā)明的用于業(yè)務(wù)測試的場景及流程的生成方法的概要。
本發(fā)明獨創(chuàng)因子場景法。圖1是用于說明將業(yè)務(wù)拆解成場景、因子的概念的示意圖。如圖1所示,首先,一個待測試的業(yè)務(wù)可以按照業(yè)務(wù)操作順序拆解為若干個節(jié)點,節(jié)點是整個業(yè)務(wù)中的階段性成果,并通過預(yù)先規(guī)定的包含有節(jié)點名稱、節(jié)點順序號、業(yè)務(wù)產(chǎn)品、流程名稱等信息的場景關(guān)系表,來使節(jié)點串聯(lián)或并聯(lián),構(gòu)成整個業(yè)務(wù)。
在每個節(jié)點,例如又可能因執(zhí)行主體、執(zhí)行時間、執(zhí)行條件等的不同而包含若干個場景,場景可以是正常場景(即能夠順利執(zhí)行成功的場景),也可以是異常場景(即因不符合業(yè)務(wù)辦理條件等而執(zhí)行失敗的場景)。各場景所在的節(jié)點名稱、場景間的連接關(guān)系、以及場景所涉及的業(yè)務(wù)因子等信息被預(yù)先規(guī)定在場景關(guān)系表中。
每個場景例如由執(zhí)行主體、執(zhí)行渠道、執(zhí)行時間、執(zhí)行條件、執(zhí)行事件、業(yè)務(wù)產(chǎn)品、執(zhí)行結(jié)果等業(yè)務(wù)因子組成,其中因子可復(fù)用。業(yè)務(wù)因子是具有實際意義的業(yè)務(wù)實體、業(yè)務(wù)動作、業(yè)務(wù)規(guī)則等最小業(yè)務(wù)元素,各因子被按照預(yù)定的規(guī)則賦予因子標(biāo)識、屬性、狀態(tài)等信息,并建立數(shù)據(jù)庫進(jìn)行分類存儲和管理。
另外,可以根據(jù)被測業(yè)務(wù)需求對該因子數(shù)據(jù)庫進(jìn)行增減或修改等編輯維護(hù)。在需要進(jìn)行業(yè)務(wù)測試用的流程編寫時,根據(jù)預(yù)定的規(guī)則從因子庫中抽取出與本次要測試的業(yè)務(wù)相關(guān)聯(lián)的業(yè)務(wù)因子,并按照預(yù)先規(guī)定的因子組合關(guān)系自動進(jìn)行相關(guān)因子的排列組合,生成符合該業(yè)務(wù)測試需求的場景,最后將各節(jié)點的場景按預(yù)定的規(guī)則連接起來形成流程。當(dāng)因子庫中沒有所需要的因子時,可以將所需的因子補(bǔ)入因子庫中,并賦予其相關(guān)的標(biāo)識、屬性、狀態(tài)等信息,同時對該新因子與已有因子間的可組合關(guān)系進(jìn)行更新。
概括來說,本發(fā)明的用于業(yè)務(wù)測試的場景生成系統(tǒng)包括:因子庫,用于存儲作為用于形成一個業(yè)務(wù)的最小業(yè)務(wù)元素的因子;因子抽取單元,從因子庫中抽取與從本業(yè)務(wù)的說明文檔提取的關(guān)鍵詞相匹配的因子;以及場景生成單元,使因子抽取單元抽取出的因子按照預(yù)定的用于規(guī)定各因子之間是否具有可組合關(guān)系的因子關(guān)系表組合成場景。其中,因子是用于形成一個業(yè)務(wù)的最小業(yè)務(wù)元素。另外,使該場景生成系統(tǒng)與場景排序單元相組合,則構(gòu)成本發(fā)明的用于業(yè)務(wù)測試的流程生成系統(tǒng)。所述場景排序單元用于使場景生成單元生成的場景按照預(yù)定的用于規(guī)定業(yè)務(wù)中各場景間的排序關(guān)系的場景關(guān)系表排序而形成可執(zhí)行的流程。
另外,當(dāng)因子庫中沒有與從業(yè)務(wù)說明文檔提取的關(guān)鍵詞相匹配的因子時,生成與該關(guān)鍵詞相應(yīng)的新因子存儲到因子庫中,并根據(jù)本業(yè)務(wù)的說明文檔,針對各因子與該新因子的可組合關(guān)系更新因子關(guān)系表。場景生成單元可以使因子抽取單元抽取出的因子和因子維護(hù)單元生成的新因子按照更新后的因子關(guān)系表組合成場景。
下面詳細(xì)說明。
(一)業(yè)務(wù)因子及其分類
業(yè)務(wù)因子是具有實際意義的業(yè)務(wù)實體、業(yè)務(wù)動作、業(yè)務(wù)規(guī)則等的最小業(yè)務(wù)元素。每個業(yè)務(wù)因子具有對應(yīng)的數(shù)據(jù)字典。數(shù)據(jù)字典可以由若干個字段來實現(xiàn),分別存儲該因子的標(biāo)識、屬性及狀態(tài)等信息。所謂因子的標(biāo)識信息,例如可以是因子的編號、名稱、定義、所屬業(yè)務(wù)等;所謂因子的屬性信息,例如可以是如下所述的因子類型等;所謂因子的狀態(tài)信息,例如可以是因子的生成日期、維護(hù)日期、最后關(guān)聯(lián)項目、因子有效性(是否可使用)等。各業(yè)務(wù)因子通過其數(shù)據(jù)字典的字段中的信息而可定位、可更新、可復(fù)用。
針對業(yè)務(wù)因子建立數(shù)據(jù)庫(下稱因子庫),并按照其類型進(jìn)行分類存儲和管理。為提高編寫測試流程的效率、保證測試流程的要素的全面性,優(yōu)選對業(yè)務(wù)因子按照如圖2的業(yè)務(wù)因子類型說明圖所示那樣分類,具體來說,因子類型可以包括:
“產(chǎn)品”:業(yè)務(wù)核心內(nèi)容。從業(yè)務(wù)角度來說,可以是涉及某條業(yè)務(wù)條線、某類具體業(yè)務(wù)產(chǎn)品。例如:定期存款業(yè)務(wù)、活期存款業(yè)務(wù)等。
“角色”:動作發(fā)生的執(zhí)行主體,也可以理解為系統(tǒng)的操作員或使用人。例如:經(jīng)辦人、復(fù)核人等。
“渠道”:動作可能發(fā)生的渠道或系統(tǒng)。例如:網(wǎng)上銀行、手機(jī)銀行、微信銀行等。
“時間”:動作可發(fā)生的時間點或時間段。例如:非營業(yè)時間、對公假日、營業(yè)時間等。
“事件”:可能真實發(fā)生的動作。例如:取款、存款等。
“條件”:允許/約束/影響業(yè)務(wù)、操作進(jìn)行的因素。例如可分類為賬戶條件、邏輯要素條件、物理要素條件、機(jī)構(gòu)條件、合規(guī)條件等。
“結(jié)果”:動作發(fā)生后產(chǎn)生的結(jié)果,包括正常/異常流程結(jié)束后得到的結(jié)果。結(jié)果可能為正常,也可能為異常,也可能為輸出公式。例如:成功、失敗、具體數(shù)據(jù)值的檢查公式等。
其中,關(guān)于“條件”,對于銀行相關(guān)業(yè)務(wù)來說,例如可以包括賬戶條件、邏輯要素條件、物理要素條件、機(jī)構(gòu)條件、合規(guī)條件等。
所謂賬戶條件,是指與賬戶本身有關(guān)的條件,例如賬戶狀態(tài)、賬戶類型、賬戶余額是否充足等。
所謂邏輯要素條件,是指與業(yè)務(wù)邏輯要素相關(guān)的條件,例如:票據(jù)出票日期不能大于到期日期等。
所謂物理要素條件,是指與介質(zhì)實體相關(guān)的條件,例如USBKEY、存單。
所謂機(jī)構(gòu)條件,是指業(yè)務(wù)涉及的機(jī)構(gòu)相關(guān)的條件,例如總行、分行、支行之間;北京與上海之間等。
所謂合規(guī)條件,是指與相關(guān)制度法律法規(guī)有關(guān)的條件,如實名制開戶等。
通過如上因子分類,使因子可被區(qū)隔,能根據(jù)需求快速查找和抽取出所需因子,按照后述的因子關(guān)系表進(jìn)行排列組合,既提高編寫場景及流程的效率、又保證場景及流程的要素的全面性。
另外,“結(jié)果”因子表示發(fā)生動作的場景所產(chǎn)生的結(jié)果,代表該場景的結(jié)束。在某些情況下,一個場景的“結(jié)果”因子可能成為另一場景的“條件”因子,例如當(dāng)A場景成為B場景執(zhí)行的前提條件時,A場景的“結(jié)果”因子將成為B場景的“條件”因子,即,A場景的“結(jié)果”因子也就成了B場景的一部分。后文對此還有說明。
在此需要說明的是,上述分類方式涵蓋了一個業(yè)務(wù)動作所需的全部基本要素,但從因子的排列組合的角度來說,當(dāng)上述某一類型僅有一個因子,沒有多種因子可供選擇、從而出現(xiàn)多種組合方案時,該類型及其因子對于排列組合的可能性來說就沒有實質(zhì)性意義了,此時也可以省略該類型及其因子,在編寫完整的場景時,將此類型及其因子的內(nèi)容自動添加進(jìn)流程即可。
以上因子在計算機(jī)中被以數(shù)據(jù)庫的方式存儲,并且可以建立因子數(shù)據(jù)表來按類型存儲及管理各因子,由此能提高因子抽取的效率。
(二)因子的抽取
針對各因子的可組合關(guān)系,預(yù)先按照實際業(yè)務(wù)執(zhí)行規(guī)則等建立因子關(guān)系表,該表中規(guī)定了哪些因子能與哪些因子組合構(gòu)成場景,未在該因子關(guān)系表中表明可進(jìn)行組合的因子將不能組合。
圖3是用于說明本發(fā)明的因子抽取及場景生成的過程的示意圖。參照圖3,考慮到按照因子關(guān)系表篩選抽取業(yè)務(wù)因子的效率,在因子抽取過程和場景生成過程中針對因子類型而分為業(yè)務(wù)核心層、業(yè)務(wù)執(zhí)行層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)角色層這四層來進(jìn)行處理。其中,可以是業(yè)務(wù)核心層包括“產(chǎn)品”類型的業(yè)務(wù)因子,業(yè)務(wù)執(zhí)行層包括“事件”和“條件”兩個類型的業(yè)務(wù)因子,業(yè)務(wù)發(fā)生層包括“時間”和“渠道”兩個類型的業(yè)務(wù)因子,業(yè)務(wù)角色層包括“角色”類型的業(yè)務(wù)因子。
在抽取因子的過程中,優(yōu)選按照業(yè)務(wù)核心層、業(yè)務(wù)執(zhí)行層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)角色層的順序逐層抽取因子。首先,從因子庫中抽取出與從本業(yè)務(wù)的說明文檔提取的關(guān)鍵詞相匹配的、屬于業(yè)務(wù)核心層的類型(即“產(chǎn)品”類型)的因子,然后參照因子關(guān)系表,逐層抽取與已抽取出的屬于前一層的類型的因子間具有可組合關(guān)系的因子,并參照因子關(guān)系表,抽取與已抽取出的事件類型因子具有可組合關(guān)系的結(jié)果類型的因子。即,按照相鄰層的類型的因子間可組合關(guān)系,逐層抽取。
具體來說,首先對待測業(yè)務(wù)的說明文檔進(jìn)行關(guān)鍵詞檢索,提取出其說明文檔中的反映業(yè)務(wù)核心內(nèi)容的關(guān)鍵詞,將該關(guān)鍵詞與因子庫中屬于業(yè)務(wù)核心層的類型、即“產(chǎn)品”類型的因子進(jìn)行匹配,篩選出相關(guān)的全部“產(chǎn)品”類型的因子。
接下來,參照因子關(guān)系表,抽取與所選出的“產(chǎn)品”類型因子具有可組合關(guān)系的、屬于業(yè)務(wù)執(zhí)行層的類型、即“事件”、“條件”類型的因子。此時,為提高因子抽取及后續(xù)的場景生成的效率,優(yōu)選參照因子關(guān)系表,將二者之間不具有可組合關(guān)系的“事件”因子和“條件”因子作為冗余項剔除掉。
接下來,參照因子關(guān)系表,抽取與所選出的“事件”、“條件”類型的因子分別具有可組合關(guān)系的、屬于業(yè)務(wù)發(fā)生層的類型、即“時間”、“渠道”類型的因子。此時,同樣為提高因子抽取及后續(xù)的場景生成的效率,優(yōu)選參照因子關(guān)系表,將二者之間不具有可組合關(guān)系的“時間”因子和“渠道”因子作為冗余項剔除掉,并且,將“時間”、“渠道”類型的因子中的與屬于業(yè)務(wù)核心層的類型、即“產(chǎn)品”類型的因子間不具有可組合關(guān)系的因子作為冗余項剔除掉。
然后,參照因子關(guān)系表,抽取與所選出的“時間”、“渠道”類型的因子分別具有可組合關(guān)系的“角色”類型的因子。此時,同樣為提高因子抽取及后續(xù)的場景生成的效率,優(yōu)選參照因子關(guān)系表,將該“角色”類型的因子中的與屬于業(yè)務(wù)執(zhí)行層、業(yè)務(wù)核心層的類型、即“事件”、“條件”、“產(chǎn)品”類型的因子間不具有可組合關(guān)系的因子作為冗余項剔除掉。
另外,參照因子關(guān)系表,抽取與所選出的“事件”類型因子具有可組合關(guān)系的“結(jié)果”類型的因子。
歸納而言,按照業(yè)務(wù)核心層、業(yè)務(wù)執(zhí)行層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)角色層的順序逐層抽取因子。即,首先從因子庫中抽取出與從本業(yè)務(wù)的說明文檔提取的關(guān)鍵詞相匹配的、屬于業(yè)務(wù)核心層的類型的因子,然后參照因子關(guān)系表,逐層抽取與已抽取出的屬于前一層的類型的因子間具有可組合關(guān)系的因子,并參照因子關(guān)系表,抽取與已抽取出的事件類型因子具有可組合關(guān)系的結(jié)果類型的因子。在逐層抽取屬于業(yè)務(wù)執(zhí)行層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)角色層的因子時,分別參照因子關(guān)系表,將其中的與屬于本層及前面各層的類型的因子間不具有可組合關(guān)系的因子作為冗余項剔除掉。
另外,由于整個業(yè)務(wù)本質(zhì)上是由若干個事件串成的,故為進(jìn)一步提高篩選抽取的效率,也可以先基于“產(chǎn)品”類型的因子抽取出與其具有可組合關(guān)系的“事件”類型因子,然后參照因子關(guān)系表,抽取出與該“事件”因子分別具有可組合關(guān)系的“條件”、“時間”、“渠道”、“結(jié)果”類型的因子,然后將“條件”、“時間”、“渠道”三者間不具有可組合關(guān)系的因子作為冗余項剔除掉。然后參照因子關(guān)系表,抽取與剩下的“條件”、“時間”、“渠道”類型的因子同時具有可組合關(guān)系的“角色”類型的因子。
(三)場景及流程的生成
如上述那樣抽取出所有相關(guān)因子后,為方便所生成的場景的執(zhí)行,優(yōu)選如圖3所示那樣,按照業(yè)務(wù)角色層、業(yè)務(wù)發(fā)生層、業(yè)務(wù)執(zhí)行層、業(yè)務(wù)核心層的順序,參照因子關(guān)系表使各因子排列組合,并根據(jù)本組合中所使用的條件類型因子搭配相應(yīng)的結(jié)果類型因子,組合成場景。
為便于理解,圖4示出了以銀行相關(guān)業(yè)務(wù)為例的業(yè)務(wù)測試用的場景生成的例子。例如因子庫中預(yù)先存儲有如下因子:
“角色”:個人A、個人B、對公A、對公B、機(jī)構(gòu)A……
“時間”:工作日營業(yè)時間、工作日非營業(yè)時間、法定節(jié)假日營業(yè)時間、法定節(jié)假日非營業(yè)時間、證券市場時間……
“渠道”:網(wǎng)銀BS、網(wǎng)銀CS、手機(jī)銀行、柜面、自助終端機(jī)……
“事件”:存款、轉(zhuǎn)賬、理財產(chǎn)品購買、開放式基金贖回、融資……
“條件”:賬戶余額充足、賬戶余額不足、賬戶異常、介質(zhì)異常、Ukey證書過期……
“產(chǎn)品”:活期存款、定期存款、開放式基金、預(yù)期型理財產(chǎn)品、凈值型理財產(chǎn)品……
“結(jié)果”:成功、失敗、CVV校驗錯誤、法定節(jié)假日順延購買、法定節(jié)假日順延贖回……
以零售業(yè)務(wù)為例,針對其業(yè)務(wù)說明文檔,通過如上因子抽取過程,抽取出了圖4中灰色的因子(為說明簡便,示例中每個類型僅抽取出兩個因子),進(jìn)而,各類型因子組合出如下場景:
場景1:個人A,在工作日的營業(yè)時間,于柜面購買預(yù)期型理財產(chǎn)品,在賬戶余額充足的情況下,購買成功;
場景2:個人B,在法定節(jié)假日的非營業(yè)時間,于手機(jī)銀行贖回開放式基金,在賬戶余額充足的情況下,提示法定節(jié)假日,順延贖回。
所組合出的場景可以被基于場景關(guān)系表中各節(jié)點的順序而被賦予排序編號,屬于同一節(jié)點的場景被標(biāo)識上該節(jié)點號,使得相鄰節(jié)點的各場景間形成先后順序和前后依賴關(guān)系,最終形成流程。已生成的場景可以被存儲到場景庫中備用,使得以后針對類似業(yè)務(wù)進(jìn)行業(yè)務(wù)測試時,直接從場景庫中抽取該場景即可,從而節(jié)省了重新抽取因子并組合成這些場景的過程,能夠提高業(yè)務(wù)測試的效率。
另外,已形成的流程也可以被存儲到流程庫中備用,使得以后針對類似業(yè)務(wù)進(jìn)行業(yè)務(wù)測試時,直接從流程庫中抽取該流程即可,從而節(jié)省了重新生成這些流程的過程,能夠提高業(yè)務(wù)測試的效率。
(四)新業(yè)務(wù)的場景及流程的生成
當(dāng)隨著業(yè)務(wù)的不斷開拓和創(chuàng)新而出現(xiàn)了新的業(yè)務(wù)時,在新業(yè)務(wù)的業(yè)務(wù)說明文檔中可能會出現(xiàn)未曾收錄在因子庫中的新因子。此時,從業(yè)務(wù)說明文檔中提取關(guān)鍵詞,將其與原有因子庫中的因子進(jìn)行匹配,對于能夠匹配到的因子,按照如上方法從因子庫中抽取出相應(yīng)的因子,而對于未匹配到因子的關(guān)鍵詞,生成與其相應(yīng)的新因子并保存到因子庫中,同時按照本業(yè)務(wù)的說明文檔,針對這些新因子與原有因子間的可組合關(guān)系更新因子關(guān)系表。
圖5是用于說明含有新因子的業(yè)務(wù)測試流程的生成過程的圖。首先,針對新的業(yè)務(wù),根據(jù)其說明文檔對場景關(guān)系表進(jìn)行更新(未圖示)。然后,參照圖5所示,將新因子和從因子庫中抽取出的與該業(yè)務(wù)相關(guān)的已積累歷史因子一起按照更新后的因子關(guān)系表進(jìn)行組合,生成含有新因子的新場景,將其保存到場景庫中。另外,對于在因子組合過程中沒有使用到新因子的場景,可以直接從與該業(yè)務(wù)相關(guān)的已積累歷史場景中抽取。最后將新場景和已積累歷史場景按照更新后的場景關(guān)系表進(jìn)行連接,形成新的流程。該流程可以被保存在流程庫中,以便以后需要進(jìn)行相關(guān)業(yè)務(wù)的測試時,能夠直接從流程庫中調(diào)用該流程,避免了同一流程的重復(fù)生成所導(dǎo)致的系統(tǒng)資源的浪費及工作效率的降低。
(五)用于執(zhí)行上述場景及流程的生成方法的系統(tǒng)
上述場景及流程生成方法可以利用計算機(jī)等以軟硬件結(jié)合的方式實現(xiàn)。圖6示出了一種實現(xiàn)上述場景及流程生成方法的系統(tǒng)的功能框圖。
如圖6所示,該流程生成系統(tǒng)包括執(zhí)行單元100和數(shù)據(jù)庫200。執(zhí)行單元100中包括因子抽取單元110,場景生成單元120、場景排序單元130、因子維護(hù)單元140。
數(shù)據(jù)庫200包括存儲業(yè)務(wù)因子的因子庫210、存儲已生成的場景的場景庫220、存儲已生成的流程的流程庫230、用于規(guī)定各類型因子間的可組合關(guān)系的因子關(guān)系表240、按類型保存各因子所對應(yīng)的數(shù)據(jù)字典等信息的因子數(shù)據(jù)表250、以及用于規(guī)定業(yè)務(wù)中各場景間的排序關(guān)系的場景關(guān)系表260。
因子抽取單元110包括從業(yè)務(wù)說明文檔中提取關(guān)鍵詞的被測需求提取功能、和按照因子關(guān)系表240從因子庫中抽取與從業(yè)務(wù)說明文檔提取的關(guān)鍵詞相匹配的因子的因子抽取功能。
場景生成單元120包括使因子抽取單元110抽取出的因子按照因子關(guān)系表240組合成場景的場景生成功能、和從場景庫中調(diào)用已生成的歷史場景的場景調(diào)用功能。
場景排序單元130包括使場景生成單元120生成的場景按照場景關(guān)系表260排序而生成流程的流程生成功能、和從流程庫中調(diào)用已生成的歷史流程的流程調(diào)用功能。
因子維護(hù)單元140包括根據(jù)因子抽取單元110從業(yè)務(wù)說明文檔提取的關(guān)鍵詞生成與該關(guān)鍵詞相應(yīng)的新因子并存儲到因子庫210中的新因子生成功能、對因子庫210中的因子進(jìn)行編輯修改的因子編輯功能、以及根據(jù)本業(yè)務(wù)的說明文檔對因子關(guān)系表240中的各因子間的可組合關(guān)系進(jìn)行編輯維護(hù)的因子關(guān)系維護(hù)功能。
另外,在以上說明中,說明了通過因子關(guān)系表來規(guī)定各因子間是否具有可組合關(guān)系的方式,當(dāng)因子較多或其之間的關(guān)系非常復(fù)雜時,也可以準(zhǔn)備多個因子關(guān)系表來規(guī)定其之間的可組合關(guān)系,該多個表也可以構(gòu)成因子關(guān)系庫的形式。同樣地,用于規(guī)定場景間的連接關(guān)系的場景關(guān)系表也可以是多個表,構(gòu)成場景關(guān)系庫的形式。
另外,因子關(guān)系表240、因子數(shù)據(jù)表250也可以與因子庫210構(gòu)成一個數(shù)據(jù)庫,場景關(guān)系表260也可以與場景庫220構(gòu)成一個數(shù)據(jù)庫。或者,它們也可以與流程庫230構(gòu)成一個數(shù)據(jù)庫。
如上說明的本發(fā)明的業(yè)務(wù)測試用的場景及流程生成方法及系統(tǒng),能夠不斷更新業(yè)務(wù)因子庫、場景庫、流程庫,壯大資源積累。由于利用被按屬性如業(yè)務(wù)實體、業(yè)務(wù)動作等進(jìn)行分類管理的最小業(yè)務(wù)因子組合來形成新的場景和流程,故業(yè)務(wù)因子復(fù)用程度高,因子庫、場景庫、流程庫成為具有重復(fù)生產(chǎn)能力的資源容器,能夠使業(yè)務(wù)測試用的場景分析更加全面、穩(wěn)定、可靠,解決了由于個人對業(yè)務(wù)理解的局限性所導(dǎo)致的流程覆蓋不足的問題。由于是系統(tǒng)自動批量生成場景及流程,故能夠縮短測試前分析與準(zhǔn)備工作時間,提高測試分析效率,壓縮測試分析周期。