web 前端/iOS/Android 开发时,如何应用 CI/CD

2019-09-06 08:55:49 +08:00
 ChefIsAwesome

CI/CD 也谈了好多年了。根据我的理解,CI 就是提交代码触发自动测试。CD 就是自动测试过了之后触发打包部署。我一直没在项目里用过,充满疑问:

GUI 开发到底怎么测试?

如果是写框架,写工具,mock 请求之类的不涉及用户操作的,写写单元测试大家都知道怎么做。问题就在那些用户操作的部分,就算是有模拟器,像拖拽操作,动画表现,设备兼容性之类的问题,我很难想出要怎么写代码来测试。

如果必须大量人工测试,CD 如何应用?

这种情况下,肯定是没办法自动测试过了就部署的。顶多是把打包部署的过程做成一键操作,等人工测完了,bug 修好了,再手工操作。如果不能自动部署,跟自己写个脚本,需要的时候执行一下有什么区别呢?

请教各位做 GUI 开发的朋友们,你们团队是怎么应用 CI/CD 的?

1867 次点击
所在节点    问与答
7 条回复
sunjourney
2019-09-06 09:01:34 +08:00
同求,web 是可以做 snapshot 的,还可以用 headless browser 的 API,还可以用虚拟 DOM 去测,native 这块有老歌解答下怎么做自动化的吗
louiswang002
2019-09-06 09:26:45 +08:00
Appium jenkins
eric1202
2019-09-06 09:43:27 +08:00
只要涉及的到人测试的 就不太容易完全一键部署了 顶多是 master 分支重复重复再重复了
等待高手解答
shuizhengqi
2019-09-06 10:50:32 +08:00
一般 cd 都是不包含测试的。而且你一个人的话,搞个 cd 意义不大,脚本就直接搞了
runze
2019-09-06 11:00:22 +08:00
CI 不是每一次提交都一定要测试的,CD 也不是测试通过就一定要部署的。

比如可以每次提交都测试,只有特定分支 /tag 的提交才部署,这样就保留了人力参与测试的空间。
runze
2019-09-06 11:07:03 +08:00
以前端为例:
每次提交都过一遍 cypress,不考虑兼容,只保证既有功能的完整。同时每个功能变动都要有人工测试,重点是新功能和兼容问题,都测试通过之后再 merge 到特定分支,自动开始部署。
CoCoMcRee
2019-09-06 11:08:58 +08:00
iOS 项目 使用 fastlane 一键 release 发到 AppStore 并自动推送 testflight, 上架提交还是要手动点的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/598407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX