×

Loading...

先感谢大家的讨论. 有时间写一个详细的贴子回应大家的讨论. 但就兄台的COMMENT, 先做一个简单回复.

1. 我想不光是您, 也包括我们当时所有在座的学生都知道, 教授的那句话不是用来字字较真的. 首先, 什么叫"any software", 我写一个Hello World属不属于any software? 然后怎样计算这"十分钟"? 包不包括了解requirements的时间? 我想, 他想传达的意思无非是: 在一个训练有素大人眼里, 绝大多数的software是full of bugs的. 您的comment很有误导性, 一句 "别的不说,请他的朋友去break Donald Knuth 的tex", 仿佛您是信口举出一个一般般的software, "别的不说"四个字更象是在说类似的几乎bug free的software到处都是. 我想, 不管是commercial的还是open source的, full of bugs的software应该还是占绝大多数的吧. 不信的话, 您列一个bug free的software, 我列九个full of bugs的. 所以听一句话要听传达的意思, 就象是听到"千层糕"或"百纳衣", 就非要去数这糕到底是不是千层, 这衣服是不是正好一百片缝成的. 给人的印象不是抬杠, 就是迂腐.

2. 关于您的第二个comment, 倒给我有点"吹牛不上税"的感觉. 我且把您说的5分钟当作和上面的any一样, 是一种夸张的表达方式. 您能把这段只需"5分钟"的scripts在五天后拿出来给我看看吗? 下面是那位教授当时遇到问题的原话, 以及他的两个预想解决方案, 在这里做为requirements供您参考.

I gather from some of the comments and email that my earlier post about batch generation of PDFs from web pages wasn't clear, so here's my second try. The XXX course that I'm writing for the XXX has about 35 web pages. I'd like to add something to my Makefile so that I can say make pdf and have each page turned into a PDF. (Currently, I do this by hand about once a week; it ain't the ten minutes of tedium that bothers me, but what my students would think if they found out I'm doing a repetitive task by hand.)

So, option #1 is an HTML to PDF converter. There are several out there, but none of the open source ones I've been able to find will respect my stylesheets. Yes, I could investigate XSL-FO, but (a) I have 185 other issues to deal with, and (b) I'm morally opposed to duplicating style information.

Option #2: write a script to make Firefox do what I've been doing by hand, i.e., load, print, change printer to PDFCreator, "print", click "OK" for the document title, specify where to save it, "OK", repeat. A couple of people have said, "Oh, you can do that on Windows with the win32 module and COM," but haven't responded to my follow-up question, "Great---do you have some sample code I can tweak?" (Also, my build currently runs on both Windows and Linux, and I'd like to keep it that way if I can...)

Suggestions?

Sign in and Reply Report

