




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1,基于软件测试技术,Part软件测试方法,east China communication s university software college,第2、5章面向对象软件测试,本章重点介绍的面向对象软件的特征是什么是面向对象单元?如何使用JUnit执行单元测试?5.1概述,对象定义对象是可操作实体,包含操作特定数据及其数据的代码(即方法)。面向对象的测试对象的包信息影响测试的对象的状态对象状态的转换对象的生命周期状态和生命周期是否适合对象的交互消息发送和接受,以及。4,5.1概述,类定义是作为抽象数据类型的方法实现的数据类型的公共对象集合。是否调用与类的测试构造函数不同的构造函数和其他
2、对象消亡函数(可选)数据空间及时释放方法担心先决条件和后期条件是否符合设计。5,5.1概览,程序包定义:对通过将数据与生产数据的方法相关联而配置的类类型的对象之一的说明。包要求类具有高度内部化,并且耦合松散。测试的困难封装隐藏了内部实施细节,没有保持包后对象的独立性,增加了集成测试的负担。6,5.1概述,继承定义是类之间的连接,通过从名为超类的类派生,可以获得具有超类的特性和功能的新类(子类或派生类)。测试带来的挑战缺陷传播重复测试,7,5.1概述,多态定义:外部接口,多个内部实现方法。参数多态性和包含多态性。通常通过动态测试进行验证。8,5.1概述,消息对象之间的交互是通过消息请求操作。测试
3、时,发送者消息的收件人消息中包含的参数,9,5.1概述,使用接口描述一系列规范行为的接口测试要求接口包含与该类行为相匹配的行为。接口通常与其他接口或类相关,并且应测试所有可能的工作方式。由于面向对象技术的特点,测试中涉及的新问题包括:(1)软件包封装了对数据和数据的操作,限制了对象属性的外部透明度和对外部数据的操作权限,在一定程度上防止了对数据的非法操作,有效地防止了错误扩散。但是,由于打包机制,生成测试数据、选择测试路径和分析测试结构存在困难。(2)继承可以在实施共享父类中定义的数据和作业的同时定义新要素。子类存在于新环境中,因此父类的正确性不能保证子类的正确性。继承提高了代码的重用率,但也
4、增加了失败传播的概率。(3)多态和动态绑定增加了系统运行时可能的执行路径,给面向对象的软件带来了严重的不确定性,给复盖测试工作带来了新的困难。面向对象的软件测试是现有软件测试,1数据成员是否满足封装数据的要求数据封装是数据和与数据相关的活动的集合。验证数据成员是否满足数据封装要求的基本原则是数据成员是否直接由外部世界(数据成员所属的类或子类以外的其他调用)调用。变更资料成员的结构是否会影响类别的外部介面,因此是否需要变更外部世界。值得注意的是,有时强制类型转换会破坏数据的包特性。8.2类测试,如class Hiden private : int a=1;Char * p= hiden clas
5、s visible public : intb=2;Char * s= visible.hiden PPVisible *qq=(Visible *)在上述程序段中,PP的数据成员可以通过qq随机访问。,1 .无需测试继承的成员函数吗?在父类中测试的成员函数在两种情况下都需要在子类中重新测试。a)继承的成员函数在子类中已更改。b)成员函数调用了已更改的成员函数的一部分。Derived:Redefined()需要重新测试。如果Derived:Inherited()包含调用Redefined()的语句(x=x/Redefined(),则必须重新测试,反之亦然。2 .是否可以将超类测试复制到子类?基
6、于上述假设,Base:Redefined()和Derived:Redefined()已经是不同的成员函数,并且具有不同的服务说明和执行。应重新测试对Derived:Redefined()的分析以设计测试用例。但是,由于面向对象的继承,这两个函数类似,因此只需将Derived:Redfined()的测试要求添加到测试用例,然后将相应的测试用例添加到测试用例。例如,Base:Redefined()包含语句if (value0) message (less )。else if(value=0)message( equal );else message( more );Derived:Redfined
7、()定义为if(value 0)message( less );else if(value=0)message( it is equal );else message( more );if(value=88)message( luck );在以前的测试中,对Derived:Redfined()的测试只需要预计value=0测试结果的更改。添加Value=88的测试。16,5.2面向对象的软件测试模型,面向对象的软件开发面向对象的分析(OOA)面向对象的设计(OOD)面向对象的编程(OOP),17,5.2面向对象的软件测试模型,面向对象的软件测试面向对象的分析的测试面向对象的设计的测试面向对象的
8、编程的测试面向对象的单元测试面向对象的集成测试面向对象的系统测试,分析和设计的文档测试,编程样式和代码测试,面向对象的软件测试模型,面向对象的测试模型,面向对象的分析OOA直接映射问题空间,在问题空间中实现功能的完全现实的抽象。将问题空间的实例抽象为对象,将问题空间的复杂实例和复杂关系反映为对象的结构,将实例的特性和行为表示为属性和服务。OOA对问题空间分析的抽象不完整最终影响了软件功能的实现,在软件开发后期,发生了很多潜在的可避免的修补工作。重复的对象或结构可能会影响类的选择、程序的整体结构或增加程序员不必要的工作量。面向对象设计OOD的测试OOD不仅确保类和类的结构满足当前需求分析的要求,
9、而且更重要的是重新组合或适当地补充,以帮助重复使用和放大功能。实施和重用OOD测试功能,并扩展OOA结果。对已验证的类测试(是否包含OOA中标识的所有目标;是否可以实施OOA中定义的属性;是否可以实施OOA中定义的服务;是否对应于明确意义的数据抽象;是否尽可能少依赖其他类;类别的方法是否为单一用途)对已配置类别阶层的测试(类别阶层是否包含已定义的所有类别);是否可以反映OOA中定义的实例关联;是否可以实现OOA中定义的消息关联;子类是否具有父类中不存在的新特性;子类之间的公共特性是否在父类中完全实现)类库支持测试,面向对象的测试模型,面向对象的测试模型,面向对象的程序是将功能实现分布到类中。能
10、够正确实现功能的类,通过消息传递联合实现设计要求的功能。此程序框架准确标识特定类中出现的错误。OOP的测试侧重于实现类功能及其面向对象的程序体系结构;(1)数据成员是否满足数据封装要求的基本原则是数据成员是否直接从外部世界(数据成员所属的类或子类以外的类)调用。(2)基于类是否实现请求的功能测试类的功能,如果代码运行时没有错误,或不能满足测试类可以提供的正确功能,则需要检测类提供的功能是否满足设计的要求,以及是否存在缺陷的OOD结果。22,5.3面向对象的单元测试,与传统单元测试的区别单元分区中的测试方法,测试对象,23,5.3面向对象的单元测试,在单元分区中以流程为导向:将流程或功能用作单元
11、分区的基础。面向对象:是否需要测试使用类作为单元来测试无法实例化所有类的类继承的类的方法。24,5.3面向对象的单元测试,在与现有单元测试的差异单元划分中测试方法,测试对象,25,5.3面向对象的单元测试,在测试方法中测试现有单元:静态测试动态测试面向对象的单元测试:侧重于自动化,不强调代码检查如何设计测试用例和配置测试驱动程序,如何避免可能自动化巨大工作量的单元测试,以及。26,5.3面向对象的单元测试,从单元划分和传统单元测试之间的差异测试方法的角度来看测试对象,27,5.3面向对象的单元测试,在测试对象中测试现有单元主要焦点函数实现功能如何通过接口传递数据,或消息函数中的逻辑和效率面向对
12、象的单元测试主要兴趣类的方法类状态,28,5.3面向对象的单元测试,在测试对象中面向对象的单元测试必须解决专用方法或受保护的方法是否需要测试类中的所有方法。29,5.3面向对象的单元测试,实现的基本阶段划分类的优先级根据优先级大小确定需要执行单元测试的类。静态测试消除低级错误,需要进行类质量评估单元测试的类设计测试用例开发测试驱动器自动化脚本配置测试用例运行测试用例测试结果摘要。基于30,5.3面向对象的单元测试、测试用例的设计案例说明代码设计下的测试用例先决条件和基于后条件的设计测试用例状态转换下的设计测试用例方法特性设计测试用例。31,5.3面向对象的单元测试,案例说明my spoint
13、my shape my line my triangle scale isoscles,基于32、5.3面向对象的单元测试、测试用例设计描述代码,基于测试用例设计先决条件和后期条件,根据测试用例设计状态转换,基于测试用例设计方法特性设计测试用例。33,5.3面向对象的单元测试,根据代码设计测试用例公开方法保护方法专用方法进行测试的代码直接修改在测试的类中利用包含公开方法的内部类机制。34,5.3面向对象的单元测试,测试用例的设计案例说明代码设计测试用例基准前条件和后条件基于测试用例设计状态转换设计测试用例基准方法特性设计测试用例。35,5.3基于面向对象的单元测试、前条件和后条件定义测试用例设
14、计测试用例的前提条件是在执行方法之前必须满足的条件。后条件是方法执行结束后必须满足的条件。基于36,5.3面向对象的单元测试,基于测试用例的设计案例描述代码,基于测试用例设计先决条件和后期条件,根据测试用例设计状态转换,根据测试用例设计方法特性设计测试用例。37,5.3面向对象的单元测试,根据状态转换,状态转换图清楚地列出了类可能具有的所有状态,每个状态转换对都包含触发事件。,38,5.3面向对象的单元测试,测试用例的设计案例说明代码设计测试用例说明基于先决条件和后条件的测试用例设计状态转换,根据测试用例设计方法特性设计测试用例。39,5.3面向对象的单元测试,根据方法特性设计测试用例构造函数
15、,测试在各种情况下生成的对象是否正确初始化,测试函数组合边界值,等价类测试各功能是否可以正确转换接口函数3354,以及类是否在各种状态之间成功转换。40,5.3面向对象的单元测试,复合策略根据方法特性(构造函数、函数和接口函数)进行分类。对于构造函数,根据前导条件和尾部条件设计用例。对于函数公开方法:根据前提条件和后置条件设计测试用例。保护方法:设计测试用例,严格区分没有访问权限和访问权限的前提条件和后置条件。专用方法:根据实际情况选择适当的策略进行测试。对于接口函数,根据状态转换设计测试用例。在上述每种情况下,都必须组合边界值、等效类等测试方法来选择测试数据。41,5.3面向对象的单元测试,
16、测试驱动的实现方法静态方法包括独立测试类,42,5.3面向对象的单元测试、测试代码配置和产品代码列表,以及产品代码和产品代码副本的并行和产品代码副本,43,5.3面向对象的单元测试,面向测试的框架设计目标自动简单灵活的设计理念TestCase TestResult,44,5.3面向对象的单元测试,以测试为中心的框架:创建和运行测试案例4类任务测试案例创建和运行测试案例将测试案例创建和运行测试案例结果测试流程记录在日志文件中。45,5.3面向对象的单元测试,案例1:第一次测试MyPoint类,46,5.4 JUnit测试,问题问题软件质量提高测试程序需要编写;设计好和计划好的测试类的代码不需要太麻烦和太长。使用测试类的创作规范可以方便地测试,而不会随着时间的变化而变化。47,5.4 JUnit测试,JUnit的概念用于创建和运行可重复测试,Java代码专用的单元测试,主要用于白盒测试用例回归测试。三个设计目标自动化测试框架可确保代码持续有效地支持测试代码重用。使用48,5.4 JUnit测试、JUnit特性和优势特性验证assert*测试实际执行结果是否符合预期。使用测试用例TestCase和测试软件包TestSuite,可以轻松配置和运行测试。文本启动器textui、图形启动器awtui和swingui提供灵活的交互模式。在49,5.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 7376:2020/Amd 1:2025 EN Anaesthetic and respiratory equipment - Laryngoscopes for tracheal intubation - Amendment 1: Clarification of optical output and illumination req
- 2020-2025年企业人力资源管理师之一级人力资源管理师全真模拟考试试卷B卷含答案
- 2025年一级注册建筑师之建筑结构自我提分评估(附答案)
- 【成都】2025年四川成都市邛崃市公开招聘事业单位工作人员99人笔试历年典型考题及考点剖析附带答案详解
- 孤独之旅情境化教学课件
- 冀教版成长教学课件
- 876加几教学课件
- 口腔护士自我介绍课件
- 小学生种植实践课件
- 2025年交通设备制造业数字化转型与智能生产流程自动化报告
- 人教版初中九年级全册英语单词表(完整版)
- 2024自身免疫性肝炎诊断和治疗指南解读
- 课件-聆听学生的心声班主任心理辅导实务
- 阀门维修与更换操作规范考核试卷
- 防洪防汛施工现场应急预案(16篇)
- 《地方铁路运输企业安全生产标准化建设规范》
- 截瘫患者的并发症及护理
- 肝切除合并糖尿病
- 《大模型原理与技术》全套教学课件
- 《出口退税培训》课件
- 高考补习班招生策划书策划方案
评论
0/150
提交评论