● 摘要
软件测试一直是工业应用与学术研究的热门学科,本研究着眼于解决当前软件测试在工业界存在的问题,并希望可以桥接其与学术研究的之间的沟壑。
第一个问题,工业实践大都使用测试文档描述测试问题,并通过人工或者使用商业软件实现测试用例的生成,而在学术研究中,大都采用基于模型的手段并非文档,此种现状滞后了学术研究的成果在工业实践中的应用。本研究基于RUCM(Restricted Use Case Modeling)建模方法,汲取了其降低自然语言二义性的优势,通过定义测试规格、设计约束规则,提出一种面向功能性的软件黑盒测试规格建模方法(Restricted Test Case Modeling),其以自然语言的方式为输入,以文档的方式组织,容易使用便于理解,并能映射为模型实例,实现了与基于模型的学术研究成果的接轨。另外,由于航空电子系统具有强实时性的特征,本文通过捕获测试需求关注的实时性系统元素扩展测试规格建模方法(RT-RTCM)。
第二个问题,在工业界要求使用基于需求的测试方法(DO178B/C),单纯依靠人工实现基于需求的测试与评审不仅要承担人为失误的风险,同时严重影响了测试的进度、难于实现可追踪性。本文提出一种基于改良的需求文档的测试自动化方法,可以实现以需求文档为输入到生成面向场景的测试用例的全自动过程。本研究由两部分组成,一部分通过设计算法,实现基于测试规格自动转换生成抽象测试用例,另一部分通过设计转换规则实现基于改良的需求规格(使用RUCM方法定义)生成测试规格。由于两部分同时使用测试规格,因此可以实现从需求文档到抽象测试用例的全自动过程,测试规格这一中间件的加入有助于人为去规范与修正需求要素与测试内容之间的推导关系,及为配置测试环境预留了接口,增加了生成测试用例的灵活性和多样性。
最后通过案例研究与分析验证本研究两部分成果:(1)测试规格建模方法与面向实时性的测试规格建模方法的易使用性与易理解性;(2)总结讨论基于需求的测试方法在工业案例中的应用。