发布新日志

  • 接口测试从零开始系列4_junit断言介绍3

    2011-12-12 19:12:51

    察看junit断言介绍2

     // 数字相关匹配符

        @Test

        public void testAssert_Data() throws Exception {

           double d = 3.02;

           // closeTo:浮点型变量的值在3.0¡À0.5范围内,

           assertThat(d, closeTo(3.0, 0.5)); //运行成功

           // greaterThan:变量的值大于指定值时,测试通过

           assertThat(d, greaterThan(3.0)); //运行成功

           // lessThan:变量的值小于指定值时,测试通过

           assertThat(d, lessThan(3.5)); //运行成功

           // greaterThanOrEuqalTo:变量的值大于等于指定值时,测试通过

           assertThat(d, greaterThanOrEqualTo(3.02)); //运行成功

           // lessThanOrEqualTo:变量的值小于等于指定值时,测试通过

           assertThat(d, lessThanOrEqualTo(3.0)); //运行成功

       }

     

        // 集合相关匹配符

        @Test

        public void testAssert_set() throws Exception {

           List<String> list = new ArrayList<String>();

           list.add("123456");

           // hasItemIterable变量中含有指定元素时,测试通过

           assertThat(list, hasItem("123456"));//运行成功

           Map map = new HashMap();

           map.put("id", "123456");

           map.put("name", "test");

           // hasEntryMap变量中含有指定键值对时,测试通过

           assertThat(map, hasEntry("id", "123456"));//运行成功

           // hasKeyMap变量中含有指定键时,测试通过

           assertThat(map, hasKey("id"));//运行成功

           // hasValueMap变量中含有指定值时,测试通过

           assertThat(map, hasValue("123456"));//运行成功

       }

     

        // 反射相关匹配符

        @Test

        public void testAdd_Assert_rel() throws Exception {

           PingJia pingjia1 = new PingJia();

    pingjia1.set

           PingJia pingjia2 = new PingJia();

           //断言两个对象所有属性值相等

           assertThat(pingjia1, propertiesEquals(pingjia2));

           //断言两个对象指定属性值相等

           assertThat(pingjia1, propertiesEquals(pingjia2, "pingJiaType",

                  "pingJiaDate"));

           //断言两个对象 除指定属性外其他属性值相等

           assertThat(pingjia1, excludedPropertiesEquals(pingjia2, "pingJiaType",

                  "pingJiaDate"));

       }

     

  • 《测试之美》有你,有我

    2010-09-24 16:46:36

        做测试也算是有些年头了,每每去书店,总喜欢到软件测试的书架上去翻阅翻阅,每每却有一点点失望,国内的软件测试书籍,要么是就是高校教科书一般的理论,讲讲软件测试的概念,讲讲白盒黑盒测试方法,这样的书,入门了,就觉得一点点的兴趣和作用都没有。而另外的一些书籍呢,整个的就是一些测试工具的介绍,里面套用了大量工具手册或者指南里面的东西,这样的书籍,对那些学习工具的测试人员来说,可能是有用的,但是,并不是每个人都想学习工具,也不是每个人都需要学习工具。

        翻看国外的软件测试书籍,无论是经典的《软件测试》,还是《软件测试的经验和教训》,总是给人以思考,给人以方法,是的,国内的软件测试才刚刚起步,我们只能是将别人的拿来先用,不断地模仿,总有一天,会创造出属于自己的。

        《测试之美》第一次是在书店中看到的,随便翻看了一下,让我一下子就有了购买的冲动,很久都没有在书架上看到介绍测试思想和测试经验的书了,而这一本书,恰恰就是,其实,可能准备进入测试这个行业的时候,你需要阅读测试理论的书籍,而刚入门做测试的时候,喜欢测试工具的书,觉得那样的书很有技术含量,但是,等你做了几年测试的时候,除了工作中需要某个测试技术,你需要学习而找相关的书籍,更多的是想了解别人是如何做好测试的,别人是如何在测试这个行业中工作的,别人如何处理在工作当中碰到的问题,而这样的需求就是测试思想,测试经验。

        于是,准备从网上购买《测试之美》这本书,却发现,51testing正在招募该书的试评员,很幸运自己能够成为少数几个被抽中的试评员之一,因为休假的原因,收到该书晚了几天,而抱歉的是,因为休假,有些工作没做,书评也晚了几天。

        《测试之美》总共三部分,23章,每一章都单独讲述,或者是自己做项目的过程,或者是自己工作的感悟,或者是自己对一些测试技术的总结,无论是那样的,总归都回归于测试的美,归纳了测试的思想之美,测试的流程之美,测试的技术之美,测试的团队之美,每篇的文字,或高深 ,或简单,或直白,或委婉,让你的思维不断的跳跃,可能会不太习惯,但是,如果将自己的经验与思考带入阅读,与作者展开思维的“对话”,就会有“原来你也在这里”的感悟。

        《测试之美》这本书是27位资深测试专家的结晶,无论如何,能够进入到专家们的领域,了解专家们的思想,思考专家们的见解,都会获益匪浅,也许我们会抱怨,这么多的专家,每个人研究和讲述的领域都不一样,我只能看得懂那么几个专家讲述的内容,也许我们会抱怨,人家都是国外的专家,一点都不符合我们国内的测试情况,读了也没有什么用,也许我们还会抱怨,这样的一本书,其实就是一个大杂烩,可是我要说的是,如果你想做好软件测试这份工作,无论你有怎么的排斥情绪,怎样的抱怨心情,这本书还是值得你一看,值得你收藏的,而收藏的原因,并不仅仅是这是一本国外顶尖测试精英的书,而更多的在于,这是一本讲解测试思想和经验的书,我总是认为,经验比技术重要,技术你可以研究,但是经验你只能去实践。这样的一本书,或许里面讲解的好多关于项目,关于过程,关于自动化的东西你现在用不到,但是,里面的思想,我想总有那么一些会引起你的共鸣,甚至于让你豁然开朗,里面的经验,我想,总有那么一些是你苦苦思索而不解的,是你望眼欲穿而想的得到的,就算是你现在真的一点点都用不到,有这样的一本书在,闲来无事的时候翻阅翻阅,也是一种惬意,因为它并不是讲枯燥的理论,讲单纯的工具。

          很多的测试同事们都觉得,测试的过程是枯燥的,测试的工作是枯燥的,而测试的前途是迷茫的,其实,无论做什么工作,做的久了,都是枯燥的,如果觉得工作是枯燥的,那么前途肯定也是迷茫的,在枯燥的工作中,如果有那么一种信仰,一种感悟,能够感受到工作的优雅和美丽,那么无论是谁,都很想得到,也许《测试之美》可以算这样的一种感悟吧。   

       

       

  • 《测试之美》试评员

    2010-09-08 17:04:32

        参加了51Testing《测试之美》试评员招募,很幸运的成为了试评员,今天收到邮寄的《测试之美》,非常感谢51tesing,非常感谢51testing的编辑MM.书的封面是,一只小虫子(bug)爬行,留下一串串的脚印,第一眼看去,封面设计的不是很好,但是看的多了,忽然发现,其实也很美的。

        还没有看过书,无法评价,待我仔细研读,哈哈!

  • 博客入围,收到礼品

    2008-09-19 17:41:37

        51testing组织的博客评选已经落下帷幕,自己的博客在最佳技术博客评选中,获得第四,我知道这个名次肯定是不正确的,因为有很多达人并没有参与评选,或者很多达人们并没有在51testing上建立博客,但是自己还是很开心,比较有了自己的一点点成就,而且也收到了51testing的奖品,一本《互联网单元测试》。

         最近上班很辛苦,一直在忙着写测试用例,而且家中才装的宽带,所以就没有多少时间写博客了,计划等这个项目做完了,把项目中自己写测试用例的一些心得和大家一起分享一下,共同探讨最有效的测试用例编写。

         今天是周末了,希望每个朋友们都周末快乐。马上是国庆了,有出游计划的驴友们的幸福时间就要来了哦。

  • 测试工程师的面试经历和感想

    2008-08-05 18:01:55

    前一个阶段,因为要换工作,所以面试了一些公司,想一想上次面试还是在一年之前的,一年的时间,整个测试行业有了很大的发展,不要说书店里面关于测试的书籍已经很多很多了,就是在网上的招聘信息,也是动辄就要1年经验,更普遍的事两年测试经验,还好自己有两年的测试经验,只要自己看到合适的,基本上都能接到面试电话,面试了,有感于面试的一些经历,或者说是自己的一些思考吧,就记录在博客中,当作一种记忆。

     

    在找工作之前,更新了一下自己的简历,自从上次找到工作后,简历已经一年没有更新了,于是乎自己还没有开始投简历的时候,就接到了华为在武汉的研发中心的电话,自己还纳闷,为什么华为会邀我去面试呢,因为华为主要是做通信的,而自己擅长的是WEB测试,就自己认为也不合适,但是本着学习面试面试经验,了解大公司面试流程的思想,我还是过去面试了,去那边面试,当然是先参加笔试了,网络上流传的华为的笔试题目很多,但是,我笔试的时候,网络上的题目一个都没有,笔试内容有选择题,有解答题,选择题基本上考察的都是网络相关的一些知识点,当然还有一些测试的概念性的东西,这个倒不难,自己认为答的也不错,简答题就不好是,是编程题,而且是C语言的,上学的时候是学习过C语言,呵呵,现在嘛,都忘的差不多了。笔试完,还是参加了面试,面试的时候,那个面试官还是很客气,问了一些自己做过的项目,要自己详细讲一下自己做的项目,我承认自己讲的不是很好,后来又问到了TCP/ip那一块是否熟悉,有没有相关的经验,自己当然没有了,很诚实的回答了,于是,面试当然就不通过了。

     

    通过华为的这次面试,我认为,就黑盒测试而言,当你在某个行业或者说是某个领有了一定的经验后,如果你要到另外一个你完全陌生的领域,就算是你测试的知识很扎实,要进入也是有一定的困难的,除非是对测试工具掌握的很熟练,很熟练。而且,你转入到陌生的行业,你还是一个新手,需要继续学习新的业务知识,地区,测试人员要有很强的学习能力,要不断的学习,但是,如果测试人员在本行业积累了一定的经验,如果不是很有吸引力,或者万不得已,还是不要转入陌生的行业,至少你可以把学习新业务的时间用来学习测试的工具。

     

    也是在投简历之前,接到了天喻软件的面试电话,在一年前面试过天喻软件,以失败告终,这一次,自己希望可以有所突破,于是稍作准备就过去面试,面试的时候,先也是问了一些项目的相关经验,还有介绍了自己,之后便是机试,在一个电脑上,用QTP实现他们软件的一个自动化测试,因为对他们软件流程的不熟悉,操作失败,自己觉得这样的机试不能体现出真实的情况,因为自动化测试是需要对被测软件很熟悉的情况下才可以的.因为这次的失败,还要用QTP执行另外一个软件的测试,但是那个软件安装十分麻烦,一直弄了2个多小时,到最后也没有安装成功,我不理解那个面试官为什么一定要花费大量的时间来做QTP机试,如果要招自动化测试工程师,就直接招聘自动化测试工程师,而我应聘的并非是自动化测试工程师的。

     

    在天喻的面试,当然也不成功的,面试并没有真正体现出自己擅长的方面,或许是因为自己在简历中有描述实现了公司测试项目的自动化测试,但是我同样也说了是用Jmeter实现的,其实机试在很多面试的时候都会碰到,机试主要体现在在简历中有对测试工具的使用,针对简历中的测试工具的掌握情况,会进行相应的考察,当然了,这主要是在招聘要求中有对测试工具掌握情况的要求,招聘的人员主要做自动化测试。所以说,在投递简历的时候,一定要主要企业在招聘信息中的职位描述,有时候能力要求的描述可能是了解某个工具,但是职位描述中可能会说主要进行自动化测试,这样,仅仅是了解某个工具就不行的,投简历,有时候是越多越好,但是更多的是应该有针对性,这样,面试的机会更多,而且在面试的时候因为切合自己技能,更获得一些知识或经验。

     

    自己真正投了简历面试的是软通动力,面试之前也是有笔试的,笔试是选择题,有四十个题目,包含了白盒测试,黑和测试,性能测试,自动化测试的知识点,但是基本上属于概念性的东西,如果对测试的理论掌握的扎实,回答起来不是很难,笔试完后是面试,面试也是一样的询问项目经验,询问工作经历,在这些过程后,谈到了薪水的问题,因为相差有点大,所以,最后还是没有能够成功。

     

        在软通动力的面试,一切都算顺利,之所以在这里写出来的原因是,在笔试的时候,发现了笔试题目中的一些错别字,本来想在面试的时候给面试官说,但是面试的时候,因为精神集中,结果给忘记了,等出来以后,想起了,打电话给面试官,把自己发现的错别字给他指出,并不是说,可能笔试题目中出现错别字是考察测试人员的细心程度,考察测试人员发现错误后,是否会汇报,就自己而言,发现笔试题目中有错误,总觉得不能忘记,总觉得心里不踏实,可能这是因为做测试的缘故,也算是测试的职业习惯,而且,在出来以后,打电话给面试官的时候,依然记得出现错别字的是那个题目,是哪个字,也许这就是做测试的能力,博闻强记。

     

    期间还接到了两个公司的笔试电话,因为工作没有去参加,真正离职以后,参加来明源软件的笔试,笔试后的第二天我就回老家了,在火车上的时候,接到了他们的面试电话,我就告诉了他们实际情况,计划等我从老家回来再参加面试,但是,就在老家的时候,找到了现在这个工作,于是,就没有参加他们的面试。

     

          以上为自己在换这次工作面试的一些情况,在找工作的时候,一些经历或许会引起一些思考,或者会改变一些看法,不管怎么样,找工作的过程是一个学习的过程,也是一个值得记忆的过程,所以我把它写在博客上,和大家一起分享。

  • 测试的路该怎么走

    2007-12-16 22:47:51

    写这篇文章的目的,只是说说自己对测试的一些认识,可能认识是片面的,也是错误的,希望可以得到大侠们的指点。也说说自己的一些困惑,希望能够和朋友们一起探讨,努力学习测试的知识。

     

    做了一年多测试,因为在上学的时候没有开设过测试课程,做测试,所有的理论知识都是自己看书学习的,国内的那些测试书籍市面上见的都基本看过了,对测试的流程,测试的方法,测试的概念已经算是有了很深的了解,但是,总是觉得,自己的理论知识不够扎实,对测试的理解不是很透彻,在实际的工作过程中,总是会碰到自己在看书的过程中没有涉及到的一些东西,自己也知道,所有的理论知识都不能解决实际中的问题,理论只能为实际的工作提供一个指导。

    国内的测试是刚刚开始,这个从国内的测试书籍的多少以及内容就可以看出来,国内的测试书籍,系统性讲述测试理论的就那么一两本,而且,基本都是参考国外资料编写的,基本上来说,就是讲了测试的概念性的东西,而没有讲述具体如何去做测试的问题。

    做了一年多,渐渐的感觉,自己所了解的测试知识是越来越不够用,虽然我一直都在学习,一直都在寻找比较优秀的测试书籍,但是,就国内的资料来说,很少有讲的比较好的,能够提供一个完整的方法论的。

    于是,我想,软件测试在这两年算是比较热门的职业,但是,如果仅仅是目前的理论知识来支撑,那么是不可能成为一个测试资深的专业人员。那么,我们有必要去寻找一些国外的书籍,一些国外的关于测试理论的测试资料,这样就有一个问题,国外的测试资料,简单的,或者说是概念性的知识,基本上都已经被翻译或者在国内的测试资料中有翻译,而对于一些不太适合国内实际情况的,一些关于具体怎么在项目中使用测试理论的知识体系,很大部分并不是适合国内的实际,如果学习这些,并不能很好的筛选,增加了获取知识的困难度。

    那么,当测试人员到这个时候,就遇到了一个瓶颈,测试的路该怎么走,这个一个问题。

    做测试,很多情况下都会提出自动化测试,自动化测试是有很多的好处,这是无容质疑的,但是,自动化测试需要投入一定的成本,比如人力,工具,组织管理等等,并不是说,自动化测试就是使用破解的商业测试工具去录制脚本,修改脚本,回放脚本就可以实现,也不是说,只是会使用测试工具,就算是可以进行自动化的测试了。

    我使用过QTP,也使用过RFT,在我使用的过程中,我深切感觉到了,要做好自动化测试,使得自动化测试真正能够起到作用,并不是说会使用工具就可以的了,QT如果仅仅用来录制操作,然后回放,或者,用QTP的录制回放功能,可以做一些比较重复的工作,比如,可以造数据,但是,因为QTP太依赖于界面,如果要真正使得QTP使用于测试,那么,就必须要修改脚本,或者说,需要构建测试框架。而对于RFT来说,它的脚本语言是基于java的,要设计好的脚本,需要东java程序,相当于说,入门比较高,而且,现在国内的开发比测试普遍工资高,如果会编写程序,则会去做开发,或者做白盒测试。

    通过上面的说明,产生一个问题,那就是,需要有专门的人员去维护脚本,而很多时候,国内的测试并没有专业的脚本设计人员,很多时候,测试的人员可能即要做手工测试,又要做脚本录制,维护,就算是有一两个专门的脚本设计人员,就目前国内的情况,会脚本设计的测试人员是稀缺性资源,行情看好,流动性较大,可能有的时候,企业刚刚做了自动化测试,结果,脚本设计人员走了,自动化测试也就搁浅了,继续回到了手工测试时代。

    而对于一些性能测试工具,如果仅仅会使用工具并不是能够完成性能测试的,只要做测试的都知道,性能测试是最复杂,也是最需要基础知识,业务知识,并且需要多个部门配合的测试工作,仅仅是会使用测试工具,是远远不够的。也就是说,学好了性能测试的工具,并不是说就可以做性能测试的。

    功能测试,性能测试自动化,在国内并不能得到一个很好的应用,而对于白盒测试工具,在国内做白盒倒是使用的比较多,但是,自动化并不是仅仅只有白盒,那么,如果是这样,测试的路又该怎么走呢?

     

  • 追寻测试

    2007-08-11 16:47:51

        引言:自己开始了测试工作,总想把自己测试工作的点滴记录下来,可是,自己也是刚刚开始的测试,没有太多的经验,每次想写,缺又不知道写些什么。后来觉得,如果把自己做测试的过程记录下来,也是一种总结,或许能够给想做测试的人一些帮助,起个名字就是《追寻测试》.

     

    真正做好软件测试是需要学习一定知识的,并不是说有了软件工程的基础,并不是说学习了C C++ JAVA等开发语言,并不是说有计算机基础知识就可以做测试的,测试需要有测试的一整套知识体系,虽然软件工程会包含测试的一些内容,但是,那个仅仅就是罗列了测试的一些内容而已,比如简单介绍一些测试的阶段,测试的方法等,至少我学习过的软件工程课程里面关于软件测试仅仅就只有这些内容。

     

        但是,并不是说你在开始软件测试的时候,就一定需要做好软件测试工作的那么些知识。不是的,没有人天生就会做任何的事情,无论是多么牛的人,他也是从零开始学习,他也是进入了他所从事的行业多年才变的很牛的,那么如果我们喜欢做软件测试,我们当然也可以做到很牛的,只有我们努力。

     

    要努力,首先就要进入到软件测试这个行业中。

     

    如果你没有测试的基础知识,而你学习过软件工程的课程,学习过编程语言,你就有机会进入软件测试这个行业,如果你没有任何的计算机基础,但是,你对计算机感兴趣,你知道软件测试是做什么的,你也可以进入软件测试。进入软件测试并不难,难的是,你是不是对软件测试这个工作有兴趣,难的是,你愿不愿意做软件测试这个工作。

     

    如果你对软件测试很感兴趣,你希望进入到软件测试这个当前最热的行业中来,我希望我所有的博文能够给你一些帮助,因为我也是从从对软件测试一无所知开始我的测试工作的。就让我们一起,一起来追寻测试。

     

  • 梦想开始的地方

    2007-07-06 17:12:22

    51testing上注册已经有好几天了,可是总是没有能够写下些什么,一个原因是自己前端时间一直都在同学宿舍里面住宿,每次回去都很晚了,而白天的时候有没有时间去写,还有一个原因就是一直没有下定决心去写些什么,就这样,直到今天,才决定要写些什么了,因为今天是7.1日,是一个月的新的开始,而起自己也有了属于自己的房子,虽然是租的,但是,至少可以做些自己喜欢做的事情了。

        进入测试并不是偶然的,但也不是必然的,如果不是麦结倒闭了,我不可能进入测试,如果不是因为等待了很久没有麦结的消息,我也不可能进入测试,如果不是听说陈启隆在测试,我也没有想去做测试,但是,就是因为这些偶然的因素,使我考虑进入测试这个行业。如果不是因为自己在上学的时候就关注测试,我不可能做测试,如果不是自己看了软件测试相关的一本书,我也不可能做测试,如果不是以前工作虽然是技术支持,但是做的工作却是软件测试的工作,我更不可能做测试,这些都是我进入测试这个行业的必然因素。

        无论进入测试这个行业的过程是怎么样的,现在我既然已经进入了,那么就要做好测试这个工作,不单单是测试现在很火,也不单单是测试入门比较简单,如果是开始进入测试有那么一些这两个方面的因素,那么现在我已经做了一个半月了,我已经喜欢上做测试这个工作了,虽然困扰我的一个问题是,我不喜欢编程序,但是,自动化测试的时候,需要编写测试脚本的,但是我想,既然我进入这个行业了,我也喜欢做这个行业,那么总会找到一个解决的方法的。其实,有些事情,你考虑的时候很困难的,但是如果你真正做的时候,并不是你考虑的那么困难的,就象现在我马上要做的自动化测试。

         已经开始了测试生活,已经开始了测试生活的记录,那么,我就要坚持去做,并且做的更好,如果有一天,我所写的这些内容,能够为别人所用,为别人所参考,为别人所赞誉,那么我将是欣慰的。

          欢迎所有喜欢测试的同志们,祝福所有做测试的同志们!

     

Open Toolbar