面向对象软件的测试
- 格式:ppt
- 大小:315.12 KB
- 文档页数:26


面向对象软件的测试、Web应用软件测试(一)
(总分100,考试时间90分钟)
选择题
1. 以类为单元进行单元测试时,以下说法中正确的是______。A.一个测试用例可以调用该类的多个方法,但每个方法只能调用一次 B.一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法 C.由该类方法组成的任何一个序列都是一个合理的测试用例 D.针对一个类的多个实例间协作的测试仍然属于面向对象单元测试的范畴
2. 以下关于面向对象程序测试的说法中,正确的是______。A.面向对象程序与传统程序的黑盒测试方法完全相同 B.面向对象程序与传统程序的白盒测试方法有明显区别 C.单个类树的测试不属于面向对象程序单元测试关注的范畴 D.对一个类的每个成员方法都进行充分的测试就完成了对该类充分的测试
3. 以下关于面向对象程序测试的说法中,错误的是______。A.方法名的重载是面向对象软件测试区别于传统程序测试的一个根本因素 B.展平测试是测试一棵继承树叶结点类的一种策略 C.基于判定表的测试可以用于面向对象程序的单元测试 D.等价类划分测试能用于方法层次的测试
4. 以下关于面向对象软件测试的说法中,正确的是______。A.不需要对抽象类进行单元测试 B.等价类划分测试是一种类层次的测试技术 C.不变式边界测试是一种类层次的测试技术 D.测试动态绑定是类树测试的唯一目标
5. 以下关于面向对象软件测试的说法中,错误的是______。A.测试动态绑定是类树测试的一个重要目标 B.面向对象软件协作集成测试是指对一个类的多个实例间协作进行的测试 C.面向对象软件的自底向上集成测试需要为集成测试开发相应代码 D.面向对象软件的单元测试需要考虑对一个类中单个方法的测试
6. 下列关于面向对象程序的测试组织问题的说法中,正确的是______。A.在面向对象程序测试中,通过执行程序代码完成的测试通常包括单元测试、集成测试和系统测试3个主要方面 B.在面向对象程序中的一个类可以作为被独立测试的单元 C.在面向对象程序测试中,很容易对一个类中的单个成员方法进行充分的单元测试 D.由于集成测试目标相同,结构化程序的集成测试技术都适用于对类的测试
2007年8月刊 (总第96期) 大众科技 DAZHONG KEJ 2007.8 (Cumulatively No.96)
浅析面向对象模型中的软件测试技术
雷育芳,李陶深
(广西大学计算机与电子信息学院,广西南宁530004)
【摘要】文章针对面向对象开发模型,结合传统的测试步骤, 展开测试,以及如何设计相应的测试用例进行了分析。 【关键词】软件测试;面向对象;用例 【中图分类号】TP311 【文献标识码】A
(一)引言
软件测试是软件开发生命周期中一项非常重要的工作,
贯穿于软件定义和开发的整个期间。软件测试不是单纯的程 序测试,还包括需求分析、概要设计、详细设计,以及程序
编码等各个阶段所得到的文档,以及需求规格说明和概要设
计规格说明。软件测试的概念,广义上讲,是指软件产品生
存周期内所有的检查、评审和确认活动:狭义上讲,是对软
件产品质量的检验和评价。它一方面检查软件产品质量存在 的问题,另一方面也是对产品质量进行客观的评价。软件测
试是保证软件质量和可靠性的手段,其根本任务是尽可能多
地发现软件中的错误。
面向对象的开发模型突破了传统的瀑布模型,不断适应
用户需求的变动。针对这种开发模型,结合传统的测试步骤, 本文主要就如何运用软件测试技术对编码完成阶段的方法和
类展开测试,以及如何设计相应的测试用例进行了分析。 (二)编码完成阶段的测试
1.方法层的测试 测试类中的每一个方法,相当于传统软件测试的单元测
试,可以采用传统的单元测试方法:控制流测试、数据流测
试、排错测试、分域测试等。但是方法与数据一起封装在类
中,并通过向所在对象发送消息驱动,它的执行与对象状态 相关,也有可能改变对象状态。因此,设计测试用例要考虑
设置对象的初始状态,使它收到消息时执行指定的路径。
传统的单元测试只能测试一个操作(功能),而在面向对
象软件的单元测试中,一个操作功能只能作为一个类的一部
分,类中有多个操作(功能),就要进行多个操作的测试。另 外,父类中定义的某个操作能被多个子类继承。但在实际应
第33卷 VoL33 第5期 No.5 计算机工程 Computer Engineering 2007年3月 March 2007 ・软件技术与数据库- 文章编号:1o0o—-3428(20o7)o5—_0o59—_o3 文献标识码:A 中图分类号:TP311.52 基于有穷自动机的面向对象软件规约的测试
程烨,高建华 (上海师范大学计算机科学与工程系,上海200234) 摘要:尽管作为软件工程中面向对象的技术已逐步取代了面向过程的技术,但是测试和维护软件的费用并没有因此而减少。在面向对象 软件的测试研究中,对如何减少面向对象软件的错误提出了许多方法,绝大多数人关注的是类测试而不足对面向对象规约的高级测试。该 文提供了一个基于有穷自动机的测试框架来测试面向对象规约。该方法在一个可执行的有穷自动机上直接进行了测试,不用手动进行证明, 并且可产生大量的状态空问。测试结果汪明了该方法的仃效性。 关健词:测试;有穷自动机;形式化方法;软件规约; 向对象 Test of Obj ect—oriented Software Specification Based on Finite Automata CHENG Ye.GAO Jianhua (Department of Computer Science and Engineering Shanghai Normal University,Shanghai 200234) [Abstract]Although object—oriented(O0)software techniques gradually replace procedure—oriented programming as the mainstream in software industry.the cost of test and maintenance of OO software does not reduce.There are lOtS of researches on the object—oriented software test(OOT) proposed to reduce OO software errors,most of them focus on the class test instead of high level test for OO specification.This paper provides a test framework based on finite automata to test the OO specii’ication.Tile approach performs the test directly on all executable finite automata without manually deriving the formal proofs or generating a great deal of state spaces The test results prove the approach is efficient. [Key words】Test;Finite automata;Formal method;Software specification:Object—oriented(OO)
软件评测师
/rk/test/index.html
软件评测师教程考点梳理(一)
软件评测师考试属于全国计算机技术与软件专业技术资格考试中的一个中级考试。希赛小编为大家整理了软件评测师教程中几个重要的知识点精讲,希望对大家2017年备考能有所帮助。
面向对象软件的集成测试
(1)传统的自顶向下或自底向上的集成测试策略在面向对象软件的集成测试中无意义,OO软件的集成测试需要在整个程序编译完成后进行,面向对象程序具有动态特性,程序的控制流无法确定,只能对编译完成的程序做基于黑盒子的集成测试。
(2)面向对象软件的集成测试两种策略
基于线程的测试(Thread based testing):集成对响应系统的一个输入或事件所需的一组类,每个线程分别进行集成和测试,应用回归测试以保证没有产生副作用。
基于使用的测试(Use based testing):通过测试那些几乎不使用服务器类的的类(独立类)而开始构造系统,在独立类测试完成后,下一层中使用独立类的类(依赖类)被测试,这个依赖类层次的测试序列一直持续到构造完整个系统。
(3)测试目的:能够检测出相对独立的,单元测试无法检测出的,那些类相互作用时才会产生的错误,只关注于系统的结构和内部的相互作用。
(4)面向对象软件的集成测试过程
第一步:静态测试针对程序的结构进行,检测程序结构是否符合设计要求。通过使用测试软件的‘可逆性工程’功能,得出源程序的类系统图和函数功能调 软件评测师
/rk/test/index.html
用关系图,与OOD结果相比较,检测程序结构和实现上是否有缺陷,检测OOP是否达到了设计要求。
第二步:动态测试根据静态测试得出的函数功能调用关系图或类关系图作为参考,按照如下步骤设计测试用例,达到如下测试覆盖标准。
设计测试用例步骤:选定检测的类,参考OOD分析结果,确定出类的状态和相应的行为;确定覆盖标准;利用结构关系图确定待测类的所有关联;根据程序中类的对象构造测试用例,确认使用什么输入激发类的状态,使用类的服务和期望产生什么行为等,还要设计一些类禁止的例子,确认类是否有不合法的行为产生。