什么是软件测试?
找BUG,验证开发出来的软件是否符合用户和产品需求。 什么是BUG?
- 当且仅当规格说明书(软件需求说明书)存在并且正确,程序和规格说明书之间不符合,称之为软件错误,即BUG;
- 当用户的需求存在并且合理,程序没有满足用户的需求,称之为BUG。
BUG的生命周期: new:新建—> open:确认—> fixed:已解决—> reopen:重新打开—> closed:关闭—> reject:拒绝/丢弃—> delay:延期 BUG的级别
- 崩溃: 系统无法正常运行,阻断、崩溃,表现:死循环,死机,数据库产生死锁等;
- 严重: 系统可以运行,但是不稳定,如果继续运行会发生严重后果,表现:数据泄露,直播画面失真,密码明文显示等;
- **一般:**系统可以正常运行,但是缺少一部分功能,影响用户使用体验,表现:某页面图片展示不对,用户下单被拦截等;
- 轻微: 系统可以稳定的运行,属于建议性的BUG。
软件测试的目的: 验证软件有或没有问题,即找BUG;
- 验证软件需求和功能是否都成功实现;
- 尽可能早,尽可能多的发现软件中存在的BUG;
- 验证软件是否达到上线标准,是否可发布;
- 对软件的质量、性能、效率做出合理有效的评估;
- 提前发现用户使用可能会出现的问题;
- 预估下个版本可能出现的问题
软件测试的原则: 以客户的需求为中心,遵循软件测试的规范、流程、标准和要求;
- 所有测试的标准都来源于用户的需求,严格按照需求进行;
- 从软件项目开始启动,软件测试就开始进行,前期需求分析,测试计划制定,测试用例设计都应该在程序开发完成前完成;
- 尽可能早的投入测试,越早发现问题,修改的成本也就越小;
- 合理控制测试的深度与广度,投入与产出要保持均衡,测试并不能完全发现所有的问题;
- 软件中80%的BUG可以在需求分析、设计与评审阶段被发现和修正,16%的缺陷在软件测试用例执行的过程中可以被发现,剩余4%的问题在用户长期使用的过程中才会暴露出来;
- 发现错误较多的模块,需要更加详细的测试;
- 软件开发人员应该避免测试自己的程序。
软件的需求: 满足用户的期望或规定的文档(包括合同、规范、标准)所需要的条件或权限,包括用户需求和软件需求:
- 软件需求是从用户需求转化而来;
- 用户需求转化为软件需求的核心是沟通。
软件测试的思维方式:
- 正向思维: 验证软件功能的正常工作是否存在问题,评价一个程序或系统的特性和能力是否达到预期的结果,在设计规定的环境下运行软件的所有功能,直至全部验证通过。
- 逆向思维: 假定软件存在问题,测试是为发现错误而针对系统某个程序或系统进行操作,寻找容易出错的地方和系统薄弱的地方,尝试进行破坏操作,直至不存在问题。
软件开发(软件)的生命周期: 需求分析—> 计划—> 设计—> 编码–> 测试—> 运行维护 软件测试的生命周期: 需求分析—> 测试计划—> 测试设计;测试开发—> 测试执行—> 测试评估
- 需求分析:阅读需求,学习业务,理解需求,梳理需求细节点,参与需求方案评审;
- 测试计划:根据需求圈定测试范围,整体的测试进度安排,人力物力投入成本评估,制定测试过程规避风险的措施策略;
- 测试设计:参与技术评审完成后开始投入测试用例的设计和编写过程中,完成之后需要跟项目成员进行评审,及时改正错误的地方;
- 测试开发:根据项目需要,设计相对应的测试脚本,避免测试过程中的一些底层无法发现的问题出现;
- 测试执行:程序开发完成进入测试用例执行阶段,在执行过程中遇到问题及时记录,协调相对应开发人员进行修正;
- 测试评估:根据测试过程中的情况编写测试报告,评估项目是否存在较大风险,能否正常按时发布。
|