【测试流程】熟悉


本文仅为作者自己学习使用,如有错误,欢迎批评指正!

什么是软件测试?

  1. 利用人工或自动化的手段对软件进行测试,找出bug及设计不合理的地方,增加程序的可用性,降低商业风险;
  2. 一个软件是由需求文档、数据、程序等部分组成,所以软件测试不仅仅对程序进行测试,而是全方位、多层次的验证
    小结:程序测试可以归纳为,在规定的条件下对程序进行测试评估,在了解项目需求的前提下,发现程序的错误,记录不合格触发的条件及表现,对项目作出评估。

测试记录工具

禅道

第一款国产的开源的项目管理软件,她的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

scrum是什么

https://ones.cn/blog/articles/scrum-agile-project-management

常用概念

环境

dev(Development environment):开发环境。用于开发者调试使用。
test:测试环境。
sit(System Integration Test):系统集成测试。
uat(User Acceptance environment):用户验收测试环境或预发布环境。生产环境下的软件测试者测试使用。
pre:灰度环境。灰度测试环境就是生产环境,生产数据,所影响的也是生产环境,只是范围比测试环境更广,更真实。其实就是小范围的生产环境。类似于游戏内测。
fat(Feature Acceptance Test environment):功能验收测试环境。软件测试者测试使用。
prod(Production environment):生产环境。正式线上环境。

测试类型

常见软件测试分类:https://blog.csdn.net/kujessica/article/details/80612371

  1. 模块测试(单元测试)
    用于判断某个特定条件下特定函数的行为,由开发程序员自行完成,内容包括:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
  2. 集成测试
    又称联合测试、组装测试,是单元测试的逻辑拓展。测试片段的组合,并最终扩展进程,将多个模块一起测试,并测试模块之间的接口,最后将构成进程的所有模块一起测试。
    集成测试策略:大爆炸集成、三明治集成、自顶向下集成、自底向上集成、高频集成、分层集成、分布式集成等13种。
  3. 系统测试
    将测试的子系统装配成一个完整的系统来测试,目的是对最终软件系统进行全面的测试,确保软件系统满足产品需求并遵循系统设计。
    包括安全性测试(系统安全性能的指标?软件安全性能应该从哪几个方面进行测试?)
    恢复性测试(倘若计算机系统出现错误,就必须在一定时间内恢复过来,修正错误并重启系统。在进行恢复性测试时,需要注意的方面有:恢复过程的安全性、恢复处理日志的能力、供电出现问题时的恢复能力、恢复操作后系统性能是否出现下降。 常用的回复测试用例设计方法:规范导出法、错误猜测法、基于故障的测试。。。)
  4. 验收测试
    向用户表明软件系统能够按照用户的需求运行,是部署软件前的最后一个测试。
    包括三种:正式验收测试、
    alpha测试(用户在开发环境的测试,或公司内部用户在模拟实际操作环境下的受控测试)
    、beta测试(软件的多个用户在一个或多个用户的实际使用环境下的测试,开发者通常不在测试现场)。
  5. 回归测试
    用例回归:程序开发过程中,在一段时间之后回头用之前的用例再次测试,看是否会触发新问题。
    错误回归:在新版本中,对以前出现并修复过的错误再次进行验证,并以此为核心,对相关修改的部分进行测试
  6. 黑盒测试
    已知产品的设计规格和说明书,对照测试说明书上的功能是否符合要求,也称功能测试。
    (等价类划分、边界值分析、错误推测、因果图和综合策略)
  7. 白盒测试
    测试产品的内部数据结构的有效性和执行过程,对程序所有独立的执行路径至少测试一次。
  8. 冒烟测试
    对系统进行最基本的功能测试,保证基本的功能和流程能走通。
  9. 兼容性测试:测试软件是否能和不同的软件正确协作。
  10. 配置测试:保证软件在其相关的硬件上能够正常运行。
  11. 性能测试:系统在大并发下的响应速度和健壮性。
    通过自动化的测试工具模拟正常、峰值、异常负载条件,在其中对系统的性能进行测试

规范化测试流程

流程图

在这里插入图片描述

测试开始阶段

  1. 项目需求阶段:产品提出相应的项目,召开相应的需求评审会议,测试开始介入,熟悉项目需求,着手系统测试用例;
  2. 当所有的模块都开发完毕,研发人员对各个模块进行自测,进行合成,自测通过后才可以发布测试版本,接口测试开发需要提供对应的接口文档,测试人员根据需求进行系统测试;
  3. 当新增功能或者版本升级,测试人员需要对新增功能及升级模块进行测试,对其他关联模块进行回归测试。

测试流程

  1. 测试启动阶段
    产品、项目管理者、研发、测试及项目关联人员共同参与需求会议,需求评审中需要评估本次需求是否需要性能测试,明确需求及任务完成时间。
    产品提供详细的需求文档、产品功能清单;研发人员需要向测试人员提供产品项目需求文档、接口文档等等;明确测试任务,确定测试周期。
    需求评审完,后由项目经理发出项目计划表、项目进展时间节点,后续项目依此逐步推进。
    测试人员根据项目工作量大小及项目进度编写测试计划书,对本次测试的范围、进度、策略等内容进行把控。
    研发人员在项目开发完成并自测通过后发布测试版本,提交测试申请单,发送提测邮件给测试人员,测试人员首先进行冒烟测试,通过则进入测试阶段,否则打回测试。
    测试人员在测试阶段要做好版本控制,研发人员在这个版本中修复的bug,需要下个版本再次验证。
    临时新增的紧急需求和改动点,产品需要按流程提供对应的需求,研发需要新增提测单并填写测试注意点。
  2. 设计用例阶段
    需求文档+产品功能列表基础上,测试人员着手设计测试用例,测试用例要设计的尽量多,尽可能覆盖所有的测试需求。测试用例完成后需进行用例评审,产品和对应的研发人员必须参加,评审会上发现的问题需要及时补充和完善。
  3. 用例执行阶段
    开发提测后进行冒烟测试用例,冒烟通过率低于某阈值测试有权打回测试,冒烟通过后进行正式测试阶段。测试过程中发现的bug需要记录在软件上,测试人员要争取每个bug都能重现,便于开发修改。测试把bug反馈给相关开发人员,开发人员进行修复,测试人员对已修复的bug进行再次验证,直到bug解决为止,修改bug状态并记录测试结果。
  4. 提交测试总结报告
    在约定的测试周期内,将所有用例都执行完,一般及以上的bug都修复完,遗留bug需要记录,便于后续版本的回归。测试人员需要对本次测试项目编写测试总结报告,将测试结果反馈,对极易出现bug的模块提出建议,相关负责人在下次开发中予以借鉴,避免类似错误的出现。

测试结束阶段

  1. 所有用例都执行完,所有一般及以上的bug都被修复,产品验收通过,测试编写完测试总结报告;
  2. 基本功能已实现,一些遗留bug可以在下一版本中修复;
  3. 如遇产品着急上线,,测试基本功能没问题,对于用户后续发现的bug可以再进行跟踪记录。

参考文档:https://cloud.tencent.com/developer/article/1761192

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值