对于职业我们要有梦想,不抛弃不放弃。人生才会有乐趣。
影响软件可测试性的要素
上一篇 /
下一篇 2010-12-15 09:19:57
/ 个人分类:测试基础
可测试性作为软件的一个固有属性,本身与软件的许多其它属性相关,比如:业界有许多专家都在就软件复杂度与可测试性的关系进行研究。而当前普遍受到业界认同的可测试性技术研究方向是由James Bach从影响软件运行、测试难易程度的角度出发,提出的影响软件可测试性的7大软件要素理论,这七大要素描述如下:
u 可操作性:“运行得越好,测试的效率越高。”
系统的错误很少(错误增加测试过程中的分析和报告开销);
没有阻碍测试执行的错误;
产品在功能阶段的演化(允许并行的开发和测试);
u 可观察性:“你所看见的就是你所测试的。”
每个输入有唯一的输出;
系统状态和变量可见,或在运行中可查询;
过去的系统状态和变量可见,或在运行中可查询(例如:事务日志);
所有影响输出的因素都可见;容易识别错误输出;
通过自测试机制自动侦测内部错误;
自动报告内部错误;
可获取源代码;
u 可控制性:“对软件的控制越好,测试越能够被自动化执行与优化。”
所有可能的输出都产生于某种输入组合;
通过某种输入组合,所有的代码都可能被执行;
测试工程师可直接控制软件和硬件的状态及变量;
输入和输出的格式保持一致且有结构;
能够便利地对测试进行说明、自动化和重用;
u 可分解性:“通过控制测试范围,能够更快地分解问题,执行更灵巧的再测试”
软件系统由独立模块构成;
能够独立测试各软件模块;
u 简单性:“需要测试的内容越少,测试的速度越快。”
功能简单性(例如:特性集是满足需求所需的最小集合);
结构简单性(例如:将体系结构模块化以限制错误的繁殖);
代码简单性(例如:采用代码标准为检查和维护提供方便);
u 稳定性:“改变越少,对测试的破坏越小。”
软件的变化是不经常的;
软件的变化是要控制的;
软件的变化不影响已有测试;
软件失效后能得到良好的恢复;
u 易理解性:“得到的信息越多,进行的测试越灵巧。”
设计能够被很好的理解;
内部、外部和共享构件之间的依赖性能够被很好的理解;
设计的改变被通知;
可随时获取技术文档;
技术文档的组织合理;
技术文档明确详细;
技术文档精确性稳定。
收藏
举报
TAG: