博文

软件测试---白盒测试指南(四)(2007-06-27 12:46:00)

摘要:8.1). JAVA语言规范走查内容 序号 测试项 测试内容 质量保证标准 问题属性 出错频率 J1 下标 是否有下标变量越界错误? 健壮性 错误   J2 除数 是否包含有除零错误的可能? 健壮性 错误   J4 Get方法 当对一个不知是否为空的对象取其属性值会引起空指针异常。如果空指针异常没有被接收程序将终止。例如:BusinessData1.getBusinessDate2.getOid()当BusinessData1.getBusinessDate2为null时, BusinessData1.getBusinessDate2.getOid()将发生异常 健壮性 错误   J5 字符串 在字符串比较和将字符串写入数据表前应Trim()掉它的前后空格。 健壮性 错误   J6 字符串连结符"+" 将字符串连结操作中的+操作符同加法运算中的+操作混淆将导致奇怪的结果。例如:y为int类型,y的值为5,g.drawString("y+2="+y+2,30,30);将显示y+2=52 正确性 错误   J7 Float double 不要用等于或不等于来比较浮点值,而应该判断其差别是否小于某一指定小的值。例如:89.6 实际可能为89.59999232458 正确性 错误   J8 Float double 不要对浮点值用做计数循环,应用整型值。 正确性 错误   J9 Float double 不要使用类型float或者double的变量执行精确的金融计算。浮点数的不精确会导致引起不正确金融计算的错误。可定义若干类来完成不同的金融计算。 正确性 错误   J10 switch switch语句的末尾如果没有defaul语句将会不利于处理异常。 健壮性 缺陷   ......

阅读全文(3309) | 评论:0

软件测试---白盒测试指南(三)(2007-06-27 12:44:00)

摘要: TT15 类命名 第一个字母大写的英文正常语序 每个功能点的主程序(通常继承系统管理框架)统一采用ClientUI类名称。 业务逻辑代码类以BO结尾,如:GeneralLedgerBO 数值对象类以VO结尾,如:EmployeeVO 数据管理对象类以DMO结尾,如:EmployeeDMO 查询对象类以QO结尾,如:EmployeeQO 非参照对话框类以Dlg结尾,如:EditEmployeeDlg 参照对话框类以Ref结尾,如:WorkCenterRef 面板类以Panel结尾,如:GeneralLedgerPanel       TT16 接口 接口名的开头加上字母‘I’前缀 从第二个字母起,用首字母大写的英文单词描述       TT17 方法 1.是否正确定义了此方法(包括修辞词、返回类型、参数、参数类型) 2.注释是否清楚 3.命名是否正确: l          方法函数名的第一个单词小写,后面的单词第一个字母大写; l          第一个单词必须是动词,使函数的意义清晰明了; l          存取对象的属性使用setXXX()和getXXX()函数形式 l          访问布尔类型的属性可以使用isXXX()函数       TT18 类属性 Ø         所有类属性全部以m_开头,同其它变量区分开。 Ø         集合类......

阅读全文(3095) | 评论:0

软件测试---白盒测试指南(二)(2007-06-27 12:44:00)

摘要:具体实施方法: 8.1). 各层公用问题: 序号 测试项 测试内容 质量保证标准 问题属性 出错频率 T1 代码与设计对照 按需求、UI,CRC设计文档与编码对照,看是否完全地实现了所有的UI设计文档和CRC卡中规定的内容? 完备性 错误   T2 代码与设计对照 按需求、UI,CRC设计文档与编码对照,看是否创建了所需的数据库或其他初始化数据文件? 完备性 错误   T3 参数 返回值 方法中被传递参数的类型、个数、顺序及返回值是否正确?以符合UI设计文档和CRC卡为准。 正确性 错误   T5 参数的传递 当方法需要调用其它方法时,调用的参数是否正确?(UI设计文档和CRC卡中有调用说明) 正确性 错误   T6 命名 是否按《命名规范》进行了类、方法、变量、属性的命名? 正确性 错误   T7 公式 代码中的公式是否使用了设计文档中的相应数学公式。 正确性 错误   T8 注释 注释是否使用简洁明了的语言对每一个方法都进行了充分必要的描述?是否对复杂的代码进行了注释?当程序的运行是受某些特殊因素限制时,是否做了限制注释?是否列出限制模块运行特性的全部特殊因素? 易理解性 缺陷   T9 冗余语句和变量 是否存在永远执行不到的语句和变量,而降低了程序的可理解性? 易理解性 缺陷   T10 程序是否冗余 对于程序中的大量重复内容,是否使用了专门的类来实现? 可验证性 缺陷   T11 代码整体规范 是否自始至终使用了《程序员开发手册》和《编码规范》中要求的格式、调用约定、结构等? 一致性 缺陷   T12 代码与书写注释 在一个函数内代码的长度不允许超过100行。建议如果一个函数的代码长度超过一个屏......

