软件测试
软件测试就是将预期结果和实际结果做对比。测试对象是件形成过程中的所有工作产品(包括程序以及相关文档)进行的测试,而不仅仅是对程序的运行进行测试。
1.按方法划分
黑盒测试:将产品当作一个黑箱子,不管箱子内部有什么,即不需要了解内部具体的程序代码,只需测试其要求的功能是否实现,也叫功能测试。
白盒测试:将产品当作一个透明的箱子,对箱子内部结构进行测试,即测试软件的代码是否正确,规范,逻辑是否合理。
灰盒测试:
是介于白盒测试与黑盒测试之间的一种测试,灰盒测试非常适用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
2.按开发阶段划分
单元测试:测试对象是软件设计的最小单元:模块,又称为模块测试。单元测试的方法为白盒测试方法。
集成测试:测试不同模块和模块之间是否正确连接,一般我们都是测试接口。
系统测试:测试的即为软件的整个整体,包括对功能、性能、安全以及软件所运行的硬软件环境进行测试。
验收测试:也叫做交付测试,验收测试的目的是保证软件的准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件的购买者展示该软件的原始的需求。一般就是甲方或客户来进行验收。
3.按方向划分
功能测试:对软件的功能进行测试,验证功能是否实现,一般用黑盒测试方法。
性能测试:对软件响应时间进行测试。分为压力测试、负载测试、并发测试。
安全测试:目的防止黑客攻击。测试方法有渗透测试、流量攻击测试、SQL注入测试、跨越攻击测试等
兼容性测试:分为web兼容性测试和app兼容性测试。
web兼容性测试:测试在不同浏览器上是否表现正常
app兼容性测试:测试在不同测试系统、系统版本、屏幕分辨率、屏幕形状综合考虑,按手机品牌、市场占用份额从高到低进行测试。
UI界面测试:测试界面是否风格同一、布局合理、配色合理等。
易用性测试:软件是否好用,简单上手。
稳定性测试:软件长时间运行使用是否出现异常。
APP专项测试:包括弱网测试、权限测试、安装卸载更新测试、场景交互测试、资源争用测试、消息推送测试、资源监控测试、兼容性测试、UI测试、稳定性测试、易用性测试等
3.按对象划分
APP测试、web测试、物联网测试、车联网测试、AI测试、大数据测试、小程序测试等等
3.按状态划分
静态测试:如需求文档、产品说明书这些在软件未运行时的测试。
动态测试:对运行的软件进行测试。
3.其他测试
冒烟测试:测试前的测试,就是过一遍流程,看看核心功能是否满足,目的是检查软件是否具备可测试性。
回归测试:对修改后的部件进行再次测试。
埋点测试:就是埋采集点,对数据进行采集后,分析整理并汇总。一般通过日志平台查看埋点进行测试。
MOCK/打桩测试:就是先进行打桩试测。