软件架构非功能需求——可测试性

是什么

可靠性是指软件有效且高效地进行测试的能力。

“有效地进行测试”指测试有深度且高质量,即通过测试可以全面检测软件的质量。“高效地进行测试”指测试所需要的成本和劳力较少,即能够花费较少的成本快速地检查软件的质量。

为什么

随着软件体积的增大和软件复杂程度的加深,测试的难度会越来越大,所需成本也会越来越高。因此我们要求软件架构不仅要保证软件正常运行,还要有简化测试的效果。

无论是开发阶段还是维护阶段,保证修改后的软件的质量都是一个非常重大的课题,在软件的各项需求中,可测试性重要程度相对较高。

简化软件的测试需要有软件架构的支持。使用能够简化测试的软件架构不仅方便调试代码和调试模块的临时整合,还可以提高排查及修复故障的效率。

怎么做

从软件架构的设计阶段开始,我们就要将测试方法纳入考虑的范围。

测试代码通常给人一种正式代码附属物的印象,但实际上,正式代码中也可以含有测试代码。这虽然与固有价值观相冲突,但从测试的重要程度来看,还是值得我们让步的。

提高可测试性的关键在于消除模块之间的依赖关系。如果存在依赖关系,难以测试的部分就会拖整个软件的后退。我们要尽量消除模块之间的依赖关系,保证测试能够较小的单位进行。

猜你喜欢

转载自blog.csdn.net/u012069234/article/details/113878209