面向对象的系统测试概述_第1页
面向对象的系统测试概述_第2页
面向对象的系统测试概述_第3页
面向对象的系统测试概述_第4页
面向对象的系统测试概述_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、技术创新,变革未来面向对象的系统测试概述面向对象的基本概念对象类消息接口封装继承多态面向对象的基本概念Peter Coad 和 Edward Yourdon 提出下列等式认识面向对象方法: 面向对象 对象(Object) 分类(Classification) 继承(Inheritance) 通过消息的通信 (Communication with message)采用这四个概念开发的软件系统是面向对象的。面向对象技术面向对象方法的出现,实际上是程序设计方法发展的-个返朴归真过程。面向对象的实质:从系统的组成上来进行分解。对问题自然分割,利用类及对象作为基本构造单元,以更接近人类思维的方式建立问题

2、域模型,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、可维护性好的软件,并能控制软件的复杂性降低开发维护费用。对象对象是指包含了一组属性以及对这些属性的操作的封装体。对象之间存在着一定的关系,对象之间的交互与合作构成更高级的行为。王五由他的头、胳膊、腿和身体组成汽车是一种交通工具对象间的由分解所构成的关系,part of层次;具有代表一种一般特性的对象之间的聚合关系,is a层次;代表更一般的对象间在物理上或概念上有关的相关关系。人乘坐或驾驶汽车对象是软件开发期间测试的直接目标。面向对象软件测试所关注的焦点: (1)对象的行为是否符合它的规定说明; (2)该对象与和它相

3、关的对象是否协同工作。面向对象的系统测试 通过单元测试和集成测试,仅能保证软件开发的功能得以实现。但不能确认在实际运行时,它是否满足用户的需要。为此,对完成开发的软件必须经过规范的系统测试。系统测试应该尽量搭建与用户实际使用环境相同的测试平台,应该保证被测系统的完整性,对临时没有的系统设备部件,也应有相应的模拟手段。系统测试的基本要素是系统端口输入和端口输出。传统软件系统测试使用需求规格说明模型(行为模型),作为线索测试用例标识的基础,并讨论了伪结构覆盖指标。这里说的系统测试是对测试步骤的抽象描述。具体测试的内容包括:功能测试、强度测试、性能测试、安全测试、恢复测试、可用性测试、安装/卸载测试

4、等。面向对象的系统测试(续)系统测试时,应该参考OOA分析的结果,对应描述的对象、属性和各种服务,检测软件是否能够完全“再现”问题空间。系统测试不仅是检测软件的整体行为表现,从另一个侧面看,也是对软件开发设计的再确认。面向对象测试的整体目标 以最小的工作量发现最多的错误 和传统软件测试的目标是一致的,但是OO测试的策略和战术有很大不同。测试的视角扩大到包括复审分析和设计模型,此外,测试的焦点从过程构件(模块)移向了类。面向对象系统测试通过UML模型找出系统级测试用例。问题陈述 将美元转换为四种货币的任何一种。用户可以修改输入,并多次进行货币转换。系统功能 用户通过“用户使用案例”描述应用程序,

5、通过这些描述可标识出三种系统功能:显式功能:明显的功能隐藏功能:难以马上发现装饰功能:锦上添花一、货币转换器的UML描述引用编号功能类别R1启动应用程序显式R2结束应用程序显式R3输入美元金额显式R4选择国家显式R5执行转换计算显式R6清除用户输入和程序输出显式R7维护国家之间的异或关系隐藏R8显示国旗图像装饰表20-1 货币转换器应用程序的系统功能表示层(用户界面草图) 用户界面的大部分信息用来支持客户走查,说明所标识的系统功能都可以由用户界面支持。美圆金额等价于巴西加拿大欧共体日本计算清除退出高层用例HLUC(同基本功能对应) 用例开发从很高层的视图开始,高层用例只提供很少的细节,但对于测

