欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種測(cè)試用例的生成方法和系統(tǒng)與流程

文檔序號(hào):12063568閱讀:327來源:國(guó)知局
一種測(cè)試用例的生成方法和系統(tǒng)與流程

本發(fā)明屬于軟件測(cè)試技術(shù)領(lǐng)域,具體涉及一種測(cè)試用例的生成方法和系統(tǒng)。



背景技術(shù):

軟件測(cè)試是鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程,一般包括確定測(cè)試策略、設(shè)計(jì)測(cè)試用例、執(zhí)行測(cè)試、提交缺陷、消除缺陷、撰寫測(cè)試報(bào)告等環(huán)節(jié)。其中,設(shè)計(jì)合適的測(cè)試用例對(duì)軟件測(cè)試的過程起著至關(guān)重要的作用?,F(xiàn)有技術(shù)中,測(cè)試用例通常采用文檔形式或管理系統(tǒng)模式進(jìn)行存儲(chǔ),而測(cè)試用例的生成,通常是采用測(cè)試人員的手動(dòng)輸入。

通過手動(dòng)輸入的方式生成測(cè)試用例,涉及到測(cè)試用例的測(cè)試步驟、測(cè)試數(shù)據(jù)、驗(yàn)證點(diǎn)等多個(gè)環(huán)節(jié),輸入工作繁瑣,工作量大,造成人力和物力的浪費(fèi)。另外,對(duì)于流程比較復(fù)雜的業(yè)務(wù),人工編寫測(cè)試用例容易遺漏分支,降低測(cè)試用例的質(zhì)量。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例的目的是提供一種測(cè)試用例的生成方法和系統(tǒng),通過基于WEB方式繪制流程圖,通過所繪制的流程圖,自動(dòng)生成測(cè)試用例,從而輕松的生成測(cè)試用例,達(dá)到提高工作的效率、提高測(cè)試用例質(zhì)量、降低成本的目的。

根據(jù)本發(fā)明的一個(gè)方面,提供了一種測(cè)試用例的生成方法,所述方法包括:

基于網(wǎng)頁繪制業(yè)務(wù)流程圖;

根據(jù)所述業(yè)務(wù)流程圖及預(yù)設(shè)算法生成測(cè)試用例。

上述方案中,所述根據(jù)所述業(yè)務(wù)流程圖及預(yù)設(shè)算法生成測(cè)試用例,進(jìn)一步包括:

對(duì)所述業(yè)務(wù)流程圖進(jìn)行數(shù)據(jù)化;計(jì)算所有路徑,生成測(cè)試用例路徑;對(duì)所述測(cè)試用例路徑添加測(cè)試用例編號(hào)和名稱;輸出并保存完整的測(cè)試用例。

上述方案中,所述基于網(wǎng)頁繪制業(yè)務(wù)流程圖,進(jìn)一步包括:

通過頁面組件的拖拽和/或重繪,繪制業(yè)務(wù)流程圖。

上述方案中,所述頁面組件采用基于可縮放矢量圖形SVG和層疊樣式表CSS定義圖形樣式;所述頁面組件的拖拽、重繪采用JavaScript實(shí)現(xiàn);所述保存完整的測(cè)試用例采用基于JavaScript對(duì)象表示法JSON的數(shù)據(jù)交換格式實(shí)現(xiàn)。

上述方案中,所述方法還包括:

所述基于網(wǎng)頁繪制業(yè)務(wù)流程圖及根據(jù)所述業(yè)務(wù)流程圖及預(yù)設(shè)算法生成測(cè)試用例直接在瀏覽器中運(yùn)行或集成在測(cè)試用例管理系統(tǒng)中運(yùn)行;

根據(jù)生成的所述測(cè)試用例生成測(cè)試用例信息,將所述測(cè)試用例信息保存為文檔或集成到測(cè)試用例管理系統(tǒng)中。

上述方案中,所述對(duì)所述業(yè)務(wù)流程圖進(jìn)行數(shù)據(jù)化,進(jìn)一步為:根據(jù)所述業(yè)務(wù)流程圖生成序列化的節(jié)點(diǎn)和連線數(shù)據(jù),構(gòu)建節(jié)點(diǎn)數(shù)組、連線數(shù)組、棧數(shù)組,并初始化節(jié)點(diǎn)數(shù)組的節(jié)點(diǎn)狀態(tài)與連線數(shù)組的連線狀態(tài)為0,初始化棧數(shù)組為空;

所述深度優(yōu)先算法計(jì)算所有路徑,進(jìn)一步包括:

