2011年10月20日
摘要: 在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 阅读(773) 评论(0) 推荐(0)
摘要: 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:1.功能不正确或遗漏界面错误; 阅读全文
posted @ 2011-10-20 08:50 lynnjeans 阅读(171) 评论(0) 推荐(0)
摘要: 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。 阅读全文
posted @ 2011-10-20 08:46 lynnjeans 阅读(188) 评论(0) 推荐(0)
摘要: 集成测试、单元测试与系统测试的差别测试类型对象目的测试依据测试方法单元测试模块内部的程序错误消除局部模块的逻辑和功能上的错误和缺陷模块逻辑设计,模块外部说明大量采用白盒测试方法集成测试模块间的集成和调用关系找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题程序结构设计结合使用白盒与黑和测试方法,采用较多黑盒方法构造测试用例 系统测试整个系统,包括系统中的硬件等对整个系统进行一系列的整体、有效性测试系统结构设计,目标说明书,需求说明书等黑盒测试由以上可以看出,整个软件系统的测试过程是:先对各个软件模块进行单元测试,然后把经过单元测试的各个模块组装起来进行集成测试,最后把经过集成测试 阅读全文
posted @ 2011-10-20 08:42 lynnjeans 阅读(209) 评论(0) 推荐(0)
摘要: 白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。用白盒测试产生的测试用例能够: 1)保证一个模块中的所有独立路径至少被使用一次; 2)对所有逻辑值均需测试true和false; 3)在上下边界及可操作范围内运行所有循环; 4)检查内部数据结构以确保其有效性。 “我们应该更注重于保证程序需求的实现,为什么要花费时间和精力来担心(和测试)逻辑细节?”答案在于软件自身的缺陷: ·逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。当我们设计和实现主流之外的功能、条件或控制时,错误往往开始出现在我们工作中。日常处理往往被很好地... 阅读全文
posted @ 2011-10-20 08:37 lynnjeans 阅读(287) 评论(0) 推荐(0)
  2011年10月19日
摘要: 1. Naming Conventions and Style 命名规范和代码风格1. Use Pascal casing for type and method names and constants: 类型、方法和常量命名用Pascal风格,即首字母大写public class SomeClass{const int DefaultSize = 100;public void SomeMethod(){ }}2. Use camel casing for local variable names and method arguments.局部变量和方法参数使用Camel风格。即首字母小写, 阅读全文
posted @ 2011-10-19 15:37 lynnjeans 阅读(664) 评论(0) 推荐(0)
摘要: C# interface学习经验浅谈C# interface学习是我们学习C#语言的一个重点,那么如何掌握好C# interface的使用规则呢?那么本文就向你介绍一些C# interface学习的经验和体会。C# interface是把所需成员组合起来,以封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化,即ICount ic=new iCount()是错的。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。声明格式如下:[attributes][modifie 阅读全文
posted @ 2011-10-19 11:58 lynnjeans 阅读(262) 评论(0) 推荐(0)
摘要: abstract表明一个类是不完整的,只能作为其他类的一个基类。抽象类与非抽象类的不同之处有:1.抽象类无法直接用例子说明,且在抽象类中不能使用操作符new。2.抽象类允许(但不需要)含有抽象成员。3.抽象类不能被密封(密封类不能被继承)。当一个非抽象类是从一个抽象类派生而来时,该非抽象类一定包括所有被继承抽象成员的实际执行。这样的执行是通过使抽象成员无效而得到的。----《C#编程思想》在类定义前面放置abstract关键字,可以将类声明为抽象类。EXAMPLEpublic abstract class A{...};使用abstract关键字可以创建必须在派生类中实现的不完整的类和类成员。 阅读全文
posted @ 2011-10-19 11:40 lynnjeans 阅读(311) 评论(0) 推荐(0)
摘要: virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。虚拟成员的实现可由派生类中的重写成员更改,而非虚拟成员是无法由派生类进行重写的,这一点是与Java不同的。Java语言中,只要在派生类中定义了与父类具有相同签名的方法,那么父类的方法就被重写。C#语言中,必须使用virtual关键字进行修饰,否则在派生类中进行重写会导致编译器报错。 虚方法或者虚属性并不等同于抽象方法、抽象属性。抽象方法和抽象属性无法直接调用,必须通过派生类进行实现之后才能调用;而虚方法和虚属性是表示在派生类中有可能进行重写的,但是如果没有重写,那么将调用父类中的该虚方法和虚属性。调用虚方 阅读全文
posted @ 2011-10-19 10:34 lynnjeans 阅读(178) 评论(0) 推荐(0)
  2011年10月4日
摘要: 如果您有时间,就看下面的方法,自己动手强签名, 如果没有时间, 直接从这里下载我签名好的程序集.by 蝈蝈俊.net原文出处:http://blog.joycode.com/ghj/archives/2006/05/16/75852.joy如果你自己的项目用到了基于.net2.0的 Enterprise Library – January 2006,并且你的项目是需要强签名的。这时候你就需要对企业库的代码作少量的修改,让企业库涉及到的项目组件也支持强签名。修改企业库,让它支持强签名,除了需要把每个项目指定签名文件外,还需要修改每个项目配置的友元程序集(Friend Assemblies)。一个 阅读全文
posted @ 2011-10-04 10:43 lynnjeans 阅读(221) 评论(0) 推荐(0)