测试人员最主要的测试行为就是通过运行事先设计好的测试用例来发现
php?name=%C8%ED%BC%FE">软件中存在的问题,然后通过书写问题报告提供给
开发人员,从而使得软件的问题得到修改。
所以测试用例是用来发现软件问题的方法,但是却不是唯一发现问题的方法。一般来说,测试用例主要是模仿真实
用户的操作。所以设计测试用例的时候除了要考虑其有效性外,还要考虑覆盖性,而且要考虑到执行效率。
因为软件
系统的种类繁多,所以无法设计出一个公用的模板去使用,而且,测试用例的目的是模拟用户的操作,所以应该灵活的书写而不居于一格。
我们来看下面的例子:
一个页面,包含了一些文本,图片,一个输入域,两个按键。
这是表面的我们能够感知认识的,可以称之为测试元素,或者测试对象。
另一些就是这些元素或者对象包含的逻辑操作。
下面我们来考虑如何书写测试用例:
从UI测试的角度:我们要考虑的是整个页面的布局是否合理;页面中的显示的图片,文本,输入域和按键是否正确;图片的大小是否合适;文本的字体,风格和颜色是否正确;文本中是否有错误的拼写;按键和输入域的位置是否合适等等方面。
从
性能测试的角度:
如果页面中包含了比较大的图片,我们可以测试多个用户同时刷新该页面的时间响应度。这样我们设计测试用例的时候就可以记录1个用户刷新的时间,10个用户刷新的时间,50个用户刷新的时间,100个用户刷新的时间,200个用户刷新的时间。通过记录这些时间可以得到这些比较大的图片的存在是否能够影响页面刷新的速度。
如果页面的功能主要是将输入域中的内容存入
数据库,我们可以测试在多少个用户的情况下可以正确的将数据存储。这样我们在设计测试用例的时候就可以在一个短时间内设置一个数据量将其存入数据库,通过分析数据库的信息我们可以得出输入数据存入数据库的有效性的范围。
如果我们想通过不断引导这页,测试整个系统的稳定性和
可靠性,也可以通过设计一个包含本页面的测试用例来实现。
从功能测试的角度:
测试本页面的功能,可以从几个方面考虑。正确的数据正确的方法,正确的数据错误的方法,错误的数据正确地方法,错误的数据错误的方法。
也可以结合其他页面,传递正确的数据出去;或接受数据进来,传递出去,检测有效性。
可以针对文本域,对其文本域的特性进行测试。
可以针对两个按键,对其按键的特性分别进行测试。然后组合他们测试。
由上面的例子我们可以看出来,一个测试用例怎么写,取决于你要作甚么,系统是什么样的等等因素。所以最好是选择一个比较能够覆盖软件并且能够尽量接近测试目标的方法去书写用例,然后由其他方法进行补充。
而且我们可以制定一个一般规范,就是列出一个测试用例一般应该包含什么:
测试用例序号:
简单描述:通过阅读描述能够了解测试用例测试的主要目的和对象
状态:记录测试用例运行后的状态,一般为通过,
失败和阻断。
执行日期:测试用例被测试的日期
产品版本号:测试用例在那个产品版本上运行的
CC%CA%A6">测试工程师:测试用例被那个工程师运行
详细描述:如果有一些背景资料和必要的功能描述可以在这里提供给测试工程师
环境和设置:提供给测试工程师一些特殊的配置方法和
测试环境运行步骤和测试点
而且我们可以通过建立一个表格来跟踪这些写好的测试用例的状态。
首先,由一些熟悉系统的人员划分功能区域,然后设定该功能区域的测试点。然后尽可能的书写各个测试点要测试的内容。作为测试描述填入表中。然后由其他测试人员进行测试的书写。并最后由部分人员进行review对功能和测试对象特性的覆盖率和准确率进行评估。 这样就比较容易跟踪系统现有测试用例的覆盖广度和深度。