上来回答一下:
这件事情我感觉要从两个方面来考虑
从你的项目来看
这个项目的自动化测试研究既然开发已经在做了,那我觉得你也不用担心项目紧迫不紧迫的问题,毕竟,如果按照你描述的那样,没有一点自动化测试经验和编码基础,想要在短期内攻破这个自动化测试有点不大现实。
从你个人角度而言
如果是从来没有接触过自动化测试研究并且没有一点编码基础(如果真是你描述的那样),个人不建议直接就上手 selenium 或者 Appium,原因很简单:做技术的切忌急功近利,踏踏实实先快速找准一门编程语言进行入门是关键,既然你选择了移动端的自动化测试,那我个人建议,你可以从 JavaScript,Python,Java 这三个语言中进行选择。
Web 自动化有一些东西跟移动端的自动化是相通的。所以我个人建议你可以到 W3School 之类的网站逛一圈,常规的自动化测试中最常见的技术就是元素定位技术,如果没有一点 class , id , name , xpath 的概念,那么做好移动端的自动化测试也是不大可能的,注意,我是说真的要把这个事情做好的话。
3.有了这些基础知识之后,你可以先尝试一把 Selenium,Selenium 使用起来还算比较容易,可以尝试着先做一些简单的 web 自动化,比如自动填写一个表单,然后验证跳转页面诸如此类的例子
4.当你的 selenium 玩到一定熟练程度之后,恭喜你,你可以下载 Appium 体验移动端自动化的乐趣了,你会发现,你之前在 selenium 上锻炼到的技巧同样适用于 Appium,这是相当令人欣慰的事情,至于为什么,我就不用多说了,这也是很多人爱 appium 的理由。
5.移动端的自动化跟 web 自动化自然存在一些明显的区别,所以你还要了解一些(仅仅是了解应该就可以了)APP 开发中的常见概念,比如什么叫 Activity 等?
最后,让我们一同铭记:度娘和谷哥永远是我们最好的老师。
PS:不要忘记将折腾过程中遇到的问题拿到 TesterHome 上来,这里有好多热心的测试人。
抽空的简短回答,自知对你帮助甚微,希望楼主能够成功!
我们为什么需要自动化测试,看下这个吧,写的很明白了。
首先开始学习自动化你首先需要了解一门开发语言,最好看你们公司以那个语言为主就学习那个,这样到时候有问题可以请教开发人员。
其次学习 android 和 IOS 的开发知识.
然后再去了解自动化的开源工具,再而运用到项目中
在项目的实践中不断的丰富自己的自动化框架知识吧
自动化的特点就是把手工跑的case写成代码(脚本)让机器去 代替人工 跑。
那么先得有case;然后是评审哪些case适合让机器去跑、哪些写成脚本的难度(时间金钱成本)不大或在接受范围内、哪些功能的case短期内不发生大改动,挑出那些适合自动化的case;然后才是写代码(脚本);然后是调试代码(脚本);然后才是正式投入使用。
写代码(脚本),肯定得会一门开发语言。(个人建议,测android应用嘛,还是java的好;python可作为第二选择~)
单元测试(我最近才开始学junit,不会so不敢乱说),接口测试(论坛内有些文写的非常的赞)。
UI嘛,可以看一些框架里给出的方法,使用它们模拟真人的一些简单的操作(我个人最初的学习路线是,先学的调用框架给出的方法模拟真人点击具体坐标,然后是模拟真人拖拽页面,然后是根据页面元素id或name去点击或拖拽、输入字符串,再就是用框架给的方法截图),这基本就是UI的自动化了。
加个头像呗筒子~
我话比较省,可能有坑,仅供参考哈~
学习 java selenium android 开发 appium
买几本书看看
语言跟研发的一致即可.
首先,开发组的在做自动化研究,你也想做自动化这块研究,先要了解开发做的是什么层面的自动化,是接口层的,还是单元测试,还是基于 UI 的?他们现在正研究的,应该是能体现你们项目的需求和你们领导的需求。这样可以找到着手点。
然后,你就针对性的开始学习相关知识,多和做这块的人交流,逐渐帮着做些事情,就可以开始你的自动化测试生涯了。
当然,所有一切的前提是 持之以恒 的学习,并舍得花费时间和精力。因为刚开始你还要做好本职的黑盒测试工作,祝你成功。
还真有点测试界的知乎的味道啊。
还是会点开发基础会更好上手。
比如可以通过学习 android 开发基础掌握 java、android 应用和开发的原理,即复习了一门编程语言,又稍微比较深入得了解了 APP 应用本身开发的结构等等。在这种情况下,展开自动化工作那是事半功倍吧。我认为。
个人觉得黑盒测试也非常重要。
除了自学编程外, 你也可以考虑跟研发做好配合, 自动化测试的理念可以灌输给他们, 让他们自己也来写自动化测试.这样可以过渡下. 自己仍然专注于测试设计.
我们都走入了一个误区,都认为自动化必须首先要会编码、这个问题我个人觉得是错误的!自动化测试不仅仅是编码,这就跟软件开发的流程一样,编码只是整个流程中耗时最少,最简单的步骤,其他需求、设计,对整体的把握才是重要的。当然,不否认必须会编码,只是会相对权重较低