随笔 - 576  文章 - 0  评论 - 62  阅读 - 219万
02 2012 档案
软件测试的粒度
摘要:软件测试的粒度分为:单元测试、软件集成测试、系统集成测试、系统测试。单元测试:可以理解为测试函数。软件集成测试:软件包含多个模块,软件集成测试就是 模块集成软件的过程中是否有错误,可以理解为测试函数的调用。系统集成测试:系统包含多个子系统,系统集成测试就是 子系统集成系统的过程中是否有错误,可以理解为测试子系统之间的调用。系统测试:测试整个系统。 阅读全文
posted @ 2012-02-10 17:20 Andy Niu 阅读(635) 评论(0) 推荐(0) 编辑
C++ 指针与引用
摘要:1、定义与操作View Code 1 int i =5;2 int *p = // 这里的*表示p是指针,&是取地址操作符,取出i的地址。3 std::cout<<*p;// 这里的*是取内容操作符,取出指针p的内容。4 int &r = i; // 这里的&表示r是引用。 指针通过 -> 调用方法,引用通过 . 调用方法2、引用是弱化了的指针,体现在以下方面:(1)引用不能对地址操作;(2)引用不能为空,只能在定义时初始化一次,不能改变。(注:这一点和C#中的引用不同,C#中的引用可以为null,也可以指向另一个对象)。 阅读全文
posted @ 2012-02-10 16:42 Andy Niu 阅读(160) 评论(0) 推荐(0) 编辑
覆盖率测试
摘要:覆盖率测试分为:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。1、语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误。2、判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次,但若程序中的判定是有几个条件联合构成时,它未必能发现每个条件的错误。3、条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支。4、判定/条件覆盖是使判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结 阅读全文
posted @ 2012-02-06 15:31 Andy Niu 阅读(1313) 评论(1) 推荐(0) 编辑
接口与抽象类
摘要:1、首先不要想接口与抽象类的区别,而要采用逆向思维,即是什么原因导致了他们的区别。2、接口和抽象类的使用场景不同,也就是说,接口和抽象类是针对不同的使用场景而设计的。我们站在接口和抽象类的设计者的角度来看待这个问题。3、接口的使用场景是:完全抽象,仅仅声明特征(能完成某些任务),不给出任何实现。抽象类的使用场景是:部分抽象,给出部分实现。4、接口的使用场景是:接口代表了子类能做什么,是 Can-Do关系, 抽象类的使用场景是:抽象类代表了子类是什么,是 IsA关系。 因为子类只能是一个实体,但可以做多件事。所以,接口可以多继承,抽象类单继承。5、接口:接口代表了子类的次要功能,因此可以多继承, 阅读全文
posted @ 2012-02-06 14:53 Andy Niu 阅读(612) 评论(0) 推荐(0) 编辑
声明与定义
摘要:声明:对外声明说,我能完成某项任务。抽象的说明。定义:按照步骤,详细说明我是如何完成这项任务的。具体的行为。 阅读全文
posted @ 2012-02-06 14:40 Andy Niu 阅读(225) 评论(0) 推荐(0) 编辑
弱化功能
摘要:一般情况下,我们会增强实体的功能,但是有时候为了其他方面的考虑,会弱化实体的功能。这应该就是哲学上的舍得辩证法。举例来说:1、引用是弱化了的指针,不允许对内存地址操作。为了安全,牺牲了指针的灵活性。2、栈、队列是弱化了的数组或者链表,针对特定的使用场景,为了简单,而关闭了不需要的接口。3、string 是弱化了的char数组,为了好理解,string是不变字符串,每次修改相当于重新创建一个string。从而,string具备了整体拷贝和字符串留用的功能(节省内存)。 阅读全文
posted @ 2012-02-06 14:34 Andy Niu 阅读(292) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示