进一步汇总个人的质量综合评估报告 , 可以获得针对团队的开发质量综合评估报告 , 这两个报告本质上就是个人及团队的研发质量“画像” , 完全可以作为个人及团队KPI考核的重要参考 。 在此基础之上 , 还可以通过这两个报告的变化趋势(时间纵比) , 来不断促使开发人员和开发团队不断进行开发质量的改进和开发技能的提升 。
【微服务架构下的测试治理】微服务架构下的测试治理的两大核心诉求 , 一个是提高测试的覆盖度 , 具体说就是提高需求覆盖度、代码覆盖度、页面覆盖度;另外一个则是降低测试用例的维护成本 。
先讨论测试覆盖度 。
首先看一下需求覆盖度 , 可以通过服务这个维度来对需求及测试用例进行关联 , 找出每个需求下所对应的单元测试用例、自动化测试用例、手工测试用例 , 在此基础上 , 可以把多个开发迭代周期的这些指标进行时间维度的纵比 , 以得出需求覆盖度的变化趋势 。
代码覆盖度有很多的工具帮我们来做 , 比如contest或者JaCoCo这类的工具 , 这里不再赘述 。
页面覆盖度 , 可以将每次集成测试中调用的页面以日志的形式记录下来 , 再通过日志的聚合分析 , 结合工程源码的扫描 , 两厢一比较 , 就可以统计出哪些页面是没有被覆盖到的 。
测试用例的维护成本分两块 , 一块是新增用例的维护成本 , 这个比较好度量;比较麻烦的是存量测试用例的变更度度量 , 我们采用相似度匹配算法 , 先算出存量测试用例前后两个版本代码的相似度 , 再换算成变更度 。
通过对测试的这两大类指标的不断度量和治理 , 可以实现测试工作的整体“降本增效” 。
【调测能力构建】在服务化的过程中 , 研发最大的痛点 , 一定是调试 。 原来单体应用中的服务被拆分到不同团队 , 并部署在不同的服务器上 , 而本地只有一个服务接口 。 这时候要做调试 , 要么做P2P直连 , 这需要搭建不同开发版本的集群 , 成本较高 。 要么做MOCK , 采用传统的MOCk手段 , 要写一堆的MOCK语句 , 比如你用mockito , 你要写一堆的when…..thenReturn….的语句 , 耦合度非常的高 。
我们利用分布式服务框架提供的过滤器机制 , 开发了一个Mock过滤器 , 通过Mock数据文件来详细定义要被mock的服务的名称、入参及出参 。 这样 , 当请求过来的时候 , 将服务名及入参和mock数据中的定义进行比对 , 结果吻合 , 就直接将mock数据文件中的出参反序列化后作为服务的调用结果直接返回 , 同时远程调用的所有后续操作被终止 。 这样 , 通过mock数据模拟了一个真实的远程服务 。 通过这种方式来构建服务的mock能力 , 我们就不需要写一堆的mock代码了 , 而且整个过程对业务逻辑来说毫无感知 , 完全把mock能力下沉到底层的服务框架 。
另外 , 为了有效降低制作mock文件的成本 , 我们还基于服务框架的过滤器机制开发了“在线数据抓取过滤器” , 它可以将指定的服务请求的入参和返回结果都抓取下来 , 直接写成mock数据文件 。 通过抓取方式获得的mock数据文件 , 往往有更好的数据质量 , 毕竟反映的是更加真实的业务场景 。 不过 , 这里还有一个合规性的问题 , 对线上数据的抓取是种敏感行为 , 大部分公司这么干都会很谨慎 , 一般都要做好数据脱敏的处理工作 。 对于我们 , 目前只在测试环境中进行数据抓取操作 。
通过以上的策略 , 可以有效改善服务化架构下团队的开发效率 , 而且团队规模越大 , 效果越明显 。
【微服务架构下团队协同】微服务架构下 , 服务被分散到不同的团队 , 经常一个业务会涉及多个团队之间的协同配合 , 如何让团队内部、团队之间的协作更高效?
我在前面说了 , 根据康威定律 , 组织协作的模式必须是和架构相匹配的 , 这方面我们也做了不同的尝试 , 从综合效果来说 , 敏捷模式会更适合微服务架构下团队之间的协同 。 我们目前采用两周一迭代、固定发版的模式 , 同时每个迭代之内 , 采用“火车发布模式” , 实行班车制 , 准点发车 , 这样的话 , 其它协作部门在很早之前就能大概知道我们的一个发布计划 , 产品方面也大概知道要把需求放入哪个迭代之中 。 这样 , 能够有效减轻部门间的沟通成本 。 在每期工作量评估的时候 , 我们一般会预留一些工作量buffer , 以应对一些临时性需求 , 这类需求不受版本约束 , 按需发布 。 如果这个迭代周期内没有这类紧急需求的话 , 我们会从backlog中捞一些架构优化的需求来填补这些buffer 。
推荐阅读
- 好记又有个性的微信名字500个
- 跟女生聊天没话说怎么找话题 微信没话说的女生还有必要追吗
- 分享微信朋友圈投放的6大结论 微信朋友圈如何投放?
- 微信的文件保存在哪里使用指南推荐阅读
- 电脑微信多开怎么弄的解答法子您要知道知识
- 单身必看!如何在微信上撩到喜欢的女生
- 在微信上和女生聊什么能成功邀约约会
- 比邻,探探,遇见,陌陌,微信和女生聊天经验分享
- 看我撩妹秘籍,在微信上我如何撩妹的
- 搭讪女生加微信后如何开场聊天我是这样做的!