步驟S302,在所述節(jié)點(diǎn)數(shù)組中尋找開始節(jié)點(diǎn),并將所述開始節(jié)點(diǎn)加入棧數(shù)組;

步驟S303,判斷所述棧數(shù)組是否有節(jié)點(diǎn),當(dāng)所述棧數(shù)組有節(jié)點(diǎn)時(shí),執(zhí)行步驟S304;當(dāng)所述棧數(shù)組沒有節(jié)點(diǎn)時(shí),轉(zhuǎn)入步驟S311;

步驟S304,判斷所述棧數(shù)組中的節(jié)點(diǎn)是否為終點(diǎn),當(dāng)節(jié)點(diǎn)是終點(diǎn)節(jié)點(diǎn)時(shí),轉(zhuǎn)入步驟S310;當(dāng)節(jié)點(diǎn)不是終點(diǎn)節(jié)點(diǎn)時(shí),執(zhí)行步驟S305;

步驟S305,判斷是否有與所述棧數(shù)組中的節(jié)點(diǎn)連接的連線,當(dāng)沒有與所述節(jié)點(diǎn)連接的連線時(shí),轉(zhuǎn)入步驟S310;當(dāng)有連線時(shí),執(zhí)行步驟S306;

步驟S306,將所述連線置為當(dāng)前連線,將所述連線另一節(jié)點(diǎn)置為當(dāng)前節(jié)點(diǎn),獲取所述當(dāng)前連線的狀態(tài)和所述當(dāng)前節(jié)點(diǎn)的狀態(tài);

步驟S307,判斷所述當(dāng)前連線的狀態(tài)和所述當(dāng)前節(jié)點(diǎn)的狀態(tài),當(dāng)連線狀態(tài)為0和節(jié)點(diǎn)狀態(tài)為0、或連線狀態(tài)為0和節(jié)點(diǎn)狀態(tài)為1、或連線狀態(tài)為1和節(jié)點(diǎn)狀態(tài)為1時(shí),執(zhí)行步驟S308,否則,轉(zhuǎn)入步驟S310;

步驟S308,將所述當(dāng)前節(jié)點(diǎn)加入棧數(shù)組,并將所述節(jié)點(diǎn)數(shù)組中當(dāng)前節(jié)點(diǎn)的狀態(tài)加1,所述連線數(shù)組中當(dāng)前連線的狀態(tài)加1;

步驟S309,保存所述節(jié)點(diǎn)的路徑;

步驟S310,棧數(shù)組刪除當(dāng)前節(jié)點(diǎn),節(jié)點(diǎn)數(shù)組和連線數(shù)組刪除回退所述節(jié)點(diǎn)狀態(tài);

步驟S311,保存所有路徑,結(jié)束路徑計(jì)算。

根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種測(cè)試用例的生成系統(tǒng),所述系統(tǒng)包括:圖像繪制模塊、測(cè)試用例生成模塊;其中,

所述圖像繪制模塊用于基于網(wǎng)頁繪制業(yè)務(wù)流程圖;

所述測(cè)試用例生成模塊用于根據(jù)所述業(yè)務(wù)流程圖及預(yù)設(shè)算法生成測(cè)試用例。

上述方案中,所述測(cè)試用例生成模塊進(jìn)一步包括:數(shù)據(jù)化子模塊、路徑計(jì)算子模塊、整合子模塊、保存子模塊;其中,

所述數(shù)據(jù)化子模塊用于對(duì)所述業(yè)務(wù)流程圖進(jìn)行數(shù)據(jù)化;

所述路徑計(jì)算子模塊用于計(jì)算所有路徑,生成測(cè)試用例路徑;

所述整合子模塊用于對(duì)所述測(cè)試用例路徑添加測(cè)試用例編號(hào)和名稱;

所述保存子模塊用于輸出并保存完整的測(cè)試用例。

上述方案中,所述圖像繪制模塊進(jìn)一步用于通過頁面組件的拖拽和/或重繪,繪制業(yè)務(wù)流程圖。

上述方案中,所述數(shù)據(jù)化子模塊,進(jìn)一步用于:根據(jù)所述業(yè)務(wù)流程圖生成序列化的節(jié)點(diǎn)和連線數(shù)據(jù),構(gòu)建節(jié)點(diǎn)數(shù)組、連線數(shù)組、棧數(shù)組,并初始化節(jié)點(diǎn)數(shù)組的節(jié)點(diǎn)狀態(tài)與連線數(shù)組的連線狀態(tài)為0,初始化棧數(shù)組為空;所述路徑計(jì)算子模塊,進(jìn)一步用于執(zhí)行以下步驟:

