测试工具的使用在无数应用程序中非常广泛,但在客户环境中用于质量保证时具有特别的价值。
在军事软件技术开发方面,软件开发范式与汽车技术非常不同。在军事技术中,重复的应用程序和系统是例外,而不是规则。然而,如果有一种方法可以调整软件测试过程,以最大限度地提高军事应用中的代码重用率,则可以简化认证过程,并且可以有效地重用软件,从而使开发更快,更经济。更好的是,它有可能通过使用已经适用于先前应用的软件模块来增加信心,而不是基于家庭轿车生产运行的绝对数量。
回顾影响未来
虽然上述办法有其优点,但问题依然存在。例如,它假设当我们开始重用源代码时,代码是合理的,因为应用程序已经在现场得到了证明。但是,如果某些新功能建立在代码的路径上,而实际上很少或从未执行过,该怎么办?即使是经过充分验证的代码现在也可能处理非常不同的数据。它将如何表现?
深入了解现代软件测试工具的工具箱可以帮助回答这些问题,并确保代码是健壮的,尽管有无穷无尽的不同应用程序的不同需求。
任何读过1996年6月4日阿丽亚娜5号失败的人都知道任何错误假设所固有的危险。阿丽亚娜5号失败是因为惯性参考系统中出现的软件异常 - 尽管设计与阿丽亚娜4上成功使用的设计几乎完全相同,特别是在软件的情况下[1]。
如果对阿丽亚娜4号惯性参考系统源代码进行结构覆盖分析,则通过代码的所有相关路径都将被证明以稳健的方式运行。使用适当的边界情况来显示极端情况下的鲁棒性,将显示从 64 位浮点数到 16 位有符号整数值的不受保护的数据转换。当时,从开发人员的角度来看,这可能显得迂腐且无关紧要 - 这永远不会导致Ariane 4出现问题。但它与阿丽亚娜 5 有关。
快进到结构覆盖率分析
经过 16 年的发展,这些结构覆盖分析原则不仅在动态分析中被最好的测试工具套件所采用,而且在整个软件开发范围内也实现了自动化。例如,需求可追溯性工具提供了一个可追溯性矩阵,该矩阵在应用程序的整个开发生命周期中始终保持最新且相关。
在从现有应用程序开发新的自定义应用程序时,工具可以在源代码可能受到修订要求的影响时提醒开发人员。在阿丽亚娜5号的情况下,这种能力可能突出了重新测试惯性参考系统的必要性。它甚至可能在设计阶段具有相关性,当时它可以比较不同方法所隐含的间接费用,以满足每个修订的要求。
静态分析工具不仅可以确认源代码符合撰写本文时有效的编码标准,还可以在重用时从修订标准的角度分析代码。动态测试证明了在撰写本文时在极端情况下重用代码的能力,并促进了自动回归测试,以表明最新项目的任何增强都没有损害先前证明的功能能力和健壮性。
测试工具和软件重用 – 完美匹配
测试工具的用途远不止于定制开发,但正如这些示例所示,客户环境可以说是它们带来最大质量保证优势的环境。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !