静态测试和动态测试

根据程序是否运行,测试分为静态测试和动态测试。

静态测试

静态测试就是静态分析,不实际运行被测软件,对模块的源代码进行分析,查找错误或收集一些度量数据。静态测试采用人工检测(如代码评审)和计算机辅助静态分析手段进行检测,只进行特性分析。
计算机辅助静态分析:利用静态分析工具检查缺陷和问题,如用错的局部变量和全局变量,不匹配的参数,潜在的死循环等。
静态测试就是静态地检查程序代码、界面或文档中可能存在的错误的过程。

  • 代码测试即对代码进行测试,主要测试代码是否符合相应的标准和规范。
  • 界面测试即对界面进行测试,主要测试软件的实际界面与需求中的说明是否相符
  • 文档测试即对文档进行测试,主要测试用户手册和需求说明书的内容是否符合用户的实际需求。

动态测试

动态测试指的是实际运行被测程序,输人相应的测试数据,检查实际输出结果和预期结果是否相符的过程。所以判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。
动态测试是通过观察代码运行时的动作,来提供执行跟踪、时间分析,以及测试覆盖度方面的信息。动态测试通过真正运行程序发现错误,通过有效的测试用例,对应的输入输出关系分析被测程序的运行情况

不同的测试方法间的关系

各种测试方法有各自的目标和侧重点,在实际工作中应将这两种方法结合起来运用,以达到更完美的效果。
测试方法各有所长,每种方法都可设计出一组实用有效的用例,用这组测试用例可以比较容易地发现某种类型的错误,却不易发现另一种类型的错误。因此在实际测试中,应结合各种测试方法,形成综合策略。

  • 在单元测试时主要用白盒测试;
  • 在集成测试时既可以用白盒测试方法也可以用黑盒测试方法,或者用白盒与黑盒结合的灰盒测试方法;
  • 系统测试时主要用黑盒测试。
  • 白盒测试有可能采用动态测试方法,即运行程序并分析代码结构;也有可能采用静态测试方法,即不运行程序,只静态查看代码。
休息一下,喝杯咖啡,继续创作