软件测试考试重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(每小题2分,共20分)
二、判断题(每题1分,共10分)
三、名词解释(每题2分,共10分)
四、分析题(共6题30分)
五、综合题(共2题30分)
第二章
软件质量:软件质量是软件特性的总和,以及满足规定和潜在用户需求的能力
产品质量的标准:1.功能性2.可用性(简单安装; 轻松使用; 友好界面)3.可靠性(用户使用的根本)4.性能5.容量6.可测量性7.可维护性8.兼容性9.可扩展性
软件测试分类:1.方法:白盒,黑盒2.目标/特性:功能,强壮性,性能,适用性,安全性,可靠性3.阶段/层次:单元,集成,系统,验收
单元测试的对象是程序系统中的最小单元---模块或组件上,在编码阶段进行,针对每个模块进行测试,主要通过白盒测试方法,从程序的内部结构出发设计测试用例,检查程序模块或组件的已实现的功能与定义的功能是否一致、以及编码中是否存在错误。
集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题。两种集成方式:一次性集成方式和增殖式集成方式。
功能测试一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用
系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作,验证软件的功能和性能如同用户所合理期待的那样
安装测试是指按照软件产品安装手册或相应的文档,在一个和用户使用该产品完全一样的环境中或相当于用户使用环境中,进行一步一步的安装操作性的测试。
第三章
测试的关键问题是如何选择测试用例:高效的测试用例
测试用例:由测试数据和预期结果构成的
测试的对象:源程序、目标程序、数据及相关文档。
测试的目的:为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。
软件是人的创造活动,错误不可避免,因此只能发现错误,不能预防错误。
掌握各种逻辑覆盖法和基路径覆盖法的概念,并能设计相关的测试用例
白盒(逻辑覆盖法):语句,判定,条件,判定条件,条件组合,路径
掌握控制流图的画法、控制流图的圈复杂度的计算方法、掌握使用基本路径测试法设计测试用例的方法
黑盒:
掌握等价类划分法,能够划分等价类并设计测试用例。
掌握弱一般等价类测试、强一般等价类测试、弱健壮等价类测试、强健壮等价类测试的概念掌握判定表法的基本原理,并能运用它设计测试用例。
了解因果图法、场景法、错误推测法
掌握静态测试与动态测试的区别
第四章:
软件测试过程模型:v模型,w模型,TMAP模型
了解测试过程的3种模型,具体掌握v\M模型的原理,知道各阶段的对应关系
第五章:
单元测试:对软件基本组成单元进行的测试,一般在代码完成后由开发人员完成,QA人员辅助。
静态测试技术:不运行被测试程序,对代码通过检查、阅读进行分析。
走查:采用讲解、讨论和模拟运行的方式进行的查找错误的活动
审查:采用讲解、提问方式进行,一般有正式的计划、流程和结果。主要方法采用缺陷检查表。
评审: 通常在审查会后进行,审查小组根据记录和报告进行评估
动态测试:需要真正将程序运行起来,需要设计系列的测试用例保证测试的完整性和有效性。白盒,黑盒(灰盒)
单元测试阶段的工具:junit,cppunit,sourcemonitor等。
第六章
集成测试:在软件系统集成过程中所进行的测试,其主要目的是检查软件单元之间的接口是否正确。
它根据集成测试计划,一边将模块或其他软件单元组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。
集成测试的策略主要有自顶向下和自底向上两种。
系统测试:对已经集成好的软件系统进行彻底的测试;
以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正
确并非一项简单的任务,它被称为测试的“先知者问题”;
因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
两者区别:
1.测试方法
集成测试:通常采用白盒测试和黑盒测试相结合的测试方法。
系统测试:通常使用黑盒测试方法。
2.测试内容
集成测试:各个单元模块直接的接口,以及各个模块集成后所实现的功能。
系统测试:整个系统的功能和性能。
3.测试目的
集成测试:发现单元之间接口的错误,以及发现集成后的软件同软件概要设计说明书不一致的地方,确保各个单元模块组合在一起后,能够达到软件概要设计说明的要求,协调一致地工作。
系统测试:通过与系统需求定义相比较,发现软件与系统定义不符合或矛盾的地方。
集成测试的第一步:
模块划分是集成测试的第一步,也是最重要的工作之一。模块划分的好坏直接影响集成测试工作量、进度和质量。
软件工程的2/8原则:测试中发现的80%的错误可能源于20%的模块。
一般将模块划分为3个等级:高危模块、一般模块和低危模块。高危模块应该优先测试。
集成测试与开发:
集成测试与软件开发过程中的概要设计相关,概要设计中关于整个系统的体系结构是集成测试用例设计的基础。
概要设计作为软件设计的骨架,可以清晰地表示出大型系统中的组件或子系统的层次构造,软件产品的层次、组件分布、子系统分布等信息为集成测试策略的选取提供了重要的参考依据。
集成测试可以检验所设计的软件构架是否存在错误和遗漏,以及是否存在二义性。
集成测试的层次:
对于传统软件来说,按集成粒度不同,可以把集成测试分为3个层次,即:
模块间集成测试,子系统内集成测试,子系统间集成测试
对于面向对象的应用系统来说,按集成粒度不同,可以把集成测试分为2个层次:
类内集成测试,类间集成测试
集成测试的模式:
非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。
渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。
驱动程序/驱动模块(driver),用以模拟被测模块的上级模块。驱动模块在集成测试中接受测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。