软件测试用例设计方法7种方法解读_第1页
软件测试用例设计方法7种方法解读_第2页
软件测试用例设计方法7种方法解读_第3页
软件测试用例设计方法7种方法解读_第4页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录一、等价类分析法2二、边界值分析5三、错误猜测法6四、判定表法6五、流程分析方法7六、正交试验设计法9七、状态迁移法10一、等价类分析法等价类划分方法针对手机状态大致可以归几个大类:1.按键类(等价法) :有效输入和无效输入(有效输入指UM 和菜单指示;无效输入指测试菜单功能此时没有定义的按键和用户动作);2. 外部中断类(等价法) :常用、不常用及无效2.1.常用:来电和来消息(短信、彩信、push 消息);掀合盖;侧键;耳机 FM;情景模式;电量不足2.2.不常用:充电;闹钟记事本关机时间整点报时提示;Icon 动画显示; Icon动画刷新;编辑界面pop 显示框输入为空或满;编辑界面

2、pop 显示框状态输入法默认字符编码默认;失效 SIM 卡;大容量等 SIM 卡兼容; 排序;号码识别;2.3.无效:“资料读取中”;“复制中 ”;“请稍后再试”3. 存储器类3.1. 等价法分类:读或写;不读或不写。3.2. 因果法分类:先 SIM 卡后手机;先手机后 SIM 卡;提示用户选择存储器 (对比 Nokia )。3.3. 操作分类:读;写;新增;删除;复制(先删除后新增;先新增后删除)4. 状态类:正确;错误;变更;用户设定变更举例一,短消息发送功能 :英文: Default 7-bit alphabet (over 160 characters)合法等价类:0 160非法等价类

3、: >160The quick fox jumps over the lazy brown dog中文: UCS-2 alphabet (over 70 characters)合法等价类:0 70非法等价类: >70诺基亚(英文) : Extended default 7-bit alphabet (over 140 Bytes),智慧短信,可以携带黑白图片。合法等价类:0 140非法等价类: >140在写字板里面输入“联通”二字,保存后,再打开,即出现乱码。举例二,单个通话实例的拨打与挂断测试用例标识测试阶段:系统测试测试项单个通话实例的拨打与挂断测试项属性A参照规范重要级

