对于职业我们要有梦想,不抛弃不放弃。人生才会有乐趣。

影响软件可测试性的要素

上一篇 / 下一篇  2010-12-15 09:19:57 / 个人分类:测试基础

测试性作为软件的一个固有属性,本身与软件的许多其它属性相关,比如:业界有许多专家都在就软件复杂度与可测试性的关系进行研究。而当前普遍受到业界认同的可测试性技术研究方向是由James Bach从影响软件运行、测试难易程度的角度出发,提出的影响软件可测试性的7大软件要素理论,这七大要素描述如下:

u 可操作性:运行得越好,测试的效率越高。

系统的错误很少(错误增加测试过程中的分析和报告开销);

没有阻碍测试执行的错误;

产品在功能阶段的演化(允许并行的开发和测试);

u 可观察性:你所看见的就是你所测试的。

每个输入有唯一的输出;

系统状态和变量可见,或在运行中可查询;

过去的系统状态和变量可见,或在运行中可查询(例如:事务日志);

所有影响输出的因素都可见;容易识别错误输出;

通过自测试机制自动侦测内部错误;

自动报告内部错误;          

可获取源代码;

u 可控制性:对软件的控制越好,测试越能够被自动化执行与优化。

所有可能的输出都产生于某种输入组合;

通过某种输入组合,所有的代码都可能被执行;

测试工程师可直接控制软件和硬件的状态及变量;

输入和输出的格式保持一致且有结构;

能够便利地对测试进行说明、自动化和重用;

u 可分解性:通过控制测试范围,能够更快地分解问题,执行更灵巧的再测试

软件系统由独立模块构成;

能够独立测试各软件模块;

u 简单性:需要测试的内容越少,测试的速度越快。

功能简单性(例如:特性集是满足需求所需的最小集合);

结构简单性(例如:将体系结构模块化以限制错误的繁殖);

代码简单性(例如:采用代码标准为检查和维护提供方便);

u 稳定性:改变越少,对测试的破坏越小。     

软件的变化是不经常的;

软件的变化是要控制的;

软件的变化不影响已有测试;

软件失效后能得到良好的恢复;

u 易理解性:得到的信息越多,进行的测试越灵巧。

设计能够被很好的理解;

内部、外部和共享构件之间的依赖性能够被很好的理解;

设计的改变被通知;

可随时获取技术文档;

技术文档的组织合理;

技术文档明确详细;

技术文档精确性稳定。


TAG:

 

评分:0

我来说两句

Open Toolbar