测试方法的辩证统一 (1)

原创 2006年05月30日 13:07:00

    软件测试的众多方法是辩证统一的,它们相互依赖而存在,相互对立又相互补充,任何一种测试方法都有其优点,在特定的测试领域能得到充分发挥。同时,任何一种测试方法都不能覆盖所有测试的需求,在某些场合存在一定的局限性和不足。这种测试的辩证统一,从下面这些相对应的测试方法就得到很好的印证。

l         白盒测试方法和黑盒测试方法

l         静态测试 (static test) 动态测试( Dynamic test)

l         手工测试(Manual test)和自动化测试(Automated Test)

l         有计划测试(Planned Test)和随机测试(Ad-hoc test Random test

l         新功能测试(new feature test)和回归测试 (Regression testing)

 

1. 白盒测试方法和黑盒测试方法

黑盒测试方法,不考虑程序内部结构和内部特性,而是从用户观点出发,针对程序接口和用户界面进行测试,根据产品应该实现的实际功能和已经定义好的产品规格,来验证产品所应该具有的功能是否实现是否满足用户的要求。

所以,黑盒测试方法技术相对要求低,方法简单有效,可以整体测试系统的行为,可以从头到尾(end-to-end)进行数据完整性测试。黑盒测试方法适合系统的功能测试、易用性测试,也适合和用户共同进行验收测试、软件确认测试。黑盒测试方法不适合单元测试、集成测试,而且测试结果的覆盖度不容易度量,其测试的潜在风险比较高。

由于白盒测试方法,已知产品的内部工作过程,针对性很强,可以对程序每一行语句、每一个条件或分支进行测试,测试效率比较高,而且可以清楚已测试的覆盖程度。如果时间足够多,可以保证所有的语句和条件得到测试,测试的覆盖程度达到很高。白盒测试方法所以适合单元测试、集成测试,而不适合系统测试。白盒测试方法准备的时间很长,如果要覆盖全部程序语句、分支的测试,一般花费比编程更长的时间。

白盒测试方法所要求的技术也较高,相应的测试成本要大。对于一个应用的系统,程序的路径数可能是一个天文数字,即使借助一些测试工具,白盒测试法也不可能进行穷举测试,企图遍历所有的路径往往是做不到的。即使,穷举路径测试,也不能查出程序违反了设计规范的地方,不能发现程序中已实现但不是用户所需要的功能,可能发现不了一些与数据相关的错误或用户操作行为的缺陷。所以白盒测试方法也存在一定的局限性。

 

2. 静态测试和动态测试

静态测试是通过对软件的程序源代码和各类文档或中间产品(产品规格说明书、技术设计文档),采用走查、同行评审、会审等方法来查找错误或收集所需要的度量数据,而不需要运行程序,所以相对动态测试,可以更早地进行。

静态分析的查错和分析功能是其他方法所不能替代的,静态分析能发现文档中问题(也只能通过静态测试实现),通过文档中问题或其他软件评审方法来发现需求分析、软件设计等问题,而且能有效地检查代码是否具有可读性、可维护性,是否遵守编程规范,包括代码风格、变量/对象/类的命名、注释行等。静态测试已被当做一种自动化的、主要的代码校验方法。

动态测试是通过观察程序运行时所表现出来的状态、行为等发现软件缺陷,包括在程序运行时,通过有效的测试用例(对应的输入 / 输出关系)来分析被测程序的运行情况、或进行跟踪对比,发现程序所表现的行为与设计规格或客户需求不一致的问题。

动态测试是一种经常运用的测试方法,无论在单元测试、集成测试中,还是在系统测试、验收测试中,都是一种有效的测试方法。但动态测试不能发现文档问题,必须等待程序代码完成后进行,发现问题相对迟得多,一旦发现问题,必须重新设计、重新编码,必然增大不良质量的成本。

<待续>

测试方法的辩证统一 (1)

2006年05月30日 13:07:00 软件测试的众多方法是辩证统一的,它们相互依赖而存在,相互对立又相互补充,任何一种测试方法都有其优点,在特定的测试领域能得到充分发挥。同时,任何...
  • softart
  • softart
  • 2007年10月28日 06:32
  • 273

测试方法的辩证统一(之三)

2006年06月08日 19:44:00 4. 有计划测试和随机测试在测试执行前,我们一般都进行测试的策划、计划,分析测试的重点和范围,精心设计测试用例,来做好测试执行前的准备,通过测试计划和...
  • softart
  • softart
  • 2007年10月28日 06:41
  • 244

测试方法的辩证统一(之二)

2006年05月31日 09:45:00 3. 手工测试和自动化测试 手工测试是指通过测试人员自身对系统进行操作来完成操作,而自动化测试是通过计算机运行测试工具和测试脚本自动进行...
  • softart
  • softart
  • 2007年10月28日 06:35
  • 234

测试方法的辩证统一(之二)

3. 手工测试和自动化测试        手工测试是指通过测试人员自身对系统进行操作来完成操作,而自动化测试是通过计算机运行测试工具和测试脚本自动进行。自动化测试具有很多优点,如执行速度高而缩短测试周...
  • KerryZhu
  • KerryZhu
  • 2006年05月31日 09:45
  • 8964

测试方法的辩证统一(之三)

4. 有计划测试和随机测试在测试执行前,我们一般都进行测试的策划、计划,分析测试的重点和范围,精心设计测试用例,来做好测试执行前的准备,通过测试计划和测试用例进行的测试是有计划的测试,而不通过事先计划...
  • KerryZhu
  • KerryZhu
  • 2006年06月08日 19:44
  • 7742

测试方法的辩证统一(之四)

2006年06月22日 18:27:00 前面我们曾谈到测试执行中一种有效性策略,实际就是一个典型例子,显示了有效性和风险性之间的矛盾和统一。测试方法有效性和风险性的这种关系...
  • softart
  • softart
  • 2007年10月28日 06:47
  • 253

测试方法的辩证统一(之四)

         前面我们曾谈到测试执行中一种有效性策略,实际就是一个典型例子,显示了有效性和风险性之间的矛盾和统一。测试方法有效性和风险性的这种关系,实际表现在整个测试周期,存在整个开发周期。1. ...
  • KerryZhu
  • KerryZhu
  • 2006年06月22日 18:27
  • 7294

各种测试方法(蛮齐全的)

以下内容转载自:http://baike.baidu.com/view/3617317.htm  随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强;选择合适的软件测试方法可以让我们事半...
  • cattle26
  • cattle26
  • 2012年10月28日 23:49
  • 2431

WEB测试方法-1

在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览...
  • garfield21
  • garfield21
  • 2009年10月17日 22:26
  • 334

Android测试方法总结汇总

由于工作的需要,最近要对Android客户端软件进行测试,便学习了一下Android客户端测试的方法,现在与大家分享一下。 1.在Android客户端测试方面可以分为如下几个大的类别: 1、...
  • zhangyalong_android
  • zhangyalong_android
  • 2016年02月23日 15:31
  • 1975
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:测试方法的辩证统一 (1)
举报原因:
原因补充:

(最多只允许输入30个字)