目标:
1.软件测试的定义;
2.7种测试分类的区别;
3.质量模型的重点5项;
4.测试流程的6个步骤;
5.测试模板8要素;
就业方向:
1.功能测试+接口测试
2.功能测试+性能测试
3.功能测试+web自动化
1.软件测试介绍
(1)定义:
软件:控制计算机硬件工作的工具。
软件测试:使用技术手段验证软件是否满足需求。(目的:减少软件错误,控制软件质量)
(2)主流技能:
1.功能测试:测试主要验证程序的功能是否满足需求。
2.自动化测试:使用代码或工具代替手工,对项目进行测试。
3.接口测试:使用代码或工具验证测序中的接口是否访问正常。
4.性能测试:模拟多人使用软件,查找服务器缺陷。
(3)模型:
1.质量模型:衡量一个优秀软件的维度(能告诉我们,测试时应该考虑的方面)
重点:功能、性能、兼容、易用性、安全 结论:无论测试硬件或软件,都应该从以上几点来进行分类验证
2.测试模型
2.测试分类
(1)按测试阶段(软件产出过程顺序)划分:
单元测试:针对程序源代码进行测试(单元:最小独立功能代码段)
集成测试:针对单元与单元之间的接口进行测试(又称接口测试,针对模块之间访问地址进行测试)
系统测试:针对系统整体功能+兼容+文档(说明、安装文档)
验收测试:内测(公司内部人员使用,发觉缺陷并修复);公测(让用户帮忙测试)
(2)按代码可见度划分:
黑盒测试:看不见源代码(UI功能可见),主要对程序UI功能进行测试。(阶段划分->系统测试)
灰盒测试:看见部分代码(功能不可见),主要对程序部分代码进行测试。(阶段划分->集成测试)
白盒测试:看见全部代码(UI功能不可见),主要对程序源代码进行测试。(阶段划分->单元测试)
(3)总结:
系统测试和黑盒测试重点核心是功能测试 集成测试和灰盒测试又称接口测试 单元测试和白盒测试是对代码进行测试 自动化测试归属功能测试 性能测试、安全测试归属专项测试
3.测试流程
-
需求分析(评审)
前提:阅读1遍需求文档,记录不明确之处。 参与人员:前端、后端、测试、产品 目的: 1、确保各部门需求理解一致 2、各角色对需求进行查漏补缺 3、了解软件有些功能 提示:需求分析阶段->软件还未实现(刚立项)
-
测试计划
说明:指导测试执行的文档(重要) 测什么(目标、范围) 谁来测(人员进度及安排) 怎么测(测试工具、测试策略)
-
用例设计
说明:保证能准确验证软件测试点执行的文档。 1、分析需求 2、提取测试点 3、设计用例覆盖测试点
-
用例执行
说明:实施测试
-
缺陷管理
提交->验证->关闭
-
测试报告
1、bug分析及统计 2、测试中遇到的问题 3、测试总结(本次测试中的优点和不足)
4.测试用例
用例:用户使用的案例。
用例的作用:1.防止漏测;2.衡量软件是否通过的标准
用例文档编写规范:
用例编号:项目_模块 _编号 用例标题:预期结果(测试点) 模块/项目:所属项目或模块 前置条件:要执行此条用例,有哪些前置操作 优先级:表示用例的重要程度或者影响力P0~P4(P0最高) 测试步骤:描述测试步骤 测试数据:操作的数据,没有的话可以为空 预期结果:期望达到的结果
模板例子:
用例设计方法:
目标:
1、能对穷举场景设计测试点 2、能对限定边界规则设计测试点 3、能对多条件依赖关系进行设计测试点 4、能对于项目业务进行设计测试点
(1)能对穷举场景设计测试点(穷举:无穷无尽)
等价类划分法
重点:有效等价和单个无效等价各取1个即可。 步骤: 1、明确需求 2、确定有效和无效等价 3、根据有效和无效造数据编写用例 注意:完整的用例应该是等价类和边界值一块写。
模板例子:
(2)能对限定边界规则设计测试点(使用边界值解决边界位数限制问题)
边界值
步骤: 1、明确需求 2、确定有效和无效等价 3、确定边界范围 4、提取数据编写用例
模板案例:
(3)能对多条件依赖关系进行设计测试点(使用判定表)
判定表
步骤: 1、明确需求 2、画出判定表 1)、列出条件桩和动作桩 2)、填写条件项,对条件进行全组合 3)、根据条件项的组合确定动作项 4)、简化、合并相似规则(有相同的动作) 3、根据规则编写测试用例 提示: 1、多条件之间有依赖关系,使用判定表来进行测试覆盖。 2、判定表一般适合4个以内条件依赖关系 3、如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决。
模板例子:
(4)能对于项目业务进行设计测试点(流程图)
业务用例是根据流程图来梳理的,需要先了解流程图
1、线上工具:https://processon.com/diagraming/605880af07912927bd71c388 2、离线工具:visio 3、其他工具:Excel
用例执行
执行结果与用例的期望结果不一致(含义),为缺陷。(用例执行不通过为缺陷,需要进行缺陷管理)
缺陷:
1.定义:软件中存在的各种问题,都为缺陷,简称bug;
2.缺陷标准:
1、少功能 2、功能错误 3、多功能 4、缺少隐性功能 5、易用性(软件测试人员专业角度)
3.缺陷产生的原因:
1、需求文档 2、架构设计 3、编码实现 4、环境(硬件、软件)
4.缺陷的生命周期:
1、回归测试: ①常规项目回归:项目本次发布新增2个模块,最基本要测新增模块功能及新增模块关联的旧模块。 ②非常规项目(银行、部队、航天):新增功能,必须全部复测。 2、回归bug:上一个版本发现的缺陷,开发修复完毕,在下个版本进行重新验证。
5.缺陷核心要素:
6.缺陷提交要素:
7.缺陷类型:
1、功能错误 2、UI页面错误 3、兼容性 4、数据(数据库) 5、易用性 6、建议 7、架构缺陷
8.工作流程:
设计用例->执行用例(执行测试)->缺陷(提交、验证、关闭) 缺陷定义:任何问题(Bug) 缺陷标准:多功能、少功能、错误、缺少隐性功能、易用性 描述缺陷重点:缺陷标题、前置条件、复现步骤、预期结果、实际结果、附件备注 提交缺陷信息:指派人、缺陷等级、修复优先级、类型、状态(统计缺陷)
缺陷管理:
1.excel样例:
2.缺陷跟踪流程:(知道测试和开发流程中涉及的工作即可)
3.提交注意事项:
提示: 面试题:发现缺陷后,首先回怎么办?--确定Bug可复现、确定是Bug。 提交时,要检查缺陷是否已存在。
4.缺陷管理工具:
1、项目管理工具-管理缺陷 (禅道、JIRA、TFS) 2、Excel管理缺陷
(1)禅道(项目管理工具)
-
地址:用户登录 - 禅道
-
特点:
-
使用流程图
-
使用禅道管理缺陷
-
登录
-
创建缺陷
-
关闭缺陷
-
5.缺陷标题扩展: