前段时间开始学习软件测试,在此就软件测试理论做一些总结,以证明自己学习过,哈哈哈
理论方面
软件测试的分类
按方法分类
- 黑盒测试:即不考虑内部代码的逻辑结构进行的测试
- 白盒测试:与黑盒相反
- 灰盒测试:灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况
按方向分类
- 功能测试:功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能
- 性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试以及并发测试都属于性能测试
- 安全测试:顾名思义,安全测试以发现安全隐患为目标
按阶段分类
- 单元测试:对软件中的基本组成单位进行的测试
- 集成测试:在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试
- 系统测试:系统测试是将经过集成测试的软件,在实际的环境下进行运行,模拟效果来发现软件缺陷
- 验收测试:发布前的最后一次测试
按对象分类
- app测试:
- web测试
- 物联网测试
- 车联网测试
- 小程序测试
- 大数据测试
- 嵌入式测试
- AI测试
其他分类
- 静态测试:仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性
- 动态测试:就是通过运行软件来检验软件的动态行为和运行结果的正确性
- 冒烟测试:在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程
- 回归测试:即修改之后再次进行测试
- α测试(内测):顾名思义
- β测试(公测):顾名思义
开发模型
瀑布模型(Waterfall Model):即软件开发是按照传统的流程顺序展开的。
v模型:V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
w模型:相对于V模型,W模型增加了软件开发各阶段中同步进行的验证和确认活动
敏捷模型(Agile model):即将项目分为若干个子项目进行。
这个图对于开发模型的一些解释更为详细,感谢大佬的分享。这张图片从上向下,五个房间,分别是瀑布模型(waterfall),敏捷开发(agile),看板(KANBAN),SCRUM 和精益软件开发(lean)
一幅漫画带你了解软件开发模型 - Lingfeng Ai的文章 - 知乎
https://zhuanlan.zhihu.com/p/32071928
先总结到这里,后面持续更新其他方面