软件测试类型
软件测试的分类
功能测试 性能测试 兼容测试
部署测试 易用性测试
文档测试 本地化测试
安全测试 无障碍测试 可靠性测试
功能测试
定义:根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定他们满足设计需求
针对的问题
功能错误或遗漏、界面问题、性能错误、数据及访问错误初始化及终止错误
功能测试工具
QTP winrunner selenium
silkTest Watir
Rational robot Sikuli
性能测试
定义:验证软件性能可以满足需求要求的行为指标
负载测试:测试过程中,逐步增加负载,并记录被测系统相应的性能表现,最终确定出系统在正常指标范围下最大负载
压力测试:测试系统在极限情况下的压力情况,确定系统在什么样的负载压力下失效,不能够正常运行,确定出系统所能承受的最大极限
稳定性测试:以稍大于正常业务量的负载,对系统进行持续的长时间的测试,比如24×5,以确定系统在长时间运行下系统稳定性情况
性能指标
并发用户数VU 每秒事务数TPS
系统响应时间 设备性能
性能测试工具
Load runner Silkperformer Jmeter
WebLoad Apache Bench
静态性能评估
开发Web应用时,基于一系列Web应用页面性能优化的最佳实践对Web应用的页面进行静态分析,并给出评估结果的性能分析方法。 YSlow PageSpeed
应用性能管理(APM)
提供对系统的实时监控以实现性能管理、故障管理的解决方案(听云)
安全测试
定义:对软件产品进行测试以确保其符合产品安全需求和质量标准
渗透测试
定义:通过模拟对软件系统的恶意攻击行为来评估系统安全性的一种测试
渗透测试&安全测试
攻击 防御
点 面
OWASP
Open Web Application Security Project
OWASP Top10 Test Guide
安全测试工具
Appscan Webinspect Nessus Nmap
MetaSploit WebScarab Fortify W3AF
兼容性测试
软件本身的兼容性 不同平台下的兼容
软件对运行设备的兼容性 软件互操作性
浏览器内核
Trident4-6 Gecko Webkit presto
IE6-8,9,10 FireFox Safari、Chrome opera
浏览器兼容性测试工具
BrowserShots Browser Sandbox
文档测试
定义:针对软件产品的交付品,配套的文档类部件的测试。如用户手册、使用说明、用户帮助文档等
文档测试关注要点
完整性、正确性、一致性、易理解性、易浏览性
可靠性测试
软件可靠性 硬件可靠性
易用性测试
定义:指测试用户使用软件时是否感觉方便,是否能保证用户使用体验的测试类型
本地化测试
定义:针对软件的本地化版本实施的针对性测试
主要测试内容
语言、书写习惯
时区、日期格式、货币
当地风俗、法律法规
政治敏感内容
部署测试
定义:也称安装测试,主要验证系统部署过程,并确保软件经过安装测试后可以正常使用
主要测试内容
在不同环境下的部署验证
参照部署文档执行,过程的合理、正确性
基础数据
无障碍测试
定义:也称可访问性测试。是指软件需要提供便于特殊人群使用的功能,包括视障、听障、老年人、身体残疾用户等,无障碍测试则是针对这部分功能的测试
其他测试类型
回归测试 冒烟测试
回归测试
定义:软件功能修复后,对软件进行重新测试以确认修改没有引入新的错误或导致其他部分产生错误
回归测试的重心在关键模块和重点功能组件
软件研发周期中会进行多次回归测试,且尽量实现自动化
Mokey测试
定义:也称搞怪测试。就是用一些随机、稀奇古怪的方式来操作软件,以测试系统的健壮性和稳定性
冒烟测试
定义:来自硬件板卡验证术语。软件上则用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性
“每日构建”中用冒烟测试来确认合入的代码没有影响主要功能的正常
A/B测试
定义:多用于互联网行业,通过为页面提供2个版本给用户使用并记录相关的用户行为数据,来确定更优化设计的一种测试方案
A/B测试实施要点
多个方案并行
每次测试仅改动一个变量
按照某种规则进行优胜劣汰
A/B测试工具
Google Analytics Content Experiments
Visual Website Optimizer