软件测试的分类

一、软件测试的定义

将预期结果和实际结果作对比,从而找出软件中存在的bug

二、软件测试的分类

1、按方法分

  • 黑盒测试
  • 白盒测试
  • 灰盒测试

2、按阶段分

  • 单元测试:测试的是代码块、函数、方法等,一般单元测试由开发自己做
  • 集成测试:测试的是接口,灰盒测试偏多
  • 系统测试:对整个完整的软件进行测试
  • 验收测试:协助领导来验收①α——内测  ②β——公测

α——内测:公司内部人员测试

β——公测:内测完成后,邀请一部分真实的用户进来使用,从而发现软件是否有bug,没有再大规模的推向市场

注:一般来说,测试人员能接触到的就是集成测试阶段和系统测试阶段。

3、按方向分(都是在系统测试阶段测试的)

  • 功能测试:举例说明什么是功能
  • 性能测试       

①压力测试:不断地增加压力,从而找到系统的极限

②负载测试:系统在极限工作条件下,最多能持续多久——可能发生内存泄漏/溢出,导致整个软件崩溃 (例如在软件的运行过程中,用户产生的数据在不断地堆积,没有更多地内存存放,超出了容量的范围,就溢出了)

③并发测试:多个用户在同一时间一起作用——例如秒杀

  • 安全测试

①渗透测试

②DDOS攻击:流量攻击,占位那种

③跨域攻击:在浏览应用时弹出不知名网址,点进去的瞬间就盗取了该应用的一些信息

④SQL注入:通过SQL语句拼接的方式达到删库等目的

⑤暴力破解:试的,so密码设置复杂一点,且不要开启远程访问权限

  • 兼容性测试

①APP:又分为Android测试(测试不同的系统,不同的分辨率,不同的屏幕,不同的品牌)和iOS测试(iOS系统互相兼容且保持一致,一般不用做测试)

②web:谷歌、新的edge、火狐、IE等浏览器

注:测试不可能每款手机都测,查看市场占有率选择合适的手机(百度流量研究院),如果没有手机,可以选择云测平台测试手机APP,例如百度的MTC,testbird等。

  • 易用性测试:用户体验测试,原则一般是学习成本越低越好,功能越简洁越好(一般开发都不愿意改的bug)
  • 稳定性测试:测试是否能长时间稳定的运行,后端:7*24h,前端3-5h,重点测试的是APP,用工具 自动运行
  • UI界面测试:检查界面好不好看,界面风格是否保持一致,界面按钮大小是否保持一致,界面是否和设计图保持一致
  • APP专项测试

①弱网测试:测试APP能否在不同的网络下正常运行:2G,3G,4G,5G,WiFi,热点,用工具

②场景交互测试:如不同的APP相互切换,前后台切换,来电话了,来短信了,分屏,微信语音等

③资源争用测试:测试同类型的APP同时工作对资源的争用

④权限测试:测试关闭权限后是否影响其他功能的使用,使用对应的功能,是否提示给权限

⑤离线测试:测试断网后APP是否能使用,有的APP断网就崩溃了

⑥安装、卸载、更新

⑦消息推送:测试APP关闭后是否能收到消息推送,断网后再联网,之前的消息能收到吗

⑧资源监控:APP大小,流量,电量,内存,CPU,太大肯定就不合理了,没人愿意下载这个APP

注:功能测试、性能测试、安全测试是测试人员的三条方向,测试开发也属于功能测试

      功能测试并不等于黑盒测试,只不过说功能测试用到的大部分手段都是黑盒测试

      按方向来分,主要分为功能测试、性能测试、安全测试三大类,其他的还有一些细小的划分,例如兼容性测试,易用性测试,稳定性测试,UI界面测试等

4、按对象分

  • APP测试
  • web测试
  • 小程序测试
  • 接口测试
  • 物联网测试
  • 车联网测试
  • AI测试
  • 大数据测试

5、按状态

  • 动态测试
  • 静态测试

6、其他

  • 冒烟测试:测试前的测试,检查软件是否具备可测试性
  • 回归测试:检查上一次测试时发现的bug有没有被修改
posted @ 2020-10-20 11:24  一个名  阅读(713)  评论(1编辑  收藏  举报