- 为了便于区分,一般把被测程序在机器上运行称为“动态测试”,不在机器上运行被测程序称为“静态分析”。广义地讲,它们都属于软件测试。因此,软件测试的方法一般分为动态测试和静态测试。
- 动态测试方法中又根据测试用例的设计方法不同,分为黑盒测试法和白盒测试法两类。
- 静态测试与动态测试
- 静态测试
- 定义:指被测程序不在机器上运行,对模块的源代码进行研读,查找错误或收集一些度量数据,采用人工检测和计算机辅助静态分析手段对程序进行检测,只进行特性分析。常用的方法有:
- 人工测试;
- 定义:指不依靠计算机而完全靠人工审查程序或评审软件。该方法偏重于编码风格、编码质量的检验,除了审查编码还要对各阶段的软件产品进行检验,可以有效地发现软件的逻辑设计和编码错误,发现计算机不容易发现的错误。
- 人工测试常用的方法包括:
- 桌前检查( Desk Checking ) 由程序员检查自己的程 序,对源代码进行分析、检验。
- 代码会审( Code Reading Review ) 由程序员和测试员组成评审小组,按照“常见的错误清单”,进行会议讨论检查。
- 步行检查 ( Walkthroughs ) 与代码会审类似,也要进行 代码评审,但评审过程主要采取人工执行程序的方式,故也称为“走查”。步行检查是最常用的静态分析方法。
- 计算机辅助静态分析;
- 定义:指利用静态分析工具对被测程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。如错误使用全局变量和局部变量,不匹配的参数,循环嵌套和分支嵌套使用不当,潜在的死循环和死语句等。静态分析中还可以用符号代替数值求得程序结果,以便对程序进行运算规律检验。
- 人工测试;
- 定义:指被测程序不在机器上运行,对模块的源代码进行研读,查找错误或收集一些度量数据,采用人工检测和计算机辅助静态分析手段对程序进行检测,只进行特性分析。常用的方法有:
- 动态测试
- 定义:指借助输入样例(测试用例),通过运行程序发现错误。一般所讲的测试大多是指动态测试。
- 一般有两种方法:
- 黑盒测试法;
- 定义:也称功能测试或数据驱动测试。它不考虑程序内部结构和处理过程。把被测程序看成一个黑盒子,只在软件接口 处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
- 如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;
- 白盒测试法;
- 定义:也称结构测试或逻辑驱动测试。测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对程序中的所有逻辑路径进行测试,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。
- 如果知道产品的内部工作过程,可以通过测试来检验产品内部结构及处理过程是否按照规格说明书的规定正常进行。
- 黑盒测试和白盒测试都不可能进行穷尽测试。
- 黑盒测试法;
- 静态测试
上一篇

2024-04-20
下一篇

2024-04-20