- 软件测试就是预期结果和实际结果作对比
- 软件测试的分类
1. 按方法分类
① 黑盒测试:不关心软件内部,只关心是否得到正确的结果
② 白盒测试:可看到软件内部结构,看代码写的对不对(一般是开发做)
③ 灰盒测试:黑盒和白盒结合
2. 按方向分类
① 功能测试
② 性能测试:测试在不同情况下软件响应时间
(1)压力测试:不断增加压力,看上限
(2)负载测试:在上限情况下看能持续多久
(3)并发测试:一起运行会不会出错
③ 安全测试:防止黑客攻击系统
(1)渗透测试:找寻其他入口进入
(2)流量攻击:傀儡机器占流量,使其他人无法进入
(3)SQL注入:将危险sql语句传入系统数据库
(4)跨域攻击:偷走用户的cookie,伪装用户做别的事
④ 兼容性测试:web和app
⑤ UI测试:风格统一、布局合理、配色协同
⑥ 易用性测试:看软件好不好用,操作步骤越少越好,学习成本越低越好
⑦ 稳定测试:长时间运行使用会不会出问题
⑧ App专项测试
(1)弱网测试:模拟软件在2G ~ 5G、wifi、热点、飞行模型等网络下的表现
(2)权限测试:录音、相机等权限被禁止时使用其他功能
(3)安装、卸载、更新测试
(4)场景交互测试:电话、短信、正在听歌、分屏、微信、前后台切换
(5)资源争用:调用的优先级,如喇叭、摄像头等
(6)消息推送:消息服务器进行推送,与软件无关
(7)资源监控:内存、cpu、流量、电量、硬盘
3. 按阶段分类
① 单元测试:函数、方法、类等进行白盒测试
② 集成测试:模块间连接是否有问题,测接口
③ 系统测试:软件整体测试:功能、安全、性能、兼容...
④ 验收测试:测试人员协助别人来验收,验收后进行α和β测试
4. 按对象分类
① App测试
② web测试
③ 物联网测试
④ 车联网测试
⑤ 大数据测试
⑥ AI测试
⑦ 小程序测试
5. 按状态分类
① 动态测试
② 静态测试
6. 其他
① 回归测试:检查之前提交的bug有没有修改完成
② 冒烟测试:测试前的测试,检查软件是否具备可测试性,不属于正式测试的过程
③ 打桩测试:做一些假的代码代替开发没有写完的程序,让程序先跑通,等开发写完再替换掉自己写的桩
④ 埋点测试:开发设置触发埋点,一般打日志。