软件测试基础--白盒测试、黑盒测试、自动化测试

1   白盒测试

        白盒测试也称为结构测试或者逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检验产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否能按照预定要求正确工作

         这一方法是吧测试对象看做一个打开的盒子,测试人员根据程序内部逻辑结构相关信息,设计或者选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

         采用什么方法对软件进行测试呢?

         常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实际数据来动态运行程序,而达到发现程序错误的过程。

2   黑盒测试

         黑盒测试也成为功能测试,它是通过测试来检验每个功能是否能正常使用,在测试是,把程序看做是一个不能打开的盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,他只是检测程序是否按照需求规格说明书的规定正常使用,程序能否能适当地接收输入数据而产生正确的输出信息,黑盒测试试着着眼于程序外部结构,不考虑内部逻辑结构,主要对软件界面和软件功能进行测试。

         黑盒测试是以用户的角度,从输入数据和输出数据的对应关系出发进行测试的,很明显,如果外部特性本身有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

          黑盒测试法注重测试软件的功能需求,主要试图发现下列几类错误:

  1.            功能不正确或遗漏
  2.            界面错误
  3.            数据库访问错误
  4.            性能错误
  5.            初始化和终止错误等

从理论上讲,黑盒测试只有采用穷举输入测试,吧所有可能的输入作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但有可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要有针对地测试,通过指定测试案例指导测试的实施,保证软件测试有组织、有步骤以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是讲测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法,功能图法等。

         等价类划分的方法:是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例、每一类的代表测试数据在测试中的作用等价于这一类中的其他值。

         边界值分析法:是通过选择等价类边界的测试用例,边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。

         错误推测设计方法:就是基于经验和直觉推测程序中可能存在的各种错误,从而有针对性地设计测试用例的方法。

         因果图方法:是从用自然语言 书写的程序规格说明书的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。

         正交试验设计法:就是使用已经构造好了的正交表格来安排试验并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率。

3   自动化测试

为了更加快速、有效地对软件进行测试,提高软件产品的质量,我们必然会利用测试工具,也必然会引入自动化测试。

3.1  自动化测试的定义

        自动化测试就是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动的测试,它是软件测试的一个重要组成部分,它能够实现很多手工测试无法完成或者难以实现的一些测试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。

         软件测试自动化涉及到测试流程、测试体系、自动化编译以及自动化测试等方面的整合。也就是说,要让测试能够自动化,不仅是技术、工具问题,更是一个公司和组织文化问题。首先公司要先从资金、管理上给予支持,其次要有专门的测试团队去建立适合自动化测试的测试流程和测试体系,最后才是把源代码从受控制库中取出、编译、集成、发布并进行自动化的功能和性能等方面的测试

你可能感兴趣的:(软件测试集成,白盒测试,黑盒测试,自动化测试,软件测试)