步驟S302,在所述節(jié)點(diǎn)數(shù)組中尋找開始節(jié)點(diǎn),并將所述開始節(jié)點(diǎn)加入棧數(shù)組;

步驟S303,判斷所述棧數(shù)組是否有節(jié)點(diǎn),當(dāng)所述棧數(shù)組有節(jié)點(diǎn)時(shí),執(zhí)行步驟S304;當(dāng)所述棧數(shù)組沒有節(jié)點(diǎn)時(shí),轉(zhuǎn)入步驟S311;

步驟S304,判斷所述棧數(shù)組中的節(jié)點(diǎn)是否為終點(diǎn),當(dāng)節(jié)點(diǎn)是終點(diǎn)節(jié)點(diǎn)時(shí),轉(zhuǎn)入步驟S310;當(dāng)節(jié)點(diǎn)不是終點(diǎn)節(jié)點(diǎn)時(shí),執(zhí)行步驟S305;

步驟S305,判斷是否有與所述棧數(shù)組中的節(jié)點(diǎn)連接的連線,當(dāng)沒有與所述節(jié)點(diǎn)連接的連線時(shí),轉(zhuǎn)入步驟S310;當(dāng)有連線時(shí),執(zhí)行步驟S306;

步驟S306,將所述連線置為當(dāng)前連線,將所述連線另一節(jié)點(diǎn)置為當(dāng)前節(jié)點(diǎn),獲取所述當(dāng)前連線的狀態(tài)和所述當(dāng)前節(jié)點(diǎn)的狀態(tài);

步驟S307,判斷所述當(dāng)前連線的狀態(tài)和所述當(dāng)前節(jié)點(diǎn)的狀態(tài),當(dāng)連線狀態(tài)為0和節(jié)點(diǎn)狀態(tài)為0、或連線狀態(tài)為0和節(jié)點(diǎn)狀態(tài)為1、或連線狀態(tài)為1和節(jié)點(diǎn)狀態(tài)為1時(shí),執(zhí)行步驟S308,否則,轉(zhuǎn)入步驟S310;

步驟S308,將所述當(dāng)前節(jié)點(diǎn)加入棧數(shù)組,并將所述節(jié)點(diǎn)數(shù)組中當(dāng)前節(jié)點(diǎn)的狀態(tài)加1,所述連線數(shù)組中當(dāng)前連線的狀態(tài)加1;

步驟S309,保存所述節(jié)點(diǎn)的路徑;

步驟S310,棧數(shù)組刪除當(dāng)前節(jié)點(diǎn),節(jié)點(diǎn)數(shù)組和連線數(shù)組刪除回退所述節(jié)點(diǎn)狀態(tài);

步驟S311,保存所有路徑,結(jié)束路徑計(jì)算。

從以上實(shí)施例可以看出,本發(fā)明實(shí)施例的一種測(cè)試用例的生成方法,包括:基于網(wǎng)頁繪制業(yè)務(wù)流程圖;根據(jù)所述業(yè)務(wù)流程圖及預(yù)設(shè)算法生成測(cè)試用例。由于繪制業(yè)務(wù)流程圖是基于網(wǎng)頁的,因此上述過程可以通過瀏覽器實(shí)現(xiàn),從而無需安裝客戶端,使用簡(jiǎn)單,所見即所得,同時(shí)兼容多種主流瀏覽器,方便推廣使用;同時(shí),所繪制的業(yè)務(wù)流程圖將測(cè)試用例的設(shè)計(jì)過程圖形化,使測(cè)試用例設(shè)計(jì)快速,避免人工疏忽導(dǎo)致的分支遺漏;同時(shí),上述過程可以直接在瀏覽器中單獨(dú)運(yùn)行,同時(shí)也可以集成到測(cè)試用例管理系統(tǒng)中運(yùn)行,使用方式靈活,通過上述方法自動(dòng)生成測(cè)試用例,從而輕松的生成測(cè)試用例,提高了工作的效率和測(cè)試用例質(zhì)量,降低了成本。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明第一實(shí)施例的測(cè)試用例的生成方法流程示意圖;

圖2為本發(fā)明第二實(shí)施例的測(cè)試用例的生成方法流程示意圖;

圖3為本發(fā)明第三實(shí)施例的測(cè)試用例的生成方法流程示意圖;

圖4為根據(jù)本發(fā)明第三實(shí)施例的測(cè)試用例的生成方法所繪制的業(yè)務(wù)流程圖;

