按阶段分类
单元测试 偏向白盒的测试,一般由开发自己完成,对最小可测单元进行检查和测验,其目的是检测一个很小的模块功能的正确性。集成测试 其形式是不同的小单元逐个集成聚合成一个组件,不同组件又聚合成子系统、系统。该测试一般是在单元测试完成之后,测试模块与模块之间的接口。系统测试 偏向黑盒的测试,是对整个系统的测试。主要内容包括功能、性能、安全、UI、兼容性、易用性、稳定性测试。验收测试 是部署软件之前的最后一个测试操作,是技术测试的最后一个阶段,也称交付测试。其目的是确保软件准备就绪,能让最终用户使用预定功能。 1)正式验收(管理严格,组织有序,客观公正) 2)非正式-α测试:内测,在开发环境下测试,用户数量相对较少 3)非正式-β测试:公测,在一个或多个用户场所测试,用户数量相对较多 α测试先于β测试
按方法分类
黑盒测试 以用户的角度主要关注被测软件的功能实现,将软件当作一个黑盒子,不考虑盒子里的内部逻辑结构,只关心软件的输入和输出。白盒测试 检查软件内部逻辑结构,对软件中的逻辑路径进行覆盖测试。灰盒测试 是黑盒和白盒的结合,多用于集成测试。不仅关心软件的输入和输出,还要关注软件内部结构,但不像白盒那样详细完整。
按对象分类
功能测试性能测试
压力测试负载测试并发测试 安全测试
暴力破解SQL注入跨域攻击流量攻击/DOS攻击渗透 UI/界面测试 测试用户界面的页面是否美观,布局是否合理,风格是否统一,有无错别字等。易用性测试 偏主观性,是用户体验性测试,即用户使用软件时是否感到方便,对于用户来说操作步骤越少越好,学习成本越低越好。兼容性测试 检查软件之间是否能正确进行交互和共享信息。如测试软件在不同平台是否兼容,web端要考虑在不同的浏览器和版本上能否正常使用,app端还要考虑ios和andriod版本,以及硬件对软件的影响。接口测试稳定性测试
APP专项测试
弱网测试 2/3/4/5g,wifi, 热点,飞行模式等网络下测试场景交互测试 考虑来电话、来短信、听歌、分屏、前后台切换等场景权限测试资源监测测试 可以从软件大小、电量消耗、流量消耗等方面测试资源争用测试消息推送测试安装/卸载/更新离线测试
按状态分类
静态测试 不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。动态测试 动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。 这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。 我们进行的软件测试多数是动态测试。
常见的测试分类差不多就这些了,要成为一个优秀的测试,理论还是应该掌握扎实,规范的测试思想可以让我们考虑得更加全面,发现更多的问题,从而把控软件质量。 分类千万条,全面第一条 测试不规范,产品泪两行 当然也可能是开发泪两行,测试滚铺盖:)