6、试用例标识已经足够。HLUC1启动应用程序参与者用户类型基本功能描述用户在Windows中启动货币转换应用程序HLUC2结束应用程序参与者用户类型基本功能描述用户在Windows中结束货币转换应用程序HLUC3转换美元参与者用户类型基本功能描述用户输入美元金额并选择国家,应用程序计算并显示等价金额HLUC4修改输入参与者用户类型二级功能描述用户重新设置输入,开始一次新的事务处理基本用例EUC(增加系统事件描述) 在HLUC中增加端口输入/输出事件,编号表示大致时间顺序。EUC1启动应用程序参与者用户类型基本功能描述用户在Windows中启动货币转换应用程序序列参与者行动: 系统响应:1.双击应

7、用程序图标启动程序 2.GUI显示在屏幕上,准备接收用户输入参与者可以是人员、设备、相邻系统,或一些抽象事物EUC3转换美元参与者用户类型基本功能描述用户输入美元金额并选择国家,应用程序计算并显示等价金额序列参与者行动: 系统响应:1.用户键盘输入美元金额 2.在GUI上显示美元金额 3.用户选择一个国家 4.显示指定国家的货币名称 5.显示该国家的国旗6.用户请求转换计算 7.显示等价货币值EUC2结束应用程序参与者用户类型基本功能描述用户在Windows中结束货币转换应用程序序列参与者行动: 系统响应:1.退出按钮/关闭窗口结束程序 2.GUI从屏幕上消失EUC4修改输入参与者用户类型二级

8、功能描述用户重新设置输入,开始一次新的事务处理序列参与者行动: 系统响应:1.用户键盘输入美元金额 2.在GUI上显示美元金额 3.用户选择一个国家 4.显示指定国家的货币名称 5.显示该国家的国旗6.用户取消输入 7.取消指定国家的货币名称 8.不再显示该国家的国旗详细GUI定义使用设计语言的控件表示GUI每一个组件。美圆金额等价于巴西加拿大欧共体日本计算清除退出货币转换器frmCurrConvlabel1label2lblEquivoptBrazioptCanadaoptEuopeoptJanpantxtDollarlblEqAmountcmdComputecmdClearcmdQuitV

9、B控件扩展基本用例EEUC 比EUC增加了前提、替代事件序列描述、系统功能交叉引用、后果描述提供一些补充说明。EEUC1启动应用程序参与者用户前提 货币转换应用程序在存储器中类型基本功能描述用户在Windows中启动货币转换应用程序序列参与者行动: 系统响应:1.双击应用程序图标启动程序 2. frmCurrConv显示在屏幕上替代序列用户采用Windows的Run命令打开货币转换应用程序交叉引用R1后果txtDollar得到焦点EEUC2结束应用程序参与者用户前提frmCurrConv处于运行模式类型基本功能描述用户在Windows中结束货币转换应用程序序列参与者行动: 系统响应:1.用户点

10、击cmdQuit 2.frmCurrConv被卸载替代序列用户关闭frmCurrConv窗口交叉引用R2后果货币转换应用程序在存储器中EEUC3正常使用(首先输入美元金额)参与者用户前提txtDollar得到焦点类型基本功能描述用户输入美元金额并选择国家,应用程序计算并显示等价金额序列参与者行动: 系统响应:1.用户键盘输入美元金额 2. 美元金额出现在txtDollar中 3.用户点击一个国家按钮 4. 指定国家的货币名称出现在lblEquiv中5.用户点击cmdCompute按钮 6. 计算出的等价金额出现在lblEqAmount中 替代序列行动1和3顺序可以颠倒,相应的2和4顺序也可以颠

11、倒交叉引用R3,R4,R5后果cmdClear得到焦点EEUC4重复转换,相同国家参与者用户前提txtDollar得到焦点类型基本功能描述用户输入美元金额并选择国家,应用程序计算并显示等价金额序列参与者行动: 系统响应:1.用户键盘输入美元金额 2. 美元金额出现在txtDollar中 3.用户点击一个国家按钮 4. 指定国家的货币名称出现在lblEquiv中5.用户点击cmdCompute按钮 6. 计算出的等价金额出现在lblEqAmount中 7.用户点击txtDollar 8. txtDollar得到焦点9.用户键盘输入另一美元金额10.美元金额出现在txtDollar中 11.用户点

