在软件开发测试或是产品项目测试过程中,通常情况下,软件测试是一个的工作量很大,牵连的方面比较较广,而又是软件开发过程中一个重要的环节。但在测试过程中的又有许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,这样,计算机就比人更适合完成任务。另一方面,手工测试存在如下的局限性:
简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,同时可复用性较差这样就导致了工作量往往较大。而自动化测试体现了用例的可重复利用性和
脚本的可维护性以及测试过程中流程的可控性都体现了自动化测试的优势地位。
有些操作是人工所不能达到或是模仿的。譬如:许多死锁、资源冲突、多线程等有关的错误,通过手工测试是很难捕捉到。
毕竟人的精力和时间都是有限的,所以他无法完成大工作量的测试。那么可能在测试过程中会遗漏一些测试路径,从而有可能导致软件存在不知名的危险。
进行系统压力、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行和模拟的。
进行系统可靠性测试时,需要模拟系统长时间运行,以验证系统能否稳定运行,这也是手工测试无法模拟的。
如果有大量的测试用例的设计,同时需要在短时间内完成,这样手工测试是几乎不可能做到。
当我们要测试一个对时间的要求需要很精确时,这样通过手工测试是无法达到和实现
我想实现一个完整的业务流程的操作需要在短时间内来完成,来检测系统完成一个完整的业务流的操作需要多长时间时这时手工测试方面很难达到需求的要求的。
综合以上的种种原因,于是自动化的测试的出现是必然的。那么自动化测试到底有什么样的优势呢具体体现在下面:
缩短软件开发测试周期,可以让产品更快投放市场。 测试效率高,充分利用硬件资源。
节省人力资源,降低测试成本。 增强测试的稳定性和可靠性。 提高软件测试的准确度和精确度,增加软件信任度。
软件测试工具使测试工作相对比较容易,但能产生更高质量的测试结果。 手工不能做的事情,自动化测试能做,如压力、性能测试。
综上,我们可以看到自动化测试可以解决诸多人工是不能解决的问题。但,我们需要注意的是毕竟自动化测试是电脑模拟人工操作的过程,所以他也存在着一些问题:
自动化测试的一些局限
在测试过程中出现了异常,机器不会主动地去判断。 对测试质量的依赖性极大
工具本身并无想象力,不能主动发现缺陷 对人的依赖性较大 不能处理一些意外的情况 测试工具的局限性
对测试人员对测试设计要求比较高 虽然自动化测试存在以上的种种局限,但是只要我们测试人员提高自我的测试技巧、测试理念以及被测系统的业务背景。提高对工具的熟悉程度,以手工和自动化二者同步使
用,那么我们在测试过程中会减轻很多的工作量、提高我们测试的结果的,达到预期的目的。
所以,我们在测试过程中需要利用软件自动化测试来提高测试效率、覆盖率和可靠性等。同时,自动化测试与手工测试互补使用,让我们的测试工作能够顺利、保质保量的完成。