圖5為本發(fā)明第三實(shí)施例的測(cè)試用例生成方法生成的第一JSON串;

圖6為本發(fā)明第三實(shí)施例的測(cè)試用例生成方法生成的第二JSON串;

圖7為本發(fā)明第三實(shí)施例的測(cè)試用例生成方法生成的XML結(jié)果示例;

圖8為本發(fā)明第四實(shí)施例的測(cè)試用例的生成系統(tǒng)結(jié)構(gòu)示意圖。

具體實(shí)施方式

本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的任一單元和全部組合。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會(huì)用理想化或過于正式的含義來解釋。

為便于對(duì)本發(fā)明實(shí)施例的理解,下面詳細(xì)描述本發(fā)明的實(shí)施方式,通過參考附圖描述的實(shí)施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。

圖1為本發(fā)明第一實(shí)施例的測(cè)試用例的生成方法流程示意圖。

如圖1所示,本實(shí)施例的測(cè)試用例生成方法,包括如下步驟:

步驟S1,基于網(wǎng)頁繪制業(yè)務(wù)流程圖。

本步驟中的基于網(wǎng)頁繪制業(yè)務(wù)流程圖,即通過頁面組件的拖拽和/或重繪,繪制業(yè)務(wù)流程圖。所述頁面組件,采用基于可縮放矢量圖形(Scalable Vector Graphic, SVG)的可縮放矢量圖形和層疊式樣表(Cascading Style Sheets, CSS)定義圖形樣式。所述頁面組件的拖拽、重繪采用JavaScript實(shí)現(xiàn)。

步驟S2,根據(jù)所述業(yè)務(wù)流程圖及預(yù)設(shè)算法生成測(cè)試用例。

本步驟中的預(yù)設(shè)算法,可以采用深度優(yōu)先算法,也可以采用改進(jìn)型的深度優(yōu)先算法,進(jìn)行測(cè)試用例路徑的計(jì)算,從而在步驟S1繪制業(yè)務(wù)流程圖的基礎(chǔ)上,自動(dòng)的生成測(cè)試用例。

數(shù)據(jù)持久化方面,采用JavaScript 對(duì)象表示(JavaScript Object Notation,JSON)法的數(shù)據(jù)交換格式實(shí)現(xiàn)。JSON是一種輕量級(jí)的數(shù)據(jù)交換格式。JSON可以將生成的測(cè)試用例輕松地集成到TestLink等開源測(cè)試用例管理工具中,也可以通過對(duì)數(shù)據(jù)的轉(zhuǎn)化生成測(cè)試用例文檔。

為滿足不同的測(cè)試用例組織形式,如通過管理系統(tǒng)統(tǒng)一管理測(cè)試用例、或文檔管理測(cè)試用例,本實(shí)施例測(cè)試用例的生成方法,基于WEB的通過繪制業(yè)務(wù)流程圖自動(dòng)生成測(cè)試用例,可以單獨(dú)運(yùn)行,也可以集成到服務(wù)環(huán)境運(yùn)行,無需安裝客戶端,使用方式靈活;并以JSON字符串的形式保存繪制業(yè)務(wù)流程圖的繪制結(jié)果,以XML形式保存測(cè)試用例生成結(jié)果。所繪制的業(yè)務(wù)流程圖將測(cè)試用例的設(shè)計(jì)過程圖形化,使測(cè)試用例設(shè)計(jì)快速,避免人工疏忽導(dǎo)致的分支遺漏;通過上述方法自動(dòng)生成測(cè)試用例,從而輕松的生成測(cè)試用例,提高了工作的效率和測(cè)試用例質(zhì)量,降低了成本。

圖2為本發(fā)明第二實(shí)施例的測(cè)試用例的生成方法流程示意圖。

如圖2所示,本實(shí)施例的測(cè)試用例生成方法,包括如下步驟:

步驟S201,基于WEB繪制業(yè)務(wù)流程圖。

這里的基于WEB,是在通過瀏覽器的頁面中進(jìn)行繪制,通過建立組件,對(duì)組件進(jìn)行拖拽、重繪,繪制業(yè)務(wù)流程圖。將測(cè)試用例的設(shè)計(jì)過程圖形化,使測(cè)試用例設(shè)計(jì)快速,避免人工疏忽導(dǎo)致的分支遺漏。頁面繪制組件采用SVG標(biāo)準(zhǔn)實(shí)現(xiàn)。SVG為可縮放矢量圖形是基于可擴(kuò)展標(biāo)記語言(標(biāo)準(zhǔn)通用標(biāo)記語言的子集),用于描述二維矢量圖形的一種圖形格式。組件拖拽、重繪采用JavaScript實(shí)現(xiàn),無需安裝客戶端。