4、别高测试原因手机在待机状态下,确保手机能正常拨出电话预置条件1.正常信号环境2.IDLE 状态3.默认原厂参数设定输入1.电话号码(手机号码,固定电话,带分机的号码,字符串,特殊号码如:*21*021xxxxxxxx# ,+或 00,超短号码,超长号码,拨打一位号码,拨打最大长度号码 等)2. 拨号过程中电池低电量提示、来短信、来彩信3. 拨号过程中闹钟时间到、行事历时间到4. 拨号过程中插上充电器5. 拨号过程中突然断电6. 按键加锁测试执行步骤IDLE 状态拨打号码按 Send 键发送按 End 键挂断预期输出结果1.按 Send 键可以拨打并显示,按End 键可挂断2. 拨打号码过程电池

5、低电量提示、来短信、来彩信拨打界面正常3. 拨打号码过程闹钟时间到、行事历时间到拨打界面正常4. 拨号过程中插上充电器,背光状态及拨打界面正常5. 拨号过程中突然断电,插上充电器重新开机后能正常拨出6. 按键加锁仅可拨打紧急电话号码112测试用例标识测试阶段:系统测试测试项单个通话实例的拨打与挂断测试项属性A参照规范重要级别高测试原因手机在无信号或无网络情形下,手机无法正常拨打电话预置条件1.正在搜索网络或正处于注册界面2.IDLE 状态3.默认原厂参数设定输入同上用例测试执行步骤IDLE 状态拨打号码按 Send 键拨号预期输出结果测试用例标识测试项测试项属性参照规范重要级别测试原因预置条件

6、输入测试执行步骤1. 重复以上操作,提示无法拨打成功的提示信息2. 重复以上步骤,背光处理正常测试阶段:系统测试单个通话实例的拨打与挂断A高SIM 卡失效情况下,手机无法正常拨打电话1.事先准备欠费、过期、被锁、注册失败、无法使用的SIM 卡2. IDLE 状态3. 默认原厂参数设定同上用例IDLE 状态拨打号码按 Send 键拨号预期输出结果1.重复以上操作,提示无法拨打成功的提示信息2. 重复以上步骤,背光处理正常3. 重复以上步骤,提示给用户可接受的错误异常信息测试用例标识测试阶段:系统测试测试项单个通话实例的拨打与挂断( 开启固定拨号名单时 )测试项属性A参照规范重要级别高测试原因手机

7、在待机状态下,确保手机能正常拨出固定拨号名单中电话号码预置条件正常信号环境IDLE 状态默认原厂参数设定SIM 卡开启固定拨号名单输入1.预选存取电话号码(手机号码,固定电话,带分机的号码,字符串,特殊号码如: *21*021xxxxxxxx#,+或 00 ,超短号码,超长号码,拨打一位号码,拨打最大长度号码等)2.拨打固定拨号名单中存在的号码。如,8621xxxxxxxxw00000003.拨打固定拨号名单中没有的号码。如,xxxxxxxx4.拨号过程中电池低电量提示、来短信、来彩信5.拨号过程中闹钟时间到、行事历时间到6.拨号过程中插上充电器7.拨号过程中突然断电8.按键加锁9.操作通话选

8、项菜单测试执行步骤IDLE 状态拨打号码按 Send 键发送按 End 键挂断预期输出结果1.按 Send 键可以拨打并显示,按End 键可挂断,拨号画面正常,且显示固定拨号名单中名字2.拨号画面正常3.拨号画面提示“限拨FDN名单”4.拨打号码过程电池低电量提示、来短信、来彩信拨打界面正常5.拨打号码过程闹钟时间到、行事历时间到拨打界面正常6.拨号过程中插上充电器,背光状态及拨打界面正常7.拨号过程中突然断电,插上充电器重新开机后能正常拨出8.按键加锁仅可拨打紧急电话号码1129.通话选项菜单功能正常测试用例标识测试阶段:系统测试测试项单个通话实例的拨打与挂断( 设定通话限制时)测试项属性A

9、参照规范重要级别高测试原因手机在待机状态下,确保手机能满足通话限制功能预置条件正常信号环境IDLE 状态默认原厂参数设定申请开通通话限制服务输入测试执行步骤IDLE 状态拨打号码按 Send 键发送按 End 键挂断预期输出结果测试用例标识测试阶段:系统测试测试项单个通话实例的拨打与挂断( 漫游情形时 )测试项属性A参照规范重要级别高测试原因手机在待机状态下,确保手机能满足通话限制功能预置条件正常信号环境IDLE 状态默认原厂参数设定申请开通通话限制服务输入测试执行步骤IDLE 状态拨打号码按 Send 键发送按 End 键挂断预期输出结果二、 边界值分析例子 1:短消息发送功能的等价类划分方

10、法:英文: Default 7-bit alphabet (over 160 characters)合法等价类:0 160非法等价类: >160The quick fox jumps over the lazy brown dog中文: UCS-2 alphabet (over 70 characters)合法等价类:0 70非法等价类: >70诺基亚(英文) : Extended default 7-bit alphabet (over 140 Bytes),智慧短信,可以携带黑白图片。合法等价类:0 140非法等价类: >140例子 2:首先用 7 列的 LCD显示屏,软

11、件可以显示7 列汉字,如果换成8 列汉字的显示屏,那么,如果软件格式化处理比较僵化,可能依然显示7 个汉字。这样, 软件的实现, 与 LCD的规格不符合。因此,需要考虑LCD屏幕的规格,依据边界值方法设计用例。LCD屏幕上有效显示区域 4 行每行 8 汉字,可考虑编辑超过 4 行每行超过 16 字符情形来进行测试。LCD列边界值需要考虑:7 个汉字, 8 个汉字, 9 个汉字行边界值: 31 个汉字, 32 个汉字, 33 个汉字例子 3:SIM 卡名片簿姓名超长(20 个英文字符),号码超长情形,新增和查看用户姓名由学员完成该作业:1、 注意等价类和边界值的用例设计方法2、 关注 LCD的显

12、示格式问题3、 关注新增、查看两种功能的结合,可能新增姓名是正确的,但是查看的格式错误。三、错误猜测法例子 1:利用手机闹钟重响的例子引入错误猜测法基本概念,讲解错误猜测法的意义未接来电 29 通,内存中规划的分区一直分配被占用。即使同一号码也同样占用资源。假设此时第 30 通电话正好为来电号码不显示,即“来电号码未知”或境外来电号码隐藏时(国外保护个人隐私,自动开启来电号码隐藏功能) ,可能会出现 BUG,实际情况证明,此时会出现 Reset 问题。同样道理,推断第一通电话如果为“来电号码未知”,也可能出现上述问题。例子 2:通常手机解决方案中sunplus 、雅马哈和弦芯片发声。为了降低成

13、本采用DSP策略纯软件发声(如果采用硬件独立声音控制芯片,不会出现下面问题),此时测试中就猜测当手机设定闹钟时,闹钟时间到后, 确定为重响,此时用户进入铃声选择 - 浏览 - 播放时,这时候铃声控制软件会出现资源冲突, 可能出现 BUG。测试结果是出现 RESET或者浏览铃声无响铃的结果。例子 3:比如, 设定闹钟铃声, 在 IDLE 下闹钟响铃未处理(响铃一分钟后,铃声停止,系统进入另外一种状态,菜单提示为闹钟是否重响?), 待钤声响完后按两次SKL 键(确定键) ,(第一次确定要重响, 第二次应该返回 IDLE 状态) , 再次进入 " 钤声设定 "/" 钤声

14、类型 ", 此时任选一铃声都没有声音四、判定表法举例一,若手机用户欠费或停机,则不允许主被叫。表示为判定表如下:1234条件用户欠费YYNN用户被停机YNYN动作可以主被叫NNNY举例二,区别手机掉网、搜网、飘网、SIM 卡座松动问题1234条件显示运营商YYNNlogo 正确显示有信号YNYN动作可以拨打电YNY(除拨 112Y话外还可以拨打其它号码)五、流程分析方法1- 手动 / 自动选网模式;11- 自动注册并显示已有网络服务2- 手动模式(选网模式的一种); 3- 搜寻到 HPLMN(归属网络)及FPLMN(禁止网络);6- 频段搜索; 7- 自动选择频段;8- 手动选择频段

15、900 或 1800;(新手机才有频段手动选择)4- 选择 FPLMN;5- 注册 FPLMN路径path1:1-11path2:1-2-3-4-5-1-11path3:1-2-3-6-8-9-10-1-11path4:1-2-3-6-7-9-10-1-11举例二,彩信发送功能1.终端发送 MMS,如果是终端到终端,那么以WSP(无线会话协议)协议编码送到WAP网关;如果终端到应用服务器(发送Email ) , 则以 IP 协议发送到IP 网关;2. WAP网关或 IP 网关都以 HTTP协议与 MMS中继器通信,文件内容传给中继器3. 中继器将文件送往 MMS服务器,并以 MIME格式存储。

16、( MIME的格式可以被手机终端识别并显示,并且可以被 Email 客户端浏览并显示的文件格式)4. 如果 MMS接收方为手机终端, MMS服务器调用号码以及相关路由信息, 并进行数据分析,判断终端支持能力和承载能力,如果终端不支持MMS,只通过短消息格式发文字部分;如果终端支持MMS,直接发送 MIME格式的文件到手机终端。5.如果,发送到Email 服务器,系统通过路由选择,把MIME格式的文件发送到 Email地址所在的服务器。6.该 MMS支持的媒体格式包括文本、铃声、图片;文本没有上限64K,包括 64K;铃声单首最大为 64K,包括 64K,最多支持 5 页;单页图片最大64K,最

17、多 5 页;测试用例设计利用流程分析方法,测试分析时需要考虑以下几点:1. 彩信发送测试时需要考虑基于WAP业务实现和基于 IP 网关的流程差异;2. MMS服务器数据分析并确定处理方法时需要考虑终端到终端的情形和终端到应用的业务情形;3. 确定终端到终端的情形下,还需要考虑终端是否支持MMS发送六、正交试验设计法例子 1:假设一个WEB站点,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器浏览:WEB浏览器: Netscape6.2 、 IE6.0 、 Opera4.0插件:无、 RealPlayer 、 MediaPlayer应用服务器: IIS 、 Apche、 Netsc

18、ape Enterprise操作系统: Windows2000、 Windows NT、 Linux正交表:1234111112122231333421235223162312731328321393321提取系统功能说明中的因子:WEB浏览器插件应用服务器操作系统分析各因子的状态WEB浏览器: 1 Netscape6.2 、 2=IE6.0 、 3=Opera4.0插件 : 1=None 、 2=RealPlayer 、 3=MediaPlayer应用服务器 : 1=IIS、 2=Apche、 3=Netscape Enterprise操作系统 : 1=Windows2000 、2=Wind

19、ows NT、 3=Linux将因子、状态映射到上面正交表中:测试用例浏览器插件服务器操作系统1Netscape6.2NoneIISWindows20002Netscape6.2RealPlayerApcheWindows NT3Netscape6.2MediaPlayerNetscape EnterpriseLinux4IE6.0NoneApcheLinux5IE6.0RealPlayerNetscape EnterpriseWindows20006IE6.0MediaPlayerIISWindows NT7Opera4.0NoneNetscape EnterpriseWindows NT8

20、Opera4.0RealPlayerIISLinux9Opera4.0MediaPlayerApcheWindows2000举例 2: MMS处理模块编辑模块:支持SMIL(同步多媒体综合语言)、不支持SMIL.效果处理模块:水波纹、半透明、水印、反透 .界面显示模块:POP形式、窗体式显示 .举例 3:照相机功能测试七、状态迁移法举例手机mp3键盘播放模式测试用例设计1. 键盘用户模式基本操作功能2. 支持媒体格式与文件格式要求3. 多媒体播放中对外部事件的响应4. 终端处理能力(包括终端异常处理、文件操作)5. PC与终端同步能力键盘用户模式基本操作功能系统测试用例设计步骤:编写状态事件表

21、;编制状态图转换表;编写合法测试用例;编写非法测试用例;编写错误异常处理测试项;序号需求内容播放器要求1功能类型和操作方式采用菜单选项方式2文件播放必须支持3播放基本功能 Play, Pause, Stop, Seek必须支持4声音调节必须支持5亮度调节必须支持6对比度调节推荐支持7播放进度显示必须支持8模式选择及切换必须支持,可通过设定功能键切换常规模式9后台播放模式推荐支持10播放器设置必须支持,提供缺省设置11播放统计及列表记录必须支持125 键快捷设定及操作必须支持5 键功能定义Up增大音量Down减小音量Left上一首或后退Right下一首或快进Select (侧键 ok)播放 /

22、暂停 功能切换状态事件表(黑点着重号表示为非法组合)函数名字Idle倒播放进录音EvRewindbutton1- 倒·8- 倒11- 倒·(倒)Evplaybutton2-播5- 播放·12- 播·(播放)放Evfastforwardbutton3- 进6- 进9- 进··(进)Evrecord4-录····(录音)音Evstopbutton·7-idle10-idle13-idle14-idle(Idle )7 软件测试文档由安博测试空间技术中心提供1、软件测试文档 就是为将软件测试

23、当作一个项目一样实施计划和管理而引入的,它为测试项目的组织、规划和管理提供了一个规范化的架构。2、软件测试文档主要包括测试计划、测试用例、测试规程、测试事件报告、测试总结报告等。测试文档总所规定的内容可以作为对测试过程完备性的对照检查表,有助于提高测试工程每个阶段的能见度,极大地提高了测试工作的可管理性。为了统一测试文档的书写标准,IEEE/ANSI制定了829-1983 标准,还有其他的一些也用于指导软件测试文档的编写,如我国制定的计算机软件测试文件百年之规范(GB/T9386-1988)3、 测试文档编写规范(GB/T 9386-1988 )简介( 1) .引用标准该规范的引用标准为:GB

24、/T 11457软件工程术语GB 8566 计算机软件开发规范GB 8567计算机软件产品开发文件编制指南( 2) .关键术语定义设计层:软件项的设计分解(如系统,子系统,程序,模块)通过准则:一个软件项或软件特性的测试是否通过的判别依据软件特性:软件项的显著特性(如功能,性能或可移植性)软件项:源代码,目标代码,作业控制代码,控制数据或这些项的集合。测试项:作为测试对象的软件项( 3) .规范的主要内容该规范确定了各个测试文件的格式和内容,所提出的文件类型包括测试计划,测试说明和测试报告。测试计划免除测试活动的范围,方法,资源和进度,他规定被测试的项,被测试的特性,应完成的测试任务,担任各项

25、工作的人员职责及与本计划有关的风险等。4、测试说明包括三类文件测试设计说明: 详细描述测试方法,规定该设计及其有关测试所包括的特性,还规定完成测试所需的测试用例和测试规程,并规定特性的通过准则。测试用例说明: 列出用于输入的具体值以及预期的输出结果,并规定在使用具体测试用例时,对测试规程的各种限制。将测试用例与测试设计封开,可以使它们用于多个设计并能在其它情形下重复使用。测试规程说明: 规定对于运行系统和执行指定的测试用例来实现有关测试设计所要求的所有步骤。5、测试报告则包括四类文件:测试项传递包括: 指明在开发组和测试组独立工作的情况下或者在希望正式开始测试的情况下为进行测试而传递的测试项。

26、测试日志:测试组用于记录测试执行过程中发生的情况。测试事件报告:描述在测试执行期间发生并需进一步调查的一切事件。测试总结报告:总结与测试设计说明有关的测试活动。6.对规范的实施使用该规范的每个单位, 要规定测试阶段所应有的特性文件,并在测试计划中规定测试完成后所能提交的全部文件。使用该规范的每个单位应该补充规定对内容的要求和约定,及便反映总结在测试, 文件控制,配置管理和质量保证方面所用的特定方法,设备工具。一下是规范中的文件编制实施及使用指南( 1)实施指南在实施测试文件编制的初始阶段可先编写测试计划于测试报告文件。测试计划将为整个测试过程提供基础。测试报告将鼓励测试单位以良好的方式记录整个

27、测试过程的情况。( 2)用法指南在项目计划及单位标准中, 指明在那些测试活动中需要那些测试文件,并可在文件中加入一些内容,使各个文件适应一个特定的测试项及一个特定的测试环境。7软件测试文件编制规范中的内容要求以下是规范中各个测试文件的书写格式及内容。a 测试计划(1)测试计划名称(该计划的第1 章)(2) 引言(该计划的第 2 章)(3) 测试项(4) 被测试的特性(5) 不被测试的特性(6) 方法(7) 项通过的准则(8) 暂停标准和再启动要求(9) 应提供的测试文件(10) 测试任务(11) 环境要求(12) 职责(13) 人员和训练要求(14) 进度(15) 风险和应急(16) 批准b

28、测试设计说明(1)测试设计说明名称(2)被测试的特性(3)方法详述(4)测试用例名称(5)特性通过准则c 测试用例说明(1)测试用例说明名称(2)测试项(3)输入说明(4)输出说明(5)环境要求(6)特殊的规程要求(7)用例间的依赖关系d 测试规程说明(1)测试规程说明名称(2)目的(3)特殊要求(4)规程步骤e 测试项传递报告(1) 传递报告名称(2) 传递项(3) 位置(4) 状态(5) 批准f 测试日志(1)测试日志名称(2)描述(3)活动和事件条目g 测试事件报告名称(1)测试事件报告取一个专用名称(2)摘要(3)事件描述(4)影响h 测试总结报告1. 规定该报告必须由哪些人(姓名和职

29、务)审批,并为签名和日期留出位置。由安博测试空间技术中心提供目录1、V 模型152、W 模型173、H 模型184、 X 模型205、其他测试模型211、瀑布模型242、原型模型253、螺旋模型27背景知识:目前主流的 软件生命周期模型或软件开发过程模型 有:瀑布模型、原型模型、螺旋模型、增量模型、渐进模型、快速软件开发 (RAD)以及 Rational 统一过程(RUP)等,这些模型对于软件开发过程具有很好的指导作用,但是在这些过程方法中,软件测试的地位和价值并没有体现出来, 也没有给软件测试以足够的重视,利用这些模型无法更好地指导测试实践。 软件测试是与软件开发紧密相关的一系列有计划、系统

30、性的活动, 显然软件测试也需要测试模型去指导实践。 下面先对主要的模型做一些简单的介绍,再补充软件生命周期做介绍。1、V模型V 模型是最具有代表性 的测试模型。 V 模型最早是由 Paul Rook 在 20 世纪 80 年代后期提出的, V 模型在英国国家计算中心文献中发布,旨在改进软件开发的效率和效果。在传统的开发模型中,比如瀑布模型,通常把测试过程作为在需求分析、概要设计、详细设计和编码全部完成之后的一个阶段, 尽管有时测试工作会占用整个项目周期一半的时间, 但是有人仍认为测试只是一个收尾工作, 而不是主要的工程。 V 模型是软件开发瀑布模型的变种, 它反映了测试活动与分析和设计的关系,

31、从左到右,描述了基本的开发过程和测试行为, 明确地标明了测试工程中存在的不同级别,清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。如图 5-1 所示。图1 V模型图图 1 V 模型图中箭头代表了时间方向,左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即测试过程的各个阶段。V 模型的软件测试策略既包括低层测试又包括了高层测试,低层测试是为了确保源代码的正确性,高层测试是为了使整个系统满足用户的需求。V 模型指出,单元和集成测试是验证程序设计,开发人员和测试组应检测程序的执行是否满足软件设计的要求; 系统测试应当验证系统设计, 检测系统功能、性能的质量特性是否达到系统设计的指标

32、; 由测试人员和用户进行软件的确认测试和验收测试, 追溯软件需求说明书进行测试, 以确定软件的实现是否满足用户需求或合同的要求。V 模型存在一定的局限性, 它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段。 容易使人理解为测试是软件开发的最后一个阶段,主要是针对程序进行测试寻找错误,而需求分析阶段隐藏的问题一直到后期的验收测试才被发现。类比记忆: 此模型与软件开发模式中的线性模型 (典型的瀑布模型) 有相似的不足,在瀑布模型中, 测试阶段处于软件实现后, 这意味着必须在代码完成后有足够的时间预留给测试活动, 否则将导致 测试不充分, 开发前期未发现的错误会传递并扩散到后面

33、的阶段, 而在后面发现这些错误时,可能已经很难回头再修正,从而导致项目的失败。2、W模型V 模型的局限性在于没有明确地说明早期的测试, 不能体现“尽早地和不断地进行软件测试”的原则 。在 V 模型中增加软件各开发阶段应同步进行的测试,被演化为一种 W模型,因为实际上开发是 V,测试也是与此相并行的 V。基于“尽早地和不断地进行软件测试”的原则, 在软件的需求和设计阶段的测试活动应遵循 IEEE std1012-1998 软件验证和确认 (V&V)的原则。一个基于 V&V原理的 W模型示意图如图 2 所示。图2W模型图相对于 V 模型, W模型更科学。 W模型可以说是 V 模型自

34、然而然的发展。W模型强调测试伴随着整个软件开发周期, 而且测试的对象不仅仅是程序, 需求、功能和设计同样要测试 。这样,只要相应地开发活动完成, 我们就可以开始执行测试,可以说, 测试与开发是同步进行的 ,从而有利于尽早地发现问题。以需求为例,需求分析一完成, 就可以对需求进行测试, 而不是等到最后才进行针对需求的验收测试。如果测试文档能尽早提交,那么就有了更多的检查和检阅的时间,这些文档还可用于评估开发文档。 另外还有一个很大的益处是, 测试者可以在项目中尽可能早地面对规格说明书中的挑战。这意味着测试不仅仅是评定软件的质量,还可以尽可能早地找出缺陷所在,从而帮助改进项目内部的质量。参与前期工

35、作的测试者可以预先估计问题和难度,这将可以显著地减少总体测试时间,加快项目进度。根据 W模型的要求,一旦有文档提供,就要及时确定测试条件,以及编写测试用例, 这些工作对测试的各级别都有意义。当需求被提交后, 就需要确定高级别的测试用例来测试这些需求。当概要设计编写完成后, 就需要确定测试条件来查找该阶段的设计缺陷。W模型也是有局限性的。 W模型和 V模型都把软件的开发视为需求、 设计、编码等一系列串行的活动。 同样,软件开发和测试保持一种 线性的前后关系 ,需要有严格的指令表示上一阶段完全结束, 才可以正式开始下一个阶段。 这样就无法支持迭代、 自发性以及变更调整 。对于当前很多文档需要事后补

36、充, 或者根本没有文档的做法 ( 这已成为一种开发的文化 ) ,开发人员和测试人员都面临同样的困惑。类比记忆: W模型相当两个 V 模型的叠加 ,一个是开发的 V,一个是测试的 V,由于在项目中开发和测试的是同步进行, 相当于两个 V是并列同步的进行的, 测试在一定程度是随着开发的进展而不断向前进行。3、H模型V 模型和 W模型均存在一些不妥之处。首先,如前所述,它们都把软件的开发视为需求、设计、编码等一系列串行的活动,而事实上,虽然这些活动之间存在相互牵制的关系,但在大部分时间内,它们是可以交叉进行的。虽然软件开发期望有清晰的需求、 设计和编码阶段, 但实践告诉我们, 严格的阶段划分只是一种

37、理想状况。 试问,有几个软件项目是在有了明确的需求之后才开始设计的呢?所以, 相应的测试之间也不存在严格的次序关系。 同时,各层次之间的测试也存在 反复触发、迭代和增量关系 。其次, V 模型和 W模型都没有很好地体现测试流程的完整性。为了解决以上问题, 提出了 H模型。它将测试活动完全独立出来, 形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。 H 模型如图 3 所示。图3H模型图H 模型图仅仅演示了在整个生存周期中某个层次上的一次测试“微循环”。图中的其他流程可以是任意开发流程。例如,设计流程和编码流程。也可以是其他非开发流程,例如, SQA流程,甚至是测试流程自身。也

38、就是说,只要测试条件成熟了, 测试准备活动完成了, 测试执行活动就可以 ( 或者说需要 ) 进行了。概括地说, H模型揭示了:1)软件测试 不仅仅指测试的执行,还包括很多其他的活动。2)软件测试是一个 独立的流程,贯穿产品整个生命周期,与其他流程 并发地进行。3)软件测试要 尽早准备,尽早执行 。4)软件测试是根据被测物的不同而分层次进行 的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。在 H 模型中,软件测试模型是一个独立的流程,贯穿于整个产品周期,与其他流程并发地进行。当某个测试时间点就绪时,软件测试即从测试准备阶段进入测试执行阶段。4、X模型Marick曾提出过一些

