浅谈自动化测试

上一篇 / 下一篇  2015-07-17 16:51:48 / 个人分类:杂谈

\6T X5fQ0慢慢摸索自动化测试有好几个月了,看了几个学习视频,简单的阐述一下自己的观念。51Testing软件测试网2m/~2u6}+q!q'Tr!n

51Testing软件测试网 J6Wp~(VG:cV

1.测试的基础51Testing软件测试网3spy-J5m+z%S\

^-Phk b"}co|0测试的金字塔理论大家都非常的清楚,底层是unittest(单元测试),中层是集层测试,最高层是ui的测试。51Testing软件测试网aGTY:m AMf)B

51Testing软件测试网uWW HTfU

金字塔的难度设置:底层最低  ui级别最高

$OS\ X{mo051Testing软件测试网8b R7BAyQ m`!~

单测:一般单测由开发人员制定,我们从旁给出设计测试用例的意见。原因:没有人比开发更懂自己的代码。单测思想很简单,但是很重要,是金字塔的最底层,底层稳固了金字塔才可以建高。51Testing软件测试网A'}Xo!qS%o8R

?TV8MO0n0ui测试:难度高是因为ui的测试都是黑盒的测试,通过自己的测试用例想去踩中出问题的方法是非常的困难的。只能通过基于ui的表现去定位大概的问题,有可能执行千万条数用例,也找不出bug。

*ON e$o Y0d7a9BN0

yYIi6d E0金字塔的理论很简单,底层的东西是最重要的,一个工程的核心是代码,代码是开发输出的,所以一个项目的质量大部分是取决于开发。qa只是负责辅助开发,当项目的质量有所偏离,尽量的提高产品的质量。

{ ~.J#jrC9l051Testing软件测试网K_'SUQE

上面是基于理想的公司情况,一般的公司的程序都是倒着来的。嘻嘻,幸运一些的可以遇见。ps:我们公司都是大牛们,当然ok,大牛们果断的支持我们QA的工作 让我们的项目更加的健壮 嘻嘻。51Testing软件测试网9D `"l6veO#do"Yu

51Testing软件测试网z']+v#v:~O

2.自动化的使用场景

(N)Ly Wp8uo051Testing软件测试网[,bI_f!k j

自动化测试的使用场景(站在用户的角度上去验收项目,路径主要覆盖大部分用户经常使用的功能)洋文的方法就叫:UAT (user acceptance test)用户验收测试

.w'Mz `C&@:HYYE051Testing软件测试网 NE x3J@_ kW

那么问题来了,那么自动化究竟要做什么呢?51Testing软件测试网9`/p x]'Cag:|

:Ad `s'U0快速的回归重要的主干功能(优点 节省人力和时间)但是,这样看构建自动化的框架和角度,有些自动化就事与愿纬。

E:aZ&ytL\G051Testing软件测试网7}6MK}a4TJ*QM6B

3.自动化开始前的准备51Testing软件测试网 d*bH"xu-[(A[2O

51Testing软件测试网*YH"I!v3PY7Yn6b|

摸索的过程是痛苦的,从ide-selenium1-selenium2 monkey monkeyrunnner robotium当初整的头的晕了  。不过现在回头看一下也是一种知识的积累,虽然深度不深,但是好歹也拓宽了一定的广度。既然说到这里就简单的介绍一下这几个工具。51Testing软件测试网5DnK A_m.PlDt6n

7RAwE `*Db/O0ide 是firefox自带的一个录制工具,我感觉功能还是挺强大的。但是还是喜欢手工写,可以用来辅助,用处不大。

(o"s;W+^3J0

"mxz-u6U HW8E0selenium1 已过时

? V6jv"[&X7i$}0

m&E&Dv"e5z0selenium2 =selenium1+webDriver  可以驱动firefox chrome ie 三个浏览器。更加的本地化操作,可以根据许多本地的函数库执行更多的操作,可以避免许多ie的坑。现在主流的web ui 自动化的工具,据说还可以测手机 万能的东西。

Q}qFXp4`1dHz051Testing软件测试网&L-B z6rMo R

准备构建自动化之前一定要明白已下几点:51Testing软件测试网.o/Q _/U?

51Testing软件测试网;`+_/Z Wq

1.自动化的构建不是越复杂越好,而是越简单越好51Testing软件测试网R.l,`2em8W#a

51Testing软件测试网7E&Q7\LZz T ?p r

2.自动化的case不是越多越好,而是越贴近用户的使用习惯越好

S6tV&Bha \'X ]051Testing软件测试网\.~)fl/ZA/Z0z

3.自动化测试不是为了单个的测试偷懒,而是为了整个团队,自动化的测试可以支持高速的迭代,在迭代的过程中给予开发极大的支持。(当然自己也可以偷懒)51Testing软件测试网4Q}%D;C M@ q:a

