目录
一、初识软件测试
1、什么是软件测试?
软件测试是一个为了发现错误而执行程序的过程,在这个过程中,测试人员需要:
- 确认软件功能执行的正确性
- 验证软件产品特性是否满足用户的需求
- 保障软件质量
2、软件测试有什么特点?
- 软件测试是一个样本试验,具有不可穷尽性
3、软件测试的目的是什么?
- 查找直观和潜在的软件缺陷
- 验证软件错误和缺陷得到修复
- 避免由于软件错误和缺陷带来的商业风险
- 总结测试结果和测试经验,作为后续项目开发和测试过程的改进依据,避免出现重复错误和重复冗余投入
4、软件测试和调试有什么区别?
测试 | 调试 | |
角色 | 测试和开发一起执行 | 开发人员自己执行 |
阶段 | 测试伴随软件的整个生命周期 | 开发时调试 |
目的 | 发现问题 | 发现问题,解决问题 |
手段 | 等价类划分法,边界值法 | debug,分析代码逻辑 |
二、基础概念
1、什么是需求?
需求包括用户需求和软件需求。
用户需求:
甲方或终端用户使用产品时必须要完成的任务
软件需求:
也称为功能需求,该需求会详细描述开发人员必须实现的软件功能
在进行软件开发时,将用户需求转化为软件需求
软件需求是测试人员进行测试工作的基本依据
2、对于测试人员,需求的重要性体现在哪些方面?
- 在介入时间上:在需求分析和设计阶段就开始介入,因为这个阶段是理解和掌握软件的原始业务需求的最好时机
- 在测试覆盖率上:充分理解软件功能需求,才能提高测试覆盖率
- 在测试用例设计上:正确识别每个测试需求点,才能设计更合理全面的测试用例
- 在工作原则上:需求是测试人员进行测试工作的基本依据
3、什么是测试用例?
测试用例(Test Case)是指:
为了实施测试而向被测试的系统提供的一组集合,测试用例的内容包含:测试环境、操作步骤、测试数据、预期结果等要素
4、为什么要编写测试用例?
测试用例解决了 “测什么” 和 “怎么测” 两大问题
测试用例可以提高测试人员工作效率,降低测试工作的重复性
测试用例是建立自动化测试的基础
5、什么是软件的生命周期?
软件的生命周期可以分成6个阶段:
- 需求分析 => 计划 => 设计 => 编码 => 测试 => 运行维护
6、什么是软件测试的生命周期?
软件测试的生命周期与软件的生命周期一一对应,包括以下六个阶段:
- 需求分析:了解需求、分解需求,得出测试需求
- 测试计划:根据需求编写测试计划/测试方案
- 测试设计:搭建测试用例框架,初步编写测试用例,编写测试工具
- 测试开发:执行单元测试,完善测试用例,调整测试方案
- 测试执行:是软件测试人员最为重要的工作阶段,根据测试用例和计划执行测试,在执行的过程中记录、管理缺陷,测试完成后编写测试报告
- 测试评估
7、测试报告应当具备什么内容?
测试报告应当具备:
测试人员
测试时间
开发人员
开发时间
测试用例
BUG内容
需求文档&技术文档
8、什么是BUG?
- 程序运行结果与需求或预期不匹配时,则认为出现BUG
9、如何描述一个BUG?
描述一个BUG通常需要以下信息:
发现问题的版本
问题出现的环境
错误重现的步骤
预期行为的描述
错误行为的描述:描述错误的现象,如日志log,UI截图等
其他:如故障分类、优先级等
10、如何定义BUG级别?
BUG级别的定义每家公司都有差别,通常有以下四个级别: | |
Blocker(崩溃) | 表示阻碍开发或测试工作的问题,一旦出现应立即中止当前版本测试。 |
如系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。 | |
Critical(严重) | 表示某一功能出现异常,但不影响其他功能测试的问题。 |
如系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试; | |
如功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用 冲突,安全问题、稳定性等; | |
如软件中数据保存后数据库中显示错误,用户所要求的功能缺失,程序接口错误,数值计算统计错误等。 | |
Major(一般) | 功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。 |
如操作时间长、查询时间长、格式错误、边界条件错误,删除没有确认框、数据库表中字段过多等。 | |
Minor(次要) | 不影响操作功能的执行,但可以优化,属建议类问题。 |
如界面或性能缺陷等。 |
11、什么是BUG的生命周期?
BUG的生命周期是指从被发现到修复完成的过程。
通常BUG会经历以下阶段:
New:发现BUG,但未确认是否修复
Open:确认BUG,并指派修复人员
Fixed:已修改,未验证状态
Rejected:驳回状态,开发人员认为不是BUG
Delay:延迟修复状态
Closed:Bug修复完成,测试通过
Reopen:Bug未能完成修复,测试不通过,驳回