39、观点和意见,其中首先是Marick不建议要建立一个替代模型。这里我很冒昧地引用了一些Marick的想法,并重新经过组织,形成了“X模型 ”。其实并不是为了和V 模型相对应而选择这样的名字,而是由于其它一些原因: X 通常代表未知,而Marick也认为他的观点并不足以支撑一个模型的完整描述,但其中已经有一个模型所需要的一些主要内容,其中也包括了象探索性测试( exploratory testing)这样的亮点。我还需要在使用文字方面也向Marick道歉,因为认同 Marick观点的无疑大多属于X 一代( X 一代)。另外,我勾画了一张 X 形状的示意图,我相信该图能够很好地以另一种表达形式来体现

40、Marick的观点。图 2-X模型示意图由于 X 模型从没有被文档化,其内容一开始需要从在 V 模型的相关内容中进行推断,这在 Marick 的相关文章中已有体现。这里关于 X 模型的论述比较简短,因为它还没有完全从文字上成为 V 模型的全面扩展,而且我不想在这里重复在软件测试:不可忽略的阶段文章中所提到的很多测试技术的概念。Marick对 V 模型的最主要批评是V 模型无法引导项目的全部过程。 他认为一个模型必须能处理开发的所有方面,包括交接,频繁重复的集成, 以及需求文档的缺乏等等。5、前置测试模型前置测试是一个将测试和开发紧密结合的模型,该模型提供了轻松的方式,可以使你的项目加快速度。前