阅读全文(3613) | 评论:0

软件测试---白盒测试指南(一)(2007-06-27 12:41:00)

摘要:软件测试----白盒测试指南   (说明:此白盒测试指南主要给白盒测试人员提供一些基本的白盒测试方法和技术,由于涉及的问题广泛,测试内容中的细节不一定准确和完整,还有待于各位的共同参与和不断完善,欢迎多交流!) 目的 本方案主要实施NC产品程序代码的白盒测试。使界面符合设计规范,适用于用户;保证程序创建的类与接口的完整与正确,以及程序模块单独正常运行。保证局部模块功能完备性,运行正确性与稳定性。 测试项 所要测试的类。如: nc.ui.bd.* nc.bs.bd.* nc.vo.bd.* 测试依据 1.NC产品需求报告; 需求规格说明书、用例描述清单 2.设计文档;(OOA、OOD、CRC卡) 如:AOM(Analysis Object Model)表示类间的静态关系,是多个相关的用例共用的。 ASD(Analysis Sequence Diagram)是按业务工作的顺序表示每一工作步骤执行时类间的动态关系。一个用例对应一个ASD。 CRC (Collaborators & Responsibilities Card)卡是一个类的完整表述 3.界面规范 4.编码规范 5.开发命名标准 通过的准则 1.界面测试通过的标准:界面的样式、大小、颜色、整体布局的设置;各种标签控件的使用及主题描述以及事件源控件的使用、快捷键使用都应符合《NC系统应用框架需求报告》和《设计文档的相关规范》。 2.程序代码通过的标准:创建的类、接口、方法、属性应与《设计文档》保持一致;程序的各种命名、注释、代码行的格式等应符合《程序开发命名标准》和《编码规范》;程序模块能独立稳定运行。 测试环境配置 1.测试工具: 2.软件环境: Client端:                      操作系统:中文WINNT/2000 开发环境:VA3.5 专业版 待测试的源码包 Server端:            &......

阅读全文(2952) | 评论:0

[转] C++ 热点问题一席谈(2007-06-26 09:49:00)

摘要: [转] C++ 热点问题一席谈

来源:荣耀/刘未鹏 译 作者:Bjarne Stroustrup C++热点问题一席谈
—      Bjarne Stroustrup 2005新春专访 荣耀 访  荣耀/刘未鹏 译 荣耀: Herb Sutter和Stan Lippman目前正在微软主持C++/CLI的设计工作,意图将动态的、基于组件的.NET编程模型和ISO C++集成在一起。您对此有何评价?您认为C++需要.NET吗?您认为C++/CLI会取得成功吗?  Bjarne: 不,C++根本不需要.NET,C++只需要最小限度的运行时支持,用于new/delete、异常处理以及RTTI等,而且仅当你使用这些特性时才需要。C++程序通常可以使用每一分可用的资源,在硬件上直接跑。C++的这些能力使其非常适合于系统级编程以及嵌入式系统任务。当然,也有些C++应用需要.NET,比如那些为了和微软.NET框架和服务紧密集成而专门设计的应用。然而,C++语言和标准库的宗旨是远离这些平台相关性的纠缠。另一方面,许多.NET设施都依赖于C++,因为除了C++之外,再也找不到更通用、更高效的语言来很好地完成这个任务,从这个意义上说,.NET需要C++。  从“很多人将会使用它”这个意义上来说,C++/CLI是会成功的。使用.NET CLI,开发者选择甚少,而C++则是最佳选择之一,而且很明显在Windows上也是,因为微软给予C++最好的支持。话虽如此,我仍然倾向于在设计系统时保持良好的移植性,而将对平台相关或专有特性的使用限制在特定的代码块中,并使用以ISO标准C++所表达的接口去访问它们。  荣耀: 尽管我现在相信这是一个毫无意义的问题,不过我想我最好还是澄清一下。当我说“C++需要.NET吗?”,我的意思是想问“我们需要.NET来使C++更普及吗?”。这就好比问“世界和平需要美国吗?”,或者,“我们需要美国来维护世界和平吗?”。当然了,我们都不喜欢讨论政治性话题,也许这个比方很不合适。  Bjarne: 政治关乎可行性。从这个意义上来说,我们必须考虑政治,而你的问题当然也是合理的。鉴于微软在软件领域的地位以及它对.......

