app测试流程及规范,app测试流程及方法

  

  单元测试是软件测试的基础。本文详细讨论了单元测试的两个步骤:手工静态检查和动态执行,要执行的工作项以及相关的策略和方法。通过对这两个步骤的描述,作者将多年的单元测试经验和测试理论注入全文。   

  

  白盒测试如何进行单元测试,关键词:单元测试,手工检查,白盒测试,测试用例,调试。   

  

     

  

  1概述单元测试是检查程序模块正确性的测试工作,是软件设计的最小单元。其目的是发现每个程序模块中可能存在的错误。   

  

  单元测试也是程序员的基本职责。程序员必须对自己编写的代码保持认真负责的态度,这是程序员的基本职业素养之一。同时,单元测试能力也是程序员的一项基本能力,直接影响程序员的工作效率和软件的质量。   

  

  在编码的过程中,单元测试的成本微乎其微,但回报却特别丰厚。在编码的过程中考虑测试问题,你会得到更好的代码,因为这个时候你最清楚代码应该做什么。如果你不这样做,而是等到一个模块崩溃,到那时你可能已经忘记了代码是如何工作的。即使在强大的工作压力下,你也要重新想清楚,这需要很多时间。再者,这样做出来的修正往往没有那么彻底,可能更脆弱,因为你打回来的理解可能没有那么完整。   

  

  一般来说,合格的代码应该具有以下性质:正确性、清晰性、规范性、一致性、高效性等。(按优先顺序排列)。   

  

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

  

  2.清晰意味着代码必须简明易懂,注释必须准确无误。   

  

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

  

  4.一致性是指代码必须在命名(比如相同函数的变量尽量采用相同的标识符)和风格上统一。   

  

  5.高效是指代码不仅要满足上述性质,还要尽可能减少代码的执行时间。   

  

  单元测试步骤代码写好之后,单元测试工作主要分为两个步骤:手工静态检查和动态执行。   

  

  人工静态检查是测试的第一步。这一阶段的工作主要集中在代码算法的逻辑正确性(尽量通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性和算法效率。并且尽可能的发现程序中没有发现的错误。   

  

  第二步是通过设计测试用例,执行要测试的程序,将实际结果与预期结果进行比较,从而发现错误。经验表明,使用人工静态检查方法可以有效地发现逻辑设计和编码中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接口测试全套视频获取

  

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

相关文章