功能测试
功能测试分类
- 按阶段划分:
- 单元测试(模块测试)
- 集成测试(组装测试)
- 系统测试
- 验收测试
- 是否覆盖源代码
- 是否运行
- 是否自动化
- 其它
按阶段划分
单元测试(模块测试)
- 针对最小单位-程序模块,多个模块可以平行独立进行单元测试
- 单元测试定义:函数、类、界面、接口等
集成测试(组装测试)
- 在单元测试基础上将多个模块组织到一起测试,关注模块和模块之间的接口测试。
- 可以从,自上到下、自下到上
系统测试
- 将项目软件、硬件结合到一块测试,软件基本上完成的。测试依据为需求说明书。
验收测试(用户测试、公司内测、正式版本)
站在最终用户的角度来测试
- α 测试:内测版本(软件开发内部,bug 居多)
- β 测试:公测版本,对所有用户开放的测试版本
- γ 测试:软件正式版本
按照是否查看源代码分类
黑盒测试
白盒测试
- 不但关注功能测试,还要关注代码是如何实现(代码和逻辑),一般是在单元测试阶段
灰盒测试
- 介于黑盒与白盒之间的测试(关注部分功能与部分代码),一般在接口测试阶段
按照是否运行分类
静态测试
动态测试
是否自动化
手工测试
- 单个接口、功能对软件进行测试,手动测试(使用工具,如:postman,jmeter 等)
自动化测试
- 通过写代码,手动写程序实现(一般用 python 去实现,java、C 也可以)
其他
冒烟测试
回归测试
- bug 验证通过后,在新的代码基础上进行回归测试;
- 第一阶段测试后,换到别的环境验证没问题后,在其他环境进行主流程回归测试。
随机测试
探索性测试
软件质量模型
功能性
- 适合性
- 准确性:功能的正确性
- 互操作性
- 保密安全性:功能的安全性
- 功能的依从性
可靠性
- 成熟性
- 容错率:软件有容错性
- 易恢复性:功能出错误后可以很快恢复,
- 可靠性的依从性
易用性
- 易理解性:软件界面是否流畅、提示是否友好、用户使用功能是否得当
- 易学性
- 易操作性
- 吸引性
- 易用性的依从性
效率
- 时间特性:功能效率要高,支付效率必须要高效。
- 资源利用性
- 效率依从性
维护性
可移植性
- 适应性:适应不同的系统
- 易安装
- 共存性
- 易替换
- 可移植性的依从性
软件开发模型
瀑布模型(常见)
1、需求分析
2、概要设计
3、详细设计
- 编码支持
- 类和类的关系、类的设计
- 函数设计
- 接口之间的细节
- 数据库表的关系,字段关系
4、编码
5、软件测试
- 根据需求文档设计测试用例(功能测试)
- 根据接口文档设计接口测试用例(接口测试)
6、软件维护
瀑布模型的优缺点
- 优点
- 每个阶段都有大量文档产出
- 以文档为驱动
- 线性模型,顺序执行
- 当前阶段完成后,只需关注后续阶段
- 缺点
快速模型(了解)
- 在原有的基础上开发
- 边做边改
- 先做个小模型,然后不断修改
快速模型的优缺点
- 优点
- 克服瀑布的缺点,满足用户需求,减少需求不明确带来的开销和成本
- 缺点
螺旋模型
- 每一步都有风险分析
- 以风险为驱动
- 复杂、成本高
- 适合大型系统软件开发
螺旋模型的优缺点
测试模型
V模型
- 优点
- 从开发的瀑布模型变化而来,包含了底层到高层的测试过程
- 以文档为驱动(每一步都有文档产出)
- 缺点
W 模型
- 特点:伴随着开发的整个周期、需求、程序、文档、概要设计、详细设计等,测试介入早,尽早发现问题及早处理。
- 缺点:技术复杂度高,对需求和设计的测试要求高,实践起来困难,适合大型公司。
|