半点优化网 http://www.bdxc.net/
当前位置首页 > 免费seo工具> 正文

关于静态测试的概念,下面哪个选项是正确的

2022-08-13 13:31:30 暂无评论 156 免费seo工具 静态   选项   下面

静态测试

静态方法是指不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。

动态测试

动态方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。

它们只是一个测试的不同分类角度而已,同一个测试,既有可能属于黑盒测试,也有可能属于测试;既有可能属于静态测试,也有可能属于白盒测试。而且它们之间还有包括交叉的关系,总结以下4句话:

● 黑盒测试有可能是动态测试(运行程序,只看输入和输出),也有可能是静态测试(不运行程序,只是查看界面)

● 白盒测试有可能是动态测试(运行程序,并分析代码结构),也有可能是静态测试(不运行程序,只是静态查看代码)

● 动态测试有可能是黑盒测试(运行程序,只看输入和输出),也有可能是白盒测试(运行程序,并分析代码结构)

● 静态测试有可能是黑盒测试(不运行程序,只是查看界面),也有可能是白盒测试(不运行程序,只是静态查看代码)

区别一:静态测试是用于预防的,动态测试是用于矫正的

区别二:多次的静态测试比动态测试要效率和效益高

区别三:静态测试综合测试程序代码

区别四:在相当短的时间里,静态测试的覆盖度能达到100%,而动态测试经常是只能达到50%左右,原因动态测试发现的bug大部分只是在测试实际执行的那部分代码

区别五:动态测试比静态测试更花时间

区别六:静态测试比动态测试更能发现 bug

区别七:静态测试的执行可以在程序编码编译前,动态测试只能在编译后才能执行

区别八:静态测试能发现动态测试所不能发现的一些:“Syntax error,code that hard to maintain,code that hard to test,code that does not confirm to coding standard, and ANSI violations”

静态测试的和动态测试浅析

根据程序是否运行,测试可以分为静态测试和动态测试。静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。静态测试采用人工检测和计算机辅助静态分析手段进行检测,只进行特性分析。

● 人工检测:人工检测是指不依靠计算机而完全靠人工审查或评审软件。人工检测这种方法可以有效地发现逻辑设计和编码错误,发现计算机不易发现的问题。

● 计算机辅助静态分析:利用静态分析工具对被测程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。如用错的局部变量和全局变量,不匹配的参数,潜在的死循环等。静态分析中还可以用符号代替数值求得程序结果,阻便对程序进行运算规律的检验。

静态测试包括对软件产品的设计规格说明书的审查,对程序代码的阅读、审查等。静态分析的查错和分析功能是其他方法所不能替代的.已被当做一种自动化的代码校验方法。

动态测试是通过观察代码运行时的动作,来提供执行跟踪、时间分析,以及测试覆盖度方面的信息。动态测试通过真正运行程序发现错误。通过有效的测试用例,对应的输入脚出关系来分析被测程序的运行情况。

不同的测试方法各自的目标和侧重点不一样,在实际工作中。应将这两种方法结合起来运用,以达到更完美的效果。

以上的测试方法各有所长,每种方法都可设计出一组有用的例子,用这组测试用例可以比较容易地发现某种类型的错误,却不易发现另一种类型的错误。因此在实际测试中,应结合各种测试方法,形成综合策略。在单元测试主要用白盒测试;在系统测试时主要用黑盒测试,或者以黑盒测试为主要测试方法,白盒测试为辅助方法等。

猜你喜欢