手工测试vs自动化测试
手工测试和自动化测试都是软件质量保证的一个途径,准确的理解手工测试和自动化测试有利于我们更好的开展测试工作。
手工测试:手工测试就是由人去一个一个的输入用例,然后观察结果是否与预期结果相同。
手工测试的优点:
(1)较好的异常处理能力,能通过人为的逻辑判断校验当前步骤的功能实现正确与否
(2)人工测试步步跟踪,能够细致的定位问题
(3)手工测试比自动化测试发现的缺陷更多
手工测试的缺点:测试工作量大,重复的手工回归测试,非常消耗时间。
自动化测试:自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
自动化测试比较适用于软件需求变动不频繁、项目周期较长、自动化测试脚本可重复使用的项目
自动化测试的优点:
(1)对程序的回归测试更方便。这可能是自动化测试最主要的任务,特别是在程序修改比较频繁时,效果是非常明显的。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。
(2)可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。
(3)可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。
(4)更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。
(5)测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。
(6)测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
(7)增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了强有力的自动测试后,软件的信任度自然会增加。
自动化测试缺点:
(1)自动化测试替代不了手工测试。它的目的仅仅在于让测试人员从繁琐重复的机械式测试过程解脱出来,把时间和尽力用到更有价值的地方,从而挖掘更多的产品缺陷
(2)自动化测试没有手工测试发现的缺陷多
(3)对测试质量的依赖性极大
(4)脚本维护成本高
转载于:https://blog.51cto.com/11926581/1862928