# 测试用例和测试流程

软件开发

1、瀑布模型:
软件开发严格按照线性方式进行
当前活动受上一项活动的工作结果
当前活动的结果需要进行验证
需求分析、功能设计、编码、实现、测试、完成、维护
缺点:测试在后期才能进行,错误无法尽早发现

2、XP开发模型(小型项目):
软件按螺旋式进行
编程方法:测试驱动开发
小组实践:代码集体所有(代码必须有标准)
交付和管理:小规模发布

3、SCRUM开发模型(使用比较多):
产品需求、sprint计划会议(做哪些需求)、sprint BACKLOG(冲刺阶段需求)、循环冲刺

4、devops
团队合作、将软件交付的过程自动化、可持续交付、开发测试运维的工具进行打通

测试流程体系

1、软件测试模型
1.1、V模型:
需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试
1.2、W模型:
实时跟进V模型的产出物进行测试
1.3、H模型:
将测试与开发独立出来,但是测试就绪点比较难找,而且对于测试人员的能力要求较高
1.4、传统测试模型:
单元测试、集成测试、冒烟测试、系统测试、回归测试、验收测试

系统测试流程:
需求分析、测试计划、测试设计、用例评审、测试执行、bug提交、发布维护

bug管理流程:
提交缺陷(复现步骤,期望结果,测试环境,日志文件,bug类型)、指派开发修改、处理缺陷(遗留,不管他)、回归缺陷、关闭缺陷

测试左移:
左移是往开发阶段移动,对代码进行测试
代码评审(人工)、代码审计(自动化)、单元测试、自动化冒烟测试、研发自测

测试技术体系

1、软件测试分类:
1.1、开发阶段:单元测试,集成测试,系统测试(兼容性,安全,功能,性能)验收测试(α β测试)
1.2、是否查看代码:白盒测试,黑盒测试
1.3、按测试执行方式:静态测试,动态测试
1.4、是否手工执行:手工测试、自动化测试
1.5、其他:冒烟测试,回归测试,随机测试,探索测试

测试用例设计方法

1、等价类划分法:有效等价类+无效等价类=等价类
划分步骤:找出全部类、确定有效等价类、确定无效等价类、挑选测试用例

2、边界值分析法:选取正好等于、刚好大于和刚好小于边界值作为测试数据

3、判定表分析法:列出所有条件桩核动作桩,确定规则数,填入条件核动作,简化判定表

4、场景法:基本流(冒烟测试),备选流(冒烟错误后的备选)

测试用例的设计

1、设计流程:划分功能模块、正向功能验证、单个功能验证、功能之间交互验证、隐形需求