当前位置:首页 > 家装 > 装修报价 > 文章正文

白盒测试法若何进行单元测试

编辑:[db:作者] 时间:2024-08-25 08:49:23

  白盒测试法如何进行单元测试,关键词:单元测试、人工检讨、白盒测试、测试用例、调试

白盒测试法若何进行单元测试

  1概述

  单元测试是针对软件设计的最小单位——程序模块,进行精确性考验的测试事情。
其目的在于创造每个程序模块内部可能存在的差错。

  单元测试也是程序员的一项基本职责,程序员必须对自己所编写的代码保持负责卖力的态度,这是程序员的基本职业本色之一。
同时单元测试能力也是程序员的一项基本能力,能力的高低直接影响到程序员的事情效率与软件的质量。

  在编码的过程中作单元测试,其花费是最小的,而回报却特殊优厚的。
在编码的过程中考虑测试问题,得到的将是更优质的代码,由于在这时您对代码该当做些什么理解得最清楚。
如果不这样做,而是一贯等到某个模块崩溃了,到那时您可能已经忘却了代码是若何事情的。
纵然是在强大的事情压力下,您也必须重新把它弄清楚,这又要花费许多韶光。
进一步说,这样做出的更正每每不会那么彻底,可能更薄弱,由于您唤回的理解可能不那么完备。

  常日合格的代码该当具备以下性子:精确性、清晰性、规范性、同等性、高效性等(根据优先级别排序)。

  1.精确性是指代码逻辑必须精确,能够实现预期的功能。

  2.清晰性是指代码必须简明、易懂,注释准确没有歧义。

  3.规范性是指代码必须符合企业或部门所定义的共同规范包括命名规则,代码风格等等。

  4.同等性是指代码必须在命名上(如:相同功能的变量只管即便采取相同的标示符)、风格上都保持统一。

  5.高效性是指代码不但要知足以上性子,而且须要尽可能降落代码的实行韶光。

2单元测试步骤

  在代码编写完成后的单元测试事情紧张分为两个步骤人工静态检讨和动态实行。

  人工静态检讨是测试的第一步,这个阶段事情紧张是代码算法的逻辑精确性(只管即便通过人工检讨创造代码的逻辑缺点)、清晰性、规范性、同等性、算法高效性。
并尽可能的创造程序中没有创造的缺点。

  第二步是通过设计测试用例,实行待测程序来比较实际结果与预期结果来创造缺点。
履历表明,利用人工静态检讨法能够有效地创造30%到70%的逻辑设计和编码缺点。
但是代码中仍会有大量的隐性缺点无法通过视觉检讨创造,必须通过调试法细心剖析才能够捕捉到。
以是,动态调试方法也成了单元测试的重点与难点。

  3人工检讨

  常日在人工检讨阶段必须实行以下项目的活动:

  第一、检讨算法的逻辑精确性;确定所编写的代码算法、数据构造定义(如:行列步队、堆栈等)是否实现了模块或方法所哀求的功能。

  第二、模块接口的精确性检讨;确定形式参数个数、数据类型、顺序是否精确;确定返回值类型及返回值的精确性。

第三、输入参数有没有作精确性检讨;如果没有作精确性检讨,确定该参数是否的确无需做参数精确性检讨,否则请添加上参数的精确性检讨。
履历表明,短缺参数精确性检讨的代码是造成软件系统不稳定的紧张缘故原由之一。

第四、调用其他方法办理接口的精确性;检讨实参类型精确与否、传入的参数值精确与否、个数精确与否,特殊是具有多态的方法。
返回值精确与否,有没有返回值所表示的意思。
最好对每个被调用的方法的返回值用显示代码作精确性检讨,如果被调用方法涌现非常或缺点程序该当给予反馈,并添加适当的出错处理代码。

  第五、出错处理;模块代码哀求能预见出错的条件,并设置适当的出错处理,以便在一旦程序出错时,能对出错的程序重做安排。