41、置测试模型体现了以下的要点:开发和测试相结合前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为。 并且表示了这些行为在项目周期中的价值所在。如果其中有些行为没有得到很好的执行,那么项目成功的可能性就会因此而有所降低。如果有业务需求, 则系统开发过程将更有效率。我们认为在没有业务需求的情况下进行开发和测试是不可能的。而且,业务需求最好在设计和开发之前就被正确定义。对每一个交付内容进行测试每一个交付的开发结果都必须通过一定的方式进行测试。源程序代码并不是唯一需要测试的内容。在图中的被圈框表示了其它一些要测试的对象,包括可行性报告、 业务需求说明,以及系统设计

42、文档等。这同V 模型中开发和测试的对应关系是相一致的,并且在其基础上有所扩展,变得更为明确。前置测试模型包括 2 项测试计划技术, 这也是属于上述21 项需求测试技术中的一部分。其中的 第一项技术是开发基于需求的测试用例。这并不仅仅是为以后提交上来的程序的测试做好初始化准备, 也是为了验证需求是否是可测试的。 这些测试可以交由用户来进行验收测试,或者由开发部门做某些技术测试。 很多测试团体都认为, 需求的可测试性即使不是需求首要的属性, 也应是其最基本的属性之一。 因此,在必要的时候可以为每一个需求编写测试用例。不过,基于需求的测试最多也只是和需求本身一样重要。 一项需求可能本身是错误的,但它

