大都知道,越早發現BUG,修復BUG的成本也越低。40-60%的bug是由錯誤的需求引起的,而在測試階段修正需求錯誤,無疑將花費高昂的金錢成本與時間成本,業界普遍希望能夠在需求定義階段發現問題而不是之后發現問題。
Debug Requirement是一個新穎的概念,也是業界一直期望具備的一個能力。一般來說,需求文檔都是用自然語言書寫的,通過人工方式進行檢查會存在諸多缺陷。Stimulus是法國Argosim公司推出的一款需求建模和仿真分析工具,可以幫助用戶檢測模棱兩可的、不正確的、丟失的、或相互沖突的需求。
如何通過Stimulus這款工具來Debug需求?下面的例子是一條關于車燈的簡化需求:當車燈處于“自動”模式時,頂燈的開與關取決于環境光強度,并通過系統預設條件來避免頂燈出現頻繁閃爍的狀況。
REQ_003Aa 車燈開關撥到AUTO位置,且環境光強度≤70%,頂燈應保持ON狀態或立即進入ON狀態。光強度不超過70%,頂燈保持ON狀態,車燈開關保持AUTO狀態。
REQ_003Ab 車燈開關撥到AUTO位置,且環境光強度>70%,頂燈應保持OFF狀態或立即進入OFF狀態。光強度不低于70%,頂燈保持OFF狀態,車燈開關保持AUTO狀態。
REQ_003B 車燈開關已在AUTO位置,而頂燈在OFF狀態,且光強度低于60%,那么頂燈需在此條件下進入ON狀態至少2秒。
REQ_003C 車燈開關已在AUTO位置,而頭頂燈在ON狀態,且光強度高于70%,那么頂燈需在此條件下進入OFF狀態至少3秒。
這幾條需求涉及到比較復雜的邏輯關系,人工檢查可能要花費很長時間才能確定需求是否存在BUG。使用Stimulus這款工具對需求進行Debug后,可以清晰的看到,頂燈次進入OFF狀態后,頂燈的開與關幾乎變成了一個隨機事件,需求中必然存在嚴重的邏輯缺陷。
Stimulus創造性的自然語言需求建模及仿真驗證技術,使得在需求定義階段即可對需求進行Debug,像Debug代碼一樣Debug需求,在時間發現需求文檔中的錯誤。
Stimulus提供支持行業慣例的文本寫作模型/模板,用戶可以很容易的設計標準化的需求,同時支持共享清晰、易理解的需求。
用戶可以使用生成的測試場景對需求進行仿真和調試,生成系統有可能出現的行為,通過觀察發現不正確及不完整的需求。
一旦系統已經開發,需求仿真和調試時系統生成的一般測試場景即可被重用,用戶可以將其導出生成測試用例,并在SIL環境中重新運行。
北京經緯恒潤科技有限公司成功代理Argosim公司的Stimulus產品,成為Argosim公司的業務合作伙伴,并負責中國地區的推廣工作,有任何的產品/方案咨詢可聯系010-64840808。