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