步驟S202,對(duì)所述業(yè)務(wù)流程圖進(jìn)行處理,數(shù)據(jù)化對(duì)象。

本步驟中的數(shù)據(jù)化,是對(duì)業(yè)務(wù)流程圖的數(shù)據(jù)化處理,如將圖像生成節(jié)點(diǎn)數(shù)組、連線數(shù)組,在此基礎(chǔ)上,對(duì)由圖像得到的數(shù)據(jù)進(jìn)行處理,得到測(cè)試用例。

步驟S203,深度優(yōu)先算法計(jì)算所有路徑。

本驟通過對(duì)由圖像得到的數(shù)據(jù)進(jìn)行處理,尋找業(yè)務(wù)流程的數(shù)據(jù)路徑,對(duì)路徑進(jìn)行分析和計(jì)算,得到所繪制流程圖的測(cè)試用例。這里計(jì)算的是所繪制流程圖的所有路徑,是通過設(shè)計(jì)的程序自動(dòng)計(jì)算的,不會(huì)造成分支遺漏,所得到的測(cè)試用例質(zhì)量高,提供更好的客戶體驗(yàn)。

步驟S204,對(duì)所述測(cè)試用例路徑添加測(cè)試用例編號(hào)和名稱。

本步驟中對(duì)所生成的測(cè)試用例數(shù)據(jù)的進(jìn)一步完善,從而可以更好的保存測(cè)試用例。

步驟S205,輸出并保存完整的測(cè)試用例。

本步驟中,數(shù)據(jù)持久化方面,采用JSON(JavaScript Object Notation)一種輕量級(jí)的數(shù)據(jù)交換格式??梢詫⑸傻臏y(cè)試用例輕松地集成到TestLink等開源測(cè)試用例管理工具中,也可以通過對(duì)數(shù)據(jù)的轉(zhuǎn)化生成測(cè)試用例文檔,因此,本實(shí)施例的測(cè)試用例生成方法,使用方式靈活,可以適用于各種測(cè)試用例組織形式。

圖3為本發(fā)明第三實(shí)施例的測(cè)試用例的生成方法流程示意圖。

如圖3所示,本實(shí)施例的測(cè)試用例生成方法,包括如下步驟:

步驟S300,通過瀏覽器以頁面組件拖拽的方式繪制業(yè)務(wù)流程圖。

步驟S301,根據(jù)所述業(yè)務(wù)流程圖生成序列化的節(jié)點(diǎn)和連線數(shù)據(jù),構(gòu)建節(jié)點(diǎn)數(shù)組、連線數(shù)組、棧數(shù)組,并初始化節(jié)點(diǎn)數(shù)組的節(jié)點(diǎn)狀態(tài)與連線數(shù)組的連線狀態(tài)為0,初始化棧數(shù)組為空。

步驟S302,在所述節(jié)點(diǎn)數(shù)組中尋找開始節(jié)點(diǎn),并將所述開始節(jié)點(diǎn)加入棧數(shù)組;

步驟S303,判斷所述棧數(shù)組是否有節(jié)點(diǎn),當(dāng)所述棧數(shù)組有節(jié)點(diǎn)時(shí),執(zhí)行步驟S304;當(dāng)所述棧數(shù)組沒有節(jié)點(diǎn)時(shí),轉(zhuǎn)入步驟S311;

步驟S304,判斷所述棧數(shù)組中的節(jié)點(diǎn)是否為終點(diǎn),當(dāng)節(jié)點(diǎn)是終點(diǎn)節(jié)點(diǎn)時(shí),轉(zhuǎn)入步驟S310;當(dāng)節(jié)點(diǎn)不是終點(diǎn)節(jié)點(diǎn)時(shí),執(zhí)行步驟S305;

步驟S305,判斷是否有與所述棧數(shù)組中的節(jié)點(diǎn)連接的連線,當(dāng)沒有與所述節(jié)點(diǎn)連接的連線時(shí),轉(zhuǎn)入步驟S310;當(dāng)有連線時(shí),執(zhí)行步驟S306;

步驟S306,將所述連線置為當(dāng)前連線,將所述連線另一節(jié)點(diǎn)置為當(dāng)前節(jié)點(diǎn),獲取所述當(dāng)前連線的狀態(tài)和所述當(dāng)前節(jié)點(diǎn)的狀態(tài);

