软件测试基础理论知识整理杂论——面试可能会问到的基础知识问题

该篇文章是从各个网络资源上或者平时遇到的积累下来整合而成的,不算是原创,仅仅是整理,希望对正在面试的你以及正在准备面试的我有所帮助,有需要补充的请在下方评论,完善文章

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,禅道,或者企业自己开发。

31Bug的分类有哪些,

1By design 设计本如此 

2Duplicat 重复提交的Bug 

3)Not  Repro 无法重现的bug 称为三种无效Bug .

aExterna,因为外部因素导致的问题(浏览器 操作系统, 第三方)

b)Fixed 问题已修改  

c)Postponed, 延迟处理 后续版本 

d)won’t fix  是个Bug  太过于细小 不值得修改。称为四种有效bug 

 

你可能感兴趣的:(软件测试基础知识积累)