1.软件测试的定义 软件测试被定义为将预期结果和实际结果做对比,以检验是否满足需求的目的。 2.软件测试的分类 1)按方法分类: (1)黑盒测试:通过测试每一个功能是否实现以及是否符合要求的方法。 (2)白盒测试:通过检查代码进行测试的方法。 (3)灰盒测试:同时兼顾了黑盒和白盒测试的方法。 2)按阶段分类: (1)单元测试:测试代码块、函数、方法等,一般由开发进行。 (2)集成测试:测试接口。 (3)系统测试:对整个完整的软件进行测试。 (4)验收测试: a)α测试,即内测,一般由公司内部员工测试软件系统。 b) β测试,即公测,一般选择部分用户测试软件系统。 3)按方向分类: (1)功能测试:等价类划分、边界值分析、错误推测法、因果图法、场景法、正交试验法、功能图法。 (2)性能测试: a) 压力测试:测试软件性能瓶颈。 b) 负载测试:测试高强度工作的时长。 c) 并发测试:测试瞬间多用户同时操作的易错性。 (3)安全测试: a) 渗透测试。 b) DDOS攻击。 c) 跨域攻击。 b) SQL注入。 c) 暴力破解。 (4)UI界面测试: a) 检查界面好不好看。 b) 界面风格是否保持一致。 c) 界面的按钮大小是否保持一致。 d) 界面是否和设计图保持一致。 (5)兼容性测试: a) APP:包括两种操作系统的主流手机。andriod,根据市场的占有率,通过不同的系统、不同的屏幕、不同的分辨率、不同的品牌进行手机分类测试。 ios是苹果公司的手机操作系统,具有同一的端口协议,一般不用测试。 b) WEB,测试主流的浏览器:谷歌、edge、火狐、IE、360等。 (6)易用性测试: a) 用户体验测试。 b) 学习成本越低越好。 c) 功能越简洁越好。 (7)稳定性测试: a) 后端:一般测试7*24h。 b) 前端:一般测试3-5h。 (8)APP专项测试: a) 弱网测试:2G网、3G网、4G网、5G网、WIFI、热点。 b) 场景交互测试:测试不同的APP互相切换,前后台切换,接到电话,收到短信,微信语音,分屏等场景。 c) 资源争用测试:测试同类型的APP同时工作。 d) 权限测试:测试关闭权限后,是否影响其他的功能的使用,使用对应的功能是否提示给权限。 e) 离线测试:测试在断开网络状态下,软件的运行情况。 f) 安装、卸载、更新。 g) 消息推送:测试APP关闭后是否还能收到消息推送及断网后再联网之前的消息是否能收到。 h) 资源监控:例如APP的大小、流量、电量、内存、cpu等。 4)按对象分类: (1)APP测试 (2)WEB测试 (3)小程序测试 (4)接口测试 (5)物联网测试 (6)车联网测试 (7)AI测试 (8)大数据测试 5)按状态分类: (1)动态测试:主要包括代码检查法、静态结构分析法。 (2)静态测试:主要包括程序插桩、逻辑覆盖、基本路径测试。 6)其他分类: (1)冒烟测试:测试前的测试,检查软件是否具备可测试性。 (2)回归测试:检查上一次测试时发现的问题有没有被更正。