1.规范、优化流程
获取开发环境->本地开发->入库前系统检查->入库
主要途径:
1.本地开发环境获取-获取开发及,配置环境,获取代码要很快获取,比如将环境打包放在云上共享
2.Don't Block Engineers-程序员要很快配置好环境
3.优秀实践固化-好的实践方法共享并推行固化
4.建设代码入库前门禁系统
2.快速反馈
主要方面:
1.代码本地开发测试快速反馈-自动化测试,联调环境,调测调优,代码检查
2.代码入库前系统检查快速反馈-自动化测试,人工代码审查,代码检查
主要途径:
1.灵活运用各种linter和测试
2.使用实时检验工具
3.建设并优化沙盒环境的搭建
4.并行化提高反馈效率
3.流程全貌以及代码检查系统
流程:本地编码->git提交 ->本地UT(单元测试)和IT(集成测试) ->CR工具 ->check通过入库
->云端UT&IT ->机器CR
->本地代码检查 ->云端UT&IT
->云端代码检查 ->云端代码检查
->人工CR
1.测试角色:
开发人员负责UT和IT
测试团队写测试框架
2.测试进行时间
1.UT和IT在开发机和CR环境都会运行且频率高(代码修改一下测一下),在开发机上运行的极少,尽量使用并行和减少测试用例数量的方法保证开发不受阻塞
2.UI测试不强制在上库流程和任何CI/CD里代码检查原则
3.代码检查原则:
1.大部分是静待检查
2.大部分工具是开源和自研
3.每个语言功能都有默认检查工具和配置,各个团队可以自己修改工具和配置
4.推动极致的CI(持续集成-CONTINUOUS INTEGRATION):推动成员进行CI的主观能动性
1.CI核心原则:代码尽早进入共享分支集成
ps:
沙盒:计算机专业术语,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。
沙盒将软件运行于一个受限的系统环境中,控制程序可使用的资源(如文件描述符、内存、磁盘空间等)。
以下是一些沙盒的具体实现:
软件监狱(Jail):限制网络访问、受限的文件系统名字空间。软件监狱最常用于虚拟主机上。
基于规则的执行:通过系统安全机制,按照一系列预设规则给用户及程序分配一定的访问权限,完全控制程序的启动、代码注入及网络访问。也可控制程序对于文件、注册表的访问。在这样的环境中,病毒木马感染系统的几率将会减小。Linux中,安全增强式Linux和AppArmor正使用了这种策略。
虚拟机:模拟一个完整的宿主系统,可以如运行于真实硬件一般运行虚拟的操作系统(客户系统)。客户系统只能通过模拟器访问宿主的资源,因此可算作一种沙盒。
主机本地沙盒:安全研究人员十分依赖沙盒技术来分析恶意软件的行为。通过创建一个模拟真实桌面的环境,研究人员就能够观察恶意软件是如何感染一台主机的。若干恶意软件分析服务使用了沙盒技术。
在线判题系统:用于编程竞赛中的程序测试。
安全计算模式(seccomp):Linux内核内置的一个沙盒。启用后,seccomp仅允许write()、read()、exit()和sigreturn()这几个系统调用。 [1]