软件测试基础习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、软件测试的定义?
软件测试是一个过程或者一系列过程,用来确认计算和代码完成了其应该完成的功能,并且不执行其不应该有的操作。
2、软件测试的目标是什么?
是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。
3、简单描述一下软件测试的原则?
所有的软件测试都应追溯到用户需求
应当把“尽早地和不断地进行软件测试”作为测试者的座右铭
Good Enough原则
质量第一
充分注意测试中的群集现象
程序员应避免检查自己的程序
有据可依
尽量避免软件测试的随意性,要有预期结果
重视回归测试
妥善保存一切测试过程文档
4、软件测试中验证和确认的区别?
Verfication 验证:
是保证软件正确实现特定功能的一系列活动和过程。
目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。
Validation 确认:
是保证软件满足用户需求的一系列的活动和过程。
目的是在软件开发后保证与用户需求符合
5、软件测试按照测试的基本策略可分为哪两种并加以详细说明?
白盒测试:
白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
黑盒测试:
黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。
6、整个软件生命周期中,需要进行哪几项测试?
单元测试、集成测试、系统测试、验收测试
单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。
一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。
集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。
系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。
简述集成测试和系统测试的区别?
1、集成测试的主要依据是概要设计说明书,系统测试的主要依据是需求设计说明
书
2、集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬
件平台,网络及相关的外设的测试
7、系统测试的策略有哪些?
功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,容错性测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试等。
8、文档测试主要包括哪些内容?
联机帮助文档或用户手册
指导和向导
安装、设置指南
示例及模板
错误提示信息
用于演示的图像和声音
授权/注册登记表及用户许可协议
软件的包装、广告宣传材料
9、停止测试的条件?
符合用户的需求
在一段时间内测试不出新缺陷
注:在企业实际开发过程中,版本发布时会有遗留问题
10、测试的基本文档包括哪些?
•测试计划》:指明测试范围、方法、资源,以及相应测试活动的时间进度安排表的文档。
•《测试方案》:指明为完成软件或软件集成特性的测试而进行的设计测试方法的细节文档。
•《测试用例》:指明为完成一个测试项的测试输入,预期结果,测试执行条件等因素的文档。
•《测试规程》:指明执行测试时测试活动序列的文档。
•《测试报告》:指明执行测试结果的文档。
11、简要的说明一下软件工程中的V模型?
12、为什么要开展测试工作?
因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况
13、测试团队在项目中的基本责任是什么?
1、发现软件程序、系统或产品中所有的问题
2、尽早地发现问题
3、督促和协助开发人员尽快地解决程序中的缺陷。
4、帮助项目管理人员制定合理的开发计划
5、对缺陷进行跟踪、分析和分类总结,以便让项目的管理人员和相关的负责人能够及时、清楚地了解产品当前的质量状态。
6、帮助改善开发流程、提高产品的开发效率
7、促进程序编写的规范性、易读性、可维护性等。
14、软件缺陷的定义是什么?
从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。因此软件缺陷就是软件产