12、击cmdCompute按钮 12.计算出的等价金额出现在lblEqAmount中 替代序列行动1和3顺序可以颠倒,相应的2和4顺序也可以颠倒交叉引用R3,R4,R5后果cmdClear得到焦点EEUC5重复转换,相同美元金额参与者用户前提txtDollar得到焦点类型基本功能描述用户输入美元金额并选择国家,应用程序计算并显示等价金额序列参与者行动: 系统响应:1.用户键盘输入美元金额 2. 美元金额出现在txtDollar中 3.用户点击一个国家按钮 4. 指定国家的货币名称出现在lblEquiv中5.用户点击cmdCompute按钮 6. 计算出的等价金额出现在lblEqAmount中 7.

13、用户点击另一个国家按钮 8. 新的国家货币名称出现在lblEquiv中 9. 以前选择的选项按钮复位 10.设置当前选择的选项按钮11.用户点击cmdCompute按钮 12.计算出的等价金额出现在lblEqAmount中 替代序列行动1和3顺序可以颠倒;7和11可无限次重复交叉引用R3,R4,R5,R7后果cmdClear得到焦点EEUC6修改输入参与者用户前提txtDollar有一个非空金额,或选择了一个国家类型二级功能描述用户重新设置输入,开始一次新的事务处理或修改现有输入序列参与者行动: 系统响应:1.用户键盘输入美元金额 2.美元金额出现在txtDollar中 3.用户选择一个国家

14、4.指定国家的货币名称出现在lblEquiv中5.用户点击cmdClear按钮 6.txtDollar显示空项 7.所选国家选项按钮被复位8.用户键盘输入新的美元金额 9.新的美元金额出现在txtDollar中10.用户点击另一国家按钮 11.国家货币名称出现在lblEquiv中 12.设置当前选择的选项按钮13.用户点击cmdClear按钮 14.txtDollar显示空项 15.所选国家选项按钮被复位替代序列行动8、10和13可无限次重复交叉引用R3,R4,R6后果txtDollar得到焦点EEUC7异常情况:没有选择国家参与者用户前提txtDollar得到焦点类型隐藏功能描述用户输入美元

15、金额,并在没有选择国家的情况下点击cmdCompute按钮序列参与者行动: 系统响应:1.用户键盘输入美元金额 2. 美元金额出现在txtDollar中 3.用户点击cmdCompute按钮 4. 出现“必须选择一个国家”消息框 5.用户关闭消息框 6. 不再显示消息框替代序列交叉引用R3,R5后果txtDollar得到焦点EEUC8异常情况:没有输入美元金额参与者用户前提txtDollar得到焦点类型隐藏功能描述用户选择一个国家,并在没有输入美元金额的情况下点击cmdCompute按钮序列参与者行动: 系统响应:1.用户点击一个国家按钮 2. 国家货币名称出现在lblEquiv中3.用户点击

16、cmdCompute按钮 4. 出现“必须选择一个美元金额”消息框 5.用户关闭消息框 6. 不再显示消息框替代序列交叉引用R3,R5后果txtDollar得到焦点EEUC9异常情况:没有输入美元金额也没有选择国家参与者用户前提txtDollar得到焦点类型隐藏功能描述用户在没有输入美元金额和选择国家的情况下点击cmdCompute按钮序列参与者行动: 系统响应:1.用户点击cmdCompute按钮 2. 出现“必须选择一个美元金额并选择一个 国家”消息框 3.用户关闭消息框 4. 不再显示消息框替代序列交叉引用R5后果txtDollar得到焦点真实用例 与EEUC只有微小的差别,比EEUC更

17、具体,使用具体国家和美元金额而不是较高层次的描述。比如:“输入美元金额”用“在txtDollar中输入125”替代、“选择一个国家”用“点击optBrazil按钮”替代。二、基于UML的系统测试系统功能测试由系统功能和EEUC导出关联矩阵,再根据功能覆盖导出测试用例。如:通过对应于EEUC1、2、5、6的真实用例导出测试用例。EEUCR1R2R3R4R5R6R71X2X3XXX4XXX5XXXX6XXXX7XX8XX9X通过所有真实用例开发测试用例。以EEUC3为基础的真实用例导出的系统级测试用例。RUC3正常使用(首先输入美元金额)参与者用户前提txtDollar得到焦点类型基本功能描述用户

