软件:控制计算机硬件的工具
软件测试:使用技术手段验证软件是否满足使用需求。
软件测试目的:减少软件缺陷,保障软件质量。
1、功能测试
在功能文档的基础上,根据软件执行结果和预期结果进行对比。文档也是测试自己写的。功能测试主要是验证程序的功能是否满足需求。
2、⾃动化测试
通过工具或者代码自动执行登录功能,代替手工进行验证。效率高,
3、接⼝测试
通过工具或者代码对服务端提供的接口进行测试
4、性能测试
模拟多人使用,查找服务端缺陷。
测试分类
按测试阶段划分
单元测试(针对源代码进行测试,一般程序员自己测试)
说明:针对程序源代码进⾏测试(单元:最⼩独⽴功能代码段)
1、单元测试可以解决-快速定位缺陷
2、提⾼测试执⾏效率
集成测试(⼜称接⼝测试)
说明:针对单元与单元之间的接⼝进⾏测试
系统测试(针对功能和非功能进行测试)
说明:针对系统整体功能+兼容+⽂档(说明、安装⽂档)
验收测试(内测、公测)
内测:公司内部⼈员使⽤,发觉缺陷并修复。
公测:让⽤户帮忙测试
提示:验收测试,⼀般要根据项⽬类型决定是否使⽤。
代码可⻅度划分
⿊盒测试:(不关注源代码,针对功能)
看不见源代码,主要对程序功能进行测试
主要针对功能(阶段划分->系统测试)
灰盒测试(针对接口进行测试,集成测试)
看见部分代码,主要对程序接口进行测试。
针对接⼝测试(阶段划分->集成测试)
⽩盒测试(针对源代码进行测试)
能看见全部代码,主要对程序源代码进行测试
针对程序源代码进⾏测试(阶段划分->单元测试)
质量模型
质量模型:衡量一个优秀软件的维度
维度:功能性,性能效率,兼容性,易用性,可靠性,信息安全,可维护性,可移植性。
需求:
1、开发一款网络游戏(要求:10个主功能)
2、游戏支持web(浏览器)端、App端
3、游戏上线后预计每日,20W用户玩家在线
功能性:
10个主功能
1.功能数量是否为10;
2.功能是否正确实现
3.错误处理情况,错误提示信息
性能:
预计每日,20W用户玩家在线
1.服务器每秒能处理的服务器数
2.服务器现有的硬件配置是否满足
兼容性:
支持web(浏览器)端、App端
1.浏览器:各种浏览器中是否能正常运行:谷歌、IE、火狐、欧朋、苹果
2.操作系统:win系统:wind7、wind8、wind10其他
3.手机:分辨率、品牌、系统、网络、其他,和其他app是否兼容。
易用性:
简洁、友好、流畅、美观。
可靠性:
1.无响应,2.卡顿,响应时间慢,3.死机(系统崩溃)
安全性:
登录过程中,传输过程中加密,存储加密。
可移植性:
网站数据迁移
可维护性:
机房排线,代码说明。
重点:功能、性能、兼容、易⽤性、安全
结论:⽆论测试硬件或软件,都应该从以上⼏点来进⾏分类验证
软件测试的6个步骤
1.需求分析(产品经理/开发/测试,对需求理解一致,知道被测项目有哪些功能模块)
前提:阅读1遍需求⽂档,记录不明确之处。
参与⼈员:前端、后端、测试、产品
⽬的:
1、确保各部⻔需求理解⼀致
2、各⻆⾊对需求进⾏查漏补缺
3、了解软件有些功能
提示:需求分析阶段->软件还未实现(刚⽴项)
2.测试计划(测试文档,测什么,谁来测,怎么测)
说明:指导测试执⾏的⽂档(重要)
测什么(⽬标、范围)
谁来测(⼈员进度及安排)
怎么测(测试⼯具、测试策略
3.⽤例设计(针对穷举的等价类设计)
说明:保证能准确验证软件测试点执⾏的⽂档。
1、分析需求
2、提取测试点
3、设计⽤例覆盖测试点
4.⽤例执⾏
说明:实施测试
5.缺陷管理
提交->验证->关闭
6.测试报告
1、bug分析及统计
2、测试中遇到的问题
3、测试总结(本次测试中的优点和不⾜)
测试用例:为测试项目而准备的文档
⽤例:⽤户使⽤的案例
1.是否能开机:打开手机按下电源键3秒钟,看是否能开机。
2.验证内存:打开手机设置查看内存是否为64G。
3.验证屏幕:打开手机在白屏背景下检查屏幕是香黑色点。
4.检查运行速度:打开手机下载吃鸡游戏,是否运行流畅。
⽤例的作⽤
1、防⽌漏测
2、衡量软件是否通过的标准
用例设计编写格式:八大要素。
用例编号 - 用例标题 - 项目/模块 - 优先级 - 前置条件 - 测试步骤 - 测试数据 - 预期结果
1.用例编号︰项目_模块_编号
2.用例标题︰预期结果(测试点)
3.模块/项目︰所属项目或模块
4.前置条件︰要执行此条用例,有哪些前置操作
5.优先级︰表示用例的重要程度或者影响力PO~p4(PO最高,正确的)。
6.测试步骤︰描述操作步骤
7.测试数据︰操作的数据,没有的话可以为空
8.预期结果∶期望达到的结果
⽤例设计⽅法
1、能对穷举场景设计测试点
2、能对限定边界规则设计测试点
3、能对多条件依赖关系进⾏设计测试点
4、能对于项⽬业务进⾏设计测试点
针对穷举场景设计测试用例
方法:等价类划分
说明:有效等价:符合需求范围之内的为有效。
无效等价:符合需求范围之外的为无效。
用法:有效等价取1个值。每个无效等价取一个值。
等价类划分法
说明:在所有测试数据中,具有某种共同特征的数据集合进行划分。
分类:有效等价类:满足需求的数据集合。无效等价类:不满足需求的数据集合
步骤:
1.明确需求
2.确定有效和无效等价类
3.提取数据编写测试用例
适用场景:
1.针对需要有大量数据测试输入、但是没法穷举测试的地方。
示例:
验证qq账号合法性,要求6-10位自然数
1.明确需求:要求,6-10位,自然数
2.划分有效等价和无效等价:有效(8位自然数),无效(3位自然数,12位自然数,8位非自然数,空)
3.提取数据编写用例:设计用例。
案例2(电话)
要求:
- 区号:空或者是三位数字
- 前缀码:⾮“0”且⾮“1”开头的三位数字
- 后缀码:四位数字
好好复习。。。1,2,4,7,就能记得特别牢固。