1 常见的开发配置名词解释

  • dev(Development):开发环境,开发人员使用
  • sit(System Itergration Test):系统集成测试,开发人员自己测试流程是否能够跑通
  • test:测试环境,给专门的测试人员使用
  • pre:灰度环境,外部用户可以访问,但是服务器配置较低,通常在版本发布初期,正式版发布前【类比于:内测】
  • fat(Feature Acceptance Test):功能验收测试环境,主要给软件测试者测试使用
  • uat(User Acceptance Test):用户验收环境,用于生产环境下的软件测试者测试使用
  • pro(Production):生产环境下的配置,面向外部用户的配置,用户连接上互联网即可访问

2 测试人员相关名词解析

2.1 测试环境

  • 测试环境
    提供测试人员使用,代码分支除了可以使用master分支外,其他的分支也是可以的。
  • 回归环境
    如果同时有好几个人参与同一个项目,那么基于master分支可能拉出非常多的开发分支,那么当这些分支合并到master上后,master上的功能可能受到影响,这种情况下,会使用一个回归环境,部署master分支的代码。
  • 预发布环境
    这个环境中,一般会连接生产环境的数据库,使用生产环境的数据来进行测试。
  • 灰度发布版本
    预发布环境过后,就是灰度发布了。由于一个项目,一般会部署到多台机器,所以灰度1台至3台,看看新功能是否ok,如果失败则只需要回滚几台,比较方便。注意,由于是灰度发布几种几台,所以一般会使用跳板机,然后进行域名绑定,这样才可以保证只访问有最新代码的服务器。
  • 生产环境
    所有服务器上的代码都已经是最新的了。

2.2 测试种类

①单元测试

最小设计单元(模块)的验证,确保模块被正确编码,对重要控制路径进行测试以发现模块内错误,通常情况下是白盒测试,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早发现解决不易显现的错误。

最小单元的测试

②集成测试

  • 通过测试发现与模块接口有关的问题,将通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构,避免一次性的继承,采用增量继承。测试接口是否一致、模块间数据流控制流是否按照设计实现其功能、以及结果的正确性验证。可以是整个产品的集成测试,也可以是大模块的集成测试。(黑盒白盒相结合)
  • 自顶向下集成:首先集成主模块,按控制层次结构向下集成,隶属于主模块的模块按照深度优先或广度优先的方式集成到整个结构中去。
  • 自底向上集成:从原子模块开始构造和测试,因为模块是自底向上集成的,进行时要求所有隶属于某个给顶层次的模块总是存在的,也不再有使用稳定测试桩的必要。
测试各个模块间是否按照所设计的运行,整个运行流程是否达到预期

③冒烟测试

  1. 针对每个版本或每次需求变更后,在正式测试前,对产品或系统的一次简单的验证性测试。
  2. 用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。
在正式提交测试之前进行的一次测试,避免整个版本的稳定性被破坏

④系统测试

基于系统整体性需求说明书的黑盒类测试,覆盖系统所有联合部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足需求规格的定义,找出不符或与之矛盾的地方。系统测试的对象:需要测试的的系统产品的软件、软件依赖的硬件、外设甚至某些数据、某些支持软件和接口等。因此,将以上所有结合起来,在系统实际运行环境中测试。

覆盖整个系统的联合部件,对整个产品系统进行测试

⑤回归测试

回归测试是指修改了旧代码后,重复以前的全部或部分的相同测试以确认修改没有引入新的错误或导致其他代码产生错误

修改了旧代码之后的测试,避免新增的代码引入或导致其他代码产生错误

⑥验收测试

系统开发生命周期方法论的一个阶段,这时相关用户和独立测试人员根据测试计划和结果对系统进行测试和验收,它让系统用户决定是否接收系统,它是一项是否能够满足合同或用户所规定需求的测试,包括(Alpha测试、Beta测试)

  1. Alpha测试:内测版本,开发者内部交流;是由用户在开发者的场所来进行的,在一个受控的环境中进行。测试完后一般不会有大问题
  2. Beta测试:公测版本,面向所有用户;由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者,开发者对系统进行最后的修改,并开始准备发布最终的软件。
  3. Gamma测试:指软件正式发行的候选版,相当成熟,与正式版本相差无几,成为正式发布的候选版。
最后阶段,测试系统是否满足用户需求