51Testing软件测试网.V5I"]%L;k[wx

4.自动化的构建一定要主要代码的耦合性,如果重用的代码一定要抽出来单独成一个方法。如果id或者一个其它的方法因为需求的变更改变了,就不需要改千万个id喽。切记哦,不这样做,自动化比手工更累。51Testing软件测试网"s0Q$| _l

51Testing软件测试网U~-PyNg8s"}

5.自动化的构建一定要可以持续的集成,如果不可以持续的集成,那就扯淡了,更不上迭代的步伐。持续集成的环境后续会继续的跟进

%rlw(r:kz8l\e4bG [@0

Up$D%{$nX*p06.设置好断言和数据的驱动,没有断言就没有意义,没有数据驱动一些笛卡尔集的东西就没法测试了。

2A Ra3q3[ob'B|s051Testing软件测试网,q9G%A&XDT#}Q m&F Cgl

**最重要的一点技术的才是第一生产力,也就是码代码的能力。这点一定要提高,因为程序的基础是语言。51Testing软件测试网$K_5Wu(Sol)][A Ng

9LS(~Lg"r%J9p051Testing软件测试网0sm$D#W'}C
51Testing软件测试网#gS)K2B-v.h{;bd

%}7{L2|*IKR&`3~ d0ps:不是靠自动化来进行测试,而是靠自动化去推动整个项目迭代的速度,确保在迭代的过程中能够快速的回归。(如果版本的ui 和 数据变动挺大 人力不够 ,那就大发了,哈哈。还是手工的点点点)51Testing软件测试网]dZk,In Z n

#HA5dY;bf0简单的开始,在这些基础上就可以开始学习这么去做了,是不是有一点清楚了?嘻嘻

MnKq3d1L2Y051Testing软件测试网&Zgr&Z~vO

monkey 51Testing软件测试网e en7^$ic1kr ^ s

51Testing软件测试网{df nO4Hl

装adb就可以了,adb devices 接入手机,找到package,就可以执行monkey的命令了。monkey产生的是随机流,随机流也可以控制输出的比例和次数,主要是学学会分析crash的log。(ps:后续自己还在跟进)

&jq,KV0fk4o6o+k0

@z*p U)F%i0monkeyrunner 只能针对一款相同的手机搞自动化 呢吗 屏幕会变51Testing软件测试网-dLz&~/^(I

9Hj)|Eq+`/T0robotium 手机自动化 目前只写过m站的自动化,写的思路和selenium一样,基于solo类和by类。页面元素比web的好找,直接chrome xpath 一找一个准。51Testing软件测试网9o k#_H8?&Nl

51Testing软件测试网H0@"iS2[5w

简单的写了一点自己的听到和学到的东西,可以开始学习了。嘻嘻,买书买资料,自个儿投资去吧!

h$a jIGo0

TAG:

引用 删除 luxiaojing   /   2018-08-02 11:28:54
有视频链接吗?
zxy1989的个人空间 引用 删除 zxy1989   /   2018-05-30 21:33:35
引用 删除 521sun   /   2015-07-31 16:40:17
5
 

评分:0

我来说两句

Open Toolbar