阅读全文(3139) | 评论:0

C 语言编程常见错误 二(2007-06-26 09:46:00)

摘要: C 语言编程常见错误 2

来源:网络收集 作者:不详
1. = 不等于 ==     从 Algol 派生出来的语言,如 Pascal 和 Ada,用 := 表示赋值而用 = 表示比较。而 C 语言则是用 = 表示赋值而用 == 表示比较。这是因为赋值的频率要高于比较,因此为其分配更短的符号。此外,C 可以多重赋值(如 a = b = c),并且可以将赋值嵌入到一个大的表达式或者语句中。这种便捷导致了一个潜在的问题:需要用比较的地方却写成了赋值。下面的语句看起来好像是要检查 x 是否等于 y :
        if ( x = y )
            foo();
而实际上是将 y 的值赋值给 x ,并检查结果是否非零。再看看下面的一个希望跳过空格、制表符和换行符的循环:
        while ( c == ' ' || c = '\t' || c == '\n' )
            c = getc(f);
在应该与 '\t' 进行比较的地方程序员错误地使用了 =,而不是==。这个“比较”实际上是将'\t' 赋给 c,然后判断 c 的(新的)值是否为零。因为 '\t' 不为零,所以这个“比较”一直为真,因此这是一个死循环。
    一些编译器会对形如 e1 = e2 的条件给出一个警告以提醒用户。当你确实需要对一个变量进行赋值,然后再检查变量是否“非零”时,为了避免这种警告信息,应显式给出比较符。也就是将:
        if ( x = y )
       &nbs......

阅读全文(3306) | 评论:0

C 语言编程常见错误 一(2007-06-26 09:44:00)

摘要:C 语言编程常见错误 1

1. 书写标识符时,忽略了大小写字母的区别。
       int main( void )
       {
           int a = 5;
           printf( "%d", A );            return 0;
       }
编译器认为 a 和 A 是两个不同的变量名,而显示出错信息。C 语言规定大写字母和小写字母是不同的字符;而有些编程语言是不分大小写的。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
2. 忽略了变量的类型,进行了不合法的运算。
       int main( void )
       {
           float a, b;
           printf( "%d", a % b );            return 0;
       }
% 是求余运算符,a % b 的结果是 a 除以 b 的余数。只有 % 左右两边的操作数都是整型时,才可以进行求余运算。故而上面的程序是错误的,因为 a......

阅读全文(3325) | 评论:1

巧用异或交换整型变量的值 (2007-06-26 09:40:00)

摘要: 巧用异或交换整型变量的值

来源:蚂蚁的 C/C++ 标准编程 作者:Antigloss 通常,如果要交换两个变量的值,可以这么做:     tmp = a;
    a   = b;
    b   = tmp; 如上所示,这需要定义一个辅助变量 tmp。使用异或可以避免使用额外的辅助变量。例如:     #define swap(a, b) (a) ^= (b), (b) ^= (a), (a) ^= (b)     #include <stdio.h>     int main(void)
    {
        int ival1 = 10, ival2 = 20;         printf("%d %d\n", ival1, ival2);
        swap(ival1, ival2);
        printf("%d %d\n", ival1, ival2);
    } 不过,使用异或有个局限性,就是只能用于整数类型。......

阅读全文(2198) | 评论:0

国内最大的电子图书下载站点(2007-05-31 22:35:00)

摘要:  国内最大的电子图书下载......

阅读全文(2772) | 评论:1

《金山词霸2006+金山快译2006》龙卷风2合1去垃圾免激活最新版(2007-05-22 13:09:00)

摘要:《金山词霸2006+金山快译2006》龙卷风2合1去垃圾免激活最新版 下载地址 1     本下载链接来自互联网  若不能下载请联系我  ......

阅读全文(4699) | 评论:2