步驟S307,判斷所述當(dāng)前連線的狀態(tài)和所述當(dāng)前節(jié)點(diǎn)的狀態(tài),當(dāng)連線狀態(tài)為0和節(jié)點(diǎn)狀態(tài)為0、或連線狀態(tài)為0和節(jié)點(diǎn)狀態(tài)為1、或連線狀態(tài)為1和節(jié)點(diǎn)狀態(tài)為1時(shí),執(zhí)行步驟S308,否則,轉(zhuǎn)入步驟S310;

步驟S308,將所述當(dāng)前節(jié)點(diǎn)加入棧數(shù)組,并將所述節(jié)點(diǎn)數(shù)組中當(dāng)前節(jié)點(diǎn)的狀態(tài)加1,所述連線數(shù)組中當(dāng)前連線的狀態(tài)加1;

步驟S309,保存所述節(jié)點(diǎn)的路徑;

步驟S310,棧數(shù)組刪除當(dāng)前節(jié)點(diǎn),節(jié)點(diǎn)數(shù)組和連線數(shù)組刪除回退所述節(jié)點(diǎn)狀態(tài);

步驟S311,保存所有路徑,結(jié)束路徑計(jì)算。

步驟S312,對(duì)所述所有路徑添加測(cè)試用例編號(hào)和名稱,輸出并保存完整的測(cè)試用例。

本實(shí)施例測(cè)試用例的生成方法,基于WEB的通過繪制業(yè)務(wù)流程圖自動(dòng)生成測(cè)試用例,可以單獨(dú)運(yùn)行,也可以集成到服務(wù)環(huán)境運(yùn)行,無需安裝客戶端,使用方式靈活;并以JSON字符串的形式保存繪制業(yè)務(wù)流程圖的繪制結(jié)果,以XML形式保存測(cè)試用例生成結(jié)果。所繪制的業(yè)務(wù)流程圖將測(cè)試用例的設(shè)計(jì)過程圖形化,使測(cè)試用例設(shè)計(jì)快速,避免人工疏忽導(dǎo)致的分支遺漏;通過上述方法自動(dòng)生成測(cè)試用例,從而輕松的生成測(cè)試用例,提高了工作的效率和測(cè)試用例質(zhì)量,降低了成本。

圖4為根據(jù)本發(fā)明第三實(shí)施例的測(cè)試用例的生成方法所繪制的業(yè)務(wù)流程圖。如圖4所示,在頁面環(huán)境下,繪制的業(yè)務(wù)流程圖包括七個(gè)步驟,即七個(gè)節(jié)點(diǎn),七個(gè)連線。其中,所述“開始”節(jié)點(diǎn)即為開始節(jié)點(diǎn),首先將所述開始節(jié)點(diǎn)放入棧數(shù)組,判斷棧數(shù)組中是否有節(jié)點(diǎn),此時(shí)棧數(shù)組中存在節(jié)點(diǎn)“開始節(jié)點(diǎn)”,判斷所述節(jié)點(diǎn)不是終點(diǎn)節(jié)點(diǎn),則進(jìn)一步判斷是否有與所述節(jié)點(diǎn)相連的相連,此時(shí)連線存在,則將所述連線置為當(dāng)前連線,將所述連線的另一節(jié)點(diǎn)置為當(dāng)前節(jié)點(diǎn),并進(jìn)一步判斷所述連線與所述節(jié)點(diǎn)的狀態(tài),此時(shí),所述節(jié)點(diǎn)和連線的狀態(tài)均為0,則將所述當(dāng)前節(jié)點(diǎn)加入棧數(shù)組,并將所述當(dāng)前連線的狀態(tài)加1、所述當(dāng)前節(jié)點(diǎn)的狀態(tài)加1。并繼續(xù)判斷棧數(shù)組中是否存在節(jié)點(diǎn),進(jìn)行下一個(gè)判斷的循環(huán)。

