1、软件测试阶段有哪些任务
①、制定测试大纲(测试计划)
②、制作测试数据(测试方案)
③、单元测试(程序测试,一般由开发人员进行)
④、功能测试
⑤、性能测试
⑥、集成测试(子系统测试)
⑦、系统测试
⑧、验收测试
⑨、测试报告及向下阶段提交系统运行、维护用户手册
2、自动化测试
概念:为了提高工作效率,节省人力和成本,把人为驱动的测试转化为机器执行
3、自动化测试的过程
- 需求分析
- 测试计划
- 框架搭建(附带工具选择)
- 测试用例设计(编写测试用例或开发测试脚本,并文档化)
- 测试——调试测试(针对自动化测试脚本)
- 评估(评估测试结果并改进测试过程)
4、自动化测试技术
录制/回放(依赖工具)
脚本技术
数据驱动(data driven)的自动化测试
关键字驱动(keyword driven)的自动化测试
业务驱动
5、自动化测试方案选择需要考虑的方面
①、项目的影响(能否帮助项目进度、覆盖率、风险)
②、复杂度(是否容易实现,包括数据和其他环境等)
③、时间(实现自动化需要多少时间)
④、早期需求和代码的稳定性(需求或代码能否证明是在范围内变化的)
⑤、维护工作量(代码能否能长期保持相对稳定)
⑥、覆盖率(自动化测试能否覆盖程序的关键特性和功能)
⑦、资源(是否拥有足够的人力、硬件和数据资源来运行自动化测试)
⑧、执行(负责执行的人员是否有足够的技能和时间去运行)
⑨、自动化测试管理
6、设计用例的策略
①、首先进行等价类划分,包括输入和输出条件,减少工作量提高效率
②、边界值分析,发现错误的能力最强
③、错误推断法,补充用例(这个凭经验)
④、对照需求和业务场景逻辑,检查用例
⑤、如果需求说明含有输入条件,设计开始就用到因果图和判定表驱动法
⑥、参数配置类的软件,要用正交实验法
⑦、功能图法,不同时期条件的有效性来设计数据
⑧、业务流清晰的系统,采用场景法
6.1等价类
①、将所有可能输入数据(有效和无效)划分为若干个等价类,选取代表性的数据当做 测试用例,保证完整性和代表性
有效等价类:合理的有效的输入集合
无效等价类:无效的没有意义的输入集合,检查程序异常
②、等价类划分方法
按照区间、数值、集合、限制条件、处理方式划分
6.2边界值
对输入或输出的边界值进行设计(5/7原则)
6.3因果图
简化逻辑关系,操作步骤较复杂
6.4判定表驱动法
针对不同存在条件、动作关系或者因果关系的设计用例方法
4大组成部分:条件桩,条件项;动作桩,动作项
6.5场景法
事件触发的情景生成场景(同一件事不同触发顺序和处理结果形成事件流)
6.6功能图法
用功能图(流程图)形象的表达操作流(状态迁移图+布尔函数组成)
需要依靠判定表因果图表示逻辑,是黑盒+白盒混合用例的设计方法
6.7错误推断法
基于以往的经验和出现的错误,推测软件可能存在的缺陷和错误,针对性的设计用例
6.8正交实验法
从大量数据中挑选适量的有代表性的,合理设计用例
测试用例
1、什么是测试用例
一组由前提条件、输入、执行条件、预期结果等组成,以完成对某个特定需求或者目标测试的数据,体现测试方案、方法、技术和策略的文档
2、为什么要写测试用例
科学有效的对测试步骤进行组织规划,方便管理,记录
3、测试用例主要包含哪些内容
编号、日期、设计和测试人员、优先级、标题、目标、环境、输入数据/动作、预期结果
4、编写测试用例需要什么
软件需求设计说明书、软件模板
5、设计测试用例的注意事项
从高到低,独立性,与功能一一对应,根据需求设计,由有经验的人员设计
6、设计测试用例的原则
有模板,正确性,代表性,可判断性,重现性,详细准确清晰的步骤,符合规范
7、用例的管理工具
市场上的用例缺陷管理工具很多:蛰了列举几个:mantis、redmine、jira、bugzilla、禅道等
8、用例的管理过程
编写→评审(修改→再次评审)→使用→保存管理→维护/升级
9、测试用例内容
目标的描述、环境、输入输出数据/动作、步骤、预期结果、备注等