----天道酬勤 思者常新 博观约取 厚积薄发 心如止水 气贯长虹 淡泊明志 宁静致远

发布新日志

  • 咖啡和茶

    2007-12-17 11:47:07

         看过很多博客讨论咖啡和茶的区别,

         Love coffee or tea?

         无论是那种情结,

         对两种事物都有统一的感受,

         感官享受!

         专业点的说法就是舌头上的突状物对味道产生的一种化学反应刺激了神经并将其传送到大脑皮层,

         从而达到愉悦的感觉.

         并且在初尝者感官中,

         这两者再品尝初期有着惊人的一致性,

         ---苦涩,过后香浓或甘甜

        

         得到通知已经过了两周了,

         从一开始的愤恨,埋怨到后来的自我反省再到消沉,

         到如今竟以是一种心如止水的境界.

         年轻时得到教训比年老得到更好,

         人生有如咖啡和茶

         在喝之前都有苦涩,

         过后则无论香浓无比还是满口清香,

         终是香浓甘甜的让人回味,

         竟而欢喜.

        

         心如止水,

         不代表心死

         反而是一种阔达.

         表面平静而内含深蕴.

     

         曾怀疑过,

         人生真要如此?

         避世,少言,

         则可明则保身,登高直上?

         这或是长大?或是另一种滋长某种另人窒息的风气?

         可如今则是慢慢明白

         这世界不是每一个角落都有太阳,

         有太阳的地方也就有阴暗,

         人生不能因为阴暗而为之淡然,

         或许换种心境去看,

         或许阴暗则变成阴凉,

         犹如烈日下一汪树阴下的清池,

         在你兴奋焦躁过头的同时给你一丝清凉保持冷静.

         冷静过后则是一段奋进,

         一波热情.

        

         咖啡和茶

         都爱!!

         有香浓,也有满口清香

         但次之前都要经历苦涩,

         苦涩过后则有美好的感官享受.

         犹如地狱和天堂

         有了对比才能体现出美好.

         才能时刻感激人生.

        

  • 一种心境:波澜不兴,恬淡而宁静至极

    2007-12-12 15:23:30

    夫君子之行,静以修身,俭以养德。非淡泊无以明志,非宁静无以致远。夫学须静也,才须学也,非学无以广才,非志无以成学。淫慢则不能励精,险躁则不能治性。年与时驰,意与日去,遂成枯落,多不接世,悲守穷庐,将复何及!

                                                                        ---诸葛亮《诫子书》

    古人曰:"浩浩世途,是非同轨;齿牙相轧,波澜四起。公独何人,心如止水;风雨如晦,鸡鸣不已"

    则有一种心境,波澜不兴,恬淡而宁静;有一种态度,博观约取,厚积而薄发.

  • 给自己的忠告..

    2007-12-10 11:51:29

    职场少走弯路的十条忠告


    1.买个闹钟,以便按时叫醒你。贪睡和不守时,都将成为你工作和事业上的绊脚石。不仅要学会准时,更要学会提前。“闹钟”只是一种简单的标志和提示,真正灵活、实用的时间,掌握在每个人的心中。
    2.如果你不喜欢现在的工作,要么辞职不干,要么就闭嘴不言。初出茅庐,往往眼高手低,心高气傲,大事做不了,小事不愿做。不要养成挑三拣四的习惯,处处表现出不满的情绪。记住,不做则已,要做就要做好。
    3.每个人都有孤独的时候,要学会忍受孤独,这样才会成熟起来。千万不要浮躁,要学会静心,更不要因为寂寞去做无聊无益的事情,白白浪费了宝贵的时间。
    4.走运时要做好倒霉的准备,退路同样重要。饱带干粮,晴带雨伞,点滴积累,水到渠成。有的东西今天似乎一文不值,但有朝一日也许就会身价百倍。
    5.不要像玻璃那样脆弱。有的人眼睛总盯着自己,所以长不高看不远,总是喜欢怨天尤人。没有苦中苦,哪来甜中甜?既然睁开眼睛享受风的清凉,就不要埋怨风中细小的沙粒。
    6.管住自己的嘴巴。不要谈论自己,更不要议论别人。谈论自己往往会自大虚伪,在名不副实中失去自己。议论别人往往陷入鸡毛蒜皮的是非口舌中纠缠不清。背后议论别人的短处,会降低你的人格。
    7.机会从不会“失掉”,你失掉了,自有别人会得到。不要凡事在天,守株待兔,更不要寄希望于“机会”。机会是相对于充分准备而又善于创造机会的人而言的。也许,你正为失去一个机会而懊悔、埋怨的时候,机会正被你对面那个同样的“倒霉鬼”给抓住了。没有机会,就要创造机会,有了机会,就要巧妙地抓住。
    8.若电话老是不响,你该打出去。很多时候,电话会给你带来意想不到的收获。交际的一大诀窍就是主动。好的人缘好的口碑,往往助你的事业更上一个台阶。
    9.千万不要因为自己已经到了结婚年龄而草率结婚。想结婚,就要找一个能和你心心相印相辅相携的伴侣。不要因为放纵和游戏而恋爱,不要因为恋爱而影响工作和事业,更不要因一桩草率而失败的婚姻而使人生受阻。感情用事往往会因小失大。
    10.写出你一生要做的事情,把单子放在皮夹里,经常拿出来看。人生要有目标,要有计划,要有提醒,要有紧迫感。
  • Choosing a test automation framework

    2007-05-30 15:52:20

    Document options requiring Javascrīpt are not displayed


     


    Level: Introductory

    Michael Kelly, Software Engineer, QA, Liberty Mutual

    A test automation framework is a set of assumptions, concepts, and practices that provide support for automated software testing. This article describes and demonstrates five basic frameworks.

    Basing an automated testing effort on using only a capture tool such as IBM Rational® Robot to record and play back test cases has its drawbacks. Running complex and powerful tests is time consuming and expensive when using only a capture tool. Because these tests are created ad hoc, their functionality can be difficult to track and reproduce, and they can be costly to maintain.

    A better choice for an automated testing team that's just getting started might be to use a test automation framework, defined as a set of assumptions, concepts, and practices that constitute a work platform or support for automated testing. In this article I'll attempt to shed a little light on a handful of the test automation frameworks I'm familiar with -- specifically, test scrīpt modularity, test library architecture, keyword-driven/table-driven testing, data-driven testing, and hybrid test automation. I won't evaluate which framework is better or worse but will just offer a descrīption and a demonstration of each and, where appropriate, some tips on how to implement it in the IBM Rational toolset.

    The Test scrīpt Modularity Framework

    The test scrīpt modularity framework requires the creation of small, independent scrīpts that represent modules, sections, and functions of the application-under-test. These small scrīpts are then used in a hierarchical fashion to construct larger tests, realizing a particular test case.

    Of all the frameworks I'll review, this one should be the simplest to grasp and master. It's a well-known programming strategy to build an abstraction layer in front of a component to hide the component from the rest of the application. This insulates the application from modifications in the component and provides modularity in the application design. The test scrīpt modularity framework applies this principle of abstraction or encapsulation in order to improve the maintainability and scalability of automated test suites.

    To demonstrate the use of this framework, I'll automate a simple test case for the Windows Calculator program (see Figure 1) to test the basic functions (add, subtract, divide, and multiply).

    Figure 1: The Windows Calculator

    At the bottom level of the scrīpt hierarchy are the individual scrīpts testing addition, subtraction, multiplication, and division. As examples, the first scrīpt that follows tests addition and the second scrīpt tests subtraction.

    The two scrīpts at the next level of the hierarchy would then be used to represent the Standard view and the Scientific view available from the View menu. As the following scrīpt for the Standard view illustrates, these scrīpts would contain calls to the scrīpts we built previously.

    And finally, the topmost scrīpt in the hierarchy would be the test case to test the different views of the application.

    From this very simple example you can see how this framework yields a high degree of modularization and adds to the overall maintainability of the test suite. If a control gets moved on the Calculator, all you need to change is the bottom-level scrīpt that calls that control, not all the test cases that test that control.





    The Test Library Architecture Framework

    The test library architecture framework is very similar to the test scrīpt modularity framework and offers the same advantages, but it divides the application-under-test into procedures and functions instead of scrīpts. This framework requires the creation of library files (SQABasic libraries, APIs, DLLs, and such) that represent modules, sections, and functions of the application-under-test. These library files are then called directly from the test case scrīpt.

    To demonstrate the use of this framework, I'll automate the same test case as above but use an SQABasic library. The library contains a function to perform the operations. Following are the header file (.sbh) and the library source file (.sbl).

    Using this library, the following test case scrīpt can be made.

    From this example, you can see that this framework also yields a high degree of modularization and adds to the overall maintainability of the test suite. Just as in test scrīpt modularity, if a control gets moved on the Calculator, all you need to change is the library file, and all test cases that call that control are updated.





    The Keyword-Driven or Table-Driven Testing Framework

    Keyword-driven testing and table-driven testing are interchangeable terms that refer to an application-independent automation framework. This framework requires the development of data tables and keywords, independent of the test automation tool used to execute them and the test scrīpt code that "drives" the application-under-test and the data. Keyword-driven tests look very similar to manual test cases. In a keyword-driven test, the functionality of the application-under-test is documented in a table as well as in step-by-step instructions for each test.

    If we were to map out the actions we perform with the mouse when we test our Windows Calculator functions by hand, we could create the following table. The "Window" column contains the name of the application window where we're performing the mouse action (in this case, they all happen to be in the Calculator window). The "Control" column names the type of control the mouse is clicking. The "Action" column lists the action taken with the mouse (or by the tester). And the "Arguments" column names a specific control (1, 2, 3, 5, +, -, and so on).

    Window Control Action Arguments
    Calculator Menu View, Standard
    Calculator Pushbutton Click 1
    Calculator Pushbutton Click +
    Calculator Pushbutton Click 3
    Calculator Pushbutton Click =
    Calculator Verify Result 4
    Calculator Clear
    Calculator Pushbutton Click 6
    Calculator Pushbutton Click -
    Calculator Pushbutton Click 3
    Calculator Pushbutton Click =
    Calculator Verify Result 3

    This table represents one complete test; more can be made as needed in order to represent a series of tests. Once you've created your data table(s), you simply write a program or a set of scrīpts that reads in each step, executes the step based on the keyword contained the Action field, performs error checking, and logs any relevant information. This program or set of scrīpts would look similar to the pseudocode below:

    
    Main scrīpt / Program 
    Connect to data tables. 
    Read in row and parse out values. 
    Pass values to appropriate functions. 
    Close connection to data tables. 
    Menu Module 
    Set focus to window. 
    Select the menu pad option. 
    Return. 
    Pushbutton Module 
    Set focus to window. 
    Push the button based on argument. 
    Return. 
    Verify Result Module 
    Set focus to window. 
    Get contents from label. 
    Compare contents with argument value. 
    Log results. 
    Return.
    

    From this example you can see that this framework requires very little code to generate many test cases. The data tables are used to generate the individual test cases while the same code is reused. The IBM Rational toolset can be extended using interactive file reads, queries, or datapools, or you can use other tools (freeware, other development tools, and such) along with IBM Rational tools in order to build this type of framework.





    The Data-Driven Testing Framework

    Data-driven testing is a framework where test input and output values are read from data files (datapools, ODBC sources, cvs files, Excel files, DAO objects, ADO objects, and such) and are loaded into variables in captured or manually coded scrīpts. In this framework, variables are used for both input values and output verification values. Navigation through the program, reading of the data files, and logging of test status and information are all coded in the test scrīpt.

    This is similar to table-driven testing in that the test case is contained in the data file and not in the scrīpt; the scrīpt is just a "driver," or delivery mechanism, for the data. Unlike in table-driven testing, though, the navigation data isn't contained in the table structure. In data-driven testing, only test data is contained in the data files.

    The IBM Rational toolset has native data-driven functionality when using the SQABasic language and the IBM Rational datapool structures. To demonstrate the use of this framework, we'll test the order form from the test sample application Classics A (see Figure 2).

    Figure 2: Order form from the sample application Classics A

    If we record data entry into this window, we get the following:

    We can use datapools to set up test cases that test valid and invalid credit card numbers and expiration dates. The datapool shown in Figure 3, for example, would be for a test case that would test the date field.

    Figure 3: Sample datapool for a test case that would test the date field

    If we modify the scrīpt to accept this data, we get the following:

    I had to add SQABasic commands to manipulate the datapools. I also added a While loop to allow for the processing of each row in the datapool. I should also mention the use of the SQABasic command UCase within the If Then statement. UCase is used to make the argument (in this case, the datapool return value) all uppercase. This way the comparisons aren't case sensitive, making the code more robust.

    This framework tends to reduce the overall number of scrīpts you need in order to implement all of your test cases, and it offers the greatest flexibility when it comes to developing workarounds for bugs and performing maintenance. Much like table-driven testing, data-driven testing requires very little code to generate many test cases. This framework is very easy to implement using the IBM Rational toolset, and there's a lot of detailed documentation available with how-tos and examples.




    The Hybrid Test Automation Framework

    The most commonly implemented framework is a combination of all of the above techniques, pulling from their strengths and trying to mitigate their weaknesses. This hybrid test automation framework is what most frameworks evolve into over time and multiple projects. Figure 4 gives you an idea of how you could combine the approaches of the different frameworks within the IBM Rational toolset.

    Figure 4: A hybrid test automation framework

     

  • 爱或不爱,从胃开始

    2007-04-26 11:06:23

      爱一个人就是爱他所长,宽容他所短.爱一个人就是一边怨恨他一边思念他,一边骂他的坏一边担心他.刚刚宣布永不相见,转而又颠七倒八打电话找他.爱一个人,可以为了他满大街寻找他爱吃的绿豆糕,甚至在洗他的臭袜子时,心中都充满了幸福感.不爱了,一切都是厌倦.

                                                  -----------<<爱或不爱,从胃开始>>

  • 大妈做饭腰给做折了~~~

    2007-04-24 15:07:47

    天啊~~~

    没天理了,周五兴高采烈的去大妈家准备周末去松江玩,结果,乐极生悲,大姐的腰给做饭做的痛了,我好心帮她揉了几下,大姐叽哩哇啦的给鬼叫了一通,然后.....第二天,惨局发生了....

    我和大妈估计我们和东方医院比较有缘,半年不到进了两次,上次是我的腿摔瘸了,这次是大妈的腰....重度腰肌老损了... 这两天我在深刻的反省当中,我不该去大妈家吃饭,不改让她做饭的热情高涨的时候不进行劝阻,我错了,下次一定不在让大妈做饭了....

    发现和大妈见面没啥好事,咱俩属于互克的那种,从我们认识开始,逛街遇小偷,回家遭窃贼,然后不是肺炎就是腿瘸的....下次不去大妈家了,大妈也不来咱家,想的时候么就约个地方碰面身上不带钱就带个车卡就OK,然后就各自回家,这样比较保险点

  • 小由走路竟然是外八字~~

    2007-04-03 20:10:58

    近日发现偶家那只破猫走路竟然是外八子~~好丑~~~疯了

  • 搬家啦~~

    2007-03-29 13:18:02

    啊呀,好久不来这里逛了~~怀恋中~~

    上班这噶达子地方哪个叫远啊...日平均坐车消费20元....哭~~没天理了...班车要改到8点钟,那启不是要6点就起床~~~决定2周不回家了...偶还是继续在乡下生活生活,享受着有钱没处花的感觉也蛮好.酬钱准备装修!!

    太开心了租到一个带花园的屋子.房东人很好,两只屁猫也有地方呆了.准备种棵葡萄,院子里有个很大的葡萄架,想象一下~~~恩~~~夏日里园子里放一张桌子,2个椅子.花园里移出一块地种上草坪.清晨有股湿湿的青草的味道~~葡萄架上长满绿叶,挂满紫色的葡萄,一串串的~夏风吹起.满院叮当.空气中还弥漫着玉兰花的香味.对的~~院子里有两棵树,一棵玉兰,一棵桂花.还有月季和一棵不知名的花.哈哈.下次回去一定要好好的弄弄院子!!太兴奋了!!喜欢一楼~

     

  • 自动化工具使用之个人心得(二)

    2006-12-27 17:54:27

      The article is only my personal experience to learn and use. Here, I use my English is designed to improve the standard of English. So if I have any technical and grammatical mistakes, please give me your propose, I will thanks for you.  
      Why we used the automated testing tools? You know, when we use manual testing, we will hard to repeat, not always reliable, and costly and time consuming, so we using the automation to solve these problems. And if you are just beginning to use automated tools, you have to know what it can give you?
      Ok, you know after completing the using tools course, you will be able to: create a basic test by recording the steps of the business process, enhance basic test with synchronization and verification, parameterize test to run with multiple sets of data. create and reuse modular actions, and understand and use the object repository, create and use recovery scenarios. So one of biggest benefits of automated testing tools is that they can save you time if they are implemented properly.
      Now, let we talk about the automated testing framework. what is the automated testing framework? we know if we want recording a operation, the first we need set the address of record and operation; and secondly will add the property of object's; and then we record test scrīpts and repeat its, in these we need attention a importance -- add the checkpoint; The last to optimized its.  But the fact so is by no means simple. Basing an automated testing effort on using only a capture tool such as IBM Rational Robot to record and play back test cases has its drawbacks. Running complex and powerful tests is time consuming and expensive when using only a capture tool. Because these tests are created ad hoc, their functionality can be difficult to track and reproduce, and they can be costly to maintain.

      A better choice for an automated testing team that's just getting started might be to use a test automation framework, defined as a set of assumptions, concepts, and practices that constitute a work platform or support for automated testing.

  • 面试感悟(二)

    2006-12-27 10:01:22

     肚子帮我算命说我年底会转运的,拜她吉言,整三个月我刚好面试成功,很感谢朋友们对我的顶力相助,以及各方诚恳的建议,因为有了你们让我能够有信心获得成功,当然面试不管别人怎么帮忙使劲最关键的还是自己,要学的东西真的很多,三个月我几乎饿补了各方面的专业知识,才发现自己就象个刚刚学会走路的孩子,很多东西都还没有接触就想跑的很快,我想我会谨记这个教训,至少让我学会很多东西,也在这里和所有有过我类似经历或是有类似想法的人能够以我为教训,切记浮躁要不得.

     面试的时候我还是强调一点,不要迟到,也不要赶巧整点到达,提前一段时间坐下来休息一下平复一下心情.给自己信心,同时也可以把准备好的东西都过一边,当然我现在已经养成一个习惯,每晚临睡前给自己鼓励一下,同时关了灯开始演示一下面试的内容和回答(这段时间一直是用因为自问自答的),这样效果不错,而且有助于睡眠,大家不妨试试.

     剩下的就是每日总结一下自己所缺的知识由其是面试所必须的,自己学过的会的重新温习一下,加强一下记忆,不会的看一下大概,也没必要搞的很透彻,一时半会的也不可能学的非常好,但必须别人提到的时候你有个概念.

     另外面试的时候别让面试官的思维带着你走,因为很有可能很多东西你是没遇过也不会的.这样面试下来肯定不成功而且影响心情.尽可能的用简短的语言去表达自己所会的东西,同时时刻注意面试官的表情,从他的反映中你可以知道你说的东西是否满足了他的要求,同时也能捕捉到他感性趣的话题,这个时候可以把这个话题扩大一下.这个时候你就成功一半了.另外你要表达的是,你对不会不熟的东西有很好的学习能力.并能快速的参与工作中来换句话说就是可以马上上手.那么基本你的面试就成功了.

     余下的就是薪水问题,如果你把握不大,你可以告诉对方.你目前的薪水是多少.当然你可以稍微说高一点.这样没关系,只要你原来公司的领导人事和你的关系不错.那么在你估量的范围内,他会酌情给你适合的价格.如果有把握你可以开你所期望的薪水,但是这个薪水不能脱离实际.这样,你基本上第二天就可以收到你心仪以久的offer了.祝所有在面试道路中遇到问题的朋友们面试成功!

     

  • 不敢面对失败才是真正的失败(转载)

    2006-12-24 13:49:29

    不敢谈失败,才是失败
    出处:网大

       约翰·纳斯罕(John Nesheim)是美国知名的创业教练,不但指导过惠普、朗讯等知名企业的内部创业、辅导过许多新创企业,他的《非常竞争优势》一书,更是各地创业人不可不读的经典教材。

       纳斯罕参与大、小的创业过程,对於新经济的创业风潮,有非常深入的观察与体会。

       在这一次的网路泡沫后,我们特别请教纳斯罕,请他由创投的角度,分析网路未来的发展趋势;请他由创业教练的角度,分享硅谷的创业经验;更请他站在自己本身就是一位创业者的角度上,分享到底该如何看待失败、如何从失败中学习的心情。

    Q:许多网路公司将他们的业务重心从内容移转到系统,从B2B到B2C,就您以创投的角度观察,网路的下一波热潮是什么?

    A:下一波叫作“Evernet”,人们不论身在何处,使用哪一种工具,可以和任何人进行沟通。这是一个新的纪元,网路时代就要宣告终结,届时,沟通工具会超越呼叫器和手机,并且转换到一种新的沟通模式,会有更多的创业公司会出现,许多会成功,至於台湾会有多少个,很难说?

    Q:谁是下一波网路经济的赢家?

    A:在“Evernet”时代获胜,需要凭藉着一种“独家秘方”,就像老祖母有她祖传的食谱来烹煮你最爱吃的食物。另外,在“Evernet”时代,需要精确的创业行销,从零开始,讲究绝对原创的点子。

    Q:对於想要成功的人,网路提供了一个全新的战场,但是还是有许多家企业失败了。就以你辅助创业公司的经验来看,许多创业公司的老板应该从这一波大震动中学习到什么?员工该学到什么?

    A:第一、时代不断转变,这是一种自然的现象,无所谓好或坏。

       第二、每个创业公司应该在一开始有绝佳的“独家秘方”,然后持续地变革,让企业的体质变得更强壮。许多亚洲的创业公司都是别人创意的跟随者,很难生存下去,台湾的创业公司可以引以为鉴。

       第三、创业的行销策略没有创意,做得比人家快或便宜,并不会让你成为赢家。第四、只有放眼全球,你才可能在“Evernet”时代生存。

    Q:创业公司在初始阶段常犯的错误是什么?

    A:亚洲的创业公司常犯的典型错误有3点:一、贪婪:创办者手持大多数的股票,因此找不到他们需要的顶级人才。

       二、只看重本地市场而忽视全球市场:企业创办人应该在第一天就想到美国市场和亚洲市场。

       三、没有原创的市场策略:你必须要开创新的疆土,如果只是别人的跟从者,不论你的速度再快、再便宜,都不太可能成功。

    Q:我们相信人们将可以将失败化作企业成功的动力,你有什么例子可以和我们分享吗?

    A:发明Palm Pilot的杰夫霍布金斯(Jeff Hawkins)。当他的策略夥伴无法支援他掌中型电脑的方案,他放弃了这个方案,将重心转向另一个方案,独自承担PDA的制酌戴程,即使他的创投人都抛弃了他,但是他最后还是成就了有名的Palm Pilot.

    Q:我们强调,比例很少的人,能够将好点子成功地转换到企业的经营上,大多数人都得面对失败,就一个创业创办人的立场,您如何看待挫折和失败?什么是失败?什么是成功?如何从失败中学习?

    A:失败是硅谷成功的秘密。9成的创投的创业公司都无法公开上市,硅谷的人不论在媒体,或是公开场合都会以开放而透明化的心态来谈论这些失败的例子,他们从失败中学习。在硅谷失败就是成功,不肯谈论你的失败才是失败。失败让人们承认自己不够完美,而且犯了一堆错误,这在高风险的创投创业企业中是很重要的。人们必须彼此公开地分享失败的经验,因此他们可以学习。就像骑脚踏车,第一次骑总是不太顺手。在硅谷,午餐时间人们常用来交流,如何从别人失败的例子学习,如果只是赢得侥幸,对我们其实没有真正的收获。

    Q:你提过全球市场,对我们而言,不管是在网路或是电脑的领域,其实非常困难,台湾大多数的网路公司仍然将重心放在本土市场,将重心放在台湾消费者的需要上,是否有可能成功?

    A:创业公司如果一开始只做小区域的生意,他们必须要有非常清楚的焦点,确定他们能独占鳌头,即使外商想要介入都无力可施。如果这家小辨模的本土创业公司无法发展出某种有力、独特、无法复制的产品和服务,让顾客非要你不可,否则在没有“独家秘方”的状况下,要生存是件很困难的事。我刚刚和一家世界级的网路团队通过电话,他们的状况很惨,这样的情况将不是少数,他们的墓碑将这样写着:他们的开始是因为充满热情,他们的结束是因为没有“独家秘方”。没有“独家秘方”,就没有成功、荣耀,有的只是另一场葬礼。

     

  • 面试感悟(一)

    2006-12-12 15:40:06

    算一算从离职到现在快有3个月了。在获得成功之前,我想把我的面试经历分享给大家,谨以我的失败教训提醒每一个在找寻工作职业道路上迷失方向的同仁们。

    9月底我离开了曾经梦想成为自己一身事业的工作舞台,原因只是因为来自各方的压力,包括自己的自暴自弃。我想很多朋友和我一样出身在一个较为优越的生活环境中,自小被父母宠着爱着。别人的话在自己的心里虽说没有什么太大的分量但是说得人多了,时间长了自然会造成一定的影响,也因此影响着自己的工作情绪。将自己的心态变得很糟。在这里我忠告所有有过类似经历的朋友们一句话。不要以别人的过错或者说你认为是别人的过错,而生自己的气。更不要把这份情绪带到生活中,并影响了后面工作,面试的心态。而作为离职的一个最错误的原因再此我将不再提及。毕竟已经是曾经的往事。教训会让我们长大。

    面对面试,特别是有了一两年工作经验的人来说,正处于一个中间期,第一作为行业中专业出身的人事,在拥有这份职业的一开始,就觉得自己比普通的人来的更为的优越,另外也因为在工作中所遇到的各个公司的各层技术人员的水平大部分都没有自己想象的那样专业,厉害,因此在面试前就开始轻视面试的公司。虽然说战略上我们因该轻视面试,但是在战术上切不可以此心态对待每一次面试。因为我有了这样的心态。所以在面试的时候想把所有的问题全部回答出来。但是因为只有一两年的工作经验,也因此自己的水平没有达到一定的境界,另外经验也不是非常的丰富,而每个公司每个人所遇到的问题也各不相同,并不代表别人遇到的问题,我就一定会解决,由于之前的心态导致在面试的时候当公司问了一个在我听来很简单但是我却不知道怎么解决的问题时,便开始乱了方寸。由于职业的习惯,我便绕着我并不知道如何回答的问题开始兜圈子。现在想来我应该是给对方留有一个很不好的映像,做事比较浮躁,不老实。作为技术工作者给对方这种感觉应该是很糟糕的,我想对于这样我并不清楚的问题我完全可以说自己不知道,没有必要去兜这个圈子,没有学过,没有预见过这并不丢人。每个公司的要求都不一样,我们不肯能说在面试之前把自己没有学过的东西都匆匆的全部看一边。那是很不现实的一件事。我们所要留给对方的就是我所掌握的知识足够应付未来的工作甚至超过岗位所要求的。至于不会的东西我们可以学习,并且快速的掌握运用新学的知识,而并不会影响到工作。

    因为离职的时间越来越久,来自各方的关心已成为我最大的压力,我开始逃避现实的生活,不敢开msn,不敢接电话,有了朋友的关心的消息能躲则躲,时间长了。心态越来越不平和,面试到后面技术的部分没有问题了,反而人事那边一直都过不了,各种各样的原因。因为自己的一两句话,而导致全盘皆空。周而复始,越来越烦躁。心情也越来越不好,而面试的时候从各方面,精神,着装,语气各方面都开始有所欠缺。从而导致了一次次的失败。我曾经抱怨过,很多公司高薪请的一些工程师技术并不怎么样,有的甚至不如我,一直都想不通为什么别人就不录用我。但是现在仔细想想别人可能有别人的优点而我并不知道,最起码别人在面试这方面的经验就别我丰富,另外如果我作为一个招聘者,我同样也不会要我自己,一个连自己的能力都没法表达出的人。凭什么就嫩购进公司。如果像我说的,公司中已经招了很多我认为不怎么样的,那么我何必还要招个不怎么样的呢。至少面试体现出来的就没有特殊的地方。因此不要怪用人单位怎么样,如果真的很好。即使这个公司不急需要人他也会把你招进去养起来。

    还有一个最大的问题就是,除了面试的第一家公司我有好好的去准备外,剩下的面试我几乎都是再打无准备的仗,自认为工作的时候做的很好。学的也不错,懂得比别人多,就不去准备那些基本的知识点。当面试官问起来的时候我不会的东西答不出来,而自己会得东西也因此而想不起来。我想如果大家以后遇到这种问题不妨和面试官要支笔,想一下以后再写。这个时候容易把思路理清,另外,我们也可以告诉面试官,这个问题由于没有准备充分所以暂时无法回答,是否可以让自己把自己所做的工作以及自己对技术知识的理解和经验说一说,在说的过程中我们就会建立自己的信心也会把暂时忘记的知识点给想起来在叙述的过程中补充上。而对于我们没有遇见过的我问题我们也不必太过慌张。基础的知识就说不知道。如果是实际的问题我们可以整理思路把自己的想法和建议告诉面试人员。这样的话至少别人会知道你有一个清晰的思路解决问题而不至于认为你这个人没有什么用途不符合他们公司招聘的岗位。

    另外建议大家面试前提前半个小时到达面试公司,不一定要进公司,大家可以找个安静的场所好好的回想一下自己的知识点。定了心后在稳稳的去面试。这样自己的心情也不至于太紧张。去公司前一天最好能够把路线找好。具体的位置也找好不至于因为找不到公司而慌张影响后面的面试心情。如果是冬天大家可以喝杯热水再进公司,夏天喝一杯凉水,对安抚心情都有不错的帮助。

     

  • 自动化工具使用之个人心得(一)

    2006-12-11 18:50:36

    由于工作需要,再加上目前市面上大部分公司的需求,我开始学习研究起自动化测试工具.在我使用和学习的日子里我所要告诉大家的是不要将自动化神话.

    很多做测试工作的同仁以及招聘的单位都将自动化测试批上一层神秘色彩,认为自动化测试有多么的不可接近,其实工具本身也是人开发出来的,稍微有点编程基础的人都可以在日后不断的联系和使用中很好的使用和掌握他.作为自动化工具的本身它所带给企业和个人的,是如何将大家从繁重的手工操作中解脱出来,从而高效完成测试任务提高平均测试的质量.但是工具本身并不能提高测试的有效性.

    首先,工具好比一台电脑,人们将之所能想到的一切能够实现的功能都整合在一个微小的芯片中,用机器所能读懂的语言进行人机之间的交互,但是电脑不是人脑,不同人的思维方式,思考的内容都大相径庭,因此电脑只能模拟出人的一部分通用的行为,但是并不能随机应变的处理各种复杂的预先没有存入在程式中的突发事件.工具也是一样,它所能代替的只是人们在根据经验教训所总结出来的一些应有的测试途经.而遇到突发的情况还是需要人为的干预才能更有效的解决.那么也因此有很多公司为什么会有失败的自动化测试的经验,原因也就是在于其bug发生的过程是不可预测,不可控的.

    我曾经面试过这么一家公司.该公司的产品销售于欧美市场,因为拥有一些优秀的程序员以及管理和销售人员,他们的产品一直有着不错的销量,但是随着经营规模不断的扩大,产品出现了各种不同原因的质量问题,但是由于公司内部人员本身对测试的基础知识并不了解,也因此导致了一种恶性循环,公司也因此得到了比较多的投诉,上层人员在此情况下觉得应该对质量进行检验,因为看到目前大部分公司都在招聘自动化测试工作人员.设想自动化测试可以代替手工测试也就是说希望1,2个自动化测试人员顶起整个公司的测试流程.在这看来是简直是个笑谈,没有一个合理的测试流程,没有一个正规的测试规划,只是希望有一个懂得开发的会使用测试工具的人员简单的进行工具的开发从而完成测试任务.因此在面谈的过程中我对公司合理的进行了评价并告知自动化测试应该引入的时期.

    不难看出很多公司及个人都在追求测试工具的技术过程而忽略了测试本身应该所起的作用.很多人人为手工测试工作是个很卑微的工作,其实在我看来,做好手工测试同样不容易,因为你无法能够保证100%的将所有可能出错的情况都考虑到,这也就意味着如果用自动化测试只能根据先有的用例来录制相应的脚本.如果仅仅只进行这样的测试,势必会遗漏很多缺陷而导致一些严重的BUG无法预测到.

    因此我们在使用工具之前首先要树立的是一个正确的心态.而不是一味的追求工具的使用熟练程度以及相应的开发技术.而脱离了工具测试本身的目的.

    测试工具能够给大家带来简单方便的操作,完成一些个人不能完成的任务,比如说在测试过程中遇到多用户需要并发操作的过程,以及并发操作时系统的响应时间等问题.这些工作通过手工的方式去完成几乎是不可能的,这个时候依靠工具我们就可以轻松的解决,另外大部分测试工作人员都遇到过这样的问题,即在回归测试中,原来已经测试了很多遍的路径还需要反复的跑一遍,很多公司加班加点所做的事就是将这些类似于鸡肋的事情不断的上演.另大家苦不堪言.如果这个时候引用工具那么我们就可以很有效的抽出时间来思考别的可能发生的问题.

Open Toolbar