1.执行频率

  如果测试会在应用程序的每一个新版本下运行,则该测试非常适合自动化。这包括在整个应用程序中检查基本功能的那些测试。每当应用程序有了新版本,在进行深度测试前,应当运行这些测试来检查新版本的稳定性。数据驱动测试(测试中对同样的操作使用了多重的数据值)也是非常适合自动化的测试类型。每次对不同的输入数据集通过手工方式运行测试既单调乏味也效率低下。通过创建一个自动化的数据驱动测试,能够在一个测试中使用多重的数据集。

  2.压力/负载 测试

  同样推荐将压力测试和负载测试进行自动化。举例来说,假设一个测试必须重复1000次,手工运行测试将会非常不切实际。使用WinRunner,则能够创建一个循环来运行测试1000个来回。

  何时不要使用自动化测试?

  下面描述了不应当被自动化的测试用例:

  1.可用性测试-提供可用的模块来检查应用程序的易用性的测试

  2.只运行一次的测试

  3.需要立即运行的测试

  4.基于用户对于应用程序的直觉和知识的测试

  5.没有可预测结果的测试

  自动测试的优点是能够很快、很广泛地查找Bug,缺点是它们只能检查一些主要的问题,如崩溃、死机,但是却无法发现一些一般的日常错误,这些错误通过人眼很容易找到,但机器却往往找不到。另外,在自动测试中编写测试工作量也很大,因此在实际测试中通常是手工测试和自动测试相结合,而且手工测试往往是主要的,占了1/2-2/3,而自动测试只占1/3-1/2。在不同的开发队伍中,这个比例会有所不同,但总体趋势是这样的。