18、输入10美元并选择欧共体,应用程序计算并显示等价金额9.30欧元序列参与者行动: 系统响应:1.用户键盘输入10 2. 10美元出现在txtDollar中 3.用户点击欧共体按钮 4. 欧元出现在lblEquiv中5.用户点击cmdCompute按钮 6. 9.30出现在lblEqAmount中 替代序列行动1和3顺序可以颠倒,相应的2和4顺序也可以颠倒交叉引用R3,R4,R5后果cmdClear得到焦点SysTC3正常使用(首先输入美元金额)测试操作者XXX前提txtDollar得到焦点类型基本功能测试操作序列测试人员输入: 预期系统响应:1.通过键盘输入10 2. 观察10美元出现在txt

19、Dollar中 3.点击欧共体按钮 4. 观察欧元出现在lblEquiv中5.点击cmdCompute按钮 6. 观察9.30出现在lblEqAmount中 后果cmdClear得到焦点测试结果通过/失败运行日期XXXX年XX月XX日通过有限状态机导出测试用例空闲遗漏国家和美圆消息国家已选择遗漏美圆信息两种输入已完成美圆金额已输入遗漏国家消息已显示等价金额图20-3 GUI有限状态机通过这种方式得到的测试用例是一个环路。如:表20-3给出了9个测试用例,编号表示测试用例经过状态的顺序。状态TC1TC2TC3TC4TC5TC6TC7TC8TC9空闲111111111,3遗漏国家和美元22选择国家

20、22,424,6输入美元金额22,42遗漏美元消息35完成两种输入3535337遗漏国家消息3显示等价金额4646空闲257574438表20-3 通过有限状态机导出的测试用例 所有GUI应用程序以事件驱动,其测试基本在单元级的 “按钮”上进行,基本上不需要集成测试,GUI应用程序的系统级测试的本质是表现出事件驱动性质。 GUI应用程序可以通过UML的状态图和有限状态机来描述。一、货币转换程序GUI及功能美圆金额等价于巴西加拿大欧共体日本计算清除退出6.7 GUI测试输入/输出事件(表19-1)高层有限状态机空闲遗漏国家和美圆消息国家已选择遗漏美圆信息两种输入已完成美圆金额已输入遗漏国家消息已

21、显示等价金额Ip4 or ip5Ip2/op2,op3Ip3/op8Ip6Ip3/op7Ip6Ip4 or ip 5 Op2.5,op4 op9,and op 10Ip1/op1Ip2/op2,op3Ip3/op5Ip1/op1Ip6Ip3/op6选择国家状态详细视图空闲巴西欧共体加拿大日本Ip2.1Op2.1Op3.1Ip2.2Op2.2Op3.2Ip2.3Op2.3Op3.3Op4.1Ip2.4Op2.4Op3.4Ip2.3Op2.3Op3.3Ip2.1Op2.1Op3.1Op4.3Ip2.1Op2.1Op3.1Op4.3Ip2.1Op2.1Op3.1Op4.2Ip2.3Op2.3Op3.

22、3Op4.4Ip2.4Op2.4Op3.4Op4.3Ip2.4Op2.4Op3.4Op4.2Ip2.2Op2.2Op3.2Op4.4应用程序状态图在存储器中空闲遗漏国家和美圆消息国家已选择遗漏美圆信息两种输入已完成美圆金额已输入遗漏国家消息已显示等价金额Ip4Ip2/op2,op3Ip3/op8Ip6Ip3/op7Ip6Ip1/op1Ip2/op2,op3Ip3/op5Ip1/op1Ip3/op6Ip6Ip2/op2,op3Ip1/op1Ip5结束需要进行功能性测试和结构性测试 如:计算按钮的单元测试考虑无效美元输入(非数字、负数、非常大的数),或没有输入时系统有无正确报告错误消息。结构性测试用例输入要提供特定数据值驱动功能性测试用例输入通过系统级用户输入事件提供更细致的测试与GUI控件的功能有关 与美元输入文本框有关,检验键盘输入是否正确地在GUI上显示出来,是否正确地保存在对象的属性中。二、单元测试三、集成测试

温馨提示

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

评论

0/150

提交评论