软件测试基础分类模型以及等价类练习实践
1.常见的测试分类
1.1按阶段划分
单元测试 | 针对程序源代码进行测试 |
集成测试 | 针对程序接口进行测试 |
系统测试 | 针对程序功能、非功能进行测试 |
验收测试 | 使用不同用户(内测、公测)进行测试 |
1.2按代码可见度划分
黑盒测试 | 不关注源代码,针对程序UI功能进行测试 |
灰盒测试 | 针对程序部分代码进行测试(接口) |
白盒测试 | 针对程序源代码进行测试 |
2.质量模型
质量模型:衡量一个优秀软件的维度
2.1质量模型的一个例子
假如我们想要开发一个软件,那在开发的最基本的就是要满足什么样的需求:我们现在开发一个网络游戏,要有100个功能,要求PC端和手机端互通,还要有支持百万人同时在线的能力。
2.1.1功能性
需求 | 测试 |
---|---|
100个功能 | 功能数量为100个 |
功能详情(...) | 功能正确实现 |
错误处理情况 | |
支持百万人同时在线的能力 | 服务器每秒处理请求数 |
服务器硬件配置是否满足 |
2.1.2兼容性
我们这个网络在浏览器端上的兼容情况:谷歌、IE、火狐、欧朋、苹果。操作系统上面的兼容:Wind7、wind8、wind10其他。手机上面的兼容情况:分辨率、品牌、系统、网络、其他。对于每一种情况都有测试用例来进行测试。
2.1.3其他质量
易用性:简洁,友好,流畅,美观。
可靠性:出现无响应,响应时间慢,系统崩溃。
安全:传输加密,存储加密。
可移植性:网站数据迁移,要更换服务器的时候能有效的迁移,而不是杂七杂八。
可维护性:维护服务器。
3.测试流程
流程步骤 | 目的 |
---|---|
需求评审 | 确保各部门需求理解一致 |
计划编写 | 测什么、谁来测、怎么测 |
用例设计 | 验证项目是否符合需求的操作文档 |
用例执行 | 项目模块开发完成开始执行用例文档实施测试 |
缺陷管理 | 对的缺陷进行管理的过程 |
测试报告 | 实施测试结果文档 |
3.1测试用例
什么是用例:用户使用的例子。
比如我们现在要测试一个手机,那我们怎么得到这个的一个用例呢?是否能正常开机,验证内存,验证屏幕,检查运行速度。
什么是测试用例:是为测试项目而设计的执行文档。
测试用例可以防止漏测,实施测试的标准。
3.2编写测试用例
属性 | |
---|---|
用例编号 | 项目 模块 编号 |
用例标题 | 预期结果(测试点) |
模块/项目 | 所属项目或模块 |
优先级 | 表示用例的重要程度或者影响力P0~p4(P0最高) |
前置条件 | 要执行此条用例,有哪些前置操作 |
测试步骤 | 描述操作步骤 |
测试数据 | 操作的数据,没有的话可以为空 |
3.2.1练习实践
接下来我们来练习实践一下:
根据这个四条需求和测试用例的要求:
优先级的设定可以参考需求文档
3.3等价划分
等价划分的说明:
3.3.1QQ练习实例
需求:验证QQ号码的合法性。要求:6~10位自然数
步骤 | |
---|---|
明确需求 | 6~10位自然数 |
划分有效等价和无效等价 | 有效,无效 |
8位,3位、12位 | |
提取数据编写用例 | 12345678,123、123456789012 |
3.3.1.1类型验证
上面的实例只是对于QQ号的位数进行了分类,还有对于是否是自然数的测试。
步骤 | |
---|---|
明确需求 | 要求:6~10位自然数 |
长度:6-10位 | |
类型:自然数 | |
划分有效等价和无效等价 | 有效/无效 |
8位自然数/3位自然数、12位自然数 | |
8位非自然数、为空 | |
提取数据编写用例 | 12345678/123、123456789012 |
1234567A,为空 |
3.4等价划分法的使用场景
- 针对:需要有大量数据测试输入,但是没法穷举测试的地方。
- 典型代表:页面的输入框类测试。
- 输入框
- 下拉列表
- 单选复选框
4.总结
5.练习实践
需求:验证某城市电话号码正确性
1.区号:空或者是三位数字
2.前缀码:非“0”且非“1”开头的三位数字
3.后缀码:四位数字
答案会在下期文章的最后哦!!!
参考:黑马程序员