软件测试理论

1.软件的三个要素:

程序(实行特定功能的代码) 文档(支持代码运行) 数据(支持程序运行一切有关)

2.软件的产品质量 指的是?

质量是指实体特性的综合,表示实体满足 明确的 或 隐含要求的能力。

3.软件测试的目的:

1)验证软件是否满足 软件开发合同 或者项目开发计划,系统/子系统设计文档,软件需求规格说 明,软件产品说明等规定的软件质量要求
2)通过测试,发现软件缺陷
3)为软件产品的质量测量和评价提供依据

4.软件测试的标准4个过程,以及对应的解释

1)测试策划:主要是进行测试的需求分析 和 测试计划的编写
2)测试设计:依据测试需求,分析并选用,已有的测试用例或者设计新的测试用例,在进入下一个阶段工作之前,应该通过测试就绪评审
3)测试执行:执行测试用例,获取测试结果,分析并判定设计结果
4)测试总结:整理和分析测试数据 ,评价测试效果和被测软件项,描述 测试状态 最后完成软件测试报告并通过测试评审

5.测试用例设计的基本原则

1)基于测试需求的原则
2)基于测试方法的原则
3)兼顾 测试充分性 和 效率的原则
4)执行用例的可再现性原则

6.什么是等价类划分法?

定义:
等价类划分 是在 分析 需求规格说明 基础上,把程序的输入域 划分成 若干个部分,然后再每部分中选取 代表性数据 形成测试用例

步骤:
a) 划分有效等价类,对规格说明 是 有意义 合理的 输入数据 所构成的集合
b) 划分无效等价类,对 规格说明 是 无意义 不合理的 输入数据 所构成的集合
c) 为每一个等价类 定义一个唯一的编号
d) 为每一个等价类 设计一组测试用例 确保 覆盖相应的等价类

7.什么是边界值分析法?

定义:
边界值分析法 是针对 边界值 进行测试的 使用 等于 大于 或者小于边界值的数据对程序进行测试的方法 就是边界值分析法。

步骤:
a) 通过分析 规格说明 找出 所有 可能的 边界条件
b) 对每一个边界条件 给出 满足 和 不满足的输入数据
c) 设计相应的 测试用例

对于满足边界值的 输入 可以发现 计算差错,对不满足的输入 可以发现 域差错

8.软件的内部质量 ,可以从哪六大特性进行解释?

六大特性:

功能性:
当软件在指定条件下使用时,软件产品 提供 满足 明确的和隐含的能力,包括适合性,准确性,互操作性,安全保密性,依从性

可靠性:
在指定条件下使用时 软件产品维持规定的性能级别的能力;包括,成熟性,容错性,易恢复性,依从性

易用性:
在指定条件下使用 软件产品被理解被学习 使用和 吸引用户的能力 包括 易学性 易操作性 吸引性 依从性(用户体验)

效率性:
在规定条件下 软件产品执行其功能时使用合适数量和类别资源的能力;包括 资源利用性 和 效率依从性

维护性:
软件产品 可以被修改的能力可能包括 纠正 改进 软件对环境 需求 和功能规格说明变化的适应 包括,易分析性,易改变性,稳定性,易测试性,依从性

可移植性:
软件产品 从一种环境迁移到另外一种环境的能力,包括,适应性,易安装性,共存性,易替换性,可移植性的依从性。

9. 软件按照生命周期可以分为哪些测试?

单元测试,集成测试,配置项测试(也叫作软件合格性测试或确认测试),系统测试,验收测试。
回归测试可以分布在上述每个测试类别中,贯穿整个软件生命周期,所以单独分类描述,

10.每一个阶段测试基于的文档是什么?

单元测试:软件设计文档。
集成测试:软件结构设计文档。
配置项测试:需求规格说明书(接口需求规格说明)。
系统测试:用户需求(研制合同或系统需求)。
验收测试:软件研制合同(用户需求或系统需求)

11.软件的准入和准出条件分别有哪些?

