什么是手工测试?
所谓手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。并且一直以来,人们在执行软件测试相关工作时也主要是以手工测试为主。但是随着现代软件复杂程度的逐渐加深,人们发现使用手工方式来完成软件测试会感到越来越力不从心,同时因为在软件测试中存在着大量的重复性工作,而这种工作是更适合机器而不是人类来完成的。因此,自动化测试成为最佳的解决方案。
什么是自动化测试?
自动化测试就是将大量的重复性的测试工作交给计算机去完成,可以节省人力和时间成本,从而提高测试效率。那是不是自动化测试就一定好呢?自动化测试就可以更多的去代替手工测试呢?其实事实并不是如此,在实际的软件测试工作中,自动化测试并不能完全代替人工测试。虽然,自动化测试能解决很多问题,但同时也存在很多问题。
以下我们就从自动化测试优缺点出发,让大家清楚的认识自动化测试使用具体情况,在以后测试工作中,更有效的结合两者,高效完成自己的测试工作。
自动化的优点:
1、更适用于回归测试,这也是自动化测试的主要任务。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试实践。
2、测试效率高,可以在极短的时间内运行更多的测试。
3、可以执行手工测试因为人力等原因不可能或者存在困难的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。
4、使测试工作得到合理的分配,更有效的利用资源,把可自动化测试的测试自动化后,让测试人员专注手工测试,因为有的测试不适合自动测试,仅适合手工测试。
5、具有一致性和可重复性,由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的。从而达到测试的可重复的效果。
6、测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
7、增强软件信任度,由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量,一旦软件通过了强有力的自动测试后,软件的信任度自然会增加。
自动化的缺点:
1、前期准备工作比较繁琐。自动化测试在整个测试周期中何时开展,哪些测试工作可以由自动化测试替代,这些都需要在开始部署自动化测试前,进行思考。
2、人员要求高。自动化测试用例与手工测试用例大不相同,自动化测试实施过程中,需要不断的开发与维护脚本,因此对测试人员能力有很高要求。
3、手工测试比自动测试发现的缺陷更多。自动化只能检查一些比较主要问题,如崩溃、死机,但是却无法发现一些一般的日常错误。
4、测试脚本编写费时。在自动化测试中编写测试脚本工作量很大,有时候该工作量甚至超过了手动测试的时间。
5、工具本身并无想象力。工具是相对机械、缺乏思维的东西,人是具有很强智能判断能力的动物。
6、自动化测试不能取代手工测试。各有利弊,需相辅相成。
7、测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。
综上所述,可以归结自动化完成不了的,手工测试都能弥补,两者有效的结合是测试质量的关键。