流程測(cè)試——流程測(cè)試執(zhí)行
流程測(cè)試,相比單個(gè)功能點(diǎn)測(cè)試更消耗測(cè)試時(shí)間,尤其是金融、通信及運(yùn)營(yíng)類的系統(tǒng)平臺(tái),往往一條路徑的測(cè)試就需要構(gòu)造大量的測(cè)試數(shù)據(jù)才能完成,因此,在執(zhí)行流程測(cè)試時(shí),應(yīng)該提前準(zhǔn)備好相關(guān)的測(cè)試數(shù)據(jù),如果涉及較大量的數(shù)量,可利用一些數(shù)據(jù)生成工具來(lái)制造測(cè)試數(shù)據(jù)。
敏捷測(cè)試中以一個(gè)Sprint為節(jié)點(diǎn),通常Sprint中包括的用戶故事具有較強(qiáng)的耦合度,測(cè)試工程師根據(jù)產(chǎn)品實(shí)現(xiàn),確定業(yè)務(wù)流程從而開(kāi)展測(cè)試活動(dòng)。
流程測(cè)試執(zhí)行的順序可以先從單個(gè)功能測(cè)試開(kāi)始,這點(diǎn)根據(jù)開(kāi)發(fā)工程師提供的模塊確定,開(kāi)發(fā)工程師提供了哪些功能,測(cè)試工程師則先開(kāi)始測(cè)試,當(dāng)模塊逐步集成時(shí),再進(jìn)行流程測(cè)試,因?yàn)榱鞒虦y(cè)試的前提是單個(gè)功能點(diǎn)正確。
當(dāng)產(chǎn)品功能逐步集成后,進(jìn)行冒煙測(cè)試時(shí),應(yīng)當(dāng)以將基本流作為冒煙測(cè)試用例執(zhí)行,驗(yàn)證被測(cè)對(duì)象是否具備可測(cè)性。冒煙測(cè)試通過(guò)后再進(jìn)行正式測(cè)試。
以上介紹的是從用戶角度出發(fā),完成某個(gè)具體業(yè)務(wù)需求的流程測(cè)試方法,在實(shí)際測(cè)試工作中,還有一種流程測(cè)試思路,筆者稱為邏輯流程測(cè)試方法。
【案例1 ECShop商品管理功能測(cè)試】
ECShop商品管理功能的應(yīng)用邏輯流程如圖1所示。

圖1 ECShop商品管理流程
軟件測(cè)試實(shí)施過(guò)程中,從用戶角度出發(fā),可能因每個(gè)角色的業(yè)務(wù)目標(biāo)不同,而導(dǎo)致業(yè)務(wù)邏輯斷裂,造成測(cè)試活動(dòng)無(wú)邏輯,浪費(fèi)測(cè)試時(shí)間,如果測(cè)試工程師不僅僅關(guān)注用戶期望,還從數(shù)據(jù)完整性、可溯性角度考慮,將會(huì)降低這類風(fēng)險(xiǎn)。
以圖1為例,測(cè)試工程師在實(shí)施測(cè)試過(guò)程中,可先進(jìn)行后臺(tái)商品類別管理的測(cè)試,然后再進(jìn)行商品信息管理,最后再切換用戶進(jìn)行購(gòu)買業(yè)務(wù)。如果測(cè)試任務(wù)分配時(shí),將后臺(tái)商品管理與前臺(tái)購(gòu)物分開(kāi),則有可能造成數(shù)據(jù)不一致的錯(cuò)誤,同時(shí)也增加了測(cè)試工程師之間的溝通成本。以筆者的測(cè)試經(jīng)驗(yàn),通常進(jìn)行如下的測(cè)試流程:
首先測(cè)試商品類別管理功能,只有存在商品類別,才能添加商品。商品類別管理中先執(zhí)行增加商品類別測(cè)試用例,然后再執(zhí)行修改商品類別用例,最后執(zhí)行刪除商品類別用例;
商品類別管理功能測(cè)試完成后,進(jìn)行商品管理測(cè)試,同樣的順序,執(zhí)行增加商品用例->修改商品用例->刪除商品用例->查詢商品用例,遵循用戶基本的應(yīng)用習(xí)慣。
最后切換身份,使用注冊(cè)用戶帳號(hào)登陸前臺(tái),執(zhí)行查詢商品、購(gòu)買商品的用例,從而完成完整的商品管理功能(提供數(shù)據(jù)、應(yīng)用數(shù)據(jù))。
除了上述兩種情況外,還有一種可能性,就是Web系統(tǒng)與App結(jié)合的結(jié)構(gòu),測(cè)試這種結(jié)構(gòu)時(shí)同樣需考慮業(yè)務(wù)邏輯的一致性,筆者曾經(jīng)遇到一個(gè)缺陷,是某航空官網(wǎng)與其App注冊(cè)與登陸功能要求不一致的問(wèn)題。官網(wǎng)要求注冊(cè)帳號(hào)密碼不少于6位,但App登陸時(shí),提示密碼為6位,當(dāng)用戶在官網(wǎng)密碼設(shè)置超過(guò)6位時(shí),則無(wú)法在App登陸,必須修改為6位。這樣的缺陷對(duì)用戶而言是無(wú)法接受的,應(yīng)用起來(lái)非常麻煩。
目前大部分的業(yè)務(wù)系統(tǒng)中,都涉及到大量的業(yè)務(wù)流程,因此測(cè)試工程師應(yīng)當(dāng)重視流程測(cè)試的方式方法。如果被測(cè)對(duì)象沒(méi)有明確的需求或者需求中沒(méi)有給出流程圖,測(cè)試工程師可根據(jù)相關(guān)測(cè)試資源繪制流程圖,流程圖不一定畫的很完美,只需要表述流程結(jié)構(gòu)即可,這樣便于對(duì)被測(cè)對(duì)象的理解、測(cè)試用例設(shè)計(jì)及后期的執(zhí)行操作。如果測(cè)試設(shè)計(jì)時(shí),能夠接觸到實(shí)際的用戶更好,可請(qǐng)用戶幫忙評(píng)審流程,從而保證測(cè)試設(shè)計(jì)的正確性。

