可测试性是指软件有效且高效地进行测试的能力。 “有效地进行测试”指测试有深度且高质量,即通过测试可以发现绝大多数缺陷,软件质量能够得到保证。 “高效地进行测试”指测试所需成本和劳力较少,即能够花费较少的成本快速地完成软件测试。 可测试性在需求分析阶段就应足够重视。可测试性本身也是需求验收准则之一。 在需求分析阶段,需求开发人员应确保每条需求,特别是非功能性需求。 比如,在描述“易用性”时,如果描述“软件易用性好”是不具备可测试性的,而要满足可测试性要求,应当这样描述: 会使用Windows上运行的人机界面软件的用户可以在2天内学会使用本软件。 满足可测试性要求的需求具备被测试的基础,但是,要实现“有效且高效”地测试,还需要在设计阶段进行良好的设计。 程序员在进行软件架构设计的时候,就必须考虑如何“有效且高效”进行测试的需求,进行简单设计、健壮性设计、可扩展性设计……只有为了“可测试性”进行设计才能在实现阶段编写出满足“可测试性”的代码。 提高可测试性的关键在于消除模块/单元之间的依赖关系。这样一来,就可以保证测试能够以较小的单位进行。较小的测试单位能够快速高质量地完成,可以“有效且高效”。 总之,要使得软件的可测试性得到满足,不仅在需求分析阶段描述需求时应确保满足“可测试性”要求,还应在设计与实现阶段进行有针对性的设计。 这正是: 确保质量需测试,测试有效且高效 参考书目:编程的原则:改善代码质量的101个方法,作者:上田勋,译者: 支鹏浩,出版社: 人民邮电出版社 |
|