01-python自动化测试学习路线
一、应用场景二 , 涉及自动化测试的相关事宜 , 其一 , 什么是自动化测试?
首先理清自动化测试的概念,
1、从广义方面来讲, 自动化涵盖了所有借助工具(也就是程序)的形式, 去替代或者辅助手工测试的行为, 这些行为均可被视作自动化, 其中涵盖了性能测试工具, 或者自己所编写的一段程序, 该程序用于生成从1到100的测试数据。
故而实际上, 从广义的层面来讲, 像性能测试, 还有接口测试等, 只要是用到测试工具的测试, 统统都被称作是“自动化测试”。
2、从狭义方面来讲, 借助工具以记录或者编写脚本的形式, 去模拟手工测试的进程, 经由回放或者运行脚本, 来执行测试用例, 进而替代人工对系统的功能予以验证。
当然, 在行业里常常被提到的“自动化测试”以及企业所要求的“自动化测试”, 大多情况下都是那种“建立在产品或者项目UI层面上的自动化测试”之一。说到性能测试以及接口测试, 则一般不会把它们归纳为自动化测试囊括的范围, 会区别开来。
2. 为什么要做自动化测试?
依据《中国软件测试从业人员调查报告》, 手工测试占比达89%, 相较于开发而言, 测试入门难度较低, 薪资总体偏低, 所需求的知识层面虽具备一定广度, 然而欠缺深度, 这便是测试的普遍情形。
因手功测试人所需门槛较低, 大量毕业生乃至非专业人员涌入该行业, 进而使此行业竞争加剧, 那些工作数年仍从事手工测试的人员会有较强危机感, 因工作技术含量低, 薪资涨幅受限, 且受新进入者威胁, 若公司花5K就能招来做同样工作的人, 便不会花8K招人。
这个问题, 本不该出现在讨论技术的话题里头, 然而, 它确实是大多测试人员必须得面对的一个问题。所以, 就测试人员自身的发展而言, 实际上, 我极其需要借助自动化技术来增添自身具备的竞争力。
自动化测试中, 最实在的优势是工作上好找, 情况是这样的: 有一个测试工程师(并非本人), 发现了一个有趣现象, 她申请过的几乎所有测试职位, 在招聘时都要求有自动化测试经验。然而, 开工之后, 她发觉这些公司都尝试做自动化测试, 可结果大多不尽如人意。虽说她参与的都是些悲剧一般的项目, 不过她总能将这些悲剧包装成喜剧, 用来应对下一次面试。
3、那么, 既然自动化测试存在着诸多优势, 为何会有如此多的项目遭遇失败的情况? 所以?
我个人有个推论:
1、公司自动化测试人员能力不够
2、项目的难度实在是太大了, 其功能处于不稳的状态, 需求的变化速度过快, 在此情形之下一味盲目开启自动化, 结果造成自动化脚本开发出现频繁变动, 无法跟得上需求变化给出速度, 最终是以失败而完结局的。
3、这个项目复杂程度过高, 致使大部分功能没办法达成自动化, 仅仅是一小部分功能得以实现自动化, 然而这对项目而言意义并不显著。
4、公司之中, 人员存在着较大的流动情况, 这使得自动化脚本维护的难度有所增加, 最终致使其走向夭折这一结果。
当自动化测试存在优势时, 其优势在于, 自动化测试能够把产品的相关知识, 固化于脚本内, 以此来减轻测试人员流动给项目带来的影响。然而此优势存在一个前提条件, 即这些脚本得易于维护, 要让此种情况得以实现则需要一些必备的文档 , 这便已经是另外一个议题范畴了。
4、什么项目适合做自动化测试?
假定你已然确定要开展自动化测试的学习了, 那如何去学习便成接下来要直面的问题, 此问题从被测试产品着手予以剖析, 倘若你所掌握的技术没法得以应用(验证), 就会致使你的学习进程举步维艰。
首先思索考量产品是不是适宜用来做自动化测试, 针对此方法, 比较广泛被认同的看法是从三个层面着手予以权衡。
1、软件需求变动不频繁
决定自动化测试维护成本的是测试脚本的稳定性, 要是软件需求变动太过频繁, 测试人员就得依据变动的需求更新测试用例以及相关测试脚本, 而脚本维护本来就是代码开发方面的过程, 离不开修改、调试, 必要时还得修改自动化测试框架, 倘若所花成本不少于借其节省的测试成本, 自动化测试就是失败的。
在项目里, 有的某个模块相对来讲是比较稳定的, 然而, 有一些模块对于需求而言变动性可是非常大的。这样一来, 我们能够针对相对稳定的那些模块开展自动化测试, 但是, 变动比较大的那些模块仍旧是采用手工测试。
2、项目周期较长
自动化测试需求的确定, 此事需要相当长的时间去完成。自动化测试框架的设计, 这同样得耗费相当长的时间才可达成。测试脚本的编写与调试, 也都要花费相当长的时间来做完。如此这般的整个过程, 本身就是一个测试软件的开发进程, 是需要较长时间能完成的。要是项目的周期相对比较短, 没有充足的时间去支撑这样一个进程, 那么自动化测试就会沦为笑谈。
3、自动化测试脚本可重复使用
关于自动化测试脚本的再度运用, 得从三个层面去思索, 其一, 所测试的各个项目之间, 存在着显著的不同之处吗(就如同C/S系统与B/S系统的差别那般);其二, 所挑选的测试工具, 是否能够契合这种不同;最后, 测试人员有没有本事去搭建出适配这种不同的自动化测试架构。
嗯, 可以了!在将上面那些陈述之事清晰地讲明白之后, 此刻我们能够开始着手学习那基于自动化的测试了, 三、主流的自动化测试框架。
桌面程序的工具有:QTP、
web应用的工具有:QTP、、Robot 、watir、
手机App自动化测试:后续再分享
因B/S架构存在的诸多优势, 在早几年之前, 数量众多的C/S架构的应用朝着B/S结构去转变, 这样也就推动了web开发以及测试技术的发展, 这同样致使QTP框架走向落寞, 框架还有Robot框架大量兴起。
目前市面主流自动化测试框架:
那你说我们学什么???
假设你依从自然选择主流框架, 在决定已然投身其后之际, 就又遭遇一项崭新鲜活的棘手难题, 也就是去抉择一门语言, 其涵盖诸如支持java、ruby、php、C#等等。
要么你能够思索整个技术团队主流所运用的是何种语言, 随后挑选与之对应的语言。
处于此地, 我们进行自然范畴的挑选。当前市面上热度最高、运用范围宽广、技术成熟程度较大的讲解三、自动化测试学习路线于栏目一中已有说明的应用王国, 其用途极为广泛。那么, 我们开展自动化测试具体所要学习的那些内容 【附图】 如下:
学习路线.png
