该篇文章是从各个网络资源上或者平时遇到的积累下来整合而成的,不算是原创,仅仅是整理,希望对正在面试的你以及正在准备面试的我有所帮助,有需要补充的请在下方评论,完善文章
1.软件的三个要素:程序(实行特定功能的代码) 文档(支持代码运行) 数据(支持程序运行一切有关)
2.软件的产品质量指的是:质量是指实体特性的综合,表示实体满足 明确的 或 隐含要求的能力。
3.软件测试的目的:
1)验证软件是否满足 软件开发合同 或者项目开发计划,系统/子系统设计文档,软件需求规格说明,软件产品说明等规定的软件质量要求
2)通过测试,发现软件缺陷
3)为软件产品的质量测量和评价提供依据
4.软件测试的标准4个过程,以及对应的解释
1)测试策划:只要是进行测试的需求分析 和 测试计划的编写
2)测试设计: 依据测试需求,分析并选用,已由的测试用例或者设计新的测试用例,在进入下一个阶段工作之前,应该通过,测试就绪评审
3)测试执行,执行测试用例,获取测试结果 分析并判定 设计结果
4)测试总结:整理和分析 测试数据 ,评价 测试效果和被测软件项,描述 测试状态 最后完成软件测试报告并通过测试评审
5.测试用例设计的基本原则:
1)基于测试需求的原则
2)基于测试方法的原则
3)兼顾 测试充分性 和 效率的原则
4)执行用例的可再现性原则
6.什么是等价类划分法?
定义:等价类划分 是在 分析 需求规格说明 基础上,把程序的输入域 划分成 若干个部分,然后再每部分中选取 代表性数据 形成测试用例,步骤:
a)划分有效等价类,对规格说明 是 有意义 合理的 输入数据 所构成的集合
b)划分无效等价类,对 规格说明 是 无意义 不合理的 输入数据 所构成的集合
c) 为每一个等价类 定义一个唯一的编号
d)为每一个等价类 设计一组测试用例 确保 覆盖相应的等价类
6.什么是边界值分析法?
定义:边界值分析法 是针对 边界值 进行测试的 使用 等于 大于 或者小于边界值的数据对程序进行测试的方法 就是边界值分析法。步骤:
a)通过分析 规格说明 找出 所有 可能的 边界条件
b) 对每一个边界条件 给出 满足 和 不满足的输入数据
c) 设计相应的 测试用例
对于满足边界值的 输入 可以发现 计算差错,对不满足的输入 可以发现 域差错
7. 软件的内部质量 ,可以从哪六大特性进行解释?
六大特性:
功能性:当软件在指定条件下使用时,软件产品 提供 满足 明确的和隐含的能力,包括适合性,准确性,互操作性,安全保密性,依从性
可靠性:在指定条件下使用时 软件产品维持规定的性能级别的能力;包括,成熟性,容错性,易恢复性,依从性
易用性:在指定条件下使用 软件产品被理解被学习 使用和 吸引用户的能力 包括 易学性 易操作性 吸引性 依从性
效率性:在规定条件下 软件产品执行其功能时使用合适数量和类别资源的能力;包括 资源利用性 和效率依从性 、
维护性:软件产品 可以被修改的能力可能包括 纠正 改进 软件对环境 需求 和功能规格说明变化的适应 包括,易分析性,易改变性,稳定性,易测试性,依从性
可移植性:软件产品 从一种环境迁移到另外一种环境的能力,包括,适应性,易安装性,共存性,易替换性,可移植性的依从性。
8. 软件按照生命周期可以分为哪些测试?
单元测试,集成测试,配置项测试(也叫作软件合格性测试或确认测试),系统测试,验收测试。回归测试可以分布在上述每个测试类别中,贯穿整个软件生命周期,所以单独分类描述,
9.每一个阶段测试基于的文档是什么?
单元测试:软件设计文档。
集成测试:软件结构设计文档。
配置项测试:需求规格说明书(接口需求规格说明)。
系统测试:用户需求(研制合同或系统需求)。
验收测试:软件研制合同(用户需求或系统需求)
10.软件的准入和准出条件分别有哪些?
准入条件:
1)具有测试合同(或者项目计划)
2)具有软件测试所需各种文档
3)所提交的 被测软件受控
4)软件源代码 正确通过 汇编或者 编译
准出条件:结束软件测试 工作一般 应该达到下面的要求
1)已按要求 完成了合同(或项目计划)所规定的软件测试任务
2)实际测试过程遵循了 原定的软件 测试计划 和软件测试说明
3)客观 详细 地记录了 软件测试过程 和软件测试中发现的所有问题
4)软件测试文档 齐全 符合规范
5)软件测试的全过程 自始至终 在控制下进行
6)软件测试中 的 问题 或 异常 有合理的解释 或正确 有效的处理、
7)软件测试工作 通过了测试评审
8)全部测试软件,被测软件,测试支持软件,和评审结果 已经纳入配置管理
11.什么是静态测试 什么是动态测试?
1)静态测试:又称为静态分析结束,其基本特征是 不执行被测软件,根据检查列表,对需求分析说明书,软件设计说明书,源程序做结构检查,流程图分析等找出软件错误,静态测试一般采用人工分析(针对文档),也可以用静态分析测试工具来进行(代码扫描)
2)动态测试:其基本特征是执行被测试程序。通过执行结果,分析软件可能出现的错误 ,一般由人工设计程序测试用例,也可以由测试工具做检查和分析。
12. 回归测试的目的是什么?
1) 测试软件变更之后,变更部分 的正确性 针对变更需求的 复合型
2)测试软件变更之后 软件原有的 正确的功能 性能和其他规定的要求的 不损害性。
13.什么是黑盒测试,什么是白盒测试?
1)黑盒测试:又称为功能测试,数据驱动测试,或者基于规格说明的测试,这种测试不必要了解 对象的内部逻辑结构,而是根据需求说明书中的功能来设计测试用例
2)白盒测试:又称,结构测试。逻辑测试或者基于程序的测试,这种测试 应了解软件程序的内部构造,并且根据内部构造 来设计测试用例。
一般单元测试采用白盒测试, 配置项或系统采用黑盒测试。
14.软件调试和测试的区别?
调试:定位错误所在位置,并修改这些错误
测试:发现软件中的缺陷,提高软件质量
15.软件测试的4项基本准备活动。
1)软件环境的准备(干净 纯净的操作系统)
2)软件的安卓不熟(服务器操作 Linux操作数据库,jeeweb环境,tomcat .net 环境IIS )
3)测试数据的准备
4)业务操作流程。
16. 什么是基线?
已经正式通过审核批准的软件阶段性产品,是一个阶段性的开发版本,是一个具有里程碑意义的阶段性版本,此版本,可以作为 下一步 开发的基础。
17.持续的集成测试
1)对每一个 即将成为极限的版本 灰盒测试,
2)今早和不断的进行软件测试
18.冒烟测试:段时间内 针对某个模块【刚新增的模块 或者刚刚修改完的模块】开展某个专项测试(功能测试)
19.回归测试:长时间,针对某个指定的版本【刚新增的模块 以及与他相关的其他模块,进行专项的测试活动】
一:功能测试基本理论
1.测试需求:测试的规格说明书,主要作用是定义待测试的模块 和 功能模块的测试要点
2. 测试计划:测试过程中的纲领性文件,对测试活动中的测试环境,测试方法,测试时间人员安排。
3.测试用例:是测试需求的细化,是一群元素的集合,主要包含,用例编号,操作步骤/测试数据,预期结果,实际结果,判定,覆盖需求。
4. 缺陷报告:将软件的实际情况 和 测试用例的预期结果相比较,记录问题报告单。
5.测试的基本过程:四个过程,测试策划,测试设计,测试执行,测试总结
6.测试所需要的文档:测试需求,测试计划,测试用例,缺陷报告,测试报告(可能编写)
7.软件测试的定义:
官方定义:是在规定的条件下,对软件程序进行操作,以发现其中的错误为目的,对软件质量进行评估,从而提高软件质量。
老师给的测试定义:是在未知软件,程序模块,某个版本是否有错误的情况下,从客户的角度出发,依据需求规格说明书等文档,选择科学的方法,设计出正确的业务操作流程,尽可能多的模拟用户对软件的各种操作,尽可能多的发现软件中的缺陷,并且将缺陷记录报告,提交给相关开发人员修复,最终达到提高软件质量的目的。
8. 测试跟调试的区别:测试,发现 软件找那个的缺陷,提高软件质量;调试,定位程序中间已经发现的错误所在位置,并修改这些错误。
9. 软件测试工作开展之前有思想基本准备活动:测试环境的准备(保证干净,纯净的一个测试环境);完成软件的安装和部署;准备测试数据;业务操作流程的熟悉。
10.什么叫做基线:已经正式通过审核批准的软件阶段性产品,是一个阶段性的开发版本,是一个具有里程碑意义的阶段性版本,此基线版本,可以作为下一步 开发的基础,
11. 什么叫持续集成测试:对每一个即将成为基线的版本都要进行灰盒测试,尽早和不断的进行软件测试
12. 敏捷测试:只有项目组和开发的过程,采用敏捷开发,什么时候采用敏捷测试?开发人员编写的需求规格说明书的阶段,采用敏捷测试,第一从客户的沟通中获得文字客户的需求,第二基于需求 开发静态页面原型,改动成本小,容易,直观体现需求,第三测试人员在这个阶段,对开发需求进行需求评审。
13.什么是冒烟测试:短时间内针对指定的 刚刚新增的 或者刚刚修改完Bug的模块,进行某个专项测试
14.什么是回归测试:长时间,针对某个指定的模块,刚刚修改完bug的模块,以及与之相关的模块 是否公用一张数据库表,进行专项的测试活动。
15.对于输入框 填写需求时,要注意那些收集需求方式?类型 长度和范围 特殊于要对,对于按钮,要特别注意当前模块的变化,以及相关性
16.对于测试前提:第一是程序版本编号,第二是程序文档,如果没有程序文档,可以尽量使用,已有文档,用户手册,还有跟客户或者开发进行有效的沟通,或者根据常识,或者同类型软件,界面提示信息,第三,是测试数据的准备和还原
17.浏览器的兼容性分为哪二个部分:首先在不同的浏览器中,页面内容的显示兼容,针对质量特性的 易吸引特性 展示专项 针对非功能特性,测试需求和测试用例的编写,其次是在不用的浏览器中,页面功能操作的兼容,针对质量特性 适合性 易操作 容错性,测试需求和测试用例的编写。
18.软件测试按照技术划分:
1)黑盒;黑盒测试,又称功能测试,或者数据驱动测试 或 给予规格说明书的测试,这种测试,不必了解程序的内部情况代码,而是依靠需求规格说明书中的功能 来设计测试用例
2)白盒;白盒测试,是一种基于代码的测试,是一种测试用例的设计方法,已知软件内部工作过程,通过测试证明内部操作是否符合设计规格要求,他通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试,在程序不同的地方设立检查点,检查程序运行状态是否一致。
3)灰盒;敏捷的思想,持续集成,多次迭代,比如白盒的静态扫描,和黑盒的动态用例设计
19.软件测试按照阶段划分:单元测试;集成测试;系统测试,确认测试(软件合格性测试和配置项测试);系统测试,验收测试。
20.软件测试按照方法划分:静态测试,动态测试
21.软件测试按照特性划分:GUI界面测试(易用性),兼容测试,帮助文档测试,性能方面,负载测试,压力测试。
22.软件测试的模型(指导测试实施工作流程)
23.软件测试模型v模型:细化测试活动,测试最一阶段
24.软件测试模型w模型:细化测试活动,测试工作前面,尽早测试
25.软件测试模型螺旋模型:细化测试活动,测试工作前移,尽早测试,每一个模块开发都是一个迭代的过程,客户评估,强调用户的参与 沟通
26.软件测试模型H模型:弱化文档,灵活,每一个模块开发测试灵活,测试准备(不分先后),测试执行,达到测试就绪点,用例执行时,可以修改。测试计划在软件测试活动开展,也可以修改
27.黑盒测试 需求收集 和 用例编写 需要关注那些地方?“输入”
防止输入非法数据;从需求的收集和用例的设计;长度或范围 类型和特殊要求“点击”业务功能的实现;从需求收集和用例设计【预期结果】;当前模块 相关性。
28.黑盒测试:功能模块增删改查
1、“添加模块”表单的内容,输入元素的value固定(默认) valu随机(长度 类型 要求)点击元素,当前模块 相关性
2、“修改模块”先查询 后更改(添加要求)2个步骤
3、“删除模块”选择数据和 点击删除,1)是否有删除提示 2)删除参考6个用例
4、“查询模块”:
1)是否能够根据查询条件 准确的找到 待查询的内容
2)长度 少 不关注
3)类型 非数字,数字,时间(bug)
4)特殊要求 特殊字符
5)正交法 用例个数固定
29.什么是好的测试用例?
首先 编写依据 基于需求 基于方法 兼顾效率 体现再现性,然后,此用例能够帮助发现新的bug
30.测试过程管理工具相比与硬盘保护有什么优点?web页面 表单填写数据库保存,方便进行内容保存 收集,统计,资源共享,此类管理工具很多,QC/TD(名气大),bugfreee,禅道,或者企业自己开发。
31.Bug的分类有哪些,
1)By design 设计本如此
2)Duplicat 重复提交的Bug
3)Not Repro 无法重现的bug 称为三种无效Bug .
a)Externa,因为外部因素导致的问题(浏览器 操作系统, 第三方)
b)Fixed 问题已修改
c)Postponed, 延迟处理 后续版本
d)won’t fix 是个Bug 太过于细小 不值得修改。称为四种有效bug