1. 界面测试
界面直接和用户交互,界面设计的好坏决定了用户使用软件的直观感受。
UI测试
- 保证界面和UI设计稿一致性、正确性
- 测试界面的每一个功能的正确性(从上到下、从左到右)
- 页面的布局排版合理。字体大小,是否斜体,图片布局排版,清晰程度…
- 界面的控件功能是否正常,滚动条,按钮,ChexBox,文本框
- 要进行界面的不同分辨率的测试。
- 同一个web页面不同页面大小下测试:
(1) 页面从小到大变化过程中衔接丝滑,让用户可接受;
(2) 页面的字体不模糊不消失,不重影
(3) 页面的图片不消失,排版布局合理
(4) 页面的功能可以正常使用
2. 可靠性测试测试
可靠性=正常运行时间/(正常运行时间+非正常运行时间)
一般软件,可靠性要求99.99% 一年时间,软件出现故障的时间52min 非实时性软件 邮件系统
特殊软件,比如军事系统99.999% 5min
如何进行软件的可靠性测试?
软件可靠性影响因素:软件本身,外界因素(电,网络,硬件设备,软件系统)
3. 容错性测试
- 什么是容错性:因为自身或者外部一些异常的操作使得系统发生异常,系统能够自我处理这种错误操作或者异常的能力。
- 数据级别:人民币 0.09元 ,25时30分 年月日 5月32日
- 校验级别:输入账号6~16位 最多只能输入16位,输入17位就输不进去了
大小写校验,空格的校验,前后信息一致性的校验
查询信息前后空格自动过滤 - 界面级别:一些复杂的操作或者危险性较高的操作,会给用户提示信息:危险的按钮,直接屏蔽,禁用;
- 环境级别:断电、断网、硬件设备出问题了,是否可以无缝切换(让用户无感知)到备用服务器
- 灾难恢复性测试,人为让系统发生故障,测试系统是否能够很快恢复稳定,数据恢复,不丢用户的信息。
4. 文档测试
整个开发过程中产生的各种文档,需求文档,设计文档,功能文档,用户使用手册进行测试
文档的正确性,一致性,专业术语,完整性
文档和软件功能对比
5. 兼容性测试
- 平台的兼容性(web网页:各种浏览器,操作系统的兼容性;APP:不同系统IOS/Android,
- 不同品牌,不同系统版本
软件本身兼容性:软件本身功能前后的兼容性,比如开发的新功能不能影响旧功能,也不能影响后续功能的开发
软件对用户数据的兼容性 比如数据库中某一张表增加字段,不能影响用户之间的数据存储。
软件对第三方软件的兼容性:不能影响其他软件的使用;如果和第三方软件有交互,数据要有兼容性
6. 易用性
用户使用软件的体验,用户体验测试
(1)符合标准和规范
严重错误 警告 提示
(2)直观性
让用户直接看到自己期望的操作,或者预期的结果
(3)灵活性
用户可以根据自己的习惯选择适合自己的操作方式
灵活性==复杂性 两者之间找一个平衡点
(4)舒适性
让用户对自己进行的操作有感知,不产生焦虑情绪
例如:安装一个软件——进度条
(5)实用性
7. 安装卸载的测试
- 软件可以正常安装和卸载
- 软件更新
- 安装软件时断网、断电、死机等异常情况下,软件的响应
- 安装软件内存不足是否有提示
- 卸载软件暂停,是否可以继续卸载
- 软件卸载到一半,取消卸载,看软件是否可以正常使用
- 卸载过程中异常情况的测试(断网、断电、死机等)
- 卸载后软件的数据文件信息是否清理干净
- 安装过程中,空间不足,有提示
8. 安全测试
- 防病毒,防黑客攻击
- xss注入,SQL注入
- 防爬虫
防爬虫
9. 性能测试
内存泄露
资源瓶颈
系统运行速度越来越慢
系统运行受外界影响越来越大 TPS HTTP Per second 吞吐量 响应时间
死锁
查询,加载信息速度很慢
10. 内存泄露
内存泄露会导致系统运行越来越慢
导致原因:
- 内存分配后,没有回收
- API函数使用不正确,无法回收
- 内存分配方式有问题,无法回收