软件的静态测试和动态测试【软件测试分类】

                                     软件的静态测试和动态测试


软件测试一般分为静态测试和动态测试



1.静态测试



静态测试时指测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态分析中进行人工测试的主要方法有桌前检查(Desk Checking)、代码审查和代码走查。经验表明,使用这种方法能够有效发现30%-70%的逻辑错误。
值得说明的是,使用静态测试的方法也可以实现白盒测试。例如:使用人工检查代码的方法来检查代码的逻辑问题,也属于白盒测试范畴。



2.动态测试



动态测试是指通过运行程序发现错误,分为黑盒测试法、白盒测试法和灰盒测试法。不管是哪一种测试,都不能做到穷尽测试,只能选取少量最有代表性的输入数据,期望用较少的代价暴露较多程序的错误。这些被选取出来的数据就是测试用例(一个完整的测试用例应该包含数据和期望的输出结果)。
(1)黑盒法。把被测对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。常用的黑盒测试用例的设计方法有等价划分、边值分析、错误猜测、因果图和功能图等。
(2)白盒法。把测试对象看做一个打开的盒子,测试人员了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。由于白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基础设计测试用例。常用的白盒测试用例设计方法有基本路径测试、循环覆盖测试、逻辑覆盖测试。
(3)灰盒法。灰盒测试是一种介于白盒测试与黑盒测试之间的测试,它关注输出对于输入的正确性。同时也关注内部表现,但这种关注不像白盒测试那样详细且完整,而只通过一些表征性的现象、事件及标志来判断程序内部的运行状态。

你可能感兴趣的:(网络技术,网络技术基础,软件测试,软件测试方法,黑盒法,白盒法,灰盒法,软件测试常用方法,软件测试基础)