自动化测试怎么做,App的自动化测试一般是怎么做的
来源:整理 编辑:智能门户 2023-06-17 13:21:06
1,App的自动化测试一般是怎么做的
现在有一些开放的平台提供这种测试的能力,还可以自己写编一些脚本去做,当然也可以用monkey测试来跑。在开始设计自动化测试框架之前,需要考虑下:使用该框架写出来的自动化测试案例,需要给开发,手动测试,可能还有客户查看,所以写的测试案例需要尽量的清晰明了,不要有太多复杂逻辑,及比较好的可读性。使用这个框架做自动化的人,不会有太深的编程能力,所以要提供足够好的,最好是傻瓜化的测试点验证方法,及很好的异常容错处理能力。测试框架最好是app测试,网页测试,接口测试,统统都能支持。testbird - 手游和app自动化测试平台
2,手机APP自动化测试怎么搞
1、IOS的话用instruments,这个工具是mac系统自带的,语言为js脚本语言。2、android目前做功能自动化的话主要是还是uiautomator,不过要求android版本17以上;3、框架的话可以学习下淘宝的自动化测试框架;4、建议先学习自动化测试的原理,然后弄明白为什么要做自动化测试、它能做什么、谁来使用它、目标是什么以及它能带来什么价值;5、关于android版本的问题,之前有讲到需要17以上的版本,没有什么公司会一个版本一个app的,一般都是做兼容,楼主应该更多的关注抽取什么样的测试用例去实现自动化、框架如何设计以及如何解决软件版本更新带来的维护问题。
3,如何有效的开展自动化测试
自动化测试不宜大力投入不管是自动化测试还是接口测试,都不宜在前期大量投入。当前业务是否适用自动化,哪些框架或者工具更适合,适合做接口自动化还是 UI 的自动化?如何让自动化达到收益和效果?这些问题都需要根据团队和业务具体的情况去尝试,找到合适的才行。如果前期投入太大,团队对其期望太高,非常容易在遇到一点挫折的时候对自动化丧失信心。另外,投入太大,毕竟加大人力或者减少手工测试的投入,会造成测试资源的紧张。在项目时间和成本的压力下,测试管理者需要顶着巨大的压力,这本身就很难成功。可以安排一些技术强或者技术兴趣浓厚的成员,在项目允许的情况下减少其手工测试工作量,让其可以利用部分工作时间和部分业余时间尝试做自动化,先局部功能尝试,能够有效果,在扩大范围。逐步达到一定的自动化规模。以接口为主UI为辅UI 自动化因其运行环境的问题,会导致运行速度慢,对环境依赖过高。同时因程序界面的多变性,导致自动化脚本维护成本大大增加。接口测试有很多优于 UI 自动化的地方。但是接口测试也自有其短板,对流程性质的测试并不适合用接口自动化来覆盖。接口自动化更适合覆盖单一接口功能的检查。所以我们可以采用核心业务流程使用 UI 自动化,单一功能使用接口自动化,两种层面的自动化结合的方式来进行。不轻谈自动化测试平台目前测试界开始流行起自己开发测试平台(以接口为主)。简单来说就是模仿常见的接口测试工具,用 Python 或者 Java 写成了一个 web 版本的。当然也有其理由,“定制性更强!”但是毕竟是软件都需要进行测试,花大量精力开发的平台并不稳定,而本身功能和理念上并没有太多更新。而这样的一些功能,市面上的绝大部分测试工具都能胜任。如果是为了提高个人能力,项目时间有空余,怎么玩都可以。若是要在实际工作中应用,那么就有点得不偿失了。自动化测试中,工具的重要性始终是最低的。理念、思维和环境治理才是最重要的。通过不断小范围试错,找到适合自己团队的自动化策略才是最重要的。任何技术脱离实际应用都是耍流氓。很多时候测试人员在开展自动化测试的时候都是不加思考的就开始做,认为用工具录几个脚本再回放就可以了,没有考虑有效性;而做了并不一定就会有效果,如果自动化测试在整个测试工作中发挥不了作用,那么哪怕是只投入了很少的成本也是在浪费资源。所以在开展自动化测试之前必须认真思考虑一些问题,以确保它的有效性:1、被测系统是否适合做自动化测试;2、被测系统适合在哪些环节做自动化测试;3、使用何种测试工具、测试框架;4、开展自动化测试需要哪些资源,包括:人员、机器、时间;5、当前可用或是可以申请到的资源;6、如何在不影响日常测试工作的前提下,开展自动化测试工作;1、被测系统是否适合做自动化测试;很多人可能都回觉得这个问题有些多余,不需要考虑。可事实上作为一名测试主管必须考虑这个问题,应为自动化测试并非只是做与不做这么简单,而是需要考虑成本投入与效果产出。不管是做软件、做系统、还是做网站,最终的目的基本上都是要盈利的,要盈利就必须控制成本,提高利润。所以在测试工作中也必须考虑到成本投入。如何确定系统是否适合做自动化测试呢?个人认为主要考虑当前的被测项目是长期的还是短期?如果被测项目是在今后半年或者几年间要不断进行开发维护的,那么就需要重复的进行大量的回归测试,这种情况下如果有自动化的回归测试体系就可以节省成本投入;如果被测项目是短期的,比如说一个月,或几个月,同时如果开发自动化测试又不是很容易,也没有足够的时间去做这件事,那么就完全没有必要作自动化测试,费尽力气做出的自动化测试脚本,可能只会用到一次或两次,这样就很不值当。2、被测系统适合怎样的自动化测试;自动化测试覆盖的范围很广:单元测试、集成测试、接口测试,GUI测试等等都可以实现自动化执行;同时,不同的系统情况是不一样,有的适合或是可以做GUI的自动化测试,有的可能只适合做接口的自动化测试,所以需要针对不同的被测项目,考虑具体在哪一个环节作自动化测试。比如说针对搜索引擎,前端往往比较简单,只是一个文本框和提交按钮,大部分的逻辑处理都是在后端完成的,这种情况做自动化的接口测试就可以达到事半功倍的效果;如果是被测系统有很多的页面操作,那么可以考虑GUI的自动化测试;以上这两种情况都不是绝对的,如果测试资源足够,那么在各个环节都是可以开展自动化测试的。此外,还有一点需要考虑的是自动化测试的可行性,比如说对一个系统而言,做GUI测试是最合适的,也是最有效,但是有可能通过各种工具或者是脚本很难实现GUI的自动化测试,那么就需要考虑变通,考虑是否可以将自动化测试调整到接口测试或是集成测试等环节。3、使用何种测试工具、测试框架;当前可以做自动化测试的工具不少,主流的付费的qtp,winrunner,silktest等,开源免费的Jemmy,watir,pywinauto等等。这么多的工具框架该如何选择,就要看被测系统了,至少要考虑是C/S、还是B/S结构的,服务端和客户端都是用何种语言编写的,是什么数据库,服务器类型等等。软件自动化测试的学习步骤大概步骤如下:1. 做好手工测试(了解各种测试的知识)-> 2. 学习编程语言-> 3. 学习web基础(html,http,css,dom,javascript)或者 学习winform-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架自动化测试的最高境界是: 开发测试工具,设计自动化测试框架, 让别人用。自动化测试的本质自动化测试的本质是:用程序测试程序。 也就是说学习“编程语言”是学习自动化测试的基础。很多人问小坦克我学自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程语言,以后再去学自动化测试工具自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试水平的高低, 有了扎实的编程技术,干什么都可以。学习编程语言时, 要把自己当做开发人员, 系统地学习各种编程知识。自动化测试学习的误区很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。如果不先理解http协议, 就不会理解jemeter, loadrunner, fiddler, soapui这些工具的。如果不先理解html,dom, 就不会理解firebug 这种工具的如果不先理解win32 api, 就不会理解windows 窗体自动化测试的原理的。如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。总之学习自动化测试,需要循序渐进, 把基础打好。自动化测试的职位自动化测试工程师的职位叫做: (sdet) software development engineer in test. 专注于自动化测试手动测试工程师叫: (ste)software test enginer. 专注于手动测试在微软有很多sdet的职位,但是没有ste的职位, ste职位一般都是外包给外包公司的, 目前自动化测试还是非常吃香的。自动化测试分类自动化测试也有非常多的种类, 对web ui 的自动化测试程序对windows 窗体ui的自动化测试程序api测试, 比如(测试wcf service, web api 等)数据库测试, 比如测试存储过程接口测试 (这种只能用自动化测) 单元测试性能测试, 性能测试都需要用到自动化
文章TAG:
自动 自动化 自动化测试 测试 自动化测试怎么做