高效的测试确保可跟踪性和验证要求
这些标准的共同之处是运行以要求为基础的测试。在这些标准之中最显著的是航弹系统标准,DO-178B。这个标准主要定义了两个基于测试的要求活动作为功能测试或黑盒测试(下图),以及结构覆盖或白盒测试。
功能测试需要开发工程师或测试工程师掌握确定被测代码行为的软件要求。更确切的说,开发工程师(或测试工程师)必须根据输出和预期的结果来定义输入和条件,以便制定出测试规范。该测试规范可能会以一或多个测试用例的形式给出,以便完全遍历测试规范的要求。
结构覆盖或白盒测试有助于验证黑盒测试的完整性。结构测试也有助于确定实际建造设计的正确性;例如,如果所必的软件功能已经全部运行过,但仍然有未覆盖的代码,那么,这段多余的代码的作用就是问题所在,代码运行时间的可预测性也一样。
本文第2部分将讨论能力成熟度模型(CMMI)标准在改善软件开发过程中的作用,从中引出把测试信息映射为要求的工具。
基于需求的测试及其固有的需求可跟踪性和验证过程被普遍认为推广企业标准的最佳实践,如能力成熟度模型集成(CMMI)。CMMI是一个能够为组织提供有效过程关键元素的过程改进方法。它能够用于引导一个项目、部门或整个组织的过程改进。CMMI能同时使关键性及非关键性软件均获益。
如下方工程过程区域图所示,需求管理(REQM)和需求开发(RD)是CMMI的两个主要的过程域。
表中的技术解决方案(TS)是将需求细化为原型或组件。验证过程域(VER)确保所选择的工作产品满足规定的需求。验证过程域(VAL)则根据客户的需求加强对产品的验证。验证过程可以在工作环境或模拟工作环境中进行。
最后,从编程标准的角度看,对于所有的开发活动来说,过程如极限编程(Extreme Programming)及基于需求的开发和测试是不可或缺的。如下图所示,采用极限编程,用户的“故事”在代码开发之前,通过与客户一起合作就可以准备好,并且用作测试场景的软件前缀。
TBreq介绍
TBreq由LDRA Testbed(包括代码评审、质量评审、设计评审组件及代码覆盖)和TBrun(单元测试组件)构成,通过与LDRA工具包集成,能够提供一套独特的解决方案来克服困难,从而在测试规格、单元测试场景、测试数据及代码覆盖率验证与高层次的设计需求之间建立映射关系。
TBreq直接与需求管理工具(DOORS、ReqPro、Word或Excel)接口来保证整个软件生命周期中实现需求可跟踪性,同时保证需求覆盖的完整性(见下图)。
在LDRA工具包里,TBreq根据需求直接生成测试规范和可执行的测试用例。测试结果自动返回到需求管理工具中,提供“双向”需求可跟踪性验证。
TBreq的作用描述如下:需求可通过需求管理工具,如DOORS、ReqPro、文挡或电子数据表获取。TBreq作为这些需求源与LDRA Testbed测试管理仪表盘之间的网关,并且直接与LDRA Testbed项目及其基层项目目录接口。
评论