软件
控制计算机硬件工作的工具
软件测试定义&目的
使用技术手段验证软件是否满足使用需求
目的:减少软件缺陷,保障软件质量
测试主流技能
- 功能测试:主要验证程序的功能是否满足需求
- 自动化测试(代码或工具代替手工,对项目进行测试)
- 接口测试–仅次于功能测试:使用代码或工具验证程序中的接口是否访问正常
- 性能测试—模拟多人使用软件,查找服务器缺陷
- 就业方向:功能+接口。功能+性能。功能+web自动化。
常见测试分类:
按照阶段划分:
- 单元测试:程序源代码
- 集成测试:程序接口
- 系统测试:系统功能,非功能进行测试
- 验收测试:使用不同用户(内侧,公测)进行测试
按照代码可见度 - 黑盒:不关注源代码,针对程序UI功能进行测试
- 灰盒:部分代码进行接口测试(接口)
- 白盒:源代码
质量模型(衡量一个优秀软件的维度)
- 性能
- 功能
- 兼容性:1,浏览器-各个浏览器能不能用(谷歌(双核浏览器)、IE、火狐、欧朋、苹果)2.操作系统(win系统:win7.win8还有其他ios)3,手机(分辨率,品牌,系统。网络(3g4g)其他–手机硬件问题)
- 易用性 简洁,友好,流畅,美观
- 可靠性:无响应,卡顿(响应时间慢),死机(系统奔溃)
- 安全性:信息传输,信息存储 传输加密,存储加密
- 可移植性:网络数据搬迁
- 可维护性:
(性能、功能、兼容、易用、安全—必测)–可靠性、移植性、维护性
测试流程(软件的测试工作)
- 1.需求评审-确保各部门需求理解一致
- 2.编写测试计划-测什么(),谁来测,怎么测(功能,性能)
-
- 用例设计-验证项目是否符合需求的操作文档
- 4.用例执行-项目模块开发完成后开始执行用例,实施测试
- 5.缺陷管理-对的缺陷进行管理的过程
- 6.测试报告-实施测试结果文档
测试用例
-
用例:用户使用的案例—:
eg:
1.是否能开机:打开手机按下电源键3秒钟,看是否能开机
2.验证内存:打开手机设置查看内存是否为64g
3.验证屏幕:打开手机在白屏背景下检查屏幕是否有黑点
4.检查运行速度:打开手机下载吃鸡游戏,是否运行流畅 -
测试用例:是为测试项目而设计的执行文档
-
作用:防止漏测,实施测试的标准
用例设计编写格式
- 用例编号:项目_模块_编号
- 用例标题:预期结果(测试点)----最难写的
- 模块/模块:所属项目或模块
- 优先级:表示用例的重要程度或影响力(p0-p40----p0最高)
- 前置条件:要执行此条用例,有哪些前置操作
- 测试步骤:描述操作步骤
测试点
- 能对穷举场景设计测试点
- 能对限定边界规则设计测试点
- 能对多条件依赖关系(父子依赖关系)进行设计测试点
- 能对项目业务进行设计测试点
等价类划分
- 说明:在所有测试数据中,具有某种共同特征的数据集合进行划分
- 分类:有效等价类:满足需求的数据集合 无效等价类:不满足需求的数据集合
- 步骤:1.明确需求(性别还是年龄) 2.确定有效等价类和无效等价类 3.提取数据编写测试用例
eg1:
验证QQ账号的合法性:
要求:6-10位自然数
这是只关注位数。
对于需求而言,除了位数,还有数字的类型
eg2.
*等价类划分-使用场景 - 针对:需要有大量数据测试输入,但是没办法穷举测试的地方
- 输入框
- 下拉列表
- 单选复选框
- 典型代表:页面的输入框类测试
思维导图
需求评审-测试计划-用例设计-用例执行-缺陷管理-测试报告