美文网首页Android开发工程师V
SDK开发质量保障经验总结

SDK开发质量保障经验总结

作者: 张明云 | 来源:发表于2020-12-10 20:29 被阅读0次

相比于APP的开发,SDK的开发有些不同:
1、拓展性要求更高:SDK需要对外提供接口,无论是迭代还是重构,原有接口都不能变更,否则会对SDK使用者带来兼容、维护成本;
2、质量要求更高:SDK可能在各种业务场景中使用,使用情况复杂;且如果有质量问题时每个SDK使用方都需要升级,所以发布的SDK版本一定要是高质量的版本;
3、测试难度更大:SDK很多时候只有接口没有界面,对于测试来讲既是黑盒、又不确定SDK使用者怎么调用,即使测试时没问题也很难保证在业务中使用时没有问题。

  对于1已有成熟的解决方案,有新需求或需求变动,新增接口并让原接口过时即可。下面结合我实际负责SDK开发的经历,谈一谈2和3,即如何保障SDK的开发质量:
一、评审环节:
  评审环节最为重要的是在满足当前需求之外,还要基于对业务的理解,洞察可能的潜在需求,基于对需求的理解和洞察,设计接口和。尽可能在SDK设计时就考虑到需求可能的变更情况,设计出职责明确、兼容性强的接口,避免因为需求变更导致接口的改动。比如下载接口的设计,一次可以添加一个下载任务,也可能有一次性添加多个下载任务的需求。
  除此之外,还需要为SDK制定版本号(在代码中写明版本,而非在SDK名字上体现)和一套错误码,便于在SDK出问题时能够快速定位问题。
  SDK设计完成后,需要要求APP需求方的开发人员一起参与评审,主要评审接口设计的合理性和易用性,确保达成一致后才进入开发环节。

二、开发环节:
  因为SDK的特殊性,质量保障不能强依赖测试,既然SDK不好测,那就想办法让开发出来的SDK质量有保障、通过开发端提供测试工具简化测试的工作。
  靠谱的解决方案是为SDK开发Demo,Demo中演示每个接口的调用方式,并提供测试模式,用于对接口的性能、安全性等测试。通过Demo既引导了APP开发人员尽可能按预期的方式使用接口,又为测试人员提供了方便,通过测试模式可以对各接口做性能、安全等专项,专项验证SDK的质量。如果SDK存在需要长时间运行等可能导致功耗问题的情况,需要通过多渠道打包生成多个Demo,通过专项验证同时运行对整机性能的影响。
  为了便于开发者使用,为SDK写ReadMe,介绍接口的使用方法、使用流程是必不可少的。

三、发布环节:
  SDK的发布可以借鉴APP的发布流程,先和需求方拿一个APP联调,集成进APP灰度验证SDK的质量,如果质量OK再全量。

四、维护环节:
  为SDK设计一套单独的异常采集方案,将SDK和APP的异常分开,避免因为SDK集成到APP中无法单独统计SDK的异常率,通过统计SDK的异常率来衡量SDK的质量。

  刚开始接手SDK开发时情况是比较糟糕的,发布SDK版本时总是心惊胆战,市场反馈有APP的问题时,经常听到APP开发人员反馈这是SDK的问题。通过将上面的做法融入到流程和规范中,并不定期抽查团队成员对流程和规范的遵守情况约束团队遵守规范。现在几乎很难遇到之前那样的情况了,一年下来因为SDK导致的严重问题最多有1-2次,SDK的异常率远低于APP的异常率。
  上述的总结只讲了在开发过程中有真正实践过的方法,并非完美方案,像通过单元测试保障SDK接口的稳定性、通过热更新实现SDK补丁的动态更新都是有效保障SDK开发质量的方法。

下面是对这篇文章的总结:
1、SDK相比于APP,需要更为注重开发质量;
2、保障SDK开发质量的方法有:为SDK开发测试模式、输出SDK使用Demo和说明文档、对SDK做专项测试、先灰度再全量、对SDK做异常采集;
3、SDK的开发,永远是质量第一、效率第二。严格遵守流程和规范,只有这样,才不会陷入被使用方质疑的境况,才有机会始终以实现新增需求而非维护为主。

相关文章

  • SDK开发质量保障经验总结

    相比于APP的开发,SDK的开发有些不同:1、拓展性要求更高:SDK需要对外提供接口,无论是迭代还是重构,原有接口...

  • SDK开发经验总结

    原文: SDK开发过程的一些问题总结 过去的一年多时间里都在做SDK, 这一年从Web开发转到Android开发也...

  • iOS SDK开发总结

    这篇文章主要记录我自开始SDK开发以来的经验总结以及所遇到的坑, 从17年3月份开始, 作为一个从未做过SDK开发...

  • 广告SDK开发经验总结

    一、SDK简介 SDK全称 Software Development Kit,即软件开发工具包。通常是辅助开发某个...

  • iOS开发经验总结

    iOS开发经验总结 iOS开发经验总结

  • iOS开发经验

    多年iOS开发经验总结(一) 多年iOS开发经验总结(二) 多年iOS开发经验总结(三)

  • 多年iOS开发经验总结

    多年iOS开发经验总结 多年iOS开发经验总结

  • SDK开发中的经验总结

    做SDK开发很久了,这里备注下日常开发中的几个常规项。对于有经验的开发都来说,这篇文章没有任何意义。如果你不小心走...

  • 12.6 软件质量保障

    软件质量保障的维度 软件质量保障的维度包括三个领域,分别是操作,安装和维护。从参与角色可分为开发者和用户,对应的是...

  • iOS质量保障工具集

    iOS质量保障工具集 iOS质量保障工具集

网友评论

    本文标题:SDK开发质量保障经验总结

    本文链接:https://www.haomeiwen.com/subject/gkgrgktx.html