首页 > 软件测试/ 正文
软件可测试性设计
2013-01-03 06:01:58 ℃
一、概述 随着软件行业的迅猛发展,软件测试也逐渐受到越来越多的软件公司所重视,然而开发出来的软件直接就可以拿出来做测试吗?根据近几年来的实践证明,在设计软件时事先没有对软件的可测试性进行周密设计和部署的软件在测试时总是很难于进行,直到测试无法进行下去为止。被测软件在编码时需要考虑给测试和后期的产品维护提供必要的手段和接口支持,即要求软件具有可测试性。基于可测试性的目标考虑,良好的架构设计,完备的接口,使得软件测试更加高效和可行,同时产品维护也更加便利。 本文描述的范围:可测试性定义、可测试性特征、可测试性设计。 读者对象:系统分析和设计人员、开发人员、测试人员。 参考文献: 1、《软件可测试性需求设计》 Vince 2、《高质量C++/C编程指南》 林锐 3、《软件工程思想》 林锐 二、软件可测试性定义 2.1 可测试性定义 软件的可测试性是指在一定的时间和成本前提下,进行测试设计、测试执行以此来发现软件的问题,以及发现故障并隔离、定位其故障的能力特性。简单的说,软件的可测试性就是一个计算机程序能够被测试的容易程度。 一般来说可测试性很好的软件必然是一个强内聚、弱耦合、接口明确、意图明晰的软件,而不具可测试性的软件往往具有过强的耦合和混乱的逻辑。 2.2 可测试性特征 1、可操作性:“运行得越好,被测试的效率越高。” 1)系统的错误很少; 2)没有阻碍测试执行的错误; 3)产品在功能阶段的演化(允许同时的开发和测试)。 2、可观察性:“你所看见的就是你所测试的。” 1)每个输入有唯一的输出; 2)系统状态和变量可见,或在运行中可查询; 3)过去的系统状态和变量可见,或在运行中可查询(例如:事务日志); 4)所有影响输出的因素都可见; 5)容易识别错误输出; 6)通过自测机制自动侦测内部错误; 7)自动报告内部错误; 8)可获取源代码。 3、可控制性:“对软件的控制越好,测试越能够被自动执行与优化。” 1)所有可能的输出都产生于某种输入组合; 2)通过某种输入组合,所有的代码都可能被执行; 3)测试工程师可直接控制软件和硬件的状态及变量; 4)输入和输出格式保持一致且有结构; 5)能够便利地对测试进行说明、自动化和再生; 6)接口和模块易控制; 7)业务流程和场景易控制。
- 上一篇:讨论SOA的真正价值所在!
- 下一篇:质量管理十大原则
更多java,计算机培训学校,2013计算机考研学校,计算机维修培训,计算机学校,计算机培训 资讯相关文章
- Java如何实现网页程序自动登录
- Java对数函数及Java对数运算
- 软件测试代码覆盖率的分析
- 七嘴八舌话探索性测试
- 每日构建和冒烟测试
- 测试驱动开发的感悟
- 自动化测试真的能提高效率吗
- 敏捷测试的开发流程
- 我的软件测试之旅:(4)并行——自动化回归测试
- 如何有效的做Code Review
- 软件测试向敏捷要什么?
- 本地化测试
- 从一个测试实验想到的
- 软件测试领域架构
- 新浪会员探索性测试思路详解
- 同行评审那些事儿(九):最佳实践(3)
- 质量管理十大原则
- 建立质量保证方法论的核心手段——要素有形化和无缝整合
- 持续关注质量——产品属于每一个人
- 质量管理漫漫谈之也谈QA的考核
- 研发质量管理的指导思想
- 如何确定一个软件测试项目的终结点
- 软件测试这个工作如何?
- 怎样识别山寨笔记本电脑
- Windows安全模式的功能和作用
- 详解BIOS和CMOS区别
- 一位电脑达人对用电脑的一些经验总结
- 软件方面女生适合什么工作
- 搜索
-
- 热门标签