- 博客(70)
- 资源 (10)
- 收藏
- 关注
原创 C/C++单元测试培训
看视频,快速掌握C/C++单元测试。主讲老师拥有十多年单元测试实践,直接服务过的企业就达上百家。课程抛弃了宽泛而不能落地的理论,直面企业项目的单元测试难题,深入浅出地讲授C/C++单元测试的问题、思路与方法。在此课程的基础上,学员只需要经过一些练习,就可以在实 际的开发中应用单元测试、TDD、ETDD。
2014-04-17 17:00:09 4702 3
原创 C/C++单元测试培训-王彤-专题视频课程
掌握C/C++单元测试技术。课程抛弃了宽泛而不能落地的理论,直面企业项目的单元测试难题,深入浅出地讲授C/C++单元测试的问题、思路与方法。在此课程的基础上,学员只需要经过一些练习,就可以在实 际的开发中应用单元测试、TDD、ETDD。...
2015-08-21 08:34:37 629
原创 PPT:C&C++,巧用单元测试新技术,实现开发质量效率飞跃
PPT下载:C&C++,巧用单元测试新技术,实现开发质量效率飞跃.ppt。 PPT用幻灯片加动画的方式,简明扼要地介绍了C/C++单元测试最新技术,以及如何巧用这些技术,实现开发质量和效率飞跃。 PPT包括: 单元测试带来什么? 单元测试太难了! 新技术,让单元测试不再难! 动画演示:单元测试新技术。 利用可视编程,实现开发质量和效率飞跃。动画演示:可视编程
2014-10-22 16:02:09 2781
原创 再谈:为什么开源C/C++开源框架极昂贵?
今天读了一篇文章:《腾讯前员工创业笔记:那些跟钱有关的事儿》(http://tech.163.com/14/0515/08/9S9975C5000915BF.html),摘录两段: 刚开工的时候买办公电脑,我心想创业公司应该省钱,就把机箱CPU硬盘内存显卡买来自己装。虽然“科班出身,基本功扎实”,但因为缺乏经验,装一台机器要花费足足半天时间。于是我上网百度了一番,发现选择上门装机服务,装一台
2014-05-15 11:42:41 3274
原创 如何让编程产能翻二番?
TDD是敏捷开发的核心实践之一, Ruby On Rails的创始人David Heinemeier曾说,当年它打开了一扇门,让自己看到了高质量代码的全新世界。然而,TDD太难,成本太高。如果对TDD进行改进,消灭它的主要成本,并放大它的效益,就得到了一个大幅提升代码质量、大量降低开发成本的开发方式,这种开发方式,就是easy TDD,简称eTDD。eTDD如何做到消灭TDD的主要成本、放大TDD的效益呢?答案是利用工具:由工具完成苦活、脏活、重活;由工具描述程序行实现可视编程。
2014-05-08 08:42:04 3575
原创 批驳:单元测试自己测效果不好,别人测效果才好
有一种说法:程序员测自己的代码效果不好,因为测试是找错,程序员不愿意去证明自己是错的,别人测效果才好,对吗?这种说法是根本错误的,误导了无数人。正好相反,单元测试要自己测效果才好,别人测则几乎没有效果,除非有函数级的详细文档。单元测试的三种方式:程序员编码同时测试、程序员编码后测试、由别人测试,成本的比例大概为1:3:5,测试效果的比例大概为5:3:1。
2014-04-29 10:57:01 3533 12
原创 可执行的C/C++单元测试教程
C/C++单元测试入门很简单,相关文章、教程、书籍很多,但理论通常跟实践脱节,学了一肚子理论,做起来可能还是老虎吃天,无从下手。我们需要一部简明扼要、贴近实际、边学可以边做练习、学完就能用的教程,简而言之,一部可执行的C/C++单元测试教程,Visual Unit 4的示例集就是这样的一部教程。
2014-04-11 08:38:14 4729
原创 表格驱动的单元测试技术(1)
【摘要】本文分析了传统单元测试技术的不足,提出了表格驱动的单元测试技术,新技术可以大幅降低单元测试的难度及综合成本,用户不需要编写测试代码,测试工作效率通常是现有技术的五倍以上。新技术已在C/C++单元测试工具Visual Unit 4中成功应用。这是第一节。一、传梳单元测试技术的缺陷分析 单元测试是软件开发过程中保证代码质量,提升开发产能的重要手段。 单元测试的基本方法是利用测试驱动
2014-03-27 14:51:52 3922
原创 嵌入式测试:IAR单元测试示例
嵌入式测试通常涉及硬件的模拟与控制,需要在单元测试用例中随意模拟和控制硬件行为,以及模拟中断对全局变量的修改,并解决死循环、超时等问题。使用Visual Unit 4,通过在测试用例中设置内部输入,可以随意模拟和控制硬件行为;利用测试用例的多次赋值功能,可以轻松解决死循环、超时等问题。用Visual Unit 4做嵌入式单元测试特别舒服。
2014-02-26 09:52:33 5646
原创 单元测试本质:面向逻辑块
单元测试是最早阶段的软件测试,面对的目标最小,可以综合使用黑盒测试方法和白盒测试方法,按理说,单元测试用例的设计应该是最简单的,但实际上,单元测试用例的设计常让人感觉无从下手,这是什么原因?是代码真的不具有“可测性”吗?还是单元测试方法不对?正确的单元测试方法是什么?单元测试工具应该具备什么样的功能,才能支持快速地构建测试用例? 这些问题,这里将一一解答。
2014-02-09 07:35:06 7484 8
原创 C/C++单元测试工具Visual Unit 4发布
大道至简,至简至速。C/C++单元测试工具Visual Unit 4,完全表格驱动,测试过程就是在表格中填数据;自动计算近似用例并提出修改提示,完成航空标准的覆盖率(MC/DC)很简单;程序行为可视,支持快速编写复杂代码,节约90%调试,开发过程很舒服。
2014-01-22 07:58:45 6563
原创 C/C++单元测试工具基本技术指标
这是本人根据多年经验提出的衡量C/C++单元测试工具能否胜任实际项目的技术指标,供需要评估单元测试工具的朋友们参考。1、 自动隔离测试目标 a. 可根据测试任务,设置指定的文件为测试目标; b. 对于不测试,但可能大量依赖的文件,可以设为调用实际代码; c. 对于不属于a和b的文件,自动生成桩代码。2、 自动生成测试代码 a. 自动生成测试文件,以及执行测试
2013-01-11 11:49:38 5055 1
原创 凯乐软件即将参展2012软博会并举办专题讲座,诚邀您的光临!
各位新老朋友: 2012第十六届中国国际软件博览会(简称“软博会”)将于5月31日—6月2日在北京举行。届时凯乐软件将参展本次盛会,并在会上举办主题为《单元测试实践的主要问题与解决》的专题讲座,诚邀您光临参观和交流! 展会地点:北京展览馆(北京市西城区西直门外大街135号) 我司展台:12号展馆•广州展区 讲座地点:12号展馆•广州展区 讲座时间:6月2日上午9:3
2012-05-16 09:34:29 6047 1
原创 单元测试实践的主要问题与解决(8)
(承上篇)3.3 如何解决“做不好” 现在来看做不好的问题。做不好的主要原因,是高标准的测试覆盖难以实现。 为什么要关注测试覆盖呢?因为未覆盖的单位,通常对应未测试的数据分类,也就是说,可以用覆盖率来检查测试的完整性,衡量测试效果。 应该在完成功能测试的基础上,统计覆盖率,找出遗漏用例来完成白盒覆盖,而不是功能测试做一遍,白盒覆盖又做一遍。 下面,我用一个案例来演示讲解覆
2012-01-16 16:44:16 6827 5
原创 单元测试实践的主要问题与解决(7)
(承上篇) 这个底层函数返回的是一个对象指针,如何模拟呢?双击函数名,打开底层模拟器。 首先,在前置代码中定义对象并初始化。然后,在模拟值中填写这个对象的地址。 这是模拟的结果。 复杂对象的数据一样可以移到表格中,这时,要移到表格中的不是对象本身,而是对象中包含的数据。例如,要把data.ui移到表格中,双击它的值“1234”就行了。
2012-01-12 10:36:21 4233
原创 单元测试实践的主要问题与解决(6)
(承上篇) 首先,我们要让这个取温度的函数返回1,表示取温度成功。双击函数名。 模拟值填1。 然后,设定环境的温度。双击这个表示环境温度的参数。 模拟值填28。 再看测试结果。现在测试就可以正常进行了。这个参数的输出是180,跟我们预期的一样。内部输入这里,显示了两个内部输入。 这是我们设定的内部输入,和外部输入可以一起管
2011-12-28 10:05:47 3744
原创 单元测试实践的主要问题与解决(5)
(承上篇)3.2 如何解决“做不了” 上面我们只是用一个独立的函数来演示ETDD过程。在实际的工作中,代码之间通常是互相依赖的,这种依赖关系会造成测试难于进行,这就是“做不了”的问题。 我们首先来分析一下。“做不了”主要是指可测性问题。可测性问题的核心是内部输入。在解释内部输入前,我们先来看一下一般的输入:外部输入。 外部输入是指在被测代码的外部可以设定的输入,包括参数、成员变
2011-12-15 10:48:42 7766 3
原创 单元测试实践的主要问题与解决(4)
(承上篇) 新加的这几行代码完成字符串的移动。这样,代码基本上写完了,结果对不对呢?CTRL+F7编译一下。 结果是完全不对的。我们来分析一下,输入是这个,全部代码都是黑色,表示都执行到了,跟我设想的一样。问题在哪里呢? 看一下计算左边空格的代码,经过计算后,指针偏移了,所以后面的计算,使用的是不正确的指针。 我们把指针先保存一下,第二次计算前再恢复回来。看
2011-12-09 10:14:58 5119 2
原创 单元测试实践的主要问题与解决(3)
二、 单元测试实践的主要问题 单元测试有个特点:测试简单独立的代码很容易,但要在实际工作中做好单元测试却很困难。 根据我们的经验,企业在实施单元测试时,通常会面对四大问题—— 不愿做:程序员没有单元测试习惯。 没时间:编写测试代码需要耗费大量的时间,项目的周期可能不允许。 做不了:代码具有较高的耦合性,使单元测试难以进行。 做不
2011-12-06 09:51:24 3799
原创 单元测试实践的主要问题与解决(2)
1.3 单元测试的效益 单元测试的效益可以说是立竿见影,并且会推动整个开发过程的改进。 首先,单元测试可以保证代码的质量。因为只有单元测试,能够全面检测代码单元的功能逻辑,排除代码中大量的、细小的错误。 其次,排错成本最小。如果在编码阶段同时进行单元测试,排错成本可以忽略不计。但若到了后期,排错成本可能会增长上百倍,要是产品已经到了用户手里,那造成的损失就更难说了。
2011-12-02 10:30:18 3853
原创 单元测试实践的主要问题与解决(1)
本文是我在“第十届中国系统与软件过程改进年会广东会场”所作演讲的整理稿,主要分享单元测试的一些要点、单元测试实践的主要问题,以及如何来解决这些问题。 一、 单元测试概述 1.1 什么是单元测试 单元测试,就是针对代码单元的独立测试。为什么需要单元测试呢?这是代码的基本特性决定了的。代码有一个基本特性,就是对数据分类处理。 代码通常会有很多的判定。一个判定,就是一次分类。嵌套的判
2011-11-28 08:45:08 8177 14
原创 资深程序员的第三条发展道路
程序员的发展路线一般有两条:技术路线、管理路线,其实还有一条前景和钱景都很不错的路线:咨询老师。凯乐软件即将开始招聘技术指导老师,及老师团队的中层管理者:技术部经理。这两个职位特别适合性格开朗、有一定C/C++编程经验、希望寻求更广阔发展空间的程序员或团队主管。工作地点在广州。
2011-04-13 10:39:00 2967
原创 TDD与VTDD系列(五):提升产能1/3的开发方法:VTDD(概述)
您的项目是否面临这些问题:开发费用和进度失控、可靠性差、难以维护?如果您期望改进开发过程,改变被动现状,请不要等待,立即引入VTDD。VTDD(Visual TDD),即可视化的TDD,是TDD的改进和升级。VTDD继承了TDD的优点,克服了TDD的缺点。VTDD的改进可归纳为“三化”:可视化、自动化、现实化。
2010-06-18 11:50:00 2649
原创 TDD与VTDD系列(三):TDD概述
什么是TDD TDD是Test-Driven Development的缩写,即测试驱动开发。TDD的基本思路是利用测试来推动开发的进行,并不是单纯的测试过程。TDD是极限编程的核心之一,但TDD也可以单独运用。TDD的优势 明确需求:在软件开发过程中,需求常常是易变且不易描述的。项目的整体需求最终会细化为代码的需求,即每个代码单元都有其具体的功能要求。整体的需求不明确,代码的需求自
2010-05-28 08:41:00 2569
原创 TDD与VTDD系列(二):CppUnit的改进与使用(2)
4 测试过程示例类定义如下:class CMyClass{public: //加法函数 int Add(int a, int b); //计算空调制冷器运行时间 int WorkTime(int* pSecond);};加法函数Add()是入门示例,WorkTime()是接近应用的示例,功能是计算空调制冷器运行时间,需调用桩代码取得环境温度。测试过程,使
2010-05-27 09:12:00 2891 1
原创 TDD与VTDD系列(一):CppUnit的改进与使用(1)
本系列文章探讨TDD(测试驱动开发)与VTDD(可视化的TDD)。内容分为三部分:开源测试框架介绍,TDD探讨,VTDD探讨。关于开源测试框架,网上有大量相关文章,我本来不想再写,但是我尝试了CppUnit的另一种使用方式,比较简单和高效,因此分享出来,其他开源框架就不写了。 CppUnit的改进与使用(1) 这个改进后的使用方法是我为一个企业培训时所准备的,由
2010-05-26 11:37:00 3354 2
原创 谈谈C语言教学:应该从一开始就培养学生良好的编程风格和习惯
今天比较空,翻了下前几天的技术支持记录,有一个QQ对话记录比较出乎意料之外:一位同学快毕业了,还不太会或者不习惯写独立函数。仔细想想,感觉也不能怪学生,问题可能出在书本和老师上。回顾一下以前看过的C语言教程,很多示例,功能代码都写在main函数中,输出的系列信息字符串也是直接写在代码中,虽然这样比较简单,对于初学者来说,也比较容易理解,但我认为这对从一开始就培养学生的良好编程习惯是很不好的
2010-05-24 07:57:00 8024 74
转载 诺贝尔奖评委:中国学者迷信权威,缺乏创新性
转自中国新闻网 昨日,生态学家、诺贝尔奖评委、瑞典皇家科学院院士拉斯·奥尔夫·彼昂受聘为华师全职教授。作为广东省首批引进的领军人才,在谈及中国诺贝尔奖空白时,彼昂认为主要原因是中国学者迷信权威,缺乏创新性。“我很欣赏中国学者对长者教授的尊重,这一点在国外非常少见,”彼昂教授说,“但我鼓励学生敢于提出自己的观点。在西方,学生有不同意见都是当场提出的。” 彼昂
2010-05-19 09:34:00 2248 2
原创 TDD再思考----优势、不足与改进
TDD简介 TDD是Test-Driven Development的缩写,即测试驱动开发。TDD的基本思路是利用测试来推动开发的进行,并不是单纯的测试过程。TDD是极限编程的核心之一,但TDD也可以单独运用。TDD具有:明确需求、明确设计、形成文档、自信编程、提高效率、强制测试等优点。 Object Meentor公司总裁,极限编程领域资深顾问Robert C. Martin提出了
2010-05-14 09:16:00 4429 6
原创 晒晒专利证书,兼谈国产软件产品化之道
晒晒偶刚刚拿到的专利证书,小小虚荣一下: 这个专利申请没有请代理,文件都是我自己写的,当时在广州未找到懂测试技术的代理。现在看来,申请文件写得实在不怎么好,有很多地方是需要改进的。幸运的是,审查过程相当顺利,只修改了一次权利要求书。这次修改也在预料之中,作为一种策略,一般都会把权利要求的保护范围写得大一些,收到审查意见后再结合审查员的建议
2010-05-10 09:50:00 2753 2
原创 C/C++单元测试理论精要(十二,完)
4.2 多角度保证测试效果 对于代码质量要求很高的项目来说,仅有白盒覆盖是远远不够的。白盒覆盖不能发现代码缺失,白盒覆盖基于现有代码,如果代码不存在,当然不能发现。为了检测代码缺失,需要人工对测试数据进行检查。白盒覆盖也不能发现用例未反映功能。如果设计用例时,测试员不了解代码的功能,通过阅读代码来设计用例,这叫跟着代码走,这样测试的话,再高的覆盖率也没有意义。这也从另一个角度说明了
2010-05-06 09:12:00 7031 9
原创 C/C++单元测理论精要(十一)
第4章 怎样才能保证测试效果? 4.1 衡量测试效果的基本指标:白盒覆盖 衡量测试效果的基本指标是白盒覆盖率,即统计测试对代码逻辑单位的覆盖状况。代码的逻辑单位主要有:语句(块),条件、判定、分支、路径。常用的白盒覆盖有六种:语句覆盖、条件覆盖、分支覆盖、判定条件覆盖、修正判定条件覆盖、和路径覆盖。每种覆盖都有它的局限性,因此,实践中要多种覆盖组合应用。 除M
2010-05-04 09:44:00 4691 10
原创 C/C++单元测试理论精要(十)
3.3 高效率开发 这一节介绍利用单元测试实现高效率开发。单元测试可以在几个方面提高开发效率:测试驱动开发、可视编程、快速排错、和提高调试效率。 测试驱动开发 指先编写测试代码,然后再编写产品代码使测试通过,有很多相关文章和书籍介绍这方面知识,限于编幅,这里就不讲了。 可视编程 是测试驱动开发的升级和改进。如果边开发边测试,那么,工具可以将程序的行为展示
2010-04-30 14:54:00 4107 4
原创 C/C++单元测试理论精要(九)
3.2 高效率测试:四两拔千斤 上一节介绍了一些似是而非的高效率方法,那么,怎样才能真正高效率测试呢?真正的高效率,不能忽略人的智慧这一关键因素。由于工具不可能自动了解代码的设计功能,只有人才了解,因此,只有人的智慧及时介入,工具才能做正确的事情,才能达到真正的高效率。 测试的主要工作在于用例,这方面,工具可以完成大量自动化的工作,主要包括:生成测试代码,生成测
2010-04-28 10:53:00 5392 17
原创 C/C++单元测试理论精要(八)
第3章 怎样才能高效率测试3.1 似是而非的高效率 这一节澄清一些流行的误解或误导,一些看起来很不错的高效率,实际上是似是而非的。 全自动生成用例 全自动生成用例是所有测试人员的期盼,好消息是,这是一种简单的技术,十年前就有了,坏消息是,这种技术作用很小。 工具不可能自动了解代码的设计功能,全自动生成的用例,只能发现极端错误,
2010-04-27 15:21:00 4770
原创 C/C++单元测试理论精要(七)
2.2 解决可测性问题 上一节具体分析了可测性问题,接下来,我们来看看如何解决这些问题。下图中,彩色的部分是需要解决的可测性的具体的问题。 与其他代码隔离 为了提高效率,应该一次性将一位工程师负责的测试任务隔离出来。隔离时,应把源文件分为三类:被测文件,外围文件,其他文件。被测文件是测试目标,外围文件是指与被测文件关联密切的底层或相关文件,这些
2010-04-26 11:32:00 6096 14
第四代单元测试工具
2019-01-04
C/C++单元测试/嵌入式测试/集成测试工具Viaul Unit 4.4
2018-06-03
C&C++单元测试培训
2015-09-22
eTDD电子书:编程产能翻二番的奥秘
2014-05-08
CppUnit的改进与使用
2010-05-26
C-C++企业项目单元测试ppt.rar
2010-04-16
Visual Unit
2006-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人