软件测试的定义:预期结果和实际结果做对比。
1.黑盒测试:看不到软件内部结构,对软件暴露在外面的东西进行测试。
2.白盒测试:主要是检查代码
3.灰盒测试:介于黑盒测试和白盒测试之间。
根据软件开发的步骤可以分为四个阶段
1.单元测试:对代码块,函数,方法进行测试,一般由开发人员自己进行。
2.集成测试:对接口进行测试,一般采用灰盒测试。
3.系统测试:对整个完整的软件进行测试。
4.验收测试:有α(内测)测试和β(公测)测试
1.功能测试:这个软件是否达到了我们制作他的主要目的。
2.性能测试:可以简单的理解为软件响应时间越短,性能越好。 性能测试又分为三类:
(1)压力测试:用施压的方法找到软件工作的极限。
(2)负载测试:在极限工作的状态下可以持续的时间 。
(3)并发测试:很多人同一时间对软件进行同一操作。
3.安全测试:维护软件安全,防止黑客攻击。常见的方式有:渗透测试,DDOS测攻击,跨域攻击,SQL注入,暴力破解。
4.兼容性测试:分为APP端和WEB端
对于APP端,检查软件在不同系统、不同品牌、不同屏幕和不同分辨率的手机上的运行情况;
对于WEB端,是检查软件在浏览器上的运行情况。常见的浏览器如:谷歌、火狐、Microsoft Edge等。
5.易用性测试:是指用户体验测试,以用户的角度,学习成本越低越好;功能越简洁越好。
6.稳定性测试:一般后台要稳定不间断运行7*24小时,前端只要不间断运行3-5小时。
7.UI界面测试:就是检查界面好不好看,可以从界面的风格是否保持一致;界面的按钮大小是否保持一致;界面是否和设计图保持一致来进行测试。
8.APP专项测试
(1)弱网测试:在手机连接不同网络情况下app的运行情况,常用2G,3G,4G,5G,WIFI和热点进行测试。
(2)场景交互测试:常有的场景有:不同app之间的相互切换;前后台切换;来电话了,来短信了,微信语音,分屏等。
(3)资源争用测试:同类型的APP同时工作
(4)权限测试:关闭权限后是否影响其他功能的使用;
使用对应的功能们是否提示给权限。
(5)离线测试:就是断开网络,看软件的状态
(6)安装,卸载,更新
(7)消息推送(一般有专业的消息推送服务器)
APP关闭后是否还能收到消息推送
断网后,再次联网,之前的消息是否可以收到。
(8)资源监控:APP的大小(越小越好);
流量(使用的越少越好);
电量(使用的越少越好);
内存(占用越小越好);
CPU(占用越小越好)。
根据对象分类,可以分为APP测试,WEB测试,小程序测试,物联网测试,车联网测试,大数据测试,AI测试。
根据软件是否运行分为动态测试和静态测试。
六、其他
冒烟测试:测试前的测试,检查软件是否具备可测试性;
回归测试:检查上一次测试发现的问题有没有被修改。