當(dāng)“點(diǎn)擊登錄”節(jié)點(diǎn)加入棧數(shù)組中后,判斷所述棧數(shù)組中存在節(jié)點(diǎn),并判斷所述節(jié)點(diǎn)不是終點(diǎn)節(jié)點(diǎn),則判斷出與“點(diǎn)擊登錄”節(jié)點(diǎn)相連的有兩條連線,此時(shí),隨機(jī)查找其中的一條連線,如“成功”連線,則將所述連線置為當(dāng)前連線,將所述連線的另一節(jié)點(diǎn)置為當(dāng)前節(jié)點(diǎn),并進(jìn)一步判斷所述連線與所述節(jié)點(diǎn)的狀態(tài)。直到最后一下節(jié)點(diǎn)“結(jié)束”節(jié)點(diǎn)加入棧數(shù)組后,判斷棧數(shù)組中存在節(jié)點(diǎn),并判斷所述節(jié)點(diǎn)為終點(diǎn)節(jié)點(diǎn),則保存路徑,棧數(shù)組中刪除當(dāng)前節(jié)點(diǎn),節(jié)點(diǎn)數(shù)組、連線數(shù)組刪除回退該節(jié)點(diǎn)狀態(tài)。

此時(shí),由于“點(diǎn)擊登錄”節(jié)點(diǎn)相連的“失敗”連線尚未遍歷,繼續(xù)進(jìn)入對(duì)當(dāng)“點(diǎn)擊登錄”節(jié)點(diǎn)的判斷,并進(jìn)入對(duì)剩余“失敗”連線的判斷,繼續(xù)進(jìn)行到“結(jié)束”節(jié)點(diǎn)后,保存路徑。

此時(shí),遍歷了所有路徑,則對(duì)所述所有路徑添加測(cè)試用例編號(hào)和名稱,輸出并保存完整的測(cè)試用例。

圖5為本發(fā)明第三實(shí)施例的測(cè)試用例生成方法生成的第一JSON串。如圖5所示,節(jié)點(diǎn)數(shù)組包含所有節(jié)點(diǎn)信息,包含節(jié)點(diǎn)的名稱,類型,id等。其中名稱為用戶繪制的圖形中的文字。

圖6為本發(fā)明第三實(shí)施例的測(cè)試用例生成方法生成的第二JSON串。如圖6所示,連線數(shù)組包含連線的起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn),以及連線的名稱即連線上的文字。

圖7為本發(fā)明第三實(shí)施例的測(cè)試用例生成方法生成的XML結(jié)果示例。如圖7所示,基本結(jié)構(gòu)為測(cè)試用例集包含測(cè)試用例,測(cè)試用例又有屬性:id,類型,和文本信息。其中每一個(gè)測(cè)試用例對(duì)應(yīng)一條路徑。

本實(shí)施例的測(cè)試用例的生成方法,繪制業(yè)務(wù)流程圖是基于網(wǎng)頁的,因此上述過程可以通過瀏覽器實(shí)現(xiàn),從而無需安裝客戶端;同時(shí),所繪制的業(yè)務(wù)流程圖將測(cè)試用例的設(shè)計(jì)過程圖形化,使測(cè)試用例設(shè)計(jì)快速,避免人工疏忽導(dǎo)致的分支遺漏;同時(shí),上述過程可以直接在瀏覽器中單獨(dú)運(yùn)行,同時(shí)也可以集成到測(cè)試用例管理系統(tǒng)中運(yùn)行,使用方式靈活,通過上述方法自動(dòng)生成測(cè)試用例,從而輕松的生成測(cè)試用例,提高了工作的效率和測(cè)試用例質(zhì)量,降低了成本。

圖8為本發(fā)明第四實(shí)施例的測(cè)試用例的生成系統(tǒng)結(jié)構(gòu)示意圖。

如圖8所示,本實(shí)施例的測(cè)試用例生成系統(tǒng),包括:

圖像繪制模塊1、測(cè)試用例生成模塊2;其中,

所述圖像繪制模塊1用于基于網(wǎng)頁繪制業(yè)務(wù)流程圖;

所述測(cè)試用例生成模塊2用于根據(jù)所述業(yè)務(wù)流程圖及預(yù)設(shè)算法生成測(cè)試用例。

所述測(cè)試用例生成模塊2進(jìn)一步包括:數(shù)據(jù)化子模塊21、路徑計(jì)算子模塊22、整合子模塊23、保存子模塊24;其中,

所述數(shù)據(jù)化子模塊21用于對(duì)所述業(yè)務(wù)流程圖進(jìn)行數(shù)據(jù)化;

所述路徑計(jì)算子模塊22用于計(jì)算所有路徑,生成測(cè)試用例路徑;

所述整合子模塊23用于對(duì)所述測(cè)試用例路徑添加測(cè)試用例編號(hào)和名稱;

所述保存子模塊24用于輸出并保存完整的測(cè)試用例。

所述圖像繪制模塊1進(jìn)一步用于通過頁面組件的拖拽和/或重繪,繪制業(yè)務(wù)流程圖。

