首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/698631/blog/4892679

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

鱼和熊掌兼得:C++代码在编译时完成白盒测试

摘要:如果能够让代码在编译的时候,自动完成白盒测试,这不是天方夜谭。 白盒测试也叫开发者测试,是对特定代码函数或模块所进行的功能测试。当前主流的白盒测试方法是:先针对仿真或者生产环境编译出可执行文件,然后运行得到测试结果。这种方法有3个问题: 可能需要专门针对白盒测试额外做一次构建。这是因为仿真环境和实际运行环境可能是不同的硬件平台,而且白盒测试需要额外链接一些库(比如GTest),构建方式和发布版本不一样。这一方面让构建需要加入额外动作,另一方面也不容易保证两套构建工程的一致性,难以确保开发人员每次发布软件前都通过了白盒测试。 为了运行白盒测试,必须要搭建运行环境。有些执行机环境资源不太容易获得(比如嵌入式单板),这就给开发人员随时随地开展测试带来了障碍。 当代码发生修改时,需要人为判断执行哪一部分白盒测试用例。当依赖关系复杂时,这种影响关系分析并不容易。 如果能够让代码在编译的时候,自动完成白盒测试,则上面3个问题将都不存在。当测试用例没有通过时,我们希望编译失败。这看起来像是天方夜谭,但随着C++语言的编译期计算功能越来越成熟,对于相当一部分代码来说它已不再是幻想。 一个简单的例...

从根上理解高性能、高并发(四):深入操作系统,彻底理解同步与异步

本文原题“从小白到高手,你需要理解同步与异步”,转载请联系作者。 1、系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然与胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的gnet等熟练掌握。但真正到了面视或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不过是皮毛。 返璞归真、回归本质,这些技术特征背后的底层原理到底是什么?如何能通俗易懂、毫不费力真正透彻理解这些技术背后的原理,正是《从根上理解高性能、高并发》系列文章所要分享的。 1.2 文章源起 我整理了相当多有关IM、消息推送等即时通讯技术相关的资源和文章,从最开始的开源IM框架MobileIMSDK,到网络编程经典巨著《TCP/IP详解》的在线版本,再到IM开发纲领性文章《新手入门一篇就够:从零开发移动端IM》,以及网络编程由浅到深的《网络编程懒人入门》、《脑残式网络编程入门》、《高性能网络编程》、《不为人知的网络编程》系列文章。 越往知识的深处走,越觉得对即...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册