什么是測(cè)試用例
測(cè)試用例(Test Case)是為某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。

測(cè)試用例(Test Case)是將軟件測(cè)試的行為活動(dòng)做一個(gè)科學(xué)化的組織歸納,目的是能夠?qū)④浖y(cè)試的行為轉(zhuǎn)化成可管理的模式;同時(shí)測(cè)試用例也是將測(cè)試具體量化的方法之一,不同類別的軟件,測(cè)試用例是不同的。
測(cè)試用例是軟件測(cè)試的核心
軟件測(cè)試的重要性是毋庸置疑的。但如何以最少的人力、資源投入,在最短的時(shí)間內(nèi)完成測(cè)試,發(fā)現(xiàn)軟件系統(tǒng)的缺陷,保證軟件的優(yōu)良品質(zhì),則是軟件公司探索和追求的目標(biāo)。每個(gè)軟件產(chǎn)品或軟件開發(fā)項(xiàng)目都需要有一套優(yōu)秀的測(cè)試方案和測(cè)試方法。
測(cè)試用例

影響軟件測(cè)試的因素很多,例如軟件本身的復(fù)雜程度、開發(fā)人員(包括分析、設(shè)計(jì)、編程和測(cè)試的人員)的素質(zhì)、測(cè)試方法和技術(shù)的運(yùn)用等等。因?yàn)橛行┮蛩厥强陀^存在的,無法避免。有些因素則是波動(dòng)的、不穩(wěn)定的,例如開發(fā)隊(duì)伍是流動(dòng)的,有經(jīng)驗(yàn)的走了,新人不斷補(bǔ)充進(jìn)來;一個(gè)具體的人工作也受情緒等影響,等等。如何保障軟件測(cè)試質(zhì)量的穩(wěn)定?有了測(cè)試用例,無論是誰來測(cè)試,參照測(cè)試用例實(shí)施,都能保障測(cè)試的質(zhì)量??梢园讶藶橐蛩氐挠绊憸p少到最小。即便最初的測(cè)試用例考慮不周全,隨著測(cè)試的進(jìn)行和軟件版本更新,也將日趨完善。
因此測(cè)試用例的設(shè)計(jì)和編制是軟件測(cè)試活動(dòng)中最重要的。測(cè)試用例是測(cè)試工作的指導(dǎo),是軟件測(cè)試的必須遵守的準(zhǔn)則。更是軟件測(cè)試質(zhì)量穩(wěn)定的根本保障。
設(shè)計(jì)說明
參考百度百科:https://baike.baidu.com/item/%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B/1928697
功能用例的自動(dòng)生成法則
下面是設(shè)計(jì)一個(gè)測(cè)試登陸功能是否必填的Model文件的例子。輸入條件有登錄名、密碼、驗(yàn)證碼。各項(xiàng)輸入條件分別有不同的參數(shù)選擇。
username:? ??填寫登錄名,?不填登錄名
psw:? ??????????填寫密碼,?不填密碼
yzm:? ??????????填寫驗(yàn)證碼,?不填驗(yàn)證碼
則可產(chǎn)生下面的測(cè)試用例:
username????????psw?????????????yzm
填寫登錄名??????不填密碼????????填寫驗(yàn)證碼
填寫登錄名??????填寫密碼????????不填驗(yàn)證碼
不填登錄名??????不填密碼????????不填驗(yàn)證碼
不填登錄名??????填寫密碼????????填寫驗(yàn)證碼
填寫登錄名? ? ? 填寫密碼? ? ? 填寫驗(yàn)證碼
不填登錄名? ? ? 不填密碼? ? ? 填寫驗(yàn)證碼
從上面的例子不難看出,用例自動(dòng)生成的總量依賴于信息維度數(shù)量和維度條件數(shù)量。
什么是信息維度數(shù)量?
信息維度:? ??指的是完成一個(gè)測(cè)試鏈路(比方說:登錄),需要經(jīng)歷的步驟(一個(gè)步驟可稱為一個(gè)維度),以上面例子來看,算法中包含三個(gè)維度即:username,psw,yzm
因此:信息維度數(shù)量是 3
什么是維度條件數(shù)量?
維度條件:? ??指的是各個(gè)維度中條件的個(gè)數(shù);舉個(gè)栗子:維度username中包含了【填寫登錄名】,【 不填登錄名】?jī)深悧l件(真實(shí)場(chǎng)景中考慮邊界值、等價(jià)類情況等,條件種類會(huì)大于2)
因此:維度“username”的條件數(shù)量是2
用例總量 = C21 * C21 *C21 = 6, 因此會(huì)出現(xiàn)6種不同路徑的測(cè)試用例
這種思路等同于接口用例的自動(dòng)生成法則,站在白盒測(cè)試的角度對(duì)開發(fā)代碼的路徑進(jìn)行全覆蓋,需要設(shè)計(jì)出最小cover用例數(shù)。
功能用例的自動(dòng)生成的代碼實(shí)現(xiàn)
Case類:?? ? ????顧名思義,測(cè)試用例類,是上述6條用例的統(tǒng)稱
Action類:? ? ? 動(dòng)作,是Case攜帶的屬性之一;一個(gè)Case包含N個(gè)Action
Step類:? ? ? ? ?步驟,Action在執(zhí)行過程中最終使用了哪種的步驟;一個(gè)Action包含N種Step,但是一個(gè)Action一次執(zhí)行實(shí)例化和執(zhí)行一種Step
FullCaseRoad類:? ? 生成用例總量 的方法類,缺點(diǎn)是:將無關(guān)的用例路徑也一并生成出來,對(duì)測(cè)試人員造成了極大的時(shí)間浪費(fèi)去做排查
AnalysisTest類:? ? 用例步驟信息采集的初始化類
部分代碼如下:




上面是小編根據(jù)面向?qū)ο驤ava管理用例的思想和實(shí)際用例步驟前后的邏輯關(guān)系特性而編寫的一個(gè)十分輕量化的框架,根據(jù)這個(gè)框架可以做很多衍生,例如:
1. 數(shù)據(jù)信息輸入采集通過Excel表錄制、線上數(shù)據(jù)分析和采集等思路對(duì)接
2. 生成的實(shí)際用例與決策樹綁定建立圖像化邏輯樹圖的對(duì)接
3. 邏輯用例和數(shù)據(jù)用例的轉(zhuǎn)化等等
該框架現(xiàn)已經(jīng)開源到百度云盤上,歡迎下載使用和繼續(xù)貢獻(xiàn):
鏈接:https://pan.baidu.com/s/13wbNBjvCCKaoMgpKzidykQ
提取碼:nxtx