软件测试工程师学习笔记 -合并版
入门必读
基础入门目标五天结束,能独立完成功能测试过程。
1. 测试基础
20%占比。
1)目标
- 能复述软件测试的定义;
- 能说出质量模型的重点五项;
- 能说出测试流程六个步骤;
- 能说出七种测试分类的区别;
- 能说出测试模板八个要素。
2)知识点
- 认识软件及测试
- 控制计算机硬件的工具叫软件;使用技术手段验证软件是否满足使用需求的过程叫做软件测试。软件测试的目的是减少软件中的bug,来保障软件质量。
- 测试主流技能
- 功能测试:测试功能
- 自动化测试:代码或者工具进行测试
- 接口测试:代码或者工具验证接口
- 性能测试:模拟多人使用软件
就业方向:
【功能+接口】、【功能+性能】、【功能+自动化】
- 常见的测试分类
- 按测试阶段分类(四阶段)
- 单元测试:针对程序源代码,进行模块内测试
- 集成测试:针对模块之间访问地址进行测试
- 系统测试:对系统测试,有功能、非功能(兼容、文档等)
- 验收测试:内测、公测等,针对特殊项目- 按代码可见度划分
- 黑盒测试:源代码不可见,UI功能可见。即系统测试
- 灰盒测试:部分源代码可见,功能可见。即集成、接口测试
- 白盒测试:源代码透明。即单元测试
-注:UI即User Ineterface用户接口,即软件界面
4. 测试模型
–质量模型
- 衡量一个优秀软件的八个维度
- 功能性 :【功能数量】【功能正确实现】【错误处理情况】
- 性 能 :【服务器每秒请求数】【服务器配置是否满足】
- 兼容性:【浏览器】【手机】【操纵系统】
- 易用性:【简洁】【友好】【流畅】【美观】
- 安 全:【信息传输】【信息存储】
- 可靠性:【无响应】【死机】【卡顿】
- 可维护性
- 可移植性
- 软件测试流程
- 测试流程六步走:
- 需求评审:确保各部门需求理解一致
- 计划编写:测什么、谁来测、怎么测
- 用例设计:验证项目是否符合需求的操纵文档
- 用例执行:项目模块开发完成开始执行用例文档实施测试
- 缺陷管理:对缺陷进行管理的过程
- 测试报告:实施测试结果文档
- 测试用例
- 什么是用例?
- 用户使用的案例- 什么是测试用例?
-为测试项目而设计的执行文档- 测试用例的作用
- 防止漏测
- 实施测试的标准- 用例设计编写格式
- 用例编写格式-说明
- 用例编写:项目_模块_编号
- 用例标题:预期结果
- 模块/项目:所属项目或模块
- 优先级:表示用例的重要程度或者影响力P0~P4(P0最高,即使用频率最高的)
- 前置条件:执行用例的前提条件
- 测试步骤:描述操纵步骤
- 测试数据:操纵的数据,没有的话可以空- 用例测试 - 例题如下
答案如下
- 用例测试文档书写
- 内容
- 能对穷举场景设计测试点
- 等价类划分法:某种特征的数据集合- 能对限定边界规则设计测试点
- 能对多条件依赖关系进行设计测试点
- 能对项目业务进行设计测试点
3)目标达成
2. 测试设计
40%占比
1)目标
- 能对穷举场景设计测试点
- 能对限定边界规则设计测试点
- 能对多条件依赖关系进行设计测试点
- 能对项目业务进行设计测试点
2)知识点
- 测试方法及对应场景
1. 等价类划分–解决穷举
说明:在测试数据中,具有某种共同特征的数据集合进行划分
分类:
- 有效等价类:满足需求的数据集合
- 无效等价类:不满足需求的数据集合步骤:
- 明确需求
- 确定有效和无效等价类
- 提取数据编写测试用例使用场景
- 针对:需要大量数据测试输入,但是没法穷举测试的地方。例如,【输入框】【下拉列表】【单选复选框】,典型代表是页面的输入框类测试。友情提示:完整的用例应该是等价类和边界值一块写。
2. 边界值分析法–解决边界问题
说明:使用边界值解决边界位数限制问题
边界范围节点:选取正好等于、刚好大于、刚好小于边界的值作为测试数据。称为:
- 【上点】边界上的点,即正好等于
- 【离点】距离上点最近的点,即刚好大于、刚好小于
- 【内点】范围内的点,即区间内的点步骤
- 明确需求
- 确定有效和无效等价类
- 确定边界范围
- 提取数据编写测试用例友情提示:
- 有关范围限制,最多7条用例(暂时未优化)
- 边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)
优化(7点优化5点)
-上点:必选,不考虑开闭
- 内点:必选:选择中间范围
- 离点:开内闭外。开区间选包含的点,闭区间选不包含的点使用场景
- 在等价类的基础上针对有边界范围的测试数据输入的地方
- 常见描述:大小、尺寸、重量、最大、最小、至多、至少等
- 典型代表:有边界范围的输入框类测试友情提示:
- 单个输入框,常用方式 边界+等价类
3. 判定表法–解决多条件依赖关系问题
- 说明:是一种以表格形式表达多条件逻辑判断的工具
- 组成:
- 条件桩:列出问题中所有的条件,列出条件的次序无关紧要
- 动作桩:列出问题中可能采取的操作,操作顺序无约束
- 条件项:列出条件对应的取值,所有可能情况的真价值
- 动作桩:列出条件项、各种取值情况下应该采取的动作结果- 规则:
- 判定表中贯穿条件项和动作项的一列就是一条规则
- 假设有n个条件,每个条件的取值有(0,1),全部组合方式有2n种- 步骤
- 明确需求
- 画出判定表
(1)列出条件桩和动作桩
(2)填写条件项,对条件进行全组合
(3)根据条件项的组合确定动作项
(4)简化、合并相似规则(有相同的动作)
- 根据规则编写测试用例- 使用场景
- 有多个输入条件,多个输入结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
- 判定表一般适用于条件组合数量较少的情况(如4个以下)- 友情提示:
- 如果条件超过4个,采用正交法解决
详见软件测试工程师学习笔记 -3
4. 场景法–解决项目用例问题
- 扩展:流程图
(1)覆盖业务测试,需要使用流程图法
(2)先测试业务,再测试单功能、单模块、单页面
(3)业务用例是根据流程图来梳理的
(4)网页工具:Process On网页版- 场景法也叫做流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。
- 使用场景:根据实际的应用场景,来测试业务用例
- 冒烟测试用例:开发交付到测试之前,该用例必须通过。
5. 错误推荐法
- 说明:通过经验推测系统可能出现的问题
- 场景:
- 时间紧任务重时,根据之前的项目类似经验找出易出错的模块重点测试
- 实践宽裕通过该方法列出之前问题出现较多的模块再次测试- 使用场景:当项目用例都执行完毕,且bug修复完成,离上线还有一段时间,在这段时间可以使用该方法复测主要业务或测试未覆盖的功能。