写给想做自动化的我和我们

写在前面

进入测试行业多年,一直都是在做手工测试或者半自动测试。也接触了很多同行,都很迫切的希望能做自动化测试,其中不乏工作5年以上的人群。 我也做测试多年,因没有编程能力,没有拿得出手的测试高技能,经常为换工作苦苦挣扎,切身体会到没有自动化技能的痛楚。在此,借鉴下前辈们大牛们的经验,总结些个人体验和所得。

想做自动化,首先得了解自动化测试一些常见的问题

1、什么叫自动化?

自动化测试,就是把以人为驱动的测试行为转化为机器执行的一种过程。即模拟手工测试步骤通过执行程序语言编制的测试脚本自动地测试软件。一般所有测试阶段都适用,多平台多语言都适用。

2、为什么要进行自动化测试?

随着国家计算机信息化的发展,软件都是需要快速迭代,像一些重复性的工作可以通过自动化来完成,从而提高工作的效率和准确性,达到快速迭代的目的。更实际的说:

a. 自动化测试节约成本(根据项目)

毕竟自动化测试确实解放了一批人力(人力成本才是IT公司最大的成本),可以让机器没日没夜的执行一些重复劳动。

b. 有些测试项目手工很难实现 (手工成本较高)

比如12306的压力测试、负载测试,同时找那么多人去测试不现实可以通过机器去模拟。

c. 项目质量流程需要

比如版本管理需要build verify,以保证check in的code不会影响版本库。

3、自动化测试的优缺点

A、优点

避免测试人员因重复劳动产生厌倦
提高测试效率
保证每次测试地一致性和可重复性
更好的利用无人值守时间
进行一些手工无法进行的测试
维护成本相对比较高

B、缺点

系统开发时间不一定能缩短
没有手工测试发现缺陷多
UI layout issue 不容易发现

4、什么样的项目适合做自动化测试(Dev手一抖,Auto忙一宿)

有以下几个特点的项目比较适合自动化测试:

  1. 软件需求变动不频繁
  2. 项目周期长
  3. 项目资源充裕
  4. 自动化测试脚本可重复利用

5、自动化测试的学习步骤

1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架

6、什么样的人适合做自动化测试?

a. 拥有代码能力
    掌握一门开发语言,java、Python、ruby、c#
b. 熟悉被测系统
    比如你是web测试,你就得懂js、css、html、xpath
    你是移动端测试,你就得具备Android 开发基础和iOS开发基础,会Debug app
    你是 C/S测试你就要很熟悉TCP、IP协议
c. 掌握一套自动化测试框架(工具)
    比如 selenium/appium
    nunit/testng
    robot framework/cucumber
d. 善于学习,达到知其然知其所以然

曾经QTP很火,曾经Selenium也很火,现在Appium也很火。

IT行业变化太快,软件行业从桌面软件到web端,又从web端迁移到移动端,谁也没法预测将来有什么新技术出现。而我们作为软件行业的从业者,最为核心的能力就是学习能力。

7、选择什么工具进行自动化测试

  首先要先确认你所测试的产品是桌面程序(C/S)还是Web应用(B/S)。

  桌面程序的工具有:QTP、AutoRunner

  Web应用的工具有:QTP、AutoRunner、Robot Framework、Watir、Selenium

  由于B/S架构的诸多优势,早几年前大量C/S架构的应用转为B/S结构。从而也推动了web开发与测试技术的发展。假如,被测试有产品是C/S架构的,那么推荐QTP ,QTP在UI自动化测试领域占到了一半的试用率。所以,足以说明QTP在自动化领域强大,易用性等。学习主流的工具也可以使你获得更多的机会。市面上关于QTP的书籍也非常丰富。当然,要想学好QTP ,你必须要掌握VBS脚本语言。

  如果,被测产品是B/S 结构,那么推荐Selenium ,为什么不是QTP 或其它工具?因为Selenium 对B/S应用支持很好,更重要的一点,它支持多语言的开发,真正的试用Selenium ,你所要掌握的不仅仅是一个工具而已,你还需要学习一门语言。我为什么要选择Selenium?还要学一门语言,这无疑增加了我的学习成本。增加成本的同时,也增加的你的竞争力,而且,在这个过程中你不单单只是学会了一个自动化工具而已,你完全可以使用所学的语言去做更多的事情。

  好吧!假如你决定试用Selenium 了之后,你又面临了一个新的问题,选择一门语言。selenium 是支持java、python、ruby、php、C#、JavaScript 。

  从语言易学性来讲,首选 ruby ,python

  从语言应用广度来讲,首选 java、C#、php、

  从语言相关测试技术成度(及 资料)来讲:ruby ,python ,java

  或者你可以考虑整个技术团队主流用什么语言,然后选择相应的语言。

原文地址:https://www.cnblogs.com/show2008/p/10985833.html

时间: 2024-07-29 12:58:27

写给想做自动化的我和我们的相关文章

[软件人生]写给想做研究的朋友和还没毕业的学生的几句话

非常久没有给初入行和刚毕业的学生以及没毕业的学生写过什么了. 记得上次写东西,是由于新手的问题http://blog.csdn.net/qingrun/article/details/1458530.算来,已经八年多了.去年在csdn高校俱乐部给几个北京的大学的孩子们讲了点东西.今天,我想谈谈人生和社会的初步规律.以下是一段对话文字,当中关联到近期几个月非常火热的那位厦门大学女博士,以及她抄袭我博文一事,也谈到了正直与虚伪: 顺天 10:08:38 群主大大,谢灵看起来非常正直啊顺天 10:08

写给想要做自动化测试的人

接触了不少同行,由于他们之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的人. 想做自动化,首先得了解一下自动化测试的一些常见问题: 自动化测试一些问题 什么是自动化测试? 自动化测试,顾名思义,自动完成测试工作.通过一些自动化测试工具或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试.自动化测试,看上去很美,感觉好像是第一次工业革命,它开创了以机器代替手工劳动的时代,实则不然.因为每一个自动化测试的case都是从手工测试

想做web前端project师应该学习些什么?

偶然间看到这篇文章.感觉博主写的挺不错的,假设你想做web前端project师的话,建议您阅读下面这篇文章,事实上web前端project师所做的工作事实上就是站点设计,有些小公司的美工事实上就是做web前端的. 这篇文章对于想学web前端工作的人有非常大的帮助.假设您是做SEO的.也建议您学习下博主推荐的这些课程,也许对你以后的职业.薪资都有非常大的帮助! 遇到非常多新手.都会问,假设要学习web前端开发,须要学习什么?难不难?多久能入门? 怎么能高速建一个站点?工资能拿到多少?还有些让我推荐

我是个好人,我不想做好人

/*原本标题为<近况>,今天白天的心情不太好,有些烦,还是不写出来了.以下所写间接表达我今天的心情,所想所写,所想换种写法.*/ 每天鸡皮事情太多(我本子上列出正在解决近期解决的事情就有30多个),很烦:没有时间学习,严重影响学习进度.学习热情,不高兴:没有女朋友,有缘无份,尊重你. 一.学习 国庆期间学习到第七章数组,这三天都是忙于工作,无暇顾及.//这样是不好的 二.生活 在没有必要(社交除外)的情况下我不抽烟,作息要有规律.科学,身体锻炼要去坚持. 三.工作 做事,多学多做,不懂就问:做

写给立志做码农的大学生(蘑菇街你都挂了,你还要面腾讯? 我去,我一定要去)

先简单介绍一下我自己,我是一所普通大学的本科生,大学录取时的专业是非计算机系的,在大一下学期意识到自己喜欢敲代码以后,就提交了转专业申请.大二起开始在计算机系学习.大三时(2015年4月)拿到了腾讯暑期实习的offer,暑期实习的过程中获得留用offer,大四没跑秋招,几乎就在学校浪荡了一年. 我不是大牛,不是来传播鸡汤或成功学的,只是最近有感于学弟学妹们在学习以及规划方面严重不足,觉得这是一个共性问题,遂捉起纸笔,写点东西. 1. 确定方向 1.1 选择比努力更重要 关于方向的选择其实越早确定

写给立志做码农的大学生

先简单介绍一下我自己,我是一所普通大学的本科生,大学录取时的专业是非计算机系的,在大一下学期意识到自己喜欢敲代码以后,就提交了转专业申请.大二起开始在计算机系学习.大三时(2015年4月)拿到了腾讯暑期实习的offer,暑期实习的过程中获得留用offer,大四没跑秋招,几乎就在学校浪荡了一年. 我不是大牛,不是来传播鸡汤或成功学的,只是最近有感于学弟学妹们在学习以及规划方面严重不足,觉得这是一个共性问题,遂捉起纸笔,写点东西. 1. 确定方向 1.1 选择比努力更重要 关于方向的选择其实越早确定

做自己想做的工作,你也可以

注:这篇文章根据我2015年12月12日在中国黑客联盟和12月17日在CSDN的公开课"做自己想做的工作"整理而来,整理时做了不少调整,与讲课内容大有出入,甚至可以当做一篇新文章来看. 我们大多数人都面临一个严肃的事实:在离开学校后,我们必须在长达40到50年的时间里努力地工作.假如在这么漫长的岁月里,在我们最有精力最有活力的这段人生里,一直做着自己不喜欢的工作(这并不罕见),那就是浪费时间.浪费生命.所以,找到一份适合自己的工作非常重要,只有在做自己想做的工作时,才能获得职业满足,才

作为程序员我是怎么想做一个网站的?

原文地址:http://www.cnblogs.com/phphuaibei/p/3364469.html 本身作为一个网站开发者,做网站本来是件很容易的事情,但是真正到了给自己做一个网站的时候,却不知道该如何下手了! 事件描述: 本来想做一个简单的活动日历,可以在月历视图里面查看每周活动,就怎么简单!-----一个网页的需求 突然我想到,每周的活动详情还是要一个页面,还需要对应的后天发布,管理--------一个CMS的需求 如果有活动,那么他们可能要跟帖讨论问题,还有她们也可以发活动的---

为什么想做测试,我的测试开端

这个问题曾经纠结了我很久,开发还是测试?最终出于自己内心的渴望与求知决定我要从事软测这个行业. 从本科我就开始接触主流的编程语言,也一直以为自己以后会从事软件设计这份工作,直到大三找实习的时候接触到软测,加上身边很多人都说女孩子适合做软测,不累,当初就抱着这么单纯的想法,懵懵懂懂的就想往测试这个方向走了,算是在心里种下了一颗种子.当时也是为了增加项目经历和拥有开发经验(当时觉得有开发经历能找到好工作)就选择了现在所在的实验室,进入实验室后才发现这个环境和我所想的不一样,不到半年,我就对自己的前途