软件测试是什么?
预期结果和实际结果做对比
软件测试的分类
分为:方法、方向、阶段、对象、状态、其他
方法
黑盒测试、白盒测试、灰盒测试
方向:
功能测试、性能测试、安全测试
功能测试
性能测试:软件的响应时间
测试在不同的情况下,软件的响应时间
情况分为:假设软件最慢的响应时间是10S,需要多少人一起使用软件才会造成这么慢的效果
压力测试:食堂最多能支持多少个人去食堂消费
负载测试:发现食堂在人最多的情况下,能坚持多久可以正常工作
并发测试:一窝蜂的时候打菜阿姨会出错吗
(理发师模型:https://www.jianshu.com/p/ed9caa8d1255)
安全测试:防止黑客攻击我们的系统
防止不让别人攻击成功
攻击手段:渗透测试,流量攻击,SQL注入,跨域攻击
渗透测试:挨个挨个找,发现漏洞
兼容性测试
web、APP
web:
在不同的浏览器上表现是否正常
按照市场份额,从高到低的进行测试
APP:
分为Android和IOS
Android,在不同的Android设备上测试使用
按照市场所占份额进行选择性的测试
选取不同的安卓版本、系统版本、屏幕分辨率、屏幕形状综合考虑进行选择、进行测试
公司提供了部门型号的手机给我们测试用,当覆盖度不够时,我们都是在公司找同事众筹
使用云测平台进行测试
IOS,在不同的苹果手机上测试使用
UI测试
测试界面,检查界面好不好看
风格统一,布局合理,配色合理
易用性测试
好不好用、操作步骤越少越好、学习成本越低越好
稳定性测试
长时间运行使用看会不会出问题
APP专项测试:
弱网测试,权限测试,安装、卸载、更新测试,场景交互测试,资源争用测试、兼容性特性、
不同的网络本质区别就是网速不同,所以可以通过软件来模拟
易用性测试、稳定性测试、UI测试
弱网测试:模拟软件在不同的网络下的表现 2/3/4/5/wifi/热点/飞行模式
权限测试:不给权限的时候,还能正常的使用其他的功能吗
安装、卸载、更新测试:版本2
场景交互测试:电话、短信、听歌、分屏使用、微信语音、前后台切换、不同的应用、单手模式
资源争用测试
消息推送测试:
消息推送标准的都是消息服务器在推送和软件无关
消息推送的顺序
资源监控:内存、cpu、流量、电量、硬盘
阶段:
开发的流程:单元、集成、系统、验收
单元:函数、方法、类等等,只能是白盒测试,一般来说,都是开发自己做
集成:不同的模块和模块之间是否正确的连接,测试接口对不对
系统:测试的就是软件的整个整体
功能测试、安全测试、性能测试
验收:甲方或者客户来验收这个软件是不是他要的软件,验收不是测试做的,测试只是协助别人验收
α测试:内测 β测试:公测
对象:
APP测试,WEB测试,物联网测试,车联网测试,大数据测试,AI测试,小程序测试
状态:
静态测试、动态测试
其他:
冒烟测试,回归测试,MOCK/打桩测试,埋点测试
冒烟测试:测试前的测试,基础的功能都运行不了就没有测试的必要(非正式的测试流程)
回归测试:检查开发有没有修改完成BUG
埋点测试:通过打日志来实现
MOCK/打桩测试: 一般做自动化测试才会用到