2011年10月20日
摘要: 在工作中遇到按位或组合权限串。一直不是特别明白。今天终于花了半个下午的时间搞明白其中的道理。首先每一个权限数都是2的N次方数如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ...如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了。如: purview = k2|k3; // 赋给删除和修改权限当需要判断在权限串中是否拥有某一权限时,就需要进行按位与。如: if((purview & k1) >0)//判断此权限串是否拥有添加权限,结果>0 则进入if语句代码块中 { .... }说到这里肯定会有疑问了,别急我来细细讲解。 第一 阅读全文
posted @ 2011-10-20 11:51 lynnjeans 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用<<运算符.例如:int i = 1;i = i << 2; //把i里的值左移2位也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成000...0100,也就是10进制的4,所以说左移1位相当于乘以2,那么左移n位就是乘以2的n次方了(有符号数不完全适用,因为左移有可能导致符号变化,下面解释原因)需要注意的一个问题是int类型最左端的符号位和移位移出去的情况.我们知道,int是有符号的整形数,最左端的1位是符号位,即0正1负,那 阅读全文
posted @ 2011-10-20 11:35 lynnjeans 阅读(2913) 评论(0) 推荐(0) 编辑
摘要: 在C#中有一个关键字checked,它用来判断当前上下文中的数值运算和数值转换是否会溢出。如是是常量溢出,那在编译时就能发现;如果是变量溢出,那在运行时会抛出OverflowException。数值运算有:++ — - (unary) + - * /有了这个就不用担心数据溢出了。checkedchecked 有两种使用方法:1.作为操作符来使用int a = int.MinValue;int c = checked(a--);执行的时候会抛出异常:2.检查一大块代码:这样子会对里面所有的代码都做检查checked{ int a = int.MinValue; int c = a--... 阅读全文
posted @ 2011-10-20 09:45 lynnjeans 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:1.功能不正确或遗漏界面错误; 阅读全文
posted @ 2011-10-20 08:50 lynnjeans 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。 阅读全文
posted @ 2011-10-20 08:46 lynnjeans 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 集成测试、单元测试与系统测试的差别测试类型对象目的测试依据测试方法单元测试模块内部的程序错误消除局部模块的逻辑和功能上的错误和缺陷模块逻辑设计,模块外部说明大量采用白盒测试方法集成测试模块间的集成和调用关系找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题程序结构设计结合使用白盒与黑和测试方法,采用较多黑盒方法构造测试用例 系统测试整个系统,包括系统中的硬件等对整个系统进行一系列的整体、有效性测试系统结构设计,目标说明书,需求说明书等黑盒测试由以上可以看出,整个软件系统的测试过程是:先对各个软件模块进行单元测试,然后把经过单元测试的各个模块组装起来进行集成测试,最后把经过集成测试 阅读全文
posted @ 2011-10-20 08:42 lynnjeans 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。用白盒测试产生的测试用例能够: 1)保证一个模块中的所有独立路径至少被使用一次; 2)对所有逻辑值均需测试true和false; 3)在上下边界及可操作范围内运行所有循环; 4)检查内部数据结构以确保其有效性。 “我们应该更注重于保证程序需求的实现,为什么要花费时间和精力来担心(和测试)逻辑细节?”答案在于软件自身的缺陷: ·逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。当我们设计和实现主流之外的功能、条件或控制时,错误往往开始出现在我们工作中。日常处理往往被很好地... 阅读全文
posted @ 2011-10-20 08:37 lynnjeans 阅读(268) 评论(0) 推荐(0) 编辑