质量保障的全流程措施,如下图所示:
①. 自动化测试
②. 崩溃监控
③. 崩溃治理
1. 自动化测试:
自动化测试是什么?
做自动化测试一个完整步骤
自动化测试主要分为单元测试、集成测试、端到端测试,三者关系如下:
自动化测试主要是用来编写库、框架、组件等需要作为单独个体提供给他人使用的
electron的测试工具推荐vitest、spectron
2. 崩溃监控:
对于GUI软件,尤其桌面端软件来说,因此需要对崩溃进行监控
崩溃监控原理如下图所示:
崩溃监控技巧
渲染进程崩溃后,提示用户重新加载
通过 preload 统一初始化崩溃监控
主进程、渲染进程通过 process.crash() 进行模拟崩溃
对崩溃日志进行收集分析
崩溃监控做好后,如果发生崩溃,该如何治理崩溃呢?
3. 崩溃治理:
崩溃治理难点:
定位出错栈困难:Native 错误栈,无操作上下文
调试门槛高:C++ 、 IIdb/GDB
运行环境复杂:机器型号、系统、其他软件
崩溃治理技巧:
及时升级 electron
用户操作日志和系统信息
复现和定位问题比治理重要
把问题交给社区解决,社区响应快
善于用 devtool 分析和治理内存问题