
一、問題
許多測驗類書籍中都有大幅的篇章介紹用例的設計方法,如等價類劃分,邊界值,錯誤推斷,因果圖等,但實際應用中這些理論卻不能給我們很明確的行為指導,尤其是業務復雜,關聯模塊緊密,輸入標準和輸出結果間路徑眾多時,完全的遵循這些方法只能讓我們在心理上得到一種滿足,而無法有效的提高測驗效率,
有時我們只有依靠以前專案的用例撰寫經驗(或習慣),希望能在這一個專案中更加規范,但多數情況下我們規范的只是“書寫的規范”,在用例設計上以前存在的問題現在依舊,
當好不容易用例基本完成,我們卻發現面對隨之而來的眾多地區特性和新增需求,測驗用例突然處于一種十分尷尬的境地:
☉ 從此幾乎很少被執行
☉ 執行用例發現的bug很少
☉ 根本沒有時間為新的功能需求增補用例
☉ 有時間補充,但用例結構越來越亂
☉ 特性的用例與通性用例之間聯系不明確(以新增需求為主線列出所有涉及到的更改,但特性與通行之間的資料或業務聯系在用例中逐漸淡化)
☉ 知道怎樣執行這個用例,但它要說明什么呢?(多數用例給我們的感覺是只見樹木,不見森林,只對某一功能,無法串起)
通過上面的一系列問題可以看到,似乎測驗用例給我們帶來的問題遠多于益 處,也正是因為在實際程序中遇到的問題積累,導致我們有很充分的理由忽視或拒絕用例的應用,
但沒有用例或簡略用例的撰寫我們又會舒服很多么?不言自明,誰也不想倒退發展吧,

二、原因
事實上我們在測驗用例撰寫和設計上遇到的一系列問題只是一種表面的呈現,究其原因我認為有如下幾點:
1、沒有適合的規范
“適合的規范”或稱“本地化的規范”,這是我們在測驗程序中遇到的第一個問題,通常也是很容易習慣且淡忘的,我們擁有相當多的流程檔案、書本上的定義,但它適合我們當前的專案么?
每一個測驗工程師在進入這個職業的初期都會了解一些測驗上的概念和術語,進入公司或專案組后也會進一步學習相應的檔案,例如怎樣規范撰寫,怎樣定義bug級別,軟體實作的主要業務等,但當測驗經理開始給我們分配某一模塊的用例撰寫時,又有多少人知道該怎樣去寫,怎樣寫算是好?
在測驗論壇中常能看到介紹用例撰寫方法的帖子,而迷茫于怎樣應用到實踐的回復也不為少數,為何我們無法在公司和專案組內找到明確且適合的規范?于是我們只得選擇從書本或之前的用例中復制,不管是結構還是方式都依賴于以往"的經驗,我并不是說這樣就是錯誤的,但不能總結成文的經驗無法給予測驗更多幫助,
我們有太多經驗,但卻沒有形成適合的規范,
2、功能與業務的分離
我們知道怎樣列舉一個輸入框的用例,但卻很少考慮說明這個輸入框是用來做什么的,如果仔細分析不難發現,用例中這種功能與業務的分離越來越普遍也越來越明顯,
邊界值、等價類劃分、因果圖,這些用例方法是一種高度提純的方法,本身就很偏向于功能及代碼,所以怎樣撰寫業務的用例我們就從理論上失去了參考,
復雜的業務會貫穿于整個軟體,涉及眾多功能點,里面組合的分支更不可勝數,
測驗用例務求簡潔、明確,這一點也與業務“格格不入”,功能用例依賴程式界面,業務描述依賴需求檔案,于是我們更偏向于根據已實作的界面撰寫功能用例,列舉出眾多的邊界值、等價類,
流程的操作只有憑借經驗和理解,這時測驗出的bug是最多的,但我們卻無法使這個bug對應到一個用例中(點擊一個按鈕報出的錯誤有時原因并不在這個按鈕或按鈕所在的表單),正因為我們沒有很好的積累業務上的用例,才使得我們感到執行用例時發現的bug不多,
用例結構的劃分一定程度上也造成了功能和業務的分離,依照界面模塊建立檔案夾,并在其中新建不同用例,這使得用例從結構上就很難聯通起來,
3、測驗未能跟上變化
想象一下,當我們越來越多的聽到開發人員在那里高呼“擁抱變化”“敏捷開發”的時候,測驗又有什么舉措呢?當地區特性,軟體版本越來越多的時候,測驗是否在積極回應呢?變化是我們面臨的最大挑戰,我認為測驗未能跟上變化是造成測驗程序中遇到種種問題和矛盾的主要原因,
對需求和程式的變化測驗人員的感受是非常深的,測驗總是跟在需求和開發后面跑,使得所有風險都壓在自己身上,不斷壓縮的時間和資源使我們只能放棄那些“不必要”的作業:盡快投入測驗,盡快發現bug,而非從整體把握軟體的質量情況,統籌策略,
疲于應對的直接影響就是程式質量無法準確度量,進度無法控制,風險無法預估,用例與程式脫節,新增用例混亂和缺少,長此以往我們只得放棄修改、增補用例,甚至放棄之前積累的所有成果,用例變為程式變更的記錄摘要,沒有測驗資料的保留,測驗步驟和重點無法體現,新加功能與原來的程式逐漸“脫離”,可能還會出現相互違背的情況,但這我們卻無法很快發現,

最后: 給大家推薦一個 q 群:902061117 里面有許多資料共享!資料都是面試時面試官必問的知識點,也包括了很多測驗行業常見知識,其中包括了有基礎知識、Linux必備、Shell、互聯網程式原理、Mysql資料庫、抓包工具專題、介面測驗工具、測驗進階-Python編程、Web自動化測驗、APP自動化測驗、介面自動化測驗、測驗高級持續集成、測驗架構開發測驗框架、性能測驗、安全測驗等,
如果對你有一點點幫助,各位的「點贊」就是小編創作的最大動力,我們下篇文章見!
好文推薦
2021軟體測驗工程師面試題匯總(內含答案)-看完BATJ面試官對你豎起大拇指!
什么樣的人適合從事軟體測驗作業?
軟體測驗和軟體開發哪個發展更好
那個準點下班的人,比我先升職了…

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293110.html
標籤:其他
