軟件測(cè)試用例設(shè)計(jì)中的結(jié)構(gòu)設(shè)計(jì)
優(yōu)秀的開發(fā)工程師不僅是有超強(qiáng)的代碼編寫能力,同時(shí)他還有非凡的概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)能力,那么對(duì)于優(yōu)秀的測(cè)試工程師來說,不應(yīng)該僅僅是極強(qiáng)的發(fā)現(xiàn)問題的能力,還應(yīng)該具備優(yōu)秀的用例設(shè)計(jì)能力。用例設(shè)計(jì)實(shí)際上包含兩種能力,一種是結(jié)構(gòu)設(shè)計(jì)能力,一種是用例場景設(shè)計(jì)能力,今天我想和大家討論的是前一種能力。
用例設(shè)計(jì)中的結(jié)構(gòu)設(shè)計(jì)就類似于軟件開發(fā)中的概要設(shè)計(jì),它實(shí)指用例設(shè)計(jì)中的測(cè)試項(xiàng)分拆、合并、派生。目前我們測(cè)試組有些員工在思考用例設(shè)計(jì)時(shí)包含了這個(gè)環(huán)節(jié),但并沒有將這個(gè)環(huán)節(jié)熟練掌握,且一直困擾著部分人的測(cè)試工作開展。可能有人會(huì)說,我測(cè)試的產(chǎn)品質(zhì)量雖然不是最差,但我的用例設(shè)計(jì)包含了80%的用例設(shè)計(jì)場景,應(yīng)該不錯(cuò)了,干嘛還要強(qiáng)調(diào)用例設(shè)計(jì)中的結(jié)構(gòu)設(shè)計(jì)呢?
用例設(shè)計(jì)的結(jié)構(gòu)設(shè)計(jì)重要性在于如下幾方面:
1、合理地拆分測(cè)試項(xiàng),有助于保證測(cè)試任務(wù)執(zhí)行的分配與并行
2、合理地拆分測(cè)試項(xiàng),有助于和開發(fā)節(jié)奏對(duì)應(yīng)起來
3、合理地拆分測(cè)試項(xiàng),有助于保證測(cè)試的執(zhí)行與測(cè)試用例的當(dāng)初設(shè)計(jì)不脫節(jié)
4、合理的拆分測(cè)試項(xiàng),有助于保證測(cè)試覆蓋度
5、合理的拆分測(cè)試項(xiàng),有助于用例場景的設(shè)計(jì)不出現(xiàn)混亂
6、合理的拆分測(cè)試項(xiàng),有助于一個(gè)人全局能力的培養(yǎng)
……
用例設(shè)計(jì)的結(jié)構(gòu)設(shè)計(jì)這一塊究竟有什么方法可循嗎?說句實(shí)話,至少現(xiàn)在我沒有見到任何書籍介紹這一快,我在面試過程中也在了解其他公司關(guān)于這一塊的做法,很多員工聽起來很陌生,可能是這個(gè)能力僅對(duì)組長以上的員工有要求吧,有的聽起來雖然不陌生,但是更多和我溝通的是關(guān)于用例設(shè)計(jì)的生成流程,
對(duì)于方法這一塊是不清楚的。總而言之,用例設(shè)計(jì)的結(jié)構(gòu)設(shè)計(jì)這一塊對(duì)于很多公司的經(jīng)驗(yàn)總結(jié)來說還是空白,那就更談不上培訓(xùn)了。關(guān)注這一塊,我是在2001年開始的,當(dāng)時(shí)接受的一個(gè)是視頻會(huì)議系統(tǒng)的測(cè)試,組里共5個(gè)人,為了將結(jié)構(gòu)設(shè)計(jì)做好,的確費(fèi)了一番周折。通過這幾年來,在不同項(xiàng)目中與不同員工磨合,對(duì)用例設(shè)計(jì)的結(jié)構(gòu)設(shè)計(jì)部分摸索了一套如下一系列方法。我現(xiàn)在還不能說最好的,但應(yīng)該是最實(shí)用的,絕對(duì)不是為了推銷需要。
1、基于概要設(shè)計(jì)/詳細(xì)設(shè)計(jì)的模塊(組件)結(jié)構(gòu)設(shè)計(jì)
2、基于產(chǎn)品需求文檔的模塊結(jié)構(gòu)設(shè)計(jì)
3、基于數(shù)據(jù)流的結(jié)構(gòu)設(shè)計(jì)
4、基于事件驅(qū)動(dòng)的結(jié)構(gòu)設(shè)計(jì)
5、基于消息驅(qū)動(dòng)的結(jié)構(gòu)設(shè)計(jì)
6、基于處理邏輯的結(jié)構(gòu)設(shè)計(jì)
7、基于條件因素的結(jié)構(gòu)設(shè)計(jì)
8、基于MVC模型的結(jié)構(gòu)設(shè)計(jì)
9、基于測(cè)試方法的結(jié)構(gòu)設(shè)計(jì)
測(cè)試用例設(shè)計(jì)還要注意著重點(diǎn)
一、功能
關(guān)注頁面單個(gè)功能點(diǎn)驗(yàn)證,充分考慮開發(fā)改動(dòng)的每個(gè)點(diǎn)。這個(gè)是保證開發(fā)每個(gè)已知的修改點(diǎn)都能改對(duì)。
二、關(guān)聯(lián)
重點(diǎn)考慮修改點(diǎn)對(duì)其他模塊的影響,包括代碼的影響和操作數(shù)據(jù)引起的影響。
比如新增加的功能增加了數(shù)據(jù)庫表的字段,必須關(guān)聯(lián)的驗(yàn)證每個(gè)使用該表的該字段的模塊是否正常工作。難點(diǎn)在于需要分析出已知和未知的影響模塊,考慮的越多,往往遺漏的問題就越少。
三、流程
很多系統(tǒng)是有流程的,比如工作流系統(tǒng)。當(dāng)修改了一個(gè)點(diǎn)的時(shí)候,我們必須考慮整個(gè)流程是否能夠正常運(yùn)轉(zhuǎn)起來。
四、升級(jí)
我們大部分系統(tǒng)都是對(duì)已有的系統(tǒng)進(jìn)行升級(jí)。對(duì)于升級(jí)前的數(shù)據(jù),我們必須保證能夠正常工作。升級(jí)之前,需要模擬好各種情況。也需要對(duì)升級(jí)的數(shù)據(jù)庫腳本進(jìn)行充分的檢查。
五、安全
比如菜單功能權(quán)限等。
六、性能
posted on 2013-05-31 11:39 順其自然EVO 閱讀(177) 評(píng)論(0) 編輯 收藏