二、原因:
事實(shí)上我們?cè)跍y(cè)試用例編寫和設(shè)計(jì)上遇到的一系列問(wèn)題只是一種表面的呈現(xiàn),究其原因我認(rèn)為有如下幾點(diǎn):
1、沒(méi)有適合的規(guī)范
“適合的規(guī)范”或稱“本地化的規(guī)范”。這是我們?cè)跍y(cè)試過(guò)程中遇到的第一個(gè)問(wèn)題,通常也是很容易習(xí)慣且淡忘的。我們擁有相當(dāng)多的流程文檔、指導(dǎo)步驟和書本上的定義,但它適合我們當(dāng)前的項(xiàng)目么?
每一個(gè)測(cè)試工程師在進(jìn)入這個(gè)職業(yè)的初期都會(huì)了解一些測(cè)試上的概念和術(shù)語(yǔ),進(jìn)入公司或項(xiàng)目組后也會(huì)進(jìn)一步學(xué)習(xí)相應(yīng)的文檔,例如怎樣規(guī)范編寫,怎樣定義bug級(jí)別,軟件實(shí)現(xiàn)的主要業(yè)務(wù)等。但當(dāng)測(cè)試經(jīng)理開(kāi)始給我們分配某一模塊的用例編寫時(shí),又有多少人知道該怎樣去寫,怎樣寫算是好?
在測(cè)試論壇中常能看到介紹用例編寫方法的帖子,而迷茫于怎樣應(yīng)用到實(shí)踐的回復(fù)也不為少數(shù)。為何我們無(wú)法在公司和項(xiàng)目組內(nèi)找到明確且適合的規(guī)范?于是我們只得選擇從書本或之前的用例中復(fù)制,不管是結(jié)構(gòu)還是方式都依賴于以往的經(jīng)驗(yàn),我并不是說(shuō)這樣就是錯(cuò)誤的,但不能總結(jié)成文的經(jīng)驗(yàn)無(wú)法給予測(cè)試更多幫助。我們有太多經(jīng)驗(yàn),但卻沒(méi)有形成適合的規(guī)范。
2、功能與業(yè)務(wù)的分離
我們知道怎樣列舉一個(gè)輸入框的用例,但卻很少考慮說(shuō)明這個(gè)輸入框是用來(lái)做什么的,如果仔細(xì)分析不難發(fā)現(xiàn),用例中這種功能與業(yè)務(wù)的分離越來(lái)越普遍也越來(lái)越明顯。
邊界值、等價(jià)類劃分、因果圖,這些用例方法是一種高度提純的方法,本身就很偏向于功能及代碼,所以怎樣編寫業(yè)務(wù)的用例我們就從理論上失去了參考。
復(fù)雜的業(yè)務(wù)會(huì)貫穿于整個(gè)軟件,涉及眾多功能點(diǎn),里面組合的分支更不可勝數(shù)。測(cè)試用例務(wù)求簡(jiǎn)潔、明確,這一點(diǎn)也與業(yè)務(wù)“格格不入”。功能用例依賴程序界面,業(yè)務(wù)描述依賴需求文檔。于是我們更偏向于根據(jù)已實(shí)現(xiàn)的界面編寫功能用例,列舉出眾多的邊界值、等價(jià)類。流程的操作只有憑借經(jīng)驗(yàn)和理解,這時(shí)測(cè)試出的bug是最多的,但我們卻無(wú)法使這個(gè)bug對(duì)應(yīng)到一個(gè)用例中(點(diǎn)擊一個(gè)按鈕報(bào)出的錯(cuò)誤有時(shí)原因并不在這個(gè)按鈕或按鈕所在的窗體),只能自己添加note向開(kāi)發(fā)人員指出可能出錯(cuò)的源頭。正因?yàn)槲覀儧](méi)有很好的積累業(yè)務(wù)上的用例,才使得我們感到執(zhí)行用例時(shí)發(fā)現(xiàn)的bug不多。
用例結(jié)構(gòu)的劃分一定程度上也造成了功能和業(yè)務(wù)的分離,依照界面模塊建立文件夾,并在其中新建不同用例,這使得用例從結(jié)構(gòu)上就很難聯(lián)通起來(lái)。
3、測(cè)試未能跟上變化
變化!想象一下,當(dāng)我們?cè)絹?lái)越多的聽(tīng)到開(kāi)發(fā)人員在那里高呼“擁抱變化”“敏捷開(kāi)發(fā)”的時(shí)候,測(cè)試又有什么舉措呢?當(dāng)?shù)貐^(qū)特性,軟件版本越來(lái)越多的時(shí)候,測(cè)試是否在積極響應(yīng)呢?變化是我們面臨的最大挑戰(zhàn),我認(rèn)為測(cè)試未能跟上變化是造成測(cè)試過(guò)程中遇到種種問(wèn)題和矛盾的主要原因。
對(duì)需求和程序的變化測(cè)試人員的感受是非常深的,測(cè)試總是跟在需求和開(kāi)發(fā)后面跑,使得所有風(fēng)險(xiǎn)都?jí)涸谧约荷砩。不斷壓縮的時(shí)間和資源使我們只能放棄那些“不必要”的工作:盡快投入測(cè)試,盡快發(fā)現(xiàn)bug,而非從整體把握軟件的質(zhì)量情況,統(tǒng)籌策略。
疲于應(yīng)對(duì)的直接影響就是程序質(zhì)量無(wú)法準(zhǔn)確度量,進(jìn)度無(wú)法控制,風(fēng)險(xiǎn)無(wú)法預(yù)估。用例與程序脫節(jié),新增用例混亂和缺少。長(zhǎng)此以往我們只得放棄修改、增補(bǔ)用例,甚至放棄之前積累的所有成果。用例變?yōu)槌绦蜃兏挠涗浾瑳](méi)有測(cè)試數(shù)據(jù)的保留,測(cè)試步驟和重點(diǎn)無(wú)法體現(xiàn),新加功能與原來(lái)的程序逐漸“脫離”,可能還會(huì)出現(xiàn)相互違背的情況,但這我們卻無(wú)法及時(shí)發(fā)現(xiàn)。
永遠(yuǎn)是變化決定我們的下一步工作,這也是混亂的開(kāi)始。
相關(guān)推薦:2010年下半年軟考成績(jī)查詢時(shí)間及方式匯總
2011年上半年計(jì)算機(jī)軟考時(shí)間及科目安排
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |