职业 求 QA Engineer 发展方向的意见

Miles · 2016年03月26日 · 最后由 766 回复于 2016年05月16日 · 2229 次阅读
本帖已被设为精华帖!

QA 一枚 有 2yrs 的工作经验, 业务测试什么的就不说了。

目前 engineer 方向会用 calabash ios/android + cucumber 测试 client; 用 ruby 写 RESTful api 为 client 端测试准备数据, and 用 minitest 写了一些简单的 www layer api test。

周末想学习些新东西或者 dig deeper 现在的知识, 目前有一些想法, 请大家随便聊聊意见~~ 或者指出些我不知道的您觉得有价值的东西~

  1. Improve calabash ios/android UI test:

    >>因为 calabash 写的 case 里有不少 wait /sleep 等待条件, 稳定性不强, 可以花时间提高稳定性。提高测试效率和测试覆盖率。
    但是这项任务比较繁琐,不是很有挑战性。。
    -

  2. Write more WWW api test case:

    >>考虑去实现一些分层测试, 目前 UI automation 覆盖率还可以, api 测试覆盖率比较低。
    缺点是 api 就算 fail 了 server 上也会报 Traceback,马上 dev 会进行 fix; 稍稍感觉不是很有价值。
    -

  3. Learn Python:

    >>我 python 功底较差, server code 使用 python 写的, 可以提高以后 debug 问题的能力。 可以写一些 python unit test 练手。
    -

  4. Learn Client code:

    >>学习 iOS/Android coding 知识, 提高 client narrow issue 的能力。
    缺点是 Java/ Objective-C/ Swift。。。 任重而道远 :(
    -

  5. Improve Ruby:

    >> 目前有一定 ruby coding 基础, 可以找一些其他有助于 test 的工具进行尝试。(或者有其他能练手的能提高 ruby coding 能力的也行)
    -

  6. Explore other automation tools:

    >>Google 的 Earlgrey 看起来还是挺诱人的, 省去了 calabash 很多不必要的 sleep/wait。还有 appium,python 的一些测试框架等等。
    -

  7. Improve skills for Github/Tmux/Vim/Shell, etc...

    >>很多工作中用到的工具还不是很熟练 o_O
    -

  8. Learn continuous integration knowledge(Jenkins)

    >>似乎可以实现 build 以后 run 一些 automation case, unit test 等等, 只是稍微有一点了解。
    -

目前暂时有这些想法, 其他的暂时也消化不了 ;)请畅所欲言

共收到 8 条回复 时间 点赞

QA QC 的区别。。

#1 楼 @snowmaster 啥区别。。 反正叫啥名字也差不多吧。。QC 干啥的

我也刚好两年多,和你类似,只是我主力语言是 python ,主要用的自动化框架是 appium 。

分享一下我自己的经历和计划吧:

关于编程语言:虽然 java,python,javascript,object-c 都会一些,但主力语言还是 python ,其它语言主要是工作需要所以才用的,目前用得并不深。后续想把精力集中在 iOS 这个大方向,所以主要在了解 Object-C 和 宏 。

关于 UI 自动化框架:因为之前项目选定用 appium ,当时由于某个契机我也就对 appium 深入学习了一番(阅读源码),因此项目中遇到问题后能比较快速地定位问题原因和找到解决方案。目前由于项目需要开始上手 KIF ,还没到深入学习的程度(对 OC 和 苹果各种 framework 了解还不足),所以同时也在学习 iOS 开发。

关于工作中用不到的一些工具:你提到的工具除了 Tmux 其他我都有用过,说不上深入,但基本能满足日常使用。另外,如果你用 linux/mac/cygwin 的话,这些你在工作中都能用上。顺便在这里补充一个工具:Git ,我觉得这是一个用好后效率提升很高的工具。

关于移动端开发相关技术:Android 和 iOS 开发都学过皮毛,看懂开发代码基本还是 ok 的。目前在断断续续地学习 iOS 开发中。

CI 工具:项目中使用 Jenkins 做自动构建,大部分工作都是用 shell 或者 python 来做,其他插件了解不多。只知道 Jenkins 的 shell 坑略多。另外,正在学习怎么用 travis ci 。

接口测试:这个单独拿出来讲是因为我在这个方面入门时走得方向不那么正,踩过不少坑,所以这个一直是我心里的一道坎。如你所言,接口的问题可以得到快速修复,但同时它的影响面也很广,一次修改很可能覆盖很多个移动端版本,而且很多时候需要通过接口数据定位问题是处在服务端还是客户端,所以配套的东西其实不少(如 mock ,如果是自定义协议最好还要搞个合适的抓包工具)。目前也还在探索中。

#3 楼 @chenhengjie123 谢谢回复
我也想着先从 python 语言开始学习, 除了写 test 还能帮着看一些 server 的问题,写一些有用的 tool 之类的,比较有用~

appium 和 calabash 我看了一下也差距不大, calabash+Cucumber 的 behaviour driven test 还是不错的, 可以用自然语言写 case, 以后维护起来也比较方便~

Git 确实很好用, 但是因为平时不涉及 code 的开发, 只是用了一些简单的 git 命令来 version control automation code, 确实也需要多学习~

Ci 和移动端开发准备暂时留到以后再看, 慢慢来吧。

说到接口测试, 确实我也有些纠结。 不知道是写 unit test 那种方式好, 还是用接口测一些 scenario 好。 不过写好一套 api test 还是挺有实用价值的~ mock 我没大用过,测 client 都是用真的 reponse 的 data 来测, 反正 sandbox 随便玩也不要紧~
抓包工具 charles 就挺好用的, android 端的话用 google 的 inspect 就行。一起慢慢探索吧

#2 楼 @stephen753 QA 和 Tester 都是不同的。。。这方面要分清楚的

#5 楼 @monkey 嗯 创业小公司嘛 能做多少就做多少~ 一共也没多少 qa

@chenhengjie123 的回答也不错, 把帖子加精了. 供新人参考

#3 楼 @chenhengjie123 两年经验就已经会这么多了,三年测试经验的我奋力直追中

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册