其逻辑的精确性,这种出错处理应该是模块功能的一部分。
若涌现下列情形之一,则表明模块的缺点处理功能包含有缺点或毛病:出错的描述难以理解;出错的描述不敷以对缺点定位,也不敷以确定出错的缘故原由;显示的缺点信息与实际的缺点缘故原由不符;对缺点条件的处理禁绝确;在对缺点进行处理之前,缺点条件已经引起系统的干预等。

  第六、表达式、SQL语句的精确性;检讨所编写的SQL语句的语法、逻辑的精确性。
对表达式该当不含二义性,对付随意马虎产生歧义的表达式或运算符优先级(如:《、=、》、&&、、++、--等)可以采取扩号“()”运算符避免二义性,这样一方面能够代码的精确可靠,同时也能够提高代码的可读性。

  第七、检讨常量或全局变量利用的精确性;确定所利用的常量或全局变量的取值和数值、数据类型;常量每次引用同它的取值、数值和类型的同等性。

  第八、表示符合定义的规范同等性;变量命名能够见名知意,并且简洁但不宜过长或过短、规范、随意马虎影象、最好能够拼读。
并只管即便用相同的表示符代表相同功能,不要将不同的功能用相同的表示符表示;更不要用相同的表示符代表不同的功能意义。

  第九、程序风格的同等性、规范性;代码必须能符合企业规范,所有的代码风格同等、规范、工致。
例如对数组做循环,不要一下子采取下标变量从下到上的办法(如:for(I=0;I++;I<10)),一下子又采取从上到下的办法(如:for(I=10;I--;I>0));该当只管即便采取统一的办法,或则统一从下到上,或则统一从上到下。
采取for循环和While循环,不要采取do{}while循环等。

  第十、检讨程序中利用到的神秘数字是否采取了表示符定义。
神秘的数字包括各种、数组的大小、字符、变换因子以及程序中涌现的其他以笔墨形式写出的数值。
在程序源代码里,一个具有原来形式的数对其本身的主要性或浸染没供应任何性信息,它们也导致程序难以理解和修正。
对付这类神秘数字必须采取相应的标量来表示;如果该数字在全体系统中都可能利用到务必将它定义为全局常量;如果该神秘数字在一个类中利用可将其定义为类的属性(Attribute),如果该神秘数字只在一个方法中涌现务必将其定义为局部变量或常量。

  第十一、检讨代码是否可以优化、算法效率是否最高。
如:SQL语句是否可以优化,是否可以用1条SQL语句代替程序中的多条SQL语句的功能,循环是否必要,循环中的语句是否可以抽出到循环之外等。

  第十二、检讨您的程序是否清晰简洁随意马虎理解。
把稳:冗长的程序并不一定是清晰的。

  第十三、检讨方法内部注释是否完全;是否清晰简洁;是否精确的反响了代码的功能,缺点的注释比没有注释更糟;是否做了多余的注释;对付大略的一看就懂的代码没有必要注释。

  第十四、检讨注释文档是否完全;对包、类、属性、方能、参数、返回值的注释是否精确且随意马虎理解;是否会落了或多了某个参数的注释,参数类型是否精确,参数的限定值是否精确。
特殊是对付形式参数与返回值中关于神秘数值的注释,

如:类型参数该当指出

1.代表什么,2.代表什么,3.代表什么等。
对付返回结果集(ResultSet)的注释,该当注释结果集中包含那些字段及字段类型、字段顺序等。

感谢每一个负责阅读我文章的人!


如果下面这些资料用得到的话可以直接拿走:

1、自学开拓或者测试必备的完全项目源码与环境

2、测试事情中所有模板(测试操持、测试用例、测试报告等)

3、软件测试经典口试题

4、Python/Java自动化测试实战.pdf

5、Jmeter/postman接口测试全套视频获取

我个人整理了我这几年软件测试生涯整理的一些技能资料,包含:电子书,简历模块,各种事情模板,口试宝典,自学项目等。
如果在学习或事情中碰着问题可以直接进群讯问,群里也会有大神帮忙解答,须要的可以评论区找我呀。

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/lz/zxbj/202573.html

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com