浅谈自动化测试

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

51Testing软件测试网q&_-qE+A K

慢慢摸索自动化测试有好几个月了,看了几个学习视频,简单的阐述一下自己的观念。51Testing软件测试网f#A/BKb4F

51Testing软件测试网4YZ&ro;P;J_#n[+U

1.测试的基础

?TT)U"]0

2PAI#{/\7v M|0测试的金字塔理论大家都非常的清楚,底层是unittest(单元测试),中层是集层测试,最高层是ui的测试。

OC(t0y ?!Fo'p051Testing软件测试网2B K?0Ku,d.o w

金字塔的难度设置:底层最低  ui级别最高51Testing软件测试网%bb-TL&T

51Testing软件测试网w {3J}/}L,S R

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

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

'B9m2EB:j*Z J1y0

^?CcR0金字塔的理论很简单,底层的东西是最重要的,一个工程的核心是代码,代码是开发输出的,所以一个项目的质量大部分是取决于开发。qa只是负责辅助开发,当项目的质量有所偏离,尽量的提高产品的质量。51Testing软件测试网?H8m1pJ,h+q$k'T

e E1s3dvs0上面是基于理想的公司情况,一般的公司的程序都是倒着来的。嘻嘻,幸运一些的可以遇见。ps:我们公司都是大牛们,当然ok,大牛们果断的支持我们QA的工作 让我们的项目更加的健壮 嘻嘻。51Testing软件测试网(Cedj.@(U;J,s

z GB!]x9c02.自动化的使用场景

*o NC!h(j"W0

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

K,Eo^ ]~,S$M0

p$l2AWH^8l"E0那么问题来了,那么自动化究竟要做什么呢?51Testing软件测试网;})m*cDUoQ

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

!{ds9F-Nk^0

p'xb2L^E03.自动化开始前的准备

1LK7nfDy?-x!}0

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

51Testing软件测试网 }:p'Mx:E

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

fs)`F8nh051Testing软件测试网`0oEd,oB.w u

selenium1 已过时

:e v y:X-[:]\ P051Testing软件测试网Qg~ztU

selenium2 =selenium1+webDriver  可以驱动firefox chrome ie 三个浏览器。更加的本地化操作,可以根据许多本地的函数库执行更多的操作,可以避免许多ie的坑。现在主流的web ui 自动化的工具,据说还可以测手机 万能的东西。51Testing软件测试网$Mz\?B"W'J

.[v7o)zas0准备构建自动化之前一定要明白已下几点:

;f]1??tCy]/u0

_i1MEH:x01.自动化的构建不是越复杂越好,而是越简单越好

"A&L~-r` A0

Zlad }'JHB K,A5q s02.自动化的case不是越多越好,而是越贴近用户的使用习惯越好

(z s+V ?:? Qr051Testing软件测试网8eY6w;_Gt

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

e5W3Q*LVvJ9H H04.自动化的构建一定要主要代码的耦合性,如果重用的代码一定要抽出来单独成一个方法。如果id或者一个其它的方法因为需求的变更改变了,就不需要改千万个id喽。切记哦,不这样做,自动化比手工更累。

)T5u5^FL0

fp4FaUh05.自动化的构建一定要可以持续的集成,如果不可以持续的集成,那就扯淡了,更不上迭代的步伐。持续集成的环境后续会继续的跟进51Testing软件测试网8G$Eq6K!_'v,qx

*W._ ld ?3X$EZ gE06.设置好断言和数据的驱动,没有断言就没有意义,没有数据驱动一些笛卡尔集的东西就没法测试了。

,Z1E};ez1s#}S)q2w1l0

?N$p D-v0**最重要的一点技术的才是第一生产力,也就是码代码的能力。这点一定要提高,因为程序的基础是语言。51Testing软件测试网"t9nzirHjs

X~0yCfL }0
#Y{b.A N?"r_0

n Xu[ {g0

(`-l6A3r)v2GS0ps:不是靠自动化来进行测试,而是靠自动化去推动整个项目迭代的速度,确保在迭代的过程中能够快速的回归。(如果版本的ui 和 数据变动挺大 人力不够 ,那就大发了,哈哈。还是手工的点点点)51Testing软件测试网J~M'Flo0] F6w4aU

Z Z j B'e])~ o&v?+R0简单的开始,在这些基础上就可以开始学习这么去做了,是不是有一点清楚了?嘻嘻51Testing软件测试网4OgO8cJ{

So2G F}AP q'Q(B0monkey 

I'C5v9B*xm0

Q'qi#ZQSL]g0装adb就可以了,adb devices 接入手机,找到package,就可以执行monkey的命令了。monkey产生的是随机流,随机流也可以控制输出的比例和次数,主要是学学会分析crash的log。(ps:后续自己还在跟进)51Testing软件测试网v1D sN1V PTU

mq~#V@7@0monkeyrunner 只能针对一款相同的手机搞自动化 呢吗 屏幕会变

H}[R?0

A b A6a#f|@%|0robotium 手机自动化 目前只写过m站的自动化,写的思路和selenium一样,基于solo类和by类。页面元素比web的好找,直接chrome xpath 一找一个准。

)J k\]4u051Testing软件测试网'\kOPZ

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

,~#[U&q fe,b%u0

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