所述數(shù)據(jù)化子模塊21,進(jìn)一步用于:根據(jù)所述業(yè)務(wù)流程圖生成節(jié)點(diǎn)數(shù)組與連線數(shù)組;

所述路徑計(jì)算子模塊22,進(jìn)一步用于執(zhí)行以下步驟:

步驟S302,在所述節(jié)點(diǎn)數(shù)組中尋找開始節(jié)點(diǎn),并將所述開始節(jié)點(diǎn)加入棧數(shù)組;

步驟S303,判斷所述棧數(shù)組是否有節(jié)點(diǎn),當(dāng)所述棧數(shù)組有節(jié)點(diǎn)時(shí),執(zhí)行步驟S304;當(dāng)所述棧數(shù)組沒有節(jié)點(diǎn)時(shí),轉(zhuǎn)入步驟S311;

步驟S304,判斷所述棧數(shù)組中的節(jié)點(diǎn)是否為終點(diǎn),當(dāng)節(jié)點(diǎn)是終點(diǎn)節(jié)點(diǎn)時(shí),轉(zhuǎn)入步驟S310;當(dāng)節(jié)點(diǎn)不是終點(diǎn)節(jié)點(diǎn)時(shí),執(zhí)行步驟S305;

步驟S305,判斷是否有與所述棧數(shù)組中的節(jié)點(diǎn)連接的連線,當(dāng)沒有與所述節(jié)點(diǎn)連接的連線時(shí),轉(zhuǎn)入步驟S310;當(dāng)有連線時(shí),執(zhí)行步驟S306;

步驟S306,將所述連線置為當(dāng)前連線,將所述連線另一節(jié)點(diǎn)置為當(dāng)前節(jié)點(diǎn),獲取所述當(dāng)前連線的狀態(tài)和所述當(dāng)前節(jié)點(diǎn)的狀態(tài);

步驟S307,判斷所述當(dāng)前連線的狀態(tài)和所述當(dāng)前節(jié)點(diǎn)的狀態(tài),當(dāng)連線狀態(tài)為0和節(jié)點(diǎn)狀態(tài)為0、或連線狀態(tài)為0和節(jié)點(diǎn)狀態(tài)為1、或連線狀態(tài)為1和節(jié)點(diǎn)狀態(tài)為1時(shí),執(zhí)行步驟S308,否則,轉(zhuǎn)入步驟S310;

步驟S308,將所述當(dāng)前節(jié)點(diǎn)加入棧數(shù)組,并將所述節(jié)點(diǎn)數(shù)組中當(dāng)前節(jié)點(diǎn)的狀態(tài)加1,所述連線數(shù)組中當(dāng)前連線的狀態(tài)加1;

步驟S309,保存所述節(jié)點(diǎn)的路徑;

步驟S310,棧數(shù)組刪除當(dāng)前節(jié)點(diǎn),節(jié)點(diǎn)數(shù)組和連線數(shù)組刪除回退所述節(jié)點(diǎn)狀態(tài);

步驟S311,保存所有路徑,結(jié)束路徑計(jì)算。本實(shí)施例的測(cè)試用例的生成系統(tǒng),繪制業(yè)務(wù)流程圖是基于網(wǎng)頁的,因此上述過程可以通過瀏覽器實(shí)現(xiàn),從而無需安裝客戶端;同時(shí),所繪制的業(yè)務(wù)流程圖將測(cè)試用例的設(shè)計(jì)過程圖形化,使測(cè)試用例設(shè)計(jì)快速,避免人工疏忽導(dǎo)致的分支遺漏;同時(shí),上述過程可以直接在瀏覽器中單獨(dú)運(yùn)行,同時(shí)也可以集成到測(cè)試用例管理系統(tǒng)中運(yùn)行,使用方式靈活,通過上述方法自動(dòng)生成測(cè)試用例,從而輕松的生成測(cè)試用例,提高了工作的效率和測(cè)試用例質(zhì)量,降低了成本。

通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。

以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鲁甸县| 孟连| 资中县| 松滋市| 衡阳市| 宁武县| 山东省| 城市| 汶川县| 江华| 彭阳县| 长治市| 三河市| 报价| 德安县| 柳河县| 旬邑县| 五指山市| 平塘县| 台东县| 云安县| 黑山县| 喀什市| 和田县| 北辰区| 长泰县| 宜兰市| 长垣县| 汉源县| 积石山| 广平县| 家居| 遵义市| 隆化县| 五寨县| 扶沟县| 沙雅县| 吉木萨尔县| 马公市| 碌曲县| 康保县|