手工测试和自动化测试如何进行有效的结合,如何将手工测试和自动化测试相互结合

首先要对自动化测试形成正确的认知:自动化测试的目的不单纯是为了减少或者替代手工测试,而是为了测试人员能够做更多更有意义的测试(也包含手工测试) 。如何围绕产品质量提高测试效率,不仅仅是把手工用例转变为自动化用例这么片面,其中包含了自动化测试实施策略、框架的选型、自动化的可维护性、可扩展性、可持续性等等方面的诸多考虑,比如,如何有效解决自动化代码量随着用例数量的增加而增长的问题?一个难以维护、扩展的自动化测试实践,是失败的,或者软件产品生命周期的不同阶段,自动化测试实施的策略有何不同?“围绕产品质量,提升测试效率,通过不断的技术创新、应用,不断提高测试整体流程能力(单位时间能够提供多少服务) 。
如何进行前端自动化测试?

手工测试和自动化测试如何进行有效的结合,如何将手工测试和自动化测试相互结合


首先来说,前端自动化测试在实际应用中还是较少的!为什么这样讲呢?我们得先了解自动化测试是为了解决什么问题的,以及自动化测试的局限性 。自动化测试的目的很简单,就是解放人力,将一些重复性核验工作交给程序自动去检测 。但问题来了,对于一般后端功能来说,自动化测试是比较容易实施的 。但对于前端来说,自动化的应用场景还是较少的 。
我们知道,如果是测试人员对前端页面进行测试,主要测试点有:界面排版布局是否和效果图一致;在不同浏览器下的兼容性;交互效果是否达到预期;页面性能分析等 。从上面来看,界面布局和兼容性人工测试都比较难,自动化实施起来复杂度也很高 。从另外一方面来看,前端页面改动的可能性较大,所以UED方面的确不适合实施自动化测试,成本太高!那是不是说前端领域就真的没法实施自动化测试了呢?其实也不是,比如我们将一些偏底层性的核验交给程序来自动化测试 。
比如用程序来实现:监测前端页面是否存在死链;监测前端页面图片尺寸是否过大,需要裁剪;监测前端页面是否抛出了JS错误等 ...前端自动化需要了解 Selenium,同时你需要掌握一种编程语言,如Java、Python等 。利用Selenium可以实现以下功能:操作浏览器,它可以按照脚本代码对页面做输入、点击、验证提交等操作,和真实用户操作流程一样;可以对页面DOM进行操作;可以执行JS;如果有兴趣,可以去GitHub上搜索一下:checkConsoleError 、check404,这两个小工具是我用Selenium写的前端自动化测试小工具 。
如何提高自动化测试的稳定性和可维护性?
手工测试和自动化测试如何进行有效的结合,如何将手工测试和自动化测试相互结合


大致如果现在已经有了自动化测试所应用的框架或者用例,遇到了稳定性或可维护性的问题,这个优化成本相对很高,因为此时考虑这个问题有些滞后了,要想提高稳定性和可维护性的建议,需要提供更详细的信息,比如现有的自动化测试框架设计及系统业务大致场景,否则不知从何说起 。若此时还没有开展自动化测试,或者准备开展自动化测试,这里可以提一些建议,题主可视情况采纳 。
首先要对自动化测试形成正确的认知:自动化测试的目的不单纯是为了减少或者替代手工测试,而是为了测试人员能够做更多更有意义的测试(也包含手工测试) 。自动化测试是用来验证以前能够正常工作的功能是否依旧可以正常工作 。不是为了自动化而自动化,而是为了实现一套解决方案来解决问题从而开展某种自动化,肯定是解决某些测试过程中的问题而引入自动化测试 。
其次需要考虑系统或业务功能是否适合开展自动化测试IT行业甚至其它行业的产品都是能够做到自动化的,所以是否自动化不是能与不能的问题,而是是否存在合适的时间或阶段以及合适方式去做的问题,实施自动化测试之前需要对产品开发过程进行分析,通常需要同时满足以下条件:软件需求变动不频繁(超过10%的变动是频繁变动,当然10%不是一个定值)项目周期足够长自动化测试用例可重复使用目前主流的自动化测试框架或工具首先我们需要明白自动化测试框架更倾向于一种设计思想,这种思想指导工具的使用或者自研开发,并且不是只能使用仅仅一种框架,结合被测系统本身特性一般是选择多种测试框架的组合,来满足测试和设计需求(开发、维护角度) 。

推荐阅读