Replies, comments and Discussions:

  • 工作学习 / 专业知识杂谈 / 从“文人相轻”到“IT人相轻” ---- Developer PK Tester
    看到XBLA的这个贴子(#2859659@0) 以及CSB的回复(#2863626@0), 很有些感想. 所以特挖此坑, 抛砖引玉.

    先引用XBLA的题目和CSB的回复:

    QA做了3年多了,薪水算安全级(65K+),业务也没很大挑战性,反而不时要应付某些低能的同事,现在觉得没什么干劲了,是改往PM方向发展呢,还是改行? ---- By xbla

    “俺真是瞧不起他们啊. 没有什么技术背景, 也不用学什么高薪技术, business logic也是来公司后才学的. 写个automation testing script, 也到处是重复的CODE, 或者根本写不来. 可别说, 这些人找工作都是很容易的, 薪水也不低, 真的不明白这世道怎么了.” ---- By CSB

    首先要说的是, 我自己是个DEVELOPER. 如果我是在三年前看到这个贴子, 我一点感想都不会有. 我会是贴子作者的坚定支持者, 认为TESTER是背景不强, 技术不高, 工作乏味的一群人. 我没有意识到我曾经有个机会改变自己的这种观点. 那是一次在我们的SOFTWARE ENGINEERING课上, 教授说他的一个朋友能在10分钟之内BREAK任何SOFTWARE(当然, 这里所说的SOFTWARE不包括我写的HELLO WORLD). 我当时对他的这为朋友很是景仰, 觉得他是个非常NB的HACKER, 但却没意识到, 他其实是个很NB的TESTER.

    后来, 在工作中接触了一些杰出的和不杰出的TESTERS. 自己也做了一部分TESTING的工作. 渐渐觉得TESTING并不象自己原来想象的那样: TRAINING一只猴子, 按按BUTTON也能完成. 而是相反, 它所要求的技术, 逻辑思维, 及创造性一点不比做DEVELOPMENT要求的少. 有一次和一个杰出的TESTER聊天, 聊到一个面试题目: 你如何去测试一部电梯. 他在十几分钟内列出的方法和TEST CASES, 让我至今每次乘电梯时, 都以一种异样的眼光来打量电梯. 有兴趣的同志, 特别是那些觉得TESTING很简单的同志, 不妨试试, 看看您怎样测试一部电梯. 让我们来看看, 如果您做TESTING, 会不会是一个合格的TESTER, 会不会是一个杰出的TESTER.

    其实, 无论是DEVELOPER还是TESTER, 他们都是在软件或项目开发的过程中做着侧重点不同的工作. 所谓的”术业有专攻”, 双方都是不可替代或缺少的. 之所以一些DEVELOPER会觉得TESTING很简单是因为他们自己也做一些TESTING, 比如说UNIT TESTING, 但他们却没意识到, 他们所做的只是TESTING冰山的一角, 或者连一角也算不上. 有些TESTER自己也觉得自己的工作没有挑战, 没有发展. 那是因为他们自觉或不自觉地在回避TESTING中具有挑战的难题. 很多TESTER在做TESTING还是把自己放在一个普通用户的角度, 象对待温室的花朵一样对待自己所要测试的软件, 仿佛自己的任务不是BREAK THE SOFTWARE而是MAKES IT LOOK AS BEAUTIFUL AS POSSIBLE. 而一些杰出的TESTER是用HACKER那样挑剔, 甚至略带恶意的眼光来对待他们所要测试的东西的. 另外, AUTOMATION TESTING也是一个不论在理论上, 还是在技术实践上都还很不成熟, 同时也是有巨大发展潜力的挑战性课题. 一个自觉的CS技术人员, 对每件要重复做两遍以上的事情, 都会去考虑HOW TO DO IT AUTOMATICALLY. 说到这有一个有趣的故事. 我的一个教授曾经用一个多星期的时间去研究寻找把HTML文件自动转化为PDF文件的办法. 因为他每天有5-6个文件的讲义要从HTML转为PDF. 我们问他, 就是手动去做每天也花不了他五分钟去做, 干嘛费劲去做AUTOMATION. 他说: I just fell humiliated if my students know that I have to do the same thing 5-6 times manually each day.

    现在再回到CSB贴子里鄙视TESTER的两个具体理由, 看看是不是真的站的住脚.

    首先, 作者说他们公司的一些TESTER连AUTOMATION SCRIPTS都写不出来. 不知道他得出这个结论是不是因为看见这些TESTER还在做大量的MANUAL TESTING. 虽然TESTING就其本身特点来讲, 需要做大量的重复性工作(同一个FEATURE需要在不同的情形, 不同的顺序, 不同的组合下进行测试), 而且AUTOMATION TESTING一直是努力的方向. 但目前的实际情况是, 最好的AUTOMATION TESTING也只能发现不到20%的BUGS. 所以大量的TESTING还是手工完成的 (在这里暂且不讨论AUTOMATION TESTING的局限性), 即使是对最优秀的TESTER来说, 也是如此.

    CSB的另一个理由是, 那些写了AUTOMATION SCRIPTS的TESTERS用了很多重复的CODE. 虽然, 避免REPEATED CODES当时软件工程的一个基本原则, DEVELOPERS常常用建立LIBRARIES的方法来避免重复性的CODE. 那么以建立TEST LIBRARIES的方法是不是也是理所当然的呢? 有实际经验的会发现情况并不总是如此. 如上所述, TESTING其本身的特点决定了它有大量的重复. 如果只是以避免重复CODE而建立TEST LIBRARIES, 最后你会发现你建立了一个庞大, 琐碎的LIBRARY. 同一个FUNCTION在不同的SEQUENCE中, 不同的TASK下, 所起的作用可能是完全不同的, 这会使得FUNCTION的命名在不同的TEST CASES里, 变得CONFUSING AND MISLEADING, 从而命名也变得毫无意义. 而且这样的一个LIBRARY WILL BE HARD TO REVIEW, HARD TO DEBUG, AND HARD TO MAINTAIN. 所以在实践中, TEST LIBRARY更注重于从USER TASK和START AND END STATE的角度去建立, 而不是仅仅为了避免重复CODE的出现.

    所以, 如果不是对他公司的TESTER的工作有更深入的了解, 而仅凭上面两个原因就得出TESTER的技术水平较低, 是很有些武断的.

    砖抛完了, 希望看见大家各抒己见.

    • 看来也只有我能看得懂你在说什么. Test Automationz用在Functional/Integration/Regression Testing比较多一点,理由就是你说的. 目的不是找BUG,而是确保不BREAK.
      另外说一点,Load/Performance/Stress Test Specialist不比任何其它IT的挣得少. 可惜俺只有8小时,一次只能做一个领域.
    • 好的程序员能挣18万PERMANET, 好的TEST MANAGER也才12万, 区别就是大。
    • 很同意楼主的观点。Quality应该是每一位Team Memeber的责任。做好一个合格的QA/Tester并不是我们想象的那么容易。需要有许多的系统知识和SKILLS。
      工作并没有谁高谁低的问题,都是try to make product defect free as possible within acceptable budget and time.自己是做QA的,感觉工作中常常碰到一些不愉快,developer总认为QA是trouble maker。把自己摆在对立面,这样就增加工作和沟通的难度。QA人员承担很大的责任,一旦Sign Off Project产品就可能Release(假如没有UAT和BAT)。如果出现低级错误没有发现,将会非常的尴尬和感觉巨大的压力。希望Developer 和 QA能够多一份理解,共同让工作变得轻松和谐一点。
    • 我是一个郁闷的Tester,天天想着转回做Developer。做Tester太简单,太无聊。
    • 如果一个在你们眼里好的Tester的话,那么这个Tester可能会做好更有意义的事情,做Tester真是浪费了人才!
    • 有的tester要求很高,但加拿大的多数要求不高,所以networking很重要,学什么专业的都去做tester. 有能力作其他技术工作还是不做tester的好。
      • yea
    • TESTER做的好不容易。 这个软件质量工程国内现在也不知道做的咋样字了, 反正一个公司里找好的程序员容易, 找到好的QA基本没戏
      • 我记得八十年代的时候, 在全国曾经风风火火地推行"全面质量管理", 九十年代初又搞ISO9000认证, 可惜的是大多数都是"画虎不成反类犬".
        • 现在国内大公司的软件工程都做的不错
    • 文章不错,不过您遇到的第一位教授实在是个吹牛不上税的主,别的不说,请他的朋友去break Donald Knuth 的tex。您那第二位教授就更弱了,5分钟的script要琢磨一星期,come on,他就是去google也不至于一星期吧
      • 先感谢大家的讨论. 有时间写一个详细的贴子回应大家的讨论. 但就兄台的COMMENT, 先做一个简单回复.
        1. 我想不光是您, 也包括我们当时所有在座的学生都知道, 教授的那句话不是用来字字较真的. 首先, 什么叫"any software", 我写一个Hello World属不属于any software? 然后怎样计算这"十分钟"? 包不包括了解requirements的时间? 我想, 他想传达的意思无非是: 在一个训练有素大人眼里, 绝大多数的software是full of bugs的. 您的comment很有误导性, 一句 "别的不说,请他的朋友去break Donald Knuth 的tex", 仿佛您是信口举出一个一般般的software, "别的不说"四个字更象是在说类似的几乎bug free的software到处都是. 我想, 不管是commercial的还是open source的, full of bugs的software应该还是占绝大多数的吧. 不信的话, 您列一个bug free的software, 我列九个full of bugs的. 所以听一句话要听传达的意思, 就象是听到"千层糕"或"百纳衣", 就非要去数这糕到底是不是千层, 这衣服是不是正好一百片缝成的. 给人的印象不是抬杠, 就是迂腐.

        2. 关于您的第二个comment, 倒给我有点"吹牛不上税"的感觉. 我且把您说的5分钟当作和上面的any一样, 是一种夸张的表达方式. 您能把这段只需"5分钟"的scripts在五天后拿出来给我看看吗? 下面是那位教授当时遇到问题的原话, 以及他的两个预想解决方案, 在这里做为requirements供您参考.

        I gather from some of the comments and email that my earlier post about batch generation of PDFs from web pages wasn't clear, so here's my second try. The XXX course that I'm writing for the XXX has about 35 web pages. I'd like to add something to my Makefile so that I can say make pdf and have each page turned into a PDF. (Currently, I do this by hand about once a week; it ain't the ten minutes of tedium that bothers me, but what my students would think if they found out I'm doing a repetitive task by hand.)

        So, option #1 is an HTML to PDF converter. There are several out there, but none of the open source ones I've been able to find will respect my stylesheets. Yes, I could investigate XSL-FO, but (a) I have 185 other issues to deal with, and (b) I'm morally opposed to duplicating style information.

        Option #2: write a script to make Firefox do what I've been doing by hand, i.e., load, print, change printer to PDFCreator, "print", click "OK" for the document title, specify where to save it, "OK", repeat. A couple of people have said, "Oh, you can do that on Windows with the win32 module and COM," but haven't responded to my follow-up question, "Great---do you have some sample code I can tweak?" (Also, my build currently runs on both Windows and Linux, and I'd like to keep it that way if I can...)

        Suggestions?

        • Just curious, PDFCreator on Linux? Must be kidding...
          • 您不会那么死吧? 他只是提出一个思路, 又不是给初学者写TUTORIAL, 要把不同的系统下用不同的CONVERT程序一个个写出来.
            • So the statement between the brackets at the end is FALSE.
              Which means his script/batch/program is anything but "cross platform".

              Anyway, out of topic already.
        • On linux, setup your a2ps delegation to firefox and launch firefox, then
          <script>
          for html_file in YOUR_HTML_FILE_LIST;
          do
          GENERATE_YOUR_OUTOUT_FILE_NAME_PATTERN;
          a2ps -Z -o | ps2pdf - YOUR_OUT_PUT_FILE;
          done
          </script>
          • 谢谢老兄所做的尝试. 不知道您对这个方法测试过没有. 我昨晚DOWNLOAD了A2PS, 但在做DELEGATION TO FIREFOX时, 就没有成功...
            您确定能通过DELEGATION TO FIREFOX把HTML文件转化为PS文件吗? 能够APPLY CSS FILES吗? 也许是我对USER GUIDE还没有吃透. 如您测试过确实成功, 请指教一二. 在此先谢过.
      • the art of computer programming, he is an artist
        • 呵呵, 他老人家是我偶像. 他的三册一套的THE ARE OF COMPUTER PROGRAMMING我花了199大元放在书架上顶礼膜拜. 只拿它来膜拜因为看不懂还.
    • 我看到的TESTER怎么都是草包?我看这些人就是些混饭吃的主,什么也不懂,就知道点MOUSE,挣的还不少,这加拿大是怎么了? 不过我也是混饭吃!
      • 不是草包,就不会只做个DEVELOPER或TESTER了,其实都是混饭吃,比个P,
      • 那你们公司的程序员有多少是只会写hello world的呢?
    • 本马就是PM一个,developer和tester是左臂右膀,好比法庭的控辩双方,缺谁都不可,谁都不比谁更重要。但确实是薪水给DEVELOPER比给TESTER多一些,因为DEVELOPER比TESTER更具开创性,技术要求也更严格。
      楼上1、2个的言论还算正经,其余纯粹扯蛋!
    • 我看搞IT的很多都不太懂QA,QC,ISO9000,也不懂为是么要QA,在他们看来QA好像都是在作重复工作,或者是很幼稚的事。
      • should be: 我看Developers很多都不太懂QA,QC,ISO9000,也不懂为是么要QA,在他们看来QA好像都是在作重复工作,或者是很幼稚的事。
        • "A Real Programmer",听说过这种说服吗? 我以前就想要一个这样的TITLE: "SENIOR PROGRAMMER". That's it. A real programmer knows everything, from coding to testing to process to PM. 很多一流的家伙喜欢那样称呼自己.
          • 哈哈,俺也是个老程序员了,这不,昨天干通宵搞了一个T.I.T.A的会员登记系统
            要懂系统、开发、测试。。。这几种还是从程序员出身的最好全控。
          • 我见过很多Senior Programmer也不是很懂QA的。公司分工严格,compoment testing后,就可以直接把手里的东西转给QA去测试,不需要懂得很多QA skills。
            但好的QA的作用的确很大,几乎任何编程中细小的错误在经过几组QAs的测试后,都能发现。我同意“术业有专攻”的说法。
    • 从“文人相轻”到“IT人相轻” ---- Developer PK Networker PK UNIXer
    • 测试您是否具有一个TESTER的意识? ---- 假如您买了一辆新自行车, 骑出去的第一天, 突然前叉断了. 您会怎么想?
    • 测试您是否懂得一点基本的TESTING技能 ---- 用10分钟找出ROLIA高级搜索的3个BUG. (不敢让大家测试ROLIA的发表或者回复, 因为很可能把ROLIA给CRASH掉.)
      • 加一题,rolia一分钟能handle多少个正确request,多少个错误的request
        • if you want to go to jail, go ahead to do that
          • 开开玩笑,你又何必当真。rolia不过是share hosting,这个test case根本就是没有意义的。
      • 问你几个小问题,用HTTP协议来获取一个网页的时候,怎样通过HTTP HEADER来得知整个HTTP BODY的长度?测试URL的时候怎样生成BASE64字符串?
    • 算起来自己在QA方面混了6年以上了, 也来说两句。 只会点鼠标的QA和只会写HELLO world的程序员一样容易找, 但是招个senior QA真的很难。
      本文发表在 rolia.net 枫下论坛我在多伦多一个网络安全公司工作3年了, 过去的一年多中我们一直有几个QA的职位opening. 面试了无数人, 没有一人入围。 大家来看看我们的要求吧,

      - 深入了解TCP/IP簇, 多深为深? 如果你有两年以上的TCP/IP的协议分析的经验或许你可以通过. 你的面试题很可能是用两天时间去系统学习你从来没有接触过的协议SSH。 这个会fail至少80%的人。

      - programming skill, like: sh, perl, python. 要达到什么水平? 不需要senior programmer 的水平, 但是你至少能够写个TEST automation system, 因为商用软件不适合我们。 我平时也时不时写个股票交易系统什么的。 你不需要懂很深的c/C++, 但是作为QA, 你要很容易的理解程序员的code。

      - QA 素质. 这是思维方式, 是一种职业的眼光, 很多时候它根人的性格有关。 如果你通常不用常人的思维方式思考问题,你在做事时很“挑剔”。 也就是说你是个怪人, 那样的话你具备了QA的素质了。剩下的就是有几年QA的历练。

      - 学习能力, 任何职位都强调这个。 也就是要你是个非常聪明的人。 聪明的人去做很boring的工作(QA工作很多时候是这样的)。 如果你是很聪明的人, 而且你能耐下这份boring. 那你可以成为很好的QA engineer

      一句话: 千军易得, 一将难求。 我想这句对于development 和 QA 都适用。更多精彩文章及讨论,请光临枫下论坛 rolia.net
      • 千军易得,一将难求. -bugfree(BugFree); 11:25 (1070 bytes. #2865805@0)
    • 有幸做过几年的software tester, 现在偶尔也做一点application的小的改动,
      code不超过两页,我从来不敢说那是做develop, 但毕竟两种不同的工作方式,我觉得:

      developer 更多的是跟机器/语言的习惯和思维方式打交道,要保证写出来的东西可被机器用;
      tester 更多的是跟人的习惯和思维打交道,要保证软件可被人用而且不被人破坏;

      所以我说,两种工作的思维方式有很大的差异,没有谁高谁低之分,都是从不同的角度去完善软件。

      不管怎样,做个好的tester 或是好的developer都不是一件容易的事。