43、仍是可测试的。而且,你无法为一些被忽略的需求来编写测试用例。第 2 项技术是定义验收标准。 在接受交付的系统之前, 用户需要用验收标准来进行验证。验收标准并不仅仅是定义需求, 还应在前置测试之前进行定义, 这将帮助揭示某些需求是否正确,以及某些需求是否被忽略了。在设计阶段进行计划和测试设计设计阶段是做测试计划和测试设计的最好时机。在 V 模型中,验收测试最早被定义好,并在最后执行,以验证所交付的系统是否真正符合用户业务的需求。与 V 模型不同的是,前置测试模型认识到验收测试中所包含的3 种成份 ,其中的2 种都与业务需求定义相联系:即定义基于需求的测试,以及定义验收标准。但是,第三种则需要等到

44、系统设计完成, 因为验收测试计划是由针对按设计实现的系统来进行的一些明确操作定义所组成,这些定义包括:如何判断验收标准已经达到,以及基于需求的测试已算成功完成。技术测试主要是针对开发代码的测试,例如V 模型中所定义的动态的单元测试,集成测试和系统测试。另外,前置测试还提示我们应增加静态审查,以及独立的QA 测试。QA 测试通常跟随在系统测试之后,从技术部门的意见和用户的预期方面出发,进行最后的检查 .同样的还有特别测试。我们取名特别测试, 并把该名称作为很多测试的一个统称,这些测试包括 负载测试、安全性测试、可用性测试 等等,这些测试不是由业务逻辑和应用来驱动的。对技术测试最基本的要求是验证代

45、码的编写和设计的要求是否相一致。 一致的意思是系统确实提供了要求提供的, 并且系统并没有提供不要求提供的。 技术测试在设计阶段进行计划和设计,并在开发阶段由技术部门来执行。6、测试模型的使用前面我们介绍了几种典型的测试模型,应该说这些模型对指导测试工作的进行具有重要的意义, 但任何模型都不是完美的。 我们应该尽可能地去应用模型中对项目有实用价值的方面, 但不强行地为使用模型而使用模型, 否则也没有实际意义。在这些模型中, V 模型强调了在整个软件项目开发中需要经历的若干个测试级别,而且每一个级别都与一个开发级别相对应, 但它忽略了测试的对象不应该仅仅包括程序,或者说它没有明确地指出应该对软件的需求、 设计进行测试,而这一点在 W模型中得到了补充。 W模型强调了测试计划等工作的先行和对系统需求和系统设计的测试, 但 W模型和 V 模型一样也没有专门对软件测试流程予以说明,因为事

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论