信息系统测试辅导与练习(三).doc_第1页
信息系统测试辅导与练习(三).doc_第2页
信息系统测试辅导与练习(三).doc_第3页
信息系统测试辅导与练习(三).doc_第4页
信息系统测试辅导与练习(三).doc_第5页
全文预览已结束

下载本文档

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

文档简介

信息系统测试辅导与练习(三)第3章 软件测试技术【本章主要内容】全面介绍软件测试的基本技术、基本方法,包括结构化系统测试技术和面向对象系统测试技术等内容。这部分内容是对软件测试技术知识的浓缩。【重要的知识点】1 人工测试技术代码审查和人工走查是两种基本的人工测试技术。两者都需要召开一个旨在发现错误的审查会,但不同的是,人工走查会上除了阅读程序外,还需要由测试员利用测试数据人工运行程序并得出输出结果,并对结果进行审查。2 黑盒测试技术黑盒测试是依据规格说明书,针对程序外部功能进行的测试。主要应用于确认测试或系统测试阶段。 使用黑盒测试技术设计测试用例的基本方法有:等价类划分法、边界值分析法、错误推测法和因果图法。特别要牢固掌握如何划分等价类、设计测试用例;如何进行边界值的测试。(1) 等价类划分为什么要划分等价类?由于输入数据量巨大,对其采用穷举测试方法是不可能的,也是不现实的。这促使我们考虑从大量的测试数据中选取一部分作为测试用例,即对输入数据划分为不同的等价类,在每个等价类中选取代表性的数据进行测试,以达到用某少数测试用例代表全部被测数据的测试结果的目的。步骤: 划分等价类:分为有效等价类和无效等价类。教材47页给出了等价类划分的6条原则,请同学们熟练掌握。 选取测试用例:建立等价类表,列出所有划分出的等价类;然后从等价类表中选取测试用例,选取的原则有3条,见教材48页。学习时要结合具体的实例,应用教材中列举的原则和步骤,反复体会解体思路,逐步掌握等价类划分法。(2) 边界值分析长期的测试工作经验表明,大量的错误都发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部,因此采用边界值分析方法着重测试输入和输出等价类的边界值。边界值分析方法是对等价类划分方法的补充。采用边界值分析方法选取测试用例时,应遵循7条原则,见教材49页。3 白盒测试技术白盒测试以检查程序的细节为基础,对程序的结构,即逻辑路径进行测试。主要应用于单元测试阶段。使用白盒测试技术设计测试用例的基本方法有:程序结构分析、逻辑覆盖、程序插装等。要重点掌握的是逻辑覆盖方法。(1) 程序结构分析程序结构是进行白盒测试的重要依据。可以从控制流和数据流等方面分析程序的结构。(2) 逻辑覆盖根据覆盖测试的目标,逻辑覆盖包括语句覆盖、分支覆盖、条件覆盖、判定条件覆盖、路径覆盖等常用的覆盖方法。以上覆盖方法的作用不同:语句覆盖使得每一个可执行语句至少执行一次;分支覆盖使得程序中每个判定的取真分支和取假分支至少经历一次;条件覆盖使得程序中每个判断的条件的可能取值至少执行一次;判定条件覆盖使得程序中每个判断中每个条件的可能取值至少执行一次,每个判断中的每个分支至少执行一次;路径覆盖使得程序中所有可能的路径都执行一次。(3) 程序插装程序插装即借助向被测程序中插入操作语句来达到进行测试的目的。4 静态分析技术和动态测试技术静态分析技术是指借助静态分析工具对程序进行分析和测试的一种白盒测试技术。程序静态分析的方法主要有生成引用表、程序错误分析和接口分析等。动态测试技术是指通过运行动态测试工具,实际运行被测程序的一种白盒测试技术。包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。5 面向对象系统测试技术面向对象技术作为一种全新的软件开发技术,传统的测试模型对其已经不再适用,面向对象技术软件的测试有其自己的模型。面向对象测试的内容分为面向对象分析的测试、面向对象设计的测试、面向对象编程的测试、面向对象单元测试、面向对象集成测试和面向对象系统测试。【练习题】选择题(选择一个正确的答案代号填入括号中)1. 下列属于黑盒测试方法的是( )。A程序控制流分析 B错误推测法C数据流分析 D域测试2. 采用等价类划分法的关键是( )。A选择测试用例B找出等价类的边界条件C划分等价类D通过输入条件,确定无效等价类3. 针对下面一个程序段:if(A1) & (B0) X = X/A;if(A2)| (X 1) X+;选取测试用例:CASE 1: A=2 B=0 X=3 ,该测试用例满足了( )。A语句覆盖 B分支覆盖C条件覆盖 D路径覆盖4. 下面测试方法属于静态分析方法的是( )。A 功能确认与接口测试 B覆盖率分析C性能分析 D生成引用表5. 覆盖准则最强的是( )。 A语句覆盖 B判定覆盖C条件覆盖 D路径覆盖6. 下列说法中是正确的是( )。A测试是为了验证软件已正确地实现了用户的要求。B白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。C黑盒测试的测试用例是根据程序内部逻辑设计的。D为了快速完成集成测试, 采用一次性集成方式是适宜的。7. 下列说法中是错误的是( )。A单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。B功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。C有效性测试是在模拟的环境(或就是开发环境下)下运用黑盒法,验证软件特性是否与需求符合。D白盒法是一种静态测试方法,主要用于模块测试。8. 下列说法中是正确的是( )。A在发现错误后,则应按照一定的技术去纠正它。纠错的关键是“错误定位”。B在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。C系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。D在软件开发过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。9. 下列说法中错误的是( )。A软件测试的开销大,软件不能进行“穷举”测试。B数据流分析图、调用图都是常用的静态测试方法。C集成过程的原则是尽量将所有模块集成到系统中,按照输入-处理-输出的次序进行集成。D在分析规范(因、果)的基础上画出因果图,再将其转换为有限项判断表,就容易得出测试用例。10. 在面向对象测试技术中,主要测试数据成员是否满足数据封装的要求,以及类是否实现了要求的功能的测试属于( )。A面向对象分析的测试 B面向对象设计的测试C面向对象编程的测试 D面向对象的系统测试填空题1. 和 是两种基本的人工测试技术,两者都需要召开一个 会,会议的目的是发现错误,而不寻找纠错的方法。2. 按照等价类划分的原则,如果输入为a,b,c,则可以确定 个有效等价类和 个无效等价类。3. 是一种黑盒测试方法,该方法着重测试边界情况。4. 一般从 和 等不同的方面进行程序结构的分析。5. 程序插装方法简单地说就是借助向被测程序中插入 来达到测试的目的。6. 程序静态分析的对象是 ,通常使用的方法有生成引用表、 和 等。7. 对应于面向对象开发模型的三个开发阶段,面向对象测试也分别对应为_、_、和 。在编码完成后,还要进行 ,_,面向对象系统测试(OO System Test)。8. 面向对象的集成测试可以分成两步进行: 和 。判断题(从下列叙述中选择正确的叙述,在括号中划上;对于你认为是错误的叙述要划上并说明原因。)1. 在人工测试技术中,人工走查与代码审查的不同之处在于,代码审查不仅要阅读程序,还要利用测试数据人工运行程序并得出输出结果,并对结果进行审查。( )2. 如果输入条件规定了取值范围,例如输入从1到50,则可以确立一个有效等价类(1n50)和两个无效等价类(n50)。( )3. 长期的测试经验告诉我们,大量的错误都是发生在输入或输出范围的边界上。因此,要使用错误推测法来着重测试边界情况。( )4. 要求程序中每个判断的每个条件的可能取值至少执行一次的逻辑覆盖称为条件覆盖。( )5. 在静态分析技术中,如果沿着程序的控制路径,变量在赋值以后未被引用,就发生了引用异常。( )6. 传统的测试模型对于面向对象软件仍然适用,不需要开发新的测试模型。( )7. 面向对象集成测试(OO Integrate Test)主要对系统内部的相互服务进行测试,如成员函数间的相互作用,类间的消息传递等。( )简答题见课后习题。应用题1. 若规定学生的年龄是1625,试用边界值分析法设计测试数据。2. 某城市电话号码由三部分组成,即(地区码)前缀-后缀。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:起始位为非0或1的三位数字; 后 缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。3. 下图为某程序的逻辑结构,试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。A0 and B=0S2TFS1【本章课后习题解答】1 人工测试有什么作用?是否可以完全用机器测试代替人工测试?答:人工测试的作用:使用人工测试方法能够有效地发现30%到70%的逻辑设计和编码错误。IBM代码审查会的查错效率更高,竟能查出全部错误的80%,它常常能够找出机器测试不易发现的错误。人工测试与机器测试的区别:机器测试是一种依赖于计算机的测试技术,它主要是通过在计算机上运行程序来完成测试;而人工测试是不依赖于计算机,通过人工手段进行测试的技术。因此不能完全用机器测试代替人工测试。2 什么是a和b测试?它们主要应用于软件测试过程的哪个阶段?分别由谁来完成a和b测试?答:测试是由用户在开发环境下进行的测试。测试可以在软件编码结束时开始,或在单元测试完成后开始,也可在确认测试过程中软件达到一定的稳定和可靠程度之后再开始。测试需要开发人员参与。测试是由软件用户在实际使用环境下进行的测试。只有当测试达到一定的可靠程度时,才能开始测试。测试通常由主持产品发行的人员来管理。3 黑盒测试的主要目的是什么?黑盒测试主要应用于软件测试过程的哪个阶段?答:黑盒测试是依据规格说明书,针对程序外部功能进行的测试,被用来证实软件功能的正确性和可操作性。黑盒测试主要应用于确认测试或系统测试阶段。4 黑盒测试中测试用例的设计方法有哪几种?各自的特点是什么?答:使用黑盒测试技术设计测试用例的基本方法有:等价类划分法、边界值分析法、错误推测法和因果图法。等价类划分法是对大量的输入数据划分为不同的等价类,在每个等价类中选取代表性的数据进行测试,以达到用某少数测试用例代表全部被测数据的测试结果的目的。边界值分析方法着重测试输入和输出等价类的边界值,是对等价类划分方法的补充。错误推测法是一种基于经验和直觉推测程序中可能存在的各种错误,从而有针对性地设计测试用例的方法。因果图法考虑了各种输入情况之间的相互制约关系,即输入组合,弥补了等价类划分法的不足,能高效地选择测试用例,还能指出程序规格说明书中存在的问题。5 白盒测试中都有哪几种覆盖方法?各自的作用是什么?答:使用白盒测试技术设计测试用例的基本方法有:程序结构分析、逻辑覆盖、程序插装等。程序结构是进行白盒测试的重要依据。程序结构分析从控制流和数据流等方面分析程序的结构。根据覆盖测试的目标,逻辑覆盖包括语句覆盖、分支覆盖、条件覆盖、判定条件

温馨提示

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

评论

0/150

提交评论