qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          軟件測(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)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2013年5月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 奉贤区| 唐山市| 武冈市| 石柱| 邳州市| 连云港市| 武安市| 中山市| 丽水市| 普陀区| 武宣县| 吐鲁番市| 大宁县| 古丈县| 始兴县| 东安县| 连州市| 达州市| 大理市| 温宿县| 富民县| 浦北县| 公安县| 永年县| 卫辉市| 商丘市| 乐清市| 洛隆县| 衡山县| 额敏县| 随州市| 唐山市| 和龙市| 阿拉善右旗| 马鞍山市| 兴文县| 三亚市| 锦屏县| 恭城| 阿拉善右旗| 张家界市|