好文档 - 专业文书写作范文服务资料分享网站

软件可测试性设计(基于需求规格层面)

天下 分享 时间: 加入收藏 我要投稿 点赞

软件可测试性设计

---基于需求规格层面

上海博为峰软件技术有限公司

2010年11月2日

上海博为峰软件技术有限公司

系统名称 文档名称 起草人 审核意见 可测试性设计 可测试性设计 文档编号 版本号 审核人 四维图新和博为峰软件联合制定 V1.0

2

上海博为峰软件技术有限公司

修订情况

版本 V1.0 修改人员 宋光照 备注 初始版本

3

上海博为峰软件技术有限公司

目录

1 2 3 4

引言........................................................................................................................................... 5 可测试性需求 ........................................................................................................................... 5 可测试性设计 ........................................................................................................................... 5 需求可测试性检查清单 ........................................................................................................... 6 4.1 可测试性主要面临的问题 ............................................................................................... 6 4.2 可测试性通用检查点 ....................................................................................................... 6 4.3 测试用例的可设计性检查点 ........................................................................................... 6 4.4 测试执行的可控性检查点 ............................................................................................... 7 4.5 测试结果的可观察性检查点 ........................................................................................... 7 5 需求可测试性案例分析 ........................................................................................................... 8

4

上海博为峰软件技术有限公司

1 引言

可测试性是软件的一个基本属性,它的好坏决定了产品是否易于测试,是否易于定位问题。因此,可测试性的重要性不言而喻。

该技术在提高开发设计质量,提高测试效率、充分性,降低问题发现、定位成本,提高可维护性、可靠性等多个方面都有广阔的应用空间。

2 可测试性需求

软件可测试性需求是产品需求包中的一种非功能需求,它是一种非功能属性方面的设计约束。

为了方便对可测试性需求进行归类,将可测试性需求分为3类:

? 内建可测试性需求:是一种对可测试性能力、机制的需求,例如:存储过程机制、引擎

接口、测试环境架构等方面的需求,均属于此类可测试性需求; ? 公共可测试性需求:主要针对平台软件、操作系统、数据库等与业务无关的公共子系统

的可测试性需求。例如:操作系统资源核查:内存、定时器、队列、消息包等;各种数据库资源核查,进程切换堆栈,死锁检测等等方面的需求,均属于此类可测试性需求; ? 特性可测试性需求:主要是针对业务相关的可测试性需求,例如,设置车道信息的可测试性需求,设置危险信息的可测试性需求等,尽量描述成参数化的、易读的需求。

3 可测试性设计

可测试性的特性包括很多方面,其中最主要的是这么几个:可设计性、可控性和可观察性。所以在软件设计时要全面地考虑对这些特性的满足程度。

具体来讲,可设计性主要是指软件在满足需求的基础上尽量简单、无冗余,并且软件也能被分解为独立的模块进行单独测试。简单的话,从软件的角度讲,复杂度低,出错的可能性就低;而从测试的角度讲,简单即意味着测试的成本和难度降低,测试输入则更容易实施。而可分解为独立模块这也是将大型软件的测试简化的关键方法,当分解为独立部分后,则测试时只需要相关部分的输入输出。

可控性是软件易于施加外部输入和控制内部状态的能力。测试执行的一项主要工作就是向被测软件施加输入,输入越多、输入间的关系越复杂、输入接口的通用性越差就越难施加输入,可控性也就越差。另一方面,为了验证软件的某些特殊功能或测试软件在某些特殊情况下的反应,可能需要软件处于一些非正常状态,此时就需要能够控制软件内部状态。 可观察性是软件易于观测外部输出、监控内部状态的能力。测试执行过程中的另一项主要工作就是观测和收集测试结果,软件的输出是否明显、是否易于观察、输出数据是否易于收集都将影响软件的测试效果。对于外部输出不明显、不易于观测或输出数据过少等情况,就要求软件能方便地监控内部状态、辅助判断测试结果。

5

软件可测试性设计(基于需求规格层面)

软件可测试性设计---基于需求规格层面上海博为峰软件技术有限公司2010年11月2日上海博为峰软件技术有限公司系统名称文档名称起草
推荐度:
点击下载文档文档为doc格式
3txa71rpbp9lpyv23wwc1symv1joq100785
领取福利

微信扫码领取福利

微信扫码分享