7月的目标

7月目标是

1 重构接口自动化,按照devops的模式发布。

同时对docker也进行封装。

docker集成环境构建,毕竟有空间服务器了,可以直接部署。

2 对古筝四级的学习及考试。 与孩子一同进步吧。

3 阅读计划 

读书目标书籍-python 学习技法,华为之法,道德经,人生答案之书 

1 对devops了解

原来只是一个称呼转换,里面涉及的内容都接触玩过。竟然如此。

DevOps五要素

环境

不同环境用于不同的测试类型。成功完成的测试越多,对系统版本质量更有信心。

测试关注点

部署流水线的不同测试

在部署流水线流程中,代码提交前、构建后、预发布环境、生产环境都有测试参与。

在开发和提交前测试中的测试

在开发过程中有两种类型的测试过程。测试驱动开发和单元测试。

在执行提交前,自动地运行以上测试。提交前测试通常包含一组相关的单元测试,还有几个冒烟测试。目标是在集成测试前可以发现通过单元测试但未破坏整体系统的缺陷。一旦测试通过,就可以执行代码提交操作了。

集成测试

对系统已构建的可执行部分的测试。

功能测试

对已构建提交的整体系统的功能进行逐个测试,测试是否满足需求,功能能否正常,满足用户使用需求。

接口测试

对已提交的功能对应的接口进行测试,从接口层面底层是否满足健壮性,容错性,易用性。

自动化测试

丰富自动化测试用例,将测试过的主流测试功能转化为自动化脚本,在后期的回归测试中更加容易减少人工投入,丰富测试手段。

用户验收测试/预发布/性能测试

预发布是系统部署到生产环境前的最后一步,因此预发布环境应尽可能贴近生产环境。在这个步骤中有以下测试类型:

生产环境

在系统部署到生产环境后,还会继续进行观察和测试。

早期发布

错误检测

即使系统通过所有测试,还是有可能存在缺陷。
对于检测非功能的错误,可以对系统信息进行监控。监控包括:用户请求的响应时间、队列长度等。当监控数据与历史数据有偏差时,会触发报警并通知给相关人员。
在检测到错误后,为了对错误进行跟踪溯源,一般要求系统日志有合适的记录。
在错误诊断并修复后,会在未来发布的版本进行回归测试。

现场测试

在系统部署后,通过特殊手段干扰正在运行的系统。例如:宕服务、宕虚拟机、模拟网络变慢等。

学习了以上的devops的流程,发现公司目前对于开发的集成没有集合在一起,按照现在的流程,是任意开发人员自测,他们的开发环境中就是一个联调环境。需要隔离一个环境来做正式的自测环境的。这个是目前的不足之处。

另外测试这块需要对集成环境中的测试代码进行及时更新维护,人力需要偏向这一块处理业务。

  2 对pytest的conftest的学习

conftest对fixture的引用。里封装完成又接近了一步。

  • 敏捷
  • 持续
  • 协作
  • 系统性
  • 自动化
  • 开始:开发人员把代码提交至联合版本(dev、test、master)
  • 在本地环境执行提交前测试
  • 测试通过后,提交代码,提交操作触发集成构建,并进行集成测试
  • 集成测试通过,提升到准生产环境(预发布环境),再次测试
  • 测试通过后,部署到生产环境,并进行密切监控
  • 经过一段时间的密切监控后,部署到正式生产环境
  • 结束
  • 持续集成:通过自动触发器进行集成,直到集成测试
  • 持续交付:使用自动触发器,直到预发布系统
  • 持续部署:直到部署到生产系统,都是自动化的
  • 提交前:开发本地环境或开发服务器,有更详细的日志记录以帮助发现缺陷
  • 构建与集成测试:持续集成服务器,有足够多的测试数据
  • 用户验收测试/预发布/性能测试:尽可能接近生产环境。数据库应包含真实生产数据的一个子集
  • 生产:正式生产环境,应有足够的资源以满足其日常需要
  • 测试框架
    软件以及配置的测试数据,通过在各种条件下运行它,并对行为和输出进行监控,来测试一个程序单元。测试框架会产生报表,并识别测试失败的测试用例。
  • 负面测试
    即异常测试。违背正确输入和执行顺序操作的测试。在进行异常测试时,常见期望是程序可能优雅地降级或失败。若故障不可避免,反馈有意义的错误信息,并以可控方式退出。
  • 回归测试:
    ①在程序变更后力求发现新的缺陷
    ②确保已经被修复的缺陷不再被引入
  • 测试驱动开发
    传统开发流程:先概要设计,再详细设计,编码完成后进行测试。
    测试驱动开发:先开发自动化测试,再编码开发功能,直到测试通过。

  • 单元测试
    在知晓系统代码的前提下,对单独类或方法进行测试。

  • 用户验收测试(UAT)
    相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。
    可根据测试脚本测试,也可使用探索性测试。
  • 自动化验收测试
    对最重要的、需要重复执行的,且不太需要做很多维护的检查点实现自动化
  • 冒烟测试
    是自动化验收测试的一个自己,用于快速分析提交的代码是否影响到系统的某些核心功能
  • 非功能测试
    对性能、安全、容量以及可用性等方面的测试
  • beta发布
    将产品有计划地发布给特定用户,让用户大量使用来发现软件存在的问题与错误,再把信息反馈给开发者修改。

  • A/B测试
    beta发布与金丝雀发布是发布策略,A/B测试关注的是发布效果。
    线上同时运行多个版本的服务,不同服务会有一些体验上的差异。相关人员通过分析各个版本的实际效果确定哪个版本执行得更好。
    例如:推荐算法、用户界面

  •  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值