7月目标是
1 重构接口自动化,按照devops的模式发布。
同时对docker也进行封装。
docker集成环境构建,毕竟有空间服务器了,可以直接部署。
2 对古筝四级的学习及考试。 与孩子一同进步吧。
3 阅读计划
读书目标书籍-python 学习技法,华为之法,道德经,人生答案之书
1 对devops了解
原来只是一个称呼转换,里面涉及的内容都接触玩过。竟然如此。
不同环境用于不同的测试类型。成功完成的测试越多,对系统版本质量更有信心。
在部署流水线流程中,代码提交前、构建后、预发布环境、生产环境都有测试参与。
在开发过程中有两种类型的测试过程。测试驱动开发和单元测试。
在执行提交前,自动地运行以上测试。提交前测试通常包含一组相关的单元测试,还有几个冒烟测试。目标是在集成测试前可以发现通过单元测试但未破坏整体系统的缺陷。一旦测试通过,就可以执行代码提交操作了。
对系统已构建的可执行部分的测试。
对已构建提交的整体系统的功能进行逐个测试,测试是否满足需求,功能能否正常,满足用户使用需求。
对已提交的功能对应的接口进行测试,从接口层面底层是否满足健壮性,容错性,易用性。
丰富自动化测试用例,将测试过的主流测试功能转化为自动化脚本,在后期的回归测试中更加容易减少人工投入,丰富测试手段。
预发布是系统部署到生产环境前的最后一步,因此预发布环境应尽可能贴近生产环境。在这个步骤中有以下测试类型:
在系统部署到生产环境后,还会继续进行观察和测试。
即使系统通过所有测试,还是有可能存在缺陷。
对于检测非功能的错误,可以对系统信息进行监控。监控包括:用户请求的响应时间、队列长度等。当监控数据与历史数据有偏差时,会触发报警并通知给相关人员。
在检测到错误后,为了对错误进行跟踪溯源,一般要求系统日志有合适的记录。
在错误诊断并修复后,会在未来发布的版本进行回归测试。
在系统部署后,通过特殊手段干扰正在运行的系统。例如:宕服务、宕虚拟机、模拟网络变慢等。
学习了以上的devops的流程,发现公司目前对于开发的集成没有集合在一起,按照现在的流程,是任意开发人员自测,他们的开发环境中就是一个联调环境。需要隔离一个环境来做正式的自测环境的。这个是目前的不足之处。
另外测试这块需要对集成环境中的测试代码进行及时更新维护,人力需要偏向这一块处理业务。
2 对pytest的conftest的学习
conftest对fixture的引用。里封装完成又接近了一步。

测试驱动开发
传统开发流程:先概要设计,再详细设计,编码完成后进行测试。
测试驱动开发:先开发自动化测试,再编码开发功能,直到测试通过。
单元测试
在知晓系统代码的前提下,对单独类或方法进行测试。
beta发布
将产品有计划地发布给特定用户,让用户大量使用来发现软件存在的问题与错误,再把信息反馈给开发者修改。
A/B测试
beta发布与金丝雀发布是发布策略,A/B测试关注的是发布效果。
线上同时运行多个版本的服务,不同服务会有一些体验上的差异。相关人员通过分析各个版本的实际效果确定哪个版本执行得更好。
例如:推荐算法、用户界面
