1、按照测试类型进行分类
功能测试、性能测试、部署测试、文档测试、安全测试、兼容性测试、易用性测试、本地化测试、无障碍测试、可靠性测试
2、功能测试
(1)功能测试是干什么的
根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们是否满足设计需求。简单来说就是验证是否满足用户要求的功能。
(2)功能测试所针对的问题:
- 功能错误或遗漏:比如开发一个聊天类的软件,发消息功能不能使用
- 界面问题:系统界面显示控件问题
- 性能问题:指软件本身的错误,处理性能上的问题,比如说大数据量加载的错误
- 数据及访问错误:不能通过软件获取到正常的数据
- 初始化及终止错误:一般指软件启动或退出时出现的错误
3、性能测试
(1)什么是压力测试
一般来说所谓性能测试就是验证软件系统的性能可以满足需求规格所要求的性能指标。性能测试可以延伸出负载测试、压力测试、稳定性测试。
- 压力测试:指系统在极限情况下的压力情况,也即是测试系统在什么样的压力下会失效
- 负载测试:指的是在测试过程中逐步增加负载,并记录系统相应的负载表现
- 稳定性测试:用稍大量的数据对系统进行持续的长时间的测试,确定系统在较长时间的测试下的稳定性情况
(2)性能指标
- 并发用户数:同一时间访问系统的人数
- 每秒事务数TPS:系统每秒钟能处理的事务
- 系统响应时间:系统处理一个事务所耗费的时间
- 设备性能
(3)性能测试工具
人工无法完成性能测试,需要借助测试工具。LoadRunner、Silkperformer、Jmeter、WebLoad、Apache Bench、LoadUI。
静态性能评估工具:ySlow、pageSpeed
4、安全测试
(1)渗透测试:通过模拟对软件系统的恶意攻击行为来评估系统安全性的一种测试。
(2)常见安全隐患问题
- 注入漏洞:SQL注入攻击
- 失效的身份认证和会话劫持
- XSS跨站脚本
- 不安全的对象的直接引用
- 安全配置错误
- 敏感信息泄漏:信息传递过程中没有加密
- 访问控制的缺失
- 跨站请求伪造CSRF
- 使用了具有已知的安全漏洞的组建
- 未验证的重定向和转发
(3)安全测试工具
Appscan、Webbinspect、Nessus、Nmap、MetaSploit、webScarab等
5、兼容性测试
(1)兼容性的类型
- 软件本身的兼容性:向前兼容
- 不同平台下的兼容性:同一款软件运行在不同的平台上
- 软件对运行设备的兼容性:64位、32位、不同设备
- 软件互操作性
(2)对于web应用要考虑到不同浏览器内核之间的兼容。
- IE6-8,9,10使用的是Trident4-6内核;
- fireFox使用的是Gecko内核;
- Safair、Chrome使用的是WebKit内核;
- Opera使用的是presto内核
(3)浏览器兼容性测试工具
BrowserShots、Browser Sandbox、Google的浏览器兼容测试插件
6、文档测试
针对软件产品的交付品,配套的文档类部件的测试。如用户手册、使用说明、用户帮助文档等。
文档测试关注点:完整性、正确性、一致性、易理解性
7、可靠性测试
软件可靠、硬件可靠性(硬件能不能正式工作)
8、易用性测试
是指测试用户使用软件时是否感觉方便,是否能保证用户使用体验的测试类型
9、本地化测试
针对软件的本地化版本进行针对性测试,例如英文版、中文版
主要测试内容:
- 语言(中英文输入)、书写习惯
- 时区、日期格式、货币
- 当地风俗、法律法规
- 政治敏感内容
10、部署测试
也称安装测试,主要是验证系统部署过程,并确保软件经过安装测试后可以正常使用。
主要测试内容:
- 在不同环境下的部署验证
- 参照部署文档执行,过程的合理、正确性
- 准备基础数据,例如用户的线上数据、通过脚本生成
11、无障碍测试
Accessibility Test 也称可访问性测试。是指软件需要提供便于特殊人群使用的功能,包括视障、听障、老年人、身体残疾哟哦难怪乎等,无障碍测试是针对这部分功能的测试。
12、其他测试
(1)回归测试
软件功能修改后,对软件进行重新测试以确认修改没有引入新的错误或导致其他部分产生错误。回归测试的重心在关键模块和重点功能组件。软件研发周期中会进行多次回归测试,且尽量自动化测试。
(2)Monkey测试
也称为搞怪测试。就是用一些随机、古怪的方式来操作软件,以测试系统的健壮性和稳定性。
(3)冒烟测试
来自于硬件板卡验证术语。软件上则用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。
(4)A/B测试
多用于互联网行业,通过为页面提供两个版本给用户使用并记录相关的用户行为数据,来确定更优化的一种测试方案。
A/B测试实施要点:
- 多个方案并行
- 多次测试仅改动一个变量
- 按照某种规则进行优胜劣汰
A/B测试工具:
Google Analytics Content Experiments、Visual Website Optimizer(商用)