1. 软件测试分类(复习)
1.1 按阶段划分
单元测试
测试:针对单个功能进行测试,如:登录、购物车等
开发(更多的理解):针对代码进行测试(一般由开发负责、或自动化测试协助)
集成测试
组装测试
系统测试
针对系统进行整体性测试
软件功能
硬件功能
验收测试(用户检验产品是否满足自己预期)
α测试:bug比较多、内测版本
β测试:bug相对比较少、公测版本
γ测试:候选发布版本
负责人(甲乙方):
甲方负责
乙方协助(在甲方的授权及信任基础上)
第三方评测机构
1.2 按是否覆盖源代码划分
黑盒测试:输入和输出
白盒测试:代码内部实现逻辑
灰盒测试:测试关注点、输入(输出、代码逻辑)
1.3 按是否运行划分
静态测试:
不运行被测试程序
测试对象
文档(代码)
动态测试:
运行测试程序
测试对象(运行中的程序)
1.4 按是否自动化划分
手工测试(功能测试)
自动化测试(通过工具或代码代替人进行测试的过程)
1.5 更多
冒烟测试:
1.开发提交测试版本的接收性测试
2.测试点(最基本功能,如用户正常登陆;最核心的业务流程,如电商购买商品全过程)
回归测试:测试点(bug回归,旧功能回归)
随机测试
探索测试
2. 软件开发流程(软件生命周期)
2.1 瀑布模型(了解)
组成:
需求分析==》概要设计==》详细设计==》编码==》软件测试==》软件维护
特点:
线性模型
文档驱动
优点:只需要关注当前进行的阶段
缺点:
不响应需求变化
典型应用场景:
需求清晰的大型项目,如银行、保险、建筑等
3 软件测试流程
3.1 V模型(了解)
组成:
需求分析==》概要设计==》详细设计==》编码==》单元测试==》集成测试==》系统测试==》验收测试
优点:
只需要关注当前阶段、文档驱动、线性模型
缺点:
不响应需求的变化、不灵活
3.2 W模型(了解)——双V模型
绘制:
开发V:需求分析==》概要设计==》详细设计==》编码==》集成==》实施==》交付
测试V:验收测试设计==》系统测试设计==》集成测试设计==》单元测试设计==》单元测试
==》集成测试==》系统测试==》验收测试
优点:
测试贯穿软件开发的全生命周期
早参与、早发现、早解决
缺点:
技术和管理要求比较高
4. 软件质量模型(了解)
功能性:检查业务功能是否满足需求
可靠性:容错能力(恢复正常的时间、能力)
易用性:看的懂、会使用等
效率性:性能(响应时间、消耗的资源(CPU、内存)等)
维护性:为后续功能的开发与维护提供便利
移植性:软件需要在不同的软件环境和硬件环境下都能正常的工作
5 软件测试用例(重点)
5.1 软件测试用例概念
概念:一个为了特定的目的(检验开发的代码实现是否满足用户的需求)而设计的文档(包含测试
输入、执行条件、预期结果),文档的形式可以是xmind、excel等。
5.2 测试用例组成要素与用例模板
ID:
唯一性
项目-模块-001
模块
优先级:
作用:体现用例执行的先后顺序
分类:高、中、低
用例标题:
唯一性
见名知意
预置条件
测试步骤:
尽可能详细
测试数据
预期结果
5.3 软件测试用例的作用(了解)
便于理清测试思路,确保需覆盖测试的功能点无遗漏
便于测试工作量的评估
便于提前准备测试数据
便于把控测试工作进度
便于回归测试
便于测试工作的组织,提高测试效率,降低测试交接成本
6 等价类(重点)
6.1 等价类划分法
概念:通过科学的方法找到具有共同特性的测试输入的子集,能够从穷举测试中解放(大大减少了
测试用例的数量,从而提升测试效率。)
分类:
有效等价类:满足需求
无效等价类:不满足需求
设计测试用例的步骤:
1.需求分析
2.划分等价类:
有效
无效
规则(需求本身)
长度
类型
是否为空(必填项)
是否重复
设计用例