大家都知道,越早发现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。