准入条件:

  • 1)具有测试合同(或者项目计划)

  • 2)具有软件测试所需各种文档

  • 3)所提交的 被测软件受控

  • 4)软件源代码 正确通过 汇编或者 编译

准出条件:结束软件测试 工作一般 应该达到下面的要求

  • 1) 已按要求 完成了合同(或项目计划)所规定的软件测试任务

  • 2) 实际测试过程遵循了 原定的软件 测试计划 和软件测试说明

  • 3) 客观 详细 地记录了 软件测试过程 和软件测试中发现的所有问题

  • 4) 软件测试文档 齐全 符合规范

  • 5) 软件测试的全过程 自始至终 在控制下进行

  • 6) 软件测试中 的 问题 或 异常 有合理的解释 或正确 有效的处理、

  • 7) 软件测试工作 通过了测试评审

  • 8) 全部测试软件,被测软件,测试支持软件,和评审结果 已经纳入配置管理

12.什么是静态测试 什么是动态测试?【软件测试按照 方法分】

  • 1)静态测试:
    又称为静态分析结束,其基本特征是 不执行被测软件,根据检查列表,对需求分析说明书,软件设计说明书,源程序做结构检查,流程图分析等找出软件错误,静态测试一般采用人工分析(针对文档),也可以用静态分析测试工具来进行(代码扫描)Sonar

  • 2)动态测试:
    其基本特征是执行被测试程序。通过执行结果,分析软件可能出现的错误 ,一般由人工设计程序测试用例,也可以由测试工具做检查和分析。

13. 回归测试的目的是什么?

  • 1)测试软件变更之后,变更部分 的正确性 针对变更需求的 复合型

  • 2)测试软件变更之后 软件原有的 正确的功能 性能和其他规定的要求的 不损害性。

14.什么是黑盒测试,什么是白盒测试?什么是灰盒测试?【软件测试按照 技术划分】

  • 1)黑盒测试: 又称,功能测试,数据驱动测试,或者基于规格说明的测试,这种测试不必要了解 对象的内部逻辑结构,而是根据需求说明书中的功能来设计测试用例

  • 2)白盒测试: 又称,结构测试。逻辑测试或者基于程序的测试,这种测试 应了解软件程序的内部构造,并且根据内部构造 来设计测试用例。

  • 3)灰盒测试 ; 敏捷的思想,持续集成,多次迭代,比如白盒的静态扫描,和黑盒的动态用例设计

一般单元测试采用白盒测试, 配置项或系统采用黑盒测试。

15.软件调试和测试的区别?

  • 调试:定位错误所在位置,并修改这些错误

  • 测试:发现软件中的缺陷,提高软件质量

16.软件测试的4项基本准备活动。

  • 1)软件环境的准备(干净 纯净的操作系统)

  • 2)完成软件的安装和部署(服务器操作 Linux操作数据库,jeeweb环境,tomcat .net 环境IIS )

  • 3)测试数据的准备

  • 4)业务操作流程的熟悉

17. 什么是基线?

已经正式通过审核批准的软件阶段性产品,是一个阶段性的开发版本,是一个具有里程碑意义的阶段性版本,此版本,可以作为 下一步 开发的基础。

18.几种测试

持续的集成测试:对每一个即将成为基线的版本都要进行灰盒测试,尽早和不断的进行软件测试

冒烟测试: 短时间内针对指定的 刚刚新增的 或者刚刚修改完Bug的模块,进行某个专项测试

回归测试: 长时间,针对某个指定的模块,刚刚修改完bug的模块,以及与之相关的模块 是否公用一张数据库表,进行专项的测试活动。
敏捷测试: 只有项目组和开发的过程,采用敏捷开发,什么时候采用敏捷测试?开发人员编写的需求规格说明书的阶段,采用敏捷测试,第一从客户的沟通中获得文字客户的需求,第二基于需求 开发静态页面原型,改动成本小,容易,直观体现需求,第三测试人员在这个阶段,对开发需求进行需求评审。

一:功能测试基本理论

1.测试需求:测试的规格说明书,主要作用是定义待测试的模块 和 功能模块的测试要点

2.测试计划:测试过程中的纲领性文件,对测试活动中的测试环境,测试方法,测试时间人员安排。

3.测试用例:是测试需求的细化,是一群元素的集合,主要包含,用例编号,操作步骤/测试数据,预期结果,实际结果,判定,覆盖需求。

4.缺陷报告:将软件的实际情况 和 测试用例的预期结果相比较,记录问题报告单。

5.测试的基本过程(4个过程):测试策划,测试设计,测试执行,测试总结

6.测试所需要的文档:测试需求,测试计划,测试用例,缺陷报告,测试报告(可能编写)

7. 软件测试的定义

  • 官方定义:
    是在规定的条件下,对软件程序进行操作,以发现其中的错误为目的,对软件质量进行评估,从而提高软件质量。

  • 老师给的测试定义:
    是在未知软件,程序模块,某个版本是否有错误的情况下,从客户的角度出发,依据需求规格说明书等文档,选择科学的方法,设计出正确的业务操作流程,尽可能多的模拟用户对软件的各种操作,尽可能多的发现软件中的缺陷,并且将缺陷记录报告,提交给相关开发人员修复,最终达到提高软件质量的目的。

15.对于输入框 填写需求时,要注意那些收集需求方式?类型 长度和范围 特殊于要对,对于按钮,要特别注意当前模块的变化,以及相关性

16.对于测试前提:

第一是 程序版本编号
第二是 程序文档,如果没有程序文档,可以尽量使用,已有文档,用户手册,还有跟客户或者开发进行有效的沟通,或者根据常识,或者同类型软件,界面提示信息,
第三是 测试数据的准备和还原

17.浏览器的兼容性分为哪二个部分:
首先在不同的浏览器中,页面内容的显示兼容,针对质量特性的 易吸引特性 展示专项 针对非功能特性,测试需求和测试用例的编写,其次是在不用的浏览器中,页面功能操作的兼容,针对质量特性 适合性 易操作 容错性,测试需求和测试用例的编写。

19.软件测试按照阶段划分:
单元测试 -> 集成测试 -> 系统测试 -> 确认测试(软件合格性测试和配置项测试) -> 系统测试 -> 验收测试

21.软件测试按照特性划分:
GUI界面测试(易用性),兼容测试,帮助文档测试,性能方面,负载测试,压力测试。

软件测试的模型(指导测试实施工作流程)

  • 软件测试模型v模型: 细化测试活动,测试最一阶段

  • 软件测试模型w模型: 细化测试活动,测试工作前面,尽早测试

  • 软件测试模型螺旋模型: 细化测试活动,测试工作前移,尽早测试,每一个模块开发都是一个迭代的过程,客户评估,强调用户的参与 沟通

  • 软件测试模型H模型: 弱化文档,灵活,每一个模块开发测试灵活,测试准备(不分先后),测试执行,达到测试就绪点,用例执行时,可以修改。测试计划在软件测试活动开展,也可以修改

27. 黑盒测试 需求收集 和 用例编写 需要关注那些地方?“输入”

防止输入非法数据;从需求的收集和用例的设计;长度或范围 类型和特殊要求“点击”业务功能的实现;从需求收集和用例设计【预期结果】;当前模块 相关性。

28. 黑盒测试: 功能模块增删改查

“添加模块”表单的内容,输入元素的value固定(默认) value随机(长度 类型 要求)点击元素,当前模块 相关性

“修改模块”先查询 后更改(添加要求)2个步骤

“删除模块”选择数据和 点击删除,

  • 1)是否有删除提示
  • 2)删除参考6个用例

“查询模块”

  • 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

1.功能测试

点点点 (手工测试)ui测试(selenium)

2.接口测试

postman(接口测试工具) jmeter(apache)

3.压力测试

locust(测试用户同时访问某一接口 接口所能承载的压力) jmeter(apache) lr(LoadRunner)

二.按自动化程度

1.手工测试 (点点点)
2.自动化测试ui service unit

一ui测试(基于selenium)(基于浏览器的自动化测试)

适用于哪些浏览器:
IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera

Python3 +  (**pip install selenium==2.48.0**)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值