在我之前的一个项目中,我们正在开发一款为 iOS 和 Android 平台开发的移动应用程序。客户希望一切从一开始就实现自动化。任何泄漏到生产中的错误都意味着它将直接影响业务并造成数客户的损失。
我们被要求提出一个自动化计划,在该计划中,将在开发的每个阶段进行测试,以最大限度地降低错误泄漏的风险。因此,我们决定实施测试金字塔并创建一个 CI/CD 管道,在每个阶段连续进行测试。
为了提高产品质量,我们想出了一个计划,在管道的每个阶段都进行测试,一旦出现任何错误信号,就应该在我们进入另一个阶段之前解决它。因此,只要开发人员将代码提交到远程存储库,就会运行以下扫描
静态代码分析:这将确保遵循最佳编码实践,并在出现任何错误时通过代码坏气味提醒我们。
SecOps 扫描:这将扫描代码和代码中使用的所有库以查找任何安全漏洞,并在出现应注意的漏洞时发出报警。
一旦上述扫描通过,管道将继续前进并在开发环境中运行以下测试:
单元测试
集成测试
系统测试
端到端测试
上述所有测试将确保代码按预期完美运行。
如果上述任何测试失败,管道将中断并发出预警。提交代码的开发人员有责任修复那些相应的失败测试。这不是玩指责游戏,而是找到破坏构建的提交并修复它。该团队将向开发人员提供帮助以解决问题。
上述所有测试成功通过后,构建将部署到 QA 环境,在 QA 环境中,作为回归测试的一部分,端到端自动化测试将再次在测试构建上运行。一旦端到端自动化测试通过测试构建,需要将选择构建并执行手动探索性测试以发现更多的缺陷。它最终将被部署到验收环境,测试人员团队将在那里进行进一步的测试,最后,构建将部署到生产环境中。
静态代码分析和 SecOps 扫描帮助我们实施最佳编码实践,并通过更新到最新版本或丢弃和使用不太容易出现漏洞的库并经常更新它们来修复易受攻击的库,从而使代码不太容易出现安全问题风险。
虽然我们也在手动完成的探索性测试中发现了问题,但这些问题并不那么严重,大多数问题在初始阶段本身就得到了解决,这为我们提供了更快的反馈。
如需了解更多测试技术信息请关注:https://www.duoceshi.cn/jswz/深圳多测师软件与技术服务有限公司
Copyright © 2016-2021 深圳多测师软件与技术服务有限公司 版权所有
本站部分文章源自于网络,如有侵犯您的版权,请联系删除