一、软件测试的生命周期
在了解软件之前,我们应该了解一次完整的软件测试应该经历哪些步骤,软件测试的生命周期如下:
需求分析——>测试计划——>测试设计、测试开发——>测试执行——>测试评估
1、需求阶段
测试人员了解需求,对需求进行分解,得出测试需求
2、计划阶段
测试人员根据具体的测试需求编写出测试计划、测试方案
3、设计阶段
测试人员适当的了解设计,对于设计测试用例是很有帮助的,测试人员搭建测试用例框架,根据需求和设计编写一部分测试用例
4、编码阶段
测试人员一般不需要进行编码,但已经编码的模块,专业的白盒测试人员可以计划执行单元测试,完善、细化测试用例以及调整测试计划和方案。
5、测试阶段
测试阶段是软件测试人员最为重要的工作阶段,根据测试用例和计划执行测试,在执行的过程中记录、管理缺陷,测试完成后编写测试报告。
6、运行和维护
测试人员需要参与项目的实施工作。测试人员对项目产品的业务和操作非常了解,加上测试人员的沟通表达能力一般都比较强,所以测试人员可以参与用户使用软件的培训,在试运行项目时收集问题并及时反馈给相关负责人。
二、关于Bug
软件测试的很重要的一个目的就是发现项目中出现的问题,是否满足用户需求等
我们通常把软件中出现的问题叫做bug,那么关于Bug,我们需要了解些什么呢?
1、Bug的描述
在测试中,我们不能直接告诉开发人员“你的程序有问题”,这样会很让人无语,起码得告诉开发人员关于Bug的一些具体点的信息,这样才便于尽快解决问题。
一个合格的Bug描述应该包括:
出现问题的版本
开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障。并且版本的标识也有利于统计和分析每个版本的质量。
出现问题的环境
环境分为硬件环境和软件环境,如果是web项目,需要描述浏览器版本,客户机操作系统等,如果是app项目,需要描述机型、分辨率、操作系统版本等。详细的环境描述有利于故障的定位。错误重现的步骤
描述出错误重现的最短步骤,有利于开发人员快速定位错误位置预期行为的描述
根据用户需求,写出的程序才是最好的错误信息的描述
- 尽量不把多个Bug放在一起
这样不便于分析错误出现的原因
Bug的级别:
Blocker(崩溃):直接阻碍开发或测试工作的进行
Critical(严重):某些重要模块功能丢失,设计与需求不符等
- Major(一般):功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。
- Minor(次要):一般是性能缺陷、建议类的问题,不影响操作功能的执行,存在优化方案等