(整理雨天號子的分享中提到的‘實例化需求’和‘MFQ&PPDCS’的概念仑荐,如下)
一阎曹、SBE:實例化需求
顧名思義就是要用例子的方式去闡述需求,這個概念是由Gojko Adzic提出的(《實例化需求》)煞檩。書中的實例化需求的主要流程圖:
下圖為整理后的中文圖
主要包括以下重要環(huán)節(jié):
-- 從目標中獲取范圍:要一直牢記商業(yè)價值处嫌,為什么要做。很多時候執(zhí)行項目時太關注怎么做了斟湃。
-- 用例子來協(xié)作探討需求:例子能更好得把需求描述清楚熏迹,不能含糊。
-- 提煉需求說明:通過例子了解需求后就可以提煉出需要的需求說明凝赛。
-- 執(zhí)行需求說明并自動化:需求說明如果能執(zhí)行并放入到持續(xù)集成后注暗,信息就不會過期坛缕。
-- 活文檔:文檔要長久,就必須要容易維護捆昏,從需求說明中自動產生出的活文檔是最有效的方式赚楚。
(參考:http://blog.sina.com.cn/s/blog_898868010102viv6.html,其中‘網上書店’的例子很清楚的描述了SBE的過程)
另外骗卜,這里記錄下其它兩個比較普遍的需求管理概念:
1)TDD:測試驅動開發(fā)
針對每個功能點抽象出接口代碼宠页,進行接口、單元測試寇仓,循環(huán)此過程直到所有單元測試通過举户。測試代碼確定需要編寫什么產品代碼。優(yōu)點是減少了底層邏輯錯誤從而大大降低bug數量遍烦。但并非所有項目適合TDD俭嘁,需具備以下條件:1)項目需求必須足夠清晰,2)業(yè)務流程及其復雜服猪、模塊間依賴性高的項目不適用供填。
2) BDD:行為驅動開發(fā)
在TDD中,我們并不能完全保證根據設計所編寫的測試就是用戶所期望的功能蔓姚。BDD將這一部分簡單和自然化捕虽,用自然語言來描述,讓開發(fā)坡脐、測試泄私、BA以及客戶都能在這個基礎上達成一致。BDD考慮它的行為备闲,也就是說它應該如何運行晌端,然后抽象出能達成共識的規(guī)范。BDD自動化測試工具:Cucumber
二恬砂、MFQ & PPDCS
參考鏈接:http://www.ltesting.net/ceshi/ceshijishu/csyl/2013/0822/206598_3.html
1. MFQ
MFQ針對大型系統(tǒng)開展測試分析和測試設計咧纠。大型嵌入式軟件系統(tǒng)有三個明顯的特征:多和復雜的功能,數量眾多的功能交互泻骤,高質量特性要求漆羔,相應地,大型嵌入式軟件系統(tǒng)的MFQ測試分析和設計框架包括三個部分:M-基于模型的簡單功能測試分析和設計;F-功能交互測試分析和設計;Q-質量屬性測試分析和設計狱掂。針對上述這3個部分的每個部分演痒,基于4-step模型的測試分析和測試方法都會用到。
step1)為測試對象建模
有很多流行有效的測試規(guī)范技術例如等價類劃分趋惨、邊界值鸟顺,決策表,業(yè)務流程圖器虾、基于狀態(tài)的測試等等讯嫂,測試分析者常常發(fā)現(xiàn)在建模的時候面對很多的選擇蹦锋,他們很快陷入不知道選擇哪個的情形。很多模型可用被用來描繪一個測試對象欧芽,但是經常情況下只有其中一種最適合我們使用莉掂。PPDCS就是要解決這個問題的構想。
step2)設計基礎測試用例(有時候叫做合邏輯的或者抽象的測試用例)來覆蓋這個模型
step3)考慮測試數據的變化來敲定測試用例(有時叫做具體的測試用例)
step4)進一步測試
在低級別的測試渐裸,比如單元測試巫湘,簡單功能(“M”Part)要徹底測試。在高級測試級別昏鹃,比如系統(tǒng)測試尚氛、功能交互(“F”part)和質量屬性(“Q”部分)需要徹底地測試。然后洞渤,這并不是絕對的阅嘶。
2. PPDCS
第一個字母“P” 是“流程”的意思,第二個字母“P”是“參數”的意思载迄,第三個字母“D”是“數據”的意思讯柔,第四個字母“C”是“組合”的意思,最后一個字母”S“是”狀態(tài)”的意思护昧。
1)如果在測試對象的設計規(guī)范中有存在相關“流程”的特征魂迄,“P-Process”方法可以用來建模。流程的特征包括:a.很多步驟構成一個流程惋耙,且步驟之間有順序關系捣炬;b.涉及超過一個角色或者觸發(fā)條件;c.P-Process特征的設計規(guī)范經常包括一系列的步驟或者用戶場景绽榛。
2)如果在測試對象的設計規(guī)格中存在“變量或者參數”含義的特性湿酸,“P-Parameter”方法可以用來建模∶鹈溃“參數”特性包括:a. 設計規(guī)格中沒有明顯地流程推溃,但是涉及“很多參數”。b. 設計規(guī)格中包含很多規(guī)則届腐,每條規(guī)則有很多不同的變量和不同的值組成铁坎。c. 參數的數量是有限的。測試分析者可以容易地識別參數間的邏輯關系犁苏。
3)如果在測試對象的設計規(guī)范中存在“數據”特征厢呵,“D-數據”方法可以用來建模】耍“數據”特性包括:a. 每個數據有它特殊的范圍值。b. 跟”參數“不一樣碌奉,數據之間沒有明顯的”規(guī)則“或者邏輯關系短曾。c. 不同的數據的范圍可能存在限制寒砖。d. 涉及的數據個數是有限的
4)在“P-過程”和“D-數據”的案例中,如果參數或者數據的數量太多以致很難手工列出來嫉拐,“C-組合”方法可以用上哩都。“組合“特性包括:a. 存在大量的參數(數據)婉徘。b. 每個參數有很多值漠嵌。c. 參數之間可能存在一些邏輯關系
5)如果測試對象的設計規(guī)格中存在”狀態(tài)“特征,”S-狀態(tài)“方法可以被用來建模盖呼∪迓梗”狀態(tài)“的特性包括:a. 測試對象的行為變化基于它內部的狀態(tài)。b. 確定的事件觸發(fā)測試對象的狀態(tài)