2022年软件测试课程考点说明 .pdf
第 1 页软件测试试题考点说明一、程序调试技术1、程序调试的定义,与软件测试的区别。【例题】软件测试发现Bug,程序调试修复Bug。2、程序调试的基本过程从测试中发现错误- 定位错误 -改正错误 -总结3、正确的程序调试心理。不惊慌、不排斥、接受事实。4、程序调试的实践原则。编译警告信息、验证性能、向别人解释问题。5、程序调试的一般技巧和方法。输出语句、断点、变量观察窗口、二分查找错误、测试法调试等。二、系统测试1、系统测试的含义。2、系统测试的特点(任务、环境、黑盒测试技术、组织等)。3、系统测试的常见类型(功能、性能、易用性、安全性、安装、文档等)。【例题】针对用户手册的测试,()描述是错误的。A准确地按照手册描述使用程序B检查每条陈述C查找容易误导用户的内容D修改错误设计【例题】()不是易用性测试的内容。A安装测试B界面测试C菜单测试D文档测试【补充】验收测试:用户参与,分为Alpha 测试和 Beta 测试。三、自动化功能测试1、自动化测试的含义。使用测试工具、测试脚本完成机械重复的工作。2、WinRunner 的一般测试过程。创建 GUI Map创建测试脚本- 设置检查点- 测试用例参数化- 执行测试 - 得到测试报告。3、WinRunner 中的测试脚本、检查点语句、GUI Map、测试用例参数化。4、自动化测试工具的优点和局限。让机器做重复性工作,让人做设计和创新工作。四、集成测试技术1、集成测试的含义。关键是如何定位错误。2、两种集成策略(增量集成和大爆炸式集成)的含义。【补充】传统的面向过程方法中的集成策略:自顶向下(桩模块)和自底向上(驱动模块)。3、类之间的依赖关系。(图示说明)4、按照“先独立类,后依赖类”方式进行增量集成测试。五、单元测试技术1、单元测试的含义。一个系统总是由许多小对象构成的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 第 2 页2、单元测试的作用。检查接口、验证功能、发现错误。3、单元测试应具有的品质。自动化的、彻底的、可重复的、独立的、专业的。4、单元测试工具JUnit 的基本功能和用法。JUnit保证了单元测试的品质,可以定义测试类、定义测试方法、检查断言、自动报告等。5、利用 JUnit 框架编写单元测试代码。Test、Assert 类等。6、Mock 对象的含义和在单元测试中的作用。(图示说明)【例题】在单元测试中使用Mock 对象,其目的不是() 。A使得单元测试可以独立运行B解耦程序中相互依赖的多个对象C让每个程序员高效并行地工作D能够独立地测试Mock 对象(软件设计原则:使对象间解耦。)六、测试驱动开发技术1、TDD的含义。生产高质量代码的软件开发方法。2、TDD的步骤(三部曲)。不可正确运行- 可正确运行 - 重构。(编程原则:先让程序运行起来,再让其运行得更快和更好)3、TDD技术特点(分离关注点、测试先行、小步调整、反复迭代)。(软件设计原则:分离接口与实现。)(编程原则:抽象编程。)4、使用 TDD技术编写高质量的代码。综合运用测试技术、编程技术、设计技术、重构技术。(格言:源代码就是软件设计。)5、重构技术的含义和作用。提升软件的内在质量,避免软件腐烂。(软件设计原则:让代码不断演化。)【例题】在重构代码时可以向代码中增加新的功能。()【例题】运用测试驱动开发技术,实现一个方法,用以计算一个整数n 的阶乘。七、白盒测试技术1、白盒测试的含义。结构测试。【例题】白盒测试技术通过查看程序的代码结构来设计测试用例。()2、三种基本代码结构(顺序、分支和循环)的对应控制流图表示。(图示)3、白盒测试技术的关注点代码覆盖率。每条语句都运行通过了并不代表每条语句都是正确的。不能一味地追求覆盖率。4、语句覆盖、判定(分支)覆盖、条件覆盖和路径覆盖的含义。仔细思考各种覆盖之间的包含关系。【例题】对于任意一段代码,测试时总能覆盖到其中的每条路径。()【例题】条件覆盖一定包含判定(分支)覆盖。()【例题】判定(分支)覆盖一定包含语句覆盖。()【例题】语句覆盖一定包含判定(分支)覆盖。()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 第 3 页5、使用各种覆盖技术来设计测试用例。【例题】对表达式A&(B|C) 执行逻辑覆盖测试,则至少需要()个测试用例才能满足条件覆盖的要求。A. 1 B. 2 C. 3 D. 4 6、给定一段Java 代码,能够画出其控制流图。【例题】编写一个方法,能够返回给定日期的前一天日期。然后画出代码的控制流图,并设计一组测试用例来满足条件覆盖。八、静态测试技术1、静态测试的含义和优点。对代码、文档、模型、需求进行评审。【例题】静态测试技术适用于程序代码,不适用于其它文档。()2、代码检查的基本过程和特点。过程:准备 - 陈述 - 讨论 - 汇总。特点:促进交流、集体智慧。3、通用代码检查清单。总结代码中出现的常见错误。4、软件测试H模型及其特点。测试流程可以随时、独立地进行。尽早测试,尽可能多地测试。【例题】运用代码检查技术对下段Java 代码进行评审,找出其中的全部错误,并说明程序中常见的错误类型。/ 冒泡排序函数/ 输入约束:已知a 为非空数组,且n0 / 输出结果: a 升序1 void BubbleSort(double a, int n) 2 3 int i,j,flag; 4 for(i=0;in-1;i+) 5 6 for(j=0;jn-i;j+) 7 if(ajaj+1) 8 9 temp=aj; 10 aj=aj+1; 11 aj+1=temp; 12 flag=0; 13 14 if(flag=1) continue; 15 16 九、黑盒测试技术1、黑盒测试的含义、特点和用途。功能测试。用于功能、需求、接口规格、人机界面测试。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 第 4 页2、常用的各种黑盒测试技术:决策表、边界值、等价类、错误猜测等。共同特点:将无穷的输入数据分类成有限的几个部分,选取代表性数据进行测试。【例题】用边界值分析法,假设1X1000)&(n2000) g=n%10; s=n%100/10; b=n/100%10; q=n/1000; printf( “ n” ); return; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -