在完成一个项目的过程中,对项目进行测试是必不可少的。因为我的团队项目为一个聊天软件,目前仅限于一对一通信。在逻辑结构上较为简单,所以我试着先去了解了一下比较注重功能测试的黑盒测试。黑盒测试是用于测试软件功能的比较好的测试方法,它主要是为了发现软件的以下错误类型:
(1)功能不正确或遗漏了功能。
(2)界面错误。
(3)数据结构错误或外部数据库访问错误。
(4)性能错误。
(5)初始化和终止错误。
黑盒测试在测试过程中将程序看做一个不能打开的黑盒子,在测试过程中完全不考虑程序的内部结构,而只是检查程序是否能够按照规定的需求完成所需要的功能(即程序是否能够正确的接收输入数据而产生正确的输出信息)。
在逻辑上,黑盒测试要将所有可能的数据全都进行一遍测试,而完全测试是不可能实现的(因为基本上所有的软件都有无限种数据)。所以黑盒测试主要采用等价划分、边界值分析和错误推测等方法来进行。
等价划分:将可能的输入数据(有效的和无效的)划分为若干个等价类,并假定每类中的一个典型值在测试中与这一类中所有其他值的作用相同。因此可以在每个类中选取一组代表性强的数据作为测试数据。这样使得只要每个等价类中测试一组,就可以基本确定程序是否有错误,并定位错误的类别(即哪个等价类的测试数据出现问题)。但等价类的划分需要丰富的经验,若是没有经验的人来划分等价类,很容易出现等价类的分析不到位,导致程序测试不全面,存在未测试到的地方。这样的程序在使用中很可能出现问题。
边界值分析:长期测试程序的经验表明了程序最容易发生错误的地方往往在处理边界的地方,因此在边界情况测试能够有效地检测出程序中存在的错误。在使用边界值分析的时候,首先要确定程序的各种边界情况,然后选取刚好等于,稍小于和稍大于边界值的数据作为测试数据。根据选取的测试数据以及理论输出的结果来判断程序是否存在错误,若存在错误,根据程序的运行判断错误位于程序内的哪个部位。
错误推测:错误推测的基本想法是列举出程序中可能出现的错误或容易发生错误的特殊情况,从而根据这些列举的可能来进行测试。而错误的推测在很大的程度上都是依靠程序测试人员的直觉以及对长时间同类程序测试的经验来列举这些特殊情况的。这就使得错误推测很容易造成遗漏测试的可能。
当然,我现在学习到的这些有关黑盒测试的方法只是黑盒测试中的一小部分。例如等价划分、边界值分析都只是孤立的考虑各个输入数据的测试,而忽略了多个输入数据的组合效应。不过,虽然我学习到这些知识的只是黑盒测试中的一部分,但也总算是有了一些收获。我相信这些知识不只是在这次的项目中有用,它们同样对我以后的学习、工作等都有着很大的帮助。