
软件测试与质量保障教学资料面向对象测试.ppt
29页面向对象测试面向对象测试华中农业大学信息学院计算机科学系面向对象的新特性面向对象的新特性l继承l封装(信息隐蔽)l多态(动态绑定)新特性对测试的影响新特性对测试的影响l信息隐蔽(封装)对测试的影响 –信息隐蔽避免类中有关实现细节的信息被错误地使用;–隐蔽机制给测试带来了困难新特性对测试的影响新特性对测试的影响l继承对测试的影响–若一个类得到了充分的测试,当其被子类继承后,继承的方法在子类的环境中的行为特征需要重新测试新特性对测试的影响新特性对测试的影响l多态性对测试的影响–面向对象软件中,由于动态绑定和多态性的存在所带来的不确定性,给测试覆盖率的满足增大了难度2 面向对象测试的层次面向对象测试的层次l面向对象测试的层次,取决于单元的构成,一般采用三层或四层方式l如果把单个操作或方法看作单元,则有四层测试,即方法、类、集成和系统测试 如果把类看作单元,则有三层测试:类测试,集成测试,系统测试l面向对象测试的主要问题是集成测试,即在通过测试的类之间进行交互测试类测试(面向对象单元测试)类测试(面向对象单元测试)l类测试概念:验证类的实现是否和该类的说明完全一致 l类测试的方法:通过代码检查或执行测试用例的方法来有效地进行类测试。
l类测试过程–为类创建实例–构造适当的环境–运行测试用例(向一个实例发送一个或多个消息)–通过参数来检查测试运行的结果–清除执行测试用例所需的测试环境面向对象软件的单元测试观点面向对象软件的单元测试观点⑴ 以方法为单元 ⑵ 以类为单元以方法为单元以方法为单元l将面向对象单元测试归结为传统的(过程)单元测试l使用所有传统功能性测试和结构性测试手段l若把方法看作是面向对象的单元,必须提供能够实例化的桩类,以及起驱动器作用的“主程序”类以提供和分析测试用例以类为单元以类为单元l类包含一组不同的操作,并且某特殊操作可能作为一组不同类的一部分存在不再孤立地测试单个操作,而是将操作作为类的一部分l把类作为单元,可以解决类内集成问题,但是会产生其它问题3 面向对象的集成测试面向对象的集成测试l基于类间协作关系的横向测试–由系统的一个输入事件作为激励,对其触发的一组类进行测试,执行相应的操作/消息处理路径,最后终止于某一输出事件面向对象的集成测试面向对象的集成测试l基于类间继承关系的纵向测试–首先通过测试独立类(是系统中已经测试正确的某类)来开始构造系统,在独立类测试完成后,下一层继承独立类的类(称为依赖类) 被测试,这个依赖类层次的测试序列一直循环执行到构造完整个系统。
集成测试的集成测试的UML支持支持–协作图(交互图)–序列图(顺序图)面向对象软件的面向对象软件的MM-路径路径l在传统软件的MM-路径中,用“消息”表示个体单元(模块)之间的调用,采用模块执行路径取代完整的模块lMM-路径从某个方法开始,当到达某个自己不发送任何消息的方法时结束,这就是消息静止点lMM-路径表示由消息分开的各种方法执行序列,即方法/消息路径4 面向对象的系统测试面向对象的系统测试l功能测试l强度测试–测试系统的能力最高实际限度,即软件在一些超负荷时功能实现的情况–如要求软件某一行为的大量重复、输入大量的数据或大数值数据、对数据库大量复杂的查询等 l性能测试l安全测试l容错测试–采用人工的干扰使软件出错,中断使用,检测系统的恢复能力,特别是通讯系统恢复测试时,应该参考性能测试的相关测试指标 l安装/卸载测试l可用性测试:测试用户是否能够满意使用l基于UML的系统测试(活动图,配置图)验收测试及回归验收测试及回归测试测试华中农业大学信息学院计算机科学系anhuisoft@1 验收测试验收测试l 验收测试是部署软件之前的最后一个测试操作l验收测试的目的是:确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
anhuisoft@验收测试的任务验收测试的任务l验收测试是向未来的用户表明系统能够像预定要求那样工作也就是验证软件的有效性l验收测试的任务,即验证软件的功能和性能如同用户所合理期待的那样anhuisoft@验收测试的主要内容验收测试的主要内容l验收测试的主要内容有以下几个方面:1)制定验收测试标准 2)配置项复审3)实施验收测试anhuisoft@验收测试主要内容验收测试主要内容——制定验收标准制定验收标准l制定测试计划来说明软件与合同要求是否一致l着重考虑以下几个方面:1)软件是否满足合同规定的所有功能和性能2)文档资料是否完整3)人机界面是否准确4)其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意anhuisoft@验收测试主要内容验收测试主要内容——实施验收测试实施验收测试l在此阶段里,需要采用一些常用的验收测试策略进行,例如:α测试,β测试等l实施验收测试是整个验收测试过程中的核心部分anhuisoft@验收测试主要内容验收测试主要内容——配置项复审配置项复审l验收测试的另一个重要环节是配置项复审l复审的目的:保证软件配置齐全、分类有序,并且包括软件维护所必须的细节。
anhuisoft@验收测试的常用策略验收测试的常用策略l施验收测试的常用策略有三种,它们分别是: 1)正式验收测试 2)非正式验收或 α 测试 3)β 测试 anhuisoft@正式验收测试正式验收测试l正式验收测试的两种方式:1)在某些组织中,开发组织(或其独立的测试小组)与最终用户组织的代表一起执行验收测试2)在其他组织中,验收测试则完全由最终用户组织执行,或者由最终用户组织选择人员组成一个客观公正的小组来执行 anhuisoft@非正式验收或非正式验收或 α 测试测试l在非正式验收测试中,执行测试过程的限定不象正式验收测试中那样严格测试内容由各测试员决定l这种验收测试方法不象正式验收测试那样组织有序,而且更为主观l大多数情况下,非正式验收测试是由最终用户组织执行的anhuisoft@β 测试测试l在 β测试中,各测试员负责创建自己的环境、选择数据,并决定要研究的功能、特性或任务各测试员负责确定自己对于系统当前状态的接受标准lβ 测试由最终用户实施,通常开发(或其他非最终用户)组织对其管理很少或不进行管理lβ测试是所有验收测试策略中最主观的2 回归测试回归测试l在软件发生变动时保证原有功能正常运作的一种测试策略和方法。
l回归测试不需要进行全面的测试,而是根据修改的情况进行有选择性的测试。
