可测性:
软件维护性由四个子特性组成:易分析性、易改动性、稳定性、易测试性。
软件可测试性通常是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。这里摘录下《软件可测试性需求设计》一文中的几个重点评估指标,详细信息大家可查看全文:
可控制性设计需求
可分解性设计需求
稳定性设计需求
易理解性设计需求
可观察性设计需求
测试驱动和桩的设置
适合增量式开发的可测性设计
可查询设计
自愈合功能
输出结果
提供统一的操作执行面板
每一条都有具体的评估标准,衡量待测产品可测性的优劣可以据此参考,我就不添油加醋了。另外我推荐一款google的开源代码可测性度量工具“Testability explorer”,有兴趣的同学可以试用下。
全过程测试:
产品研发过程前期,静态测试采用的越多,这是和待测产品的特性有关。大家都知道测试越提前,产品质量风险就越小,各项成本就越少。但要真正落实测试提前必须有个大前提,就是测试工程师个人能力的不断提升。不具备相应的测试能力,有再好的测试方法测试手段也没用。
一个测试团队的成长,一定是从发现缺陷到缺陷预防,真正能做到缺陷预防的团队才是成熟的团队。上文所说的大多仍是发现缺陷,如何做缺陷预防本文不探讨,但只有测试提前,只有真正做到了全过程测试,才有看到缺陷预防成功的那一天。
测试手段多样化并不仅仅是多几个测试工具,更主要的是丰富测试思路。不同业务背景、技术背景的产品我们首先要能清楚应该如何下手,然后再看需要何种技术手段支撑。先有测试思路,然后寻求技术支持。而不是先搞个技术,然后再硬生生的嵌入现有的测试过程中。当然,技术储备是持续要做的。
最后用一副很简单的图来表达我的测试理念:
小记:本文借用了不少前人的观点,原创较少。主题虽是测试手段多样化,但更多的是希望开展全过程测试。本文多次提到的,针对质量特性的各种测试方法,是明年规划之一,后续有成果会一一呈现给大家。大家明年见。
原文转自:http://www.uml.org.cn/Test/201201042.asp