十年经验大牛与你谈为什么要进行自动化测试?
今天跟大家分享的是为什么要进行自动化测试?自动化测试与手工测试区别是什么?自动化测试有点有哪些?
为什么要进行自动化测试?
之前很长时间做的都是手工测试,虽然也有将手工测试用例转化为自动化测试用例过,但是个人的认识是自动化测试是用在为产品后期维护进行测试的目的上。我接触到的自动化测试分两个方面:一个是性能测试(LR),一个是自动化测试(XACC)。我个人的理解想要做这两样测试的话必须软件的界面都很成熟了,变动不大了。比如在产品后期交付界面比较稳定不会做大的调整的过程中,为了进一步的提高软件性能可以进行性能测试,为了保证每一个版本的基础功能不受其他代码变动的影响也可以在后期版本中运行自动化测试。既然要打翻从新学习就要了解一下网上现在都是什么情况?总结起来跟我之前的理解不冲突。
软件自动化测试是测试工作的一部分,是对手工测试的一种补充。自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点。如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同行一起技术交流。
手工测试局限性:
1、手工测试不能覆盖所有代码路径。
2、基本的功能性测试用例在每一轮测试中都不能少。由于工作量往往较大,属于重复性的、非智力性的和非创造性,并要求准确细致,使用机器比人类更有优势。
3、许多死锁、资源冲突、多线程等有关的不正确 ,通过手工测试很难捕捉到。
4、系统压力、性能测试,需要模拟大数据或大并发用户等各种测试场景,很难通过手工测试执行。
5、系统可靠性测试,需要模拟系统长时间运行,以验证系统能否稳定运行,难以通过手工测试执行。
6、如果有大量(几千)的测试用例,须要在短时间内(1天)完成,手工测试几乎不可能做到。
自动化测试主要优点:
1、避免重复工作:对于功能已经完整和成熟的软件,每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全相同,这部分功能特别适合于自动化测试,从而可以让测试达到测试每个特征的目的。
2、提高测试效率:DCC版本的发布周期往往比较短,也就是开发周期只有短短的几个月,而在测试期间是每天/每2天都要发布一个版本供测试人员测试,一个系统的功能点有几千个上万个,人工测试是非常的耗时和繁琐,这样必然会使测试效率低下。
3、保证每次测试的一致性和可重复性:由于每次自动化测试运行的脚本是相同的,所以每次执行的测试具有一致性,人是很难做到的。由于自动化测试的一致性,很容易发现被测软件的任何改变。
4、更好的利用资源--周未/晚上。理想的自动化测试能够按计划完全自动的运行,在开发人员和测试人员不可能实行三班倒的情况下, 自动化测试可以胜任这个任务, 完全可以在周末和晚上执行测试。这样充分的利用了公司的资源,也避免了开发和测试之间的等待。
5、解决测试与开发之间的矛盾:通常在开发的末期,进入集成测试阶段,由于每发布一个版本的初期,测试系统的错误比较少,这时开发人员在等待测试人员测试出错误的时间。事实上在迭代周期很短的开发模式中,存在更多的矛盾,但自动化测试可以解决其中的主要矛盾。
以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。