扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

嵌入式开发自测有哪些局限性?

2025/08/13 来源:鱼鹰谈单片机
647
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

作者:鱼鹰Osprey,ID   :emOsprey

程序开发,一般需要程序员进行基本的测试,这是为了保证交付给测试员/客户的程序质量,防止来回修改程序,浪费宝贵的时间。

但是如果仅靠程序员自身去保证质量,远远不够。因为程序员自测有很多局限性。下面鱼鹰简单聊一聊。

首先是开发环境。

每个开发人员的电脑配置、程序配置都可能不太一样;可能有些代码只在本地修改,并没有上传;还有可能别人已经完成的功能,却并没有被你更新到本地,很可能得到一个功能不完整的程序。

另外一些代码仓库可能会依赖另外的子仓库,如果别人更新这个子仓库,或者使用了这个子仓库的另一个分支实现,那么可能很难发现问题。

其次是测试环境。

程序员测试时,一般会使用简单的单板环境,很多外部组件、传感器没有接,虽然程序员加入的新代码并不关心这些外设,但是有可能会影响别人的功能。

同时,有些问题可能需要重新上下电才能发现,有些问题可能需要设备完全冷启动(没有余电)才能发现,这些都是程序员自身很难自测出来的问题。

最后是测试过程。

程序员知道自己的代码实现,很可能会有意或无意的跳过某些测试,或者很多极限参数测试因为时间原因并没测试。那么就依赖不熟悉该功能的人进行更系统的测试。

因此,好的更新、测试流程,可以更早、更全面的发现程序问题。比如,写一个脚本或者使用仓库平台(github、gitlab)的 pipeline 功能,自动根据当前仓库情况,生成合适的可执行文件,然后交于不熟悉代码实现的测试工程师统一测试,可以更好的发现问题。

程序员负责维护脚本或者 pipeline 依赖的编译环境,这样编译出来的程序始终都是统一的(如果功能有问题,修改这个脚本或pipeline即可),如果能使用 docker 隔离编译环境,使编译环境总是干净的,那么无疑是更合适的选择。

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录