岁月静好,现世安稳!

发布新日志

  • 测试行业的未来远景

    2009-02-27 16:34:07

        测试的春天到了,就是说这个行业开始由不正规转向正规,这是个过渡的时期,请大家一定要坚信自己所从事的行业,也许它还具有太多的瑕疵或是不规范的地方,但要相信这是一个很有发展前景的行业,也是锻炼我们能力和耐力的行业。

        1、方法创新。将有更系统化的、行之有效的方法对测试人员进行培训,有望改革软件产业。诸如可执行的说明书、基于模型的测试产生、BUG预防、系统模拟这样的技术将会在演变中扮演重要的角色。

        2、检测工具将成为主流。测试的目标已经由找到多少个BUG转移到放在产品交付的质量上来了,预防实践和静态分析仪这样的检测工具将成为主流。

        3、仿真测试。(有一定难度)仿真工具的出现使得计算机环境变得容易起来。在开发过程早期就刻意进行意外和错误流程的测试。代码稳定后,再用真实环境验证仿真是否准确无误。

        4、测试用例更新及时。庞大的测试用例管理系统将成为昔日黄花,大量的测试用例生成了却没有被适用。测试用例将不再像腐烂的存货一样被收藏搁置起来,因为,让测试用例保持最新变得更加容易。

        5、更加积极的规范测试方法。比如什么计算BUG的数量、计算测试用例的数量都将不复存在。有用的方法,比如需求覆盖、模型覆盖、代码覆盖将驱动项目开发。

        6、少而精的测试人员。对测试人员来说,这是比较残酷的一项。机器将代替测试人员做大部分他们以往创建测试所做的繁琐工作,测试小组需要比以往更少的测试人员,留下的将是经过更多高度培训及经验的测试精英们。竞争很激烈啊。不过待遇肯定高了又高。价值也会越大。

        7、测试工作的趣味性。测试工作将变得越来越有趣味性。因为测试中他们将致力于更大的问题,以优化和改善软件系统为乐趣,把工作变成享受性创造。而不是在抱怨中艰难的开展工作。

        8、测试工具及用例优先级。测试人员将在一天中进行成千上万的测试,工作量却没有多大,因为测试人员首先先运行最有用的测试。相关的测试工具将允许测试人员为他们的测试区分优先级,以及将测试目标放在哪些易出现重大BUG的地方。(难度好大啊。)

        9、测试人员的角色。测试人员的角色也越发的模糊了,在测试领域工作使得专职测试的人员和专职创建测试工具的人员界限模糊,一个既是“通过程序破坏事物的测试员”又是“创建程序用于破坏事物的程序员”的专业出现了。关于如何定义这个新的专业,暂没有定论。嘻嘻。大家可以集思广益啊,头脑风暴法。呵呵

        10、更大的挑战性。复杂和相互关联的计算机世界使得了测试安全这一类新问题让测试人员不断努力工作,考验大家精力的时候到了。呵呵

        11、测试人员获得尊重。测试人员将不再被冠名“挑错者”,他们将在整个软件开发过程中提供一个可见的、增值的、重要的金奥塞。测试是有意的、有价值的乃至有趣的。

        12、测试流行化。测试人员的地位不一样了,可以“扬眉吐气”了。而且破坏事物同样可以带来创建事物一样的乐趣,人们开始在开发与测试角色之间转换,所有的人将学到更多关于如何得到良好代码的知识。

        测试人员从现在开始如何做?

    •     不要接受测试现状,四处看看,思考“我们在做些毫无意义的事情吗?”
    •     领悟如何更好的测试,并且学会分享知识。
    •     行业受测试的创新思维激发。多关注前沿的一切。
    •     还要继续学习编程知识。即便你不打算编写允长的代码。   

        这是远大的美好且残酷的愿景,不知道我们这代人是否可以赶上,用PC先驱Alan Kay所言结束本位:“预测未来的最好方式就是开创未来。”共勉之!

  • 零基础学习软件测试之困惑

    2009-01-13 12:16:36

        如果把人生当作一个进阶的过程,这个过程似乎是不可逆的,那么把软件测试的学习也当作一个进阶的过程,似乎也会得出一个不可颠覆的结论:没有编程的基础,就不能真正走进测试。

        首先,编程基础不是指非要能够熟练的写出漂亮的代码,而是你要对编程的基础知识和思考模式有深入的了解。否则,测试工作只是空中楼阁,可远望而不可触及并应用之。

        测试只是程序员所走的另一条方向,而不适合零基础的人去涉足的,除非你先把编程理论小小吃透,否则测试之路是不可能走长远的。

        其次,对于工具的使用。工具的使用也是基于对于程序的理解基础上的,如果不了解程序又如何应用工具解决程序的问题呢?

        工具的学习方法有两种:一是先熟悉工具的主要应用领域、适用范围和使用步骤,再进行实践应用。二是直接应用工具,然后边实践边学习,这样效率更高。不仅能通过自身的实践参悟工具的使用范围和精髓,还能加深对工具的灵活应用。

        一个没有编程基础的人是不可能学好和做好测试的,所以学习软件测试,不能是零起点,而是需要具备的一定的编程理论和实践经验的人。

        程序员与测试员的关系就好比记者与改稿编辑的关系一样,后者都必须要掌握前者所拥有的知识储备和应用过程,才能真的实践其自身工作的价值。

        总之,一个好的测试人员也一定首先是一个好的程序员,而一个优秀的程序员并不一定是一个出色的测试人员。

  • 选择测试,你的比较优势在哪里?

    2009-01-08 14:15:46

        何谓“比较优势”?经济学上:和他人相比,有能力以较低的成本生产某种东西。

        关键点为:1、和他人相比;2、较低的成本。对于从事IT的人来说,比方说,对于都是写代码的程序员,如果你的性格比其它人的性格外向且喜欢与人沟通,亲和力强,那么这个就是你在这个群体里的比较优势,售前工程师和售后工程师都更适合你,可以让自己在工作中得到更有快感和充实的精神状态。

        作为测试人员,你的比较优势在哪里?抛开测试技术和流程方面,还有其它的几个方面,可以成为你的比较优势。

        1、细心和耐心。测试工作是一个相对比较乏味的工作,对于一些中小型IT企业来说,它没有太多的技术含量,也就没什么成就感。耐得住枯燥的工作,并能从中找到乐趣和意义,这就是最基本的测试人员素质。所以很多人,认为女孩子比较适合。也许吧,不过就像大多数行业一样,做到最顶端的一般都是男性,连服装和美容这个适合女性的行业都不例外,何况IT行业了,^_^!

        2、发散性思维。世界是普遍联系的,而对于测试这个职业,如果具有较为灵活的发散思维,则是对工作一个比较有利的补充。但前提是这种发散思维必须以软件工程为基础,不能脱离这个圈子而过度发散。

        3、喜欢接受新事物。对于不同的行业系统或软件,都有着其特殊的标准或是规范,这就需要测试人员平时能广泛的涉猎相关行业的业务知识,对特定行业的特殊背景或服务目标有个大致的了解与熟悉,这样在接受任何一个项目的时候都能相对容易的进入测试角色。

        4、擅于积累和总结。测试这门从软件工程中独立划分出来的行业,毕竟有着它举足轻重的作用,打个不太恰当的比方,就好比医生诊断病情一样,对于医生这个行业,经验是最重要的,谁都喜欢找个老中医或老西医看病,这就是因为经验丰富。

        经验从哪里来?对于这个朝阳产业来说,经验就是擅于积累与发现,对于每完成一个项目,都能将测试发现的所有问题记录,并归类,按照各种归类方式进行分析,然后统计其共性和个性的地方,这就是经验,也是资本。

        总之,我个人认为一个优秀的测试人员就是一个通才,一个复合型人才,他能在保证在项目生命周期内,平衡技术、时间和质量三者的关系。作为一名测试人员,你的比较优势是什么呢?

  • 3G时代,为移动通讯业提供更广阔的发展空间

    2009-01-05 16:06:44

        3G牌照的发放,预示着3G时代的来临,也赋予了软件行业新的发展空间与前景,同样的,作为测试行业,则又多了一个新的契机。

        2008年前,就一直关注着3G牌照的发放,没想到这么快就来临了,也许是伴随着国际金融危机的关卡,想借由其为拉动内需做一个也许并不能立竿见影的举措吧!

        移动互联网是一个全新的领域,早在去年,诺基亚就搭建了专属的移动互联网,将手机、移动智能设备与互联网进行捆绑与运营。我一直都佩服国际软件或通讯行业的先知先觉。

        移动互联网这个具有广阔前景的庞大市场,不同的行业都可以通过其扩展或是渗透自己的业务或是开辟崭新的行业。随着时代的发展,社会的进步,移动设备已潜移默化的被大众接受并应用,紧张忙碌的社会生活,赋予了这个产业新的发展空间和前景。

        3G时代的来临也标志着移动设备上网的便利,这就应运而生了大量的应用程序和软件,尤其是娱乐功能的绑定,给软件行业注入了一股新的血液。

        测试行业的发展与软件行业的发展是不可分离的,3G时代的来临为嵌入式移动设备的系统开发提供了更加广阔的可延伸的市场需求。于是,嵌入式移动设备系统的开发及测试需求便会更加的紧迫。

        但愿我们能在这个大好形势的时代,测试人员能够找到属于自己的一席之地,发挥自己的能量,为3G时代摇旗呐喊吧!

       

  • 3G时代的来临与市场机遇

    2009-01-05 15:44:53

        3G全称为第三代移动通信,可以实现名副其实的移动宽带,能够处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。

        工信部电信经济专家委员会秘书长杨培芳认为,中国移动及中国电信的3G准备工作比较充分,中国联通因为重组牵扯了精力,行动要落后一些。牌照的发放对于运营商竞争格局而言,短期内很难改变。

        对于3G应用何时能够爆发式增长,接受记者采访的专家也都表示了谨慎:3G的未来主要取决于运营商能否做好应用与服务。3G在中国大规模增长至少需要两年时间。

        毫无疑问,3G牌照发放后,将形成一条包括3G网络建设、终端设备制造、运营服务、信息服务在内的通信产业链,对扩大内需、刺激经济产生重要作用。

        “尽管对普通劳动者的吸纳效果不如基础建设明显,但3G产业的资金和技术密集性决定了它将对部分脑力劳动者产生巨大的吸引力。”陈金桥说。 

        虽然3G已谈了很多年,但普通百姓对3G的概念仍很模糊。同第一代移动通信的语音通话、第二代移动通信在语音之外增加短信、接受邮件等数据业务不同,3G主要是在传输声音和数据的速度上提升,能够处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。

        在语音通话的消费习惯并未有显著改变的移动通信环境中,以移动互联网为显著特点的3G究竟有多大的市场需求,一直是人们谈论的焦点。

        工业和信息化部副部长奚国华说,移动互联网作为当前电信业最被看好和最具前景的业务之一,在有效促进经济消费,带动电信业持续增长,推动信息化建设方面具有重要作用。在当前的经济环境中,3G被赋予了这一使命和任务。

        “移动互联网是一个新兴的领域。目前要把握电信技术业务移动化、宽带化、IP化、多媒体化的发展趋势,以市场需求为导向,提升对用户需求和市场变化的敏锐度,坚持技术创新、产品创新、服务创新,尤其要积极探索有特色、附加值高、符合消费习惯的新业务、新应用,实现移动互联网业务应用与技术的同步,不断完善业务模式和商业模式。”奚国华说。

        他同时提到,要加强产业协作,促进互利共赢和良性发展,运营企业要凝聚各方面的力量,引领产业发展趋势。产品提供企业要加强自主创新,不断提高知识转化为生产力的效率,提升自主知识产权的国际竞争力,业务开发企业要面向市场,以用户的完美体验为目标,为产业提供源源不断的发展动力。

        因此,在短期内多数用户形成非语音消费习惯还不大可能,只能在起步阶段坚持走普及化和高端化并举之路,逐步培养3G消费市场。

  • 测试职业生涯阶段发展方向(转)

    2009-01-04 20:12:20

    由于国内软件测试行业目前的发展迅速、需求旺盛,在国内的软件测试职位晋升一般要比国外快,但因行业本身太年轻,大家对软件测试中软件测试职业的发展了解不够,从而导致许多有志在此发展的年轻人举步不前。所以下面介绍一下海外公司成熟的软件测试行业职位分布情况,我国一些在软件测试行业中处于前端的公司与之也相仿,这可以作为软件测试职业规划的参考,给新人一个导向。

    第一阶段:(测试员)初级测试工程师
    自身条件:初入行具备计算机专业学位或一些手工测试经验的个人。
    具体工作:执行测试用例,记录bug,并回归测试,通过qtp等测试工具录制回归测试脚本,并执行回归测试脚本。
    学习方向:开发测试脚本并且开始熟悉测试生存周期和测试技术。

    第二阶段:(测试工程师)程序分析员
    自身条件:有1~2年工作经验的测试工程师或程序员。具有初步的自动化测试能力,完善自动化测试脚本。
    具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。
    学习方向:拓展编程语言、操作系统、网络与数据库方面的技能 。

    第三阶段:(高级测试工程师)程序分析员
    自身条件:有3~4年经验的测试工程师或程序员。具有一定的行业业务知识,储备系统分析员的能力。
    具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。
    学习方向:继续拓展编程语言、操作系统、网络与数据库方面的技能。

    第四阶段:测试组负责人
    自身条件:有4~6年经验的测试工程师或程序员。具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试。
    具体工作:负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队提供bug解决策略。
    学习方向:性能测试,测试技能

    第五阶段:(资深安全或性能测试工程师)测试/编程高级负责人
    自身条件:有6~10年经验的测试工程师或程序员。
    具体工作:负责管理8~10名技术人员。性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等,分析系统的安全漏洞等。 负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。负责开发项目的技术方法。为一些用户提供支持与演示。
    学习方向:开发一些特定领域的技术专长

    第六阶段:测试/质量保证/开发(项目)、经理
    自身条件:有10多年的工作经验。
    具体工作:管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。为一些用户提供交互和大量演示。负责项目成本、进度安排、计划和人员分工

    第七阶段:(公司级质量总监)计划经理
    自身条件:有15年以上开发与支持(测试/质量保证)活动方面的经验。
    具体工作:管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任。
  • 我的“测试之梦”不知可以撑多久

    2009-01-04 19:22:18

        万事开头难,一个好的开始是成功的一半,我不知道关于“测试”这个梦,我可以走多久?也许在我刚开始踏上这条路的时候,就预知了“夭折”的结果,而我却总是选择一条或许从来没有适合过自己的路在走。7年以前是这样,将来会不会更可怕。

        俗话说,男怕入错行,女怕嫁错郎,其实,时代不同了,男女都怕入错行。本科园林出身的我,稀里糊涂进了搞IT的公司,从最初的网站编辑、数据录入、图片或网站的制作、信息化应用管理系统的二次开发、软件的测试、嵌入式(智能手机、掌上电脑)系统的设计和开发、项目的策划实施及管理、系统的应用培训等等。。。我似乎一个人跌跌撞撞、磕磕碰碰的摸爬滚打中挺了过来,而今却依然很迷惘。

        在这么多年的工作经历中,也许我应该试图选择一个角度或是方向延伸自己的工作经验乃至确定今后的发展方向,后来,我学了项目管理,我可能真的错了。我万万没有想到,在我毅然决定辞职后重新选择今后道路的当下。发生了金融危机,我也离开了北京这座软件行业云集的城市。也许真的是很累了吧!

        我不知道不是计算机科班出身的自己能否做得来软件测试这个行业,可是我总想找一个自己曾经做过的又相对熟悉的领域深入的学习并发展一翻。我很菜的做了4、5个很小型项目的项目经理,看到了在一个极其不健全的软件公司里,一个非技术出身的女项目经理究竟能起到多大的作用!

        领导层不懂技术、技术部人员不配合、美工水平奇差、监理时不时给我警告。。。如果我一个人能写代码、做设计、搞外联的话,也许一切就迎刃而解了,唉,或许是我真的太无能了吧!我不知道这一步究竟是我不坚持还是因为那样的环境却是不适合我的成长与发展了。

        当我毅然决定辞职的那一刻,所有的人都怔住了,没有人会相信,有人说,一旦我走了,有一大块内容就完了,^_^,我笑着说,不会的,公司的定位就是申请项目,只要项目申请下来后,谁做都一样,反正这么多年,我也看出来,我为了配合公司的发展以至于不被淘汰,我付出得太多了,而结果,我却连自己的人生方向都彻底磨灭了。不知道是幸,还是不幸。

        公司走过这么多人都没有被挽留过,也许当时象征性的挽留了我几句是对我这么多年与公司一同起步、成长所收到的最后一点微乎其微的馈赠吧!

        也许是我太笨了,也许是我太求全责备了,如果可以做到一天天的混日子,它们总不会把我怎么样的,我也可以整天无所谓的应付了事,可是很害怕自己就那样的被耽误了。我不知道自己的这个决定是对是错。

        辞职后,我选择了测试这个方向,虽曾经有过涉猎,也不过是做做简单的功能测试,写写测试计划、测试大纲、测试用例、测试问题报告单、测试报告等等,对于白盒测试只是一纸空白,虽然看过很多相关的资料,可总是无法入进去。

        早在5、6年前,第一次去北京上地那边的软件测试中心测试软件去,就对测试这个行业很感兴趣,再加上平时每次我测的系统都很全面、很仔细,报告也写得不错,所以,很想在这个方面发展。只是赶上了金融危机,再加上就业竞争的压力,而我又是女生,非科班出身,这么多的限制条件,我似乎很没有底气。

        近期,也有很长一段时间可以安心的看些测试方面的书籍,只是实践起来稍微有些困难,鉴于以前有过简单的测试经验,看书倒不会很难。什么新手入门、软件测试技术、测试用例编写、白盒、黑盒、灰盒测试等等,首先要了解一些概念性的东西。其次在多看看测试人员需要具备的基本素质要求,再者就是系统的看完一本测试方面的入门书籍,找出不懂的地方然后反复的消化、吸收。

        我不知道这个过程我会坚持多久,抑或是我能坚持多久,更有可能会因为一些其他的突发事件或机会将其“摧毁”。我是一个很容易在工作中学习东西的人,边做边学,效率和成效会很好,这个我懂,所以我对自己真的没什么把握。

        曾经,做网站的时候,我快把加鞭的充电网站只是,什么网站制作三剑客之类的,突击完后应用之后,又转向了其它工作,什么呼叫中心的开发和设计方面的零散工作,我又学习IVR知识等,突击项目完成后,我又开始熟悉SQL数据库、asp.net开发程序的环境配置等知识,继而又开始熟悉人工智能、专家系统等知识,写项目时备用,还有嵌入式系统的应用程序开发等等,硬件、软件都要我一个人负责,后来还有GIS的应用开发等等,再后来就是做项目经理,负责项目实施,结果给了几个外行人,我不仅要撰写所有的相关技术文档,还要找各个部门协调关系要人,结果要来的人素质可见一斑,又鉴于很多其它原因,不能向领导汇报。。。这么多年,我开始后悔自己为什么每次交给新的任务的时候,都从来不说“不”字,我想只要可以学,什么都能做,现在我发现自己真的错得可怜,每一块都没做好,也找不到自己的方向了。

        测试,是我最后选择的唯一一个可以继续在软件行业立足或是发展下去的赌注了,我想我可能不会成功,曾经的工作积累已变成“鸡肋”,我感到很心苦却没有丝毫的收获。我觉得好累啊。

        我是一只无根的野草,风从哪边来,我就随风摆动,我不知道将来的路会何去何从,我更不知道我选择的这条路对我自身来讲,是不是又高估了自己。这么多年来,第一次对自己产生了怀疑,难道所有的经历对我来说都是一个错误吗?

        测试这个梦,会不会也如我颠沛的命运一样,会夭折在某一个不确定的日子里。

        很羡慕每个人都有自己的人生规划,在走了这么远以后,我竟然看不到路了。

        我究竟能否坚持到最后,这个空间是我测试梦想的承载之地,如果哪一天我离开了这里,也许这个梦便破碎了。。。

        最后,希望所有的朋友们都能选好自己的方向,走好自己的人生之路,天天精彩,一天比一天进步。安好!

  • 软件测试及相关的一些书籍(转)

    2009-01-04 18:45:03

    1、老师推荐过的书籍

    《人月神话》 、《人件》 、《与熊共舞》、《你在为谁工作》。

    2、实习时,经理向我推荐的好书,确实不错

    1):入门好书:《软件测试入门》红皮的,主要是以实例介绍测试大纲,测试大纲到测试用例,面向对象测试,web测试等。同类的还有《软件测试》这本书。

    2):《实用软件测试指南》,本书和上面一本书完全不同,似乎有一种信马由缰的感觉,不怎么建议什么大纲,而是偏向于意识方面,特别上每一个知识点、每一中软件攻击方法,都拿一些知名软件来说明,比如window,word等。

    3):《面向对象的软件测试》主要针对的是面向对象的单元测试---类测试,书中自始至终贯穿了一个例子:Brickle游戏的例子(和弹砖块游戏相似的一个游戏),全书从测试视角来看问题,详细讨论了从用例分析到设计模型如何从测试视角看问题,然后分析了具体的类测试以及类的交互测试,后面还有分层机构的测试和系统测试,都是拿例子来分析,比较直观,不象那些全篇都是理论的拗口的书,这本书还是比较好的,推荐大家都看一下!

    4):《软件开发的科学与艺术》,是曾经在微软工作过的几个人合写的,主要是讲讲他们在微软的经历和经验。里面就有讲到微软的测试是怎么做的经验之谈,里面还有一些测试计划,测试规范的规划文档,可以参考一下!

    5):《软件测试技术》

    6):软件自动化测试工具的一些书籍,好像没有较专门的,这些可以看看它们的电子书籍,这方面很多!偏向于自动化理论方面的有一些好书:比如 《软件测试自动化》

    7):《软件测试求生法则》:作者积累数十年软件开发和测试经验,揭示出软件测试面临的几大人际挑战,包括获得软件培训、与开发人员保持良好关系、争取管理人员的支持、与客户保持交流、满足不断变化的需求以及如何学会说不,并且通过具体的案例讲述了解决这些挑战的策略性方法。

    还有一些:  

    《软件测试方法与技术概论》
    《软件测试方法与应用》
    《Software Testing》 Sams RonPatton(美) [机械工程出版社]
    《实用软件测试指南》 [清华大学出版社]
    《软件测试经验与教训》
    《软件测试驱动开发》
    《计算机软件测试技术》
    《自动化测试的引入,管理与实施》 Elfriede Dustin [清华大学出版社] 推荐e文原版
    《有效软件测试》 Elfriede Dustin [清华大学出版社] 新语译
    《软件测试》 Paul.C.Jorgensen CRC [机械工程出版社]
    《软件测试自动化》 Paniel J.Moslsy [机械工程出版社] 邓波译 中文翻译的不错。

    附:若英语功底好的人,可以看原版,尽量不要看翻译版,有时候很多翻译版容易将一些关键点翻得有点偏差。

    摘自《测试新手学习宝典》

  • 软件测试模型的演变(转载)

    2009-01-04 13:05:35

        软件测试模型与软件测试标准的研究也随着软件工程的发展而越来越深入,在20世纪80年代后期Paul Rook提出了著名的软件测试的V模型,旨在改进软件开发的效率和效果。V模型反映出了测试活动与分析设计活动的关系。

        V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求。但V模型存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。
     
        Evolutif公司针对V模型的缺陷,相对于V模型,提出了W模型的概念,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。

        W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。

        但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。

  • 软件测试瓶颈之我见

    2009-01-04 12:35:00

     

        作为一个在IT行业从业7年多的“经验”,本人作为一个外行的旁观者,对于软件测试给予一个“菜鸟级”的评述,不介意大家仍来的烂柿子和臭鸡蛋,只是想把自己对于这门行业的“疏狂想法”与大家分享之。

        我想我一定是一个求全责备的傻瓜,以至于在IT行业里“纵横”了7年多,却只是个入门级的菜鸟;我想我又一定是个不幸的幸运者,毕竟浅尝辄止的目睹和变相参与了N多个IT项目,从IT项目系统最初的申报、策划、执行到后期的验收、推广及培训等等都有涉猎,而在这个过程中,唯一“感冒”的便是系统开发过程的测试工作。

        这个单位极其不完善,从始至终几乎无测试部门或人员,作为一名外行,早年我也参与了部分系统的测试工作,仅仅限于手工点击,似乎任何一个外行都能点出很多问题,有些问题还是无法运行的大问题。也许一般的小型IT公司都会让一些人随机的点点就完了。

        鉴于本人做事一向过于认真,(以后证明这是“错误”的)。就找来很多测试书籍或是测试方法、测试用例等等相关的较为专业的测试流程自学之,自己编写测试用例等,后来才发现,等我都熟知并应用了这一流程后,没人采纳和予以实行,毕竟这个环节对领导层或是开发层来说,无关紧要。尤其,再近2年任项目经理期间,更是将测试纳入正轨,结果乎,可想而知啊。

        测试之瓶颈1:测试到底什么时期开始?从长远及全面角度看,应该贯穿整个项目进行的始末。但有多少公司真的能做到这样呢?一般情况都是系统完成后进行测试,一般情况下,开发人员做白盒测试(单元测试,代码调试),再用测试人员用工具或是手动进行一些简要的功能性或界面测试。这是目前比较行之有效且很多稍微正规的IT公司采用的手法,但对于一个发展的企业来说,前期的开发文档的测试,也是不容忽视的。有些潜在的隐患在设计文档中就已经暴露了,而对于这部分的测试一般都以评审取代了。

        瓶颈2:测试人员的素质和综合能力。一个优秀的测试工程师应该是一个多面手,他既要懂的系统设计的相关理论,又要懂的如何平衡主要测试点和测试效率及测试用具的使用。同时,测试工作也是一个精细且全面考量系统性能的重要环节,鉴于不同的操作系统及配置环境,测试的内容和所要考量的其它相关性能,即关联性,这同样非常重要。

        譬如:基于嵌入式系统的测试(掌上电脑、智能手机等),在对一些程序的功能实现上,还要考量系统的运行速度,CPU的占用率等等。总之,不同的运行环境,对于性能参数的测试至关重要。

        瓶颈3:测试的报告记录。一个测试完成后的测试问题报告单极为重要,对于结果的分析更为重要。一般公司每完成一个项目后都只把测试问题修改后,然后备案即可。但疏不知对于结果的分析也可能会发现更重要的问题或是对于今后开发工作的一个很好的借鉴。

        所有的测试瓶颈问题都归于一个思想,那就是效率和利润的平衡问题。在追求眼前利润最大化的驱动下,很少会有企业关注测试这一块重中之重,同理,也就不会有人专注测试的工作。毕竟,也许你做10年的测试工作也付出的代价也不足以一个开发人员2年作出的努力;也许你用了很多的工作时间和精力,而测试出的问题可有可无,无关紧要,更可怕的是,一提交客户时,总会出现这样或那样的不可再现的错误,也许是系统不稳定造成的,也许是其它因素,这时,最让人头疼。虽说没有完美的程序,但还是希望自己的努力能得到认可,而测试这一行业,或者说这一工作,得到认可或是收获的价值,有时候很难察觉或是得到。

        不要以为测试工作很简单,其实它既是一门技能,也是一门技艺。也许穷极一生都很难达到一种完美或是权威。尤其在国内,接触过太多的公司或是软件系统,国内的软件应用性很差,生命力太短,也许要健全或是发展中国的软件行业,同样也需要我们思考一个问题:只为了利润或是利益而做的工作,永远无法得到长足的进步和发展,他只能满足短期的目标,而我们发展中国家,在这个过渡时期,所能做的也许只有此了,毕竟赶上发达国家的开发和研发水平还要有很艰难的一段路程。

        拿来主义固然值得借鉴,但终究还是要创新和发展,谈得有点远了。也许,当我们把计算机技术利用中国千年的哲学思想:天人合一的角度去发展,或许才会有所突破吧!

  • 写给浮躁的IT同仁

    2009-01-03 15:36:13

        1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。

       2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。

       3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。

       4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。

       5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸出很多知识点;不会举一反三你就永远学不会。

       6.知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。

       7.学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览群书。

       8.看再多的书是学不全脚本的,要多实践。

       9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里。

       10.学习脚本最好的方法之一就是多练习。

       11.在任何时刻都不要认为自己手中的书已经足够了。

       12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。

       13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;

       14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件;

       15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中。

       16.不要漏掉书中任何一个练习——请全部做完并记录下思路;

        17.当你用脚本到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个代码的完整性,然后分析自己的错误并重新编写和工作。

       18.别心急,写脚本确实不容易;水平是在不断的实践中完善和发展的;

       19.每学到一个脚本难点的时候,尝试着对别人讲解这个知识点并让他理解----你能讲清楚才说明你真的理解了。

       20.记录下在和别人交流时发现的自己忽视或不理解的知识点。

       21.保存好你做过的所有的源文件----那是你最好的积累之一。

       22.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先你要学会自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相关资料,别老是等待别人给你希望,看的出你平时一定也很懒!

       23.到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己的帖子没人回的。

       24,虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方,如果你总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的才有讨论的说法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你讨论呢。
      25、不要因为工作简单就不重视,简单的工作做好了能体现个人的态度,简单的工作做好之后才能够有效管理作简单工作的人。

      26、少发牢骚,多提建设性意见,前者说不定哪天会被领导听见,也影响自己的心情;后者可能会得到领导重视,说不定哪天机会就来了,再说以解决问题的思路来看待问题,不断的思考就会不断进步,也有利于良好心态的形成

      27、做好自己能够掌控的事情,对于自己无法影响的东西,少想、少说

      28、吃亏就是占便宜

      29、不要追求绝对公平,否则是自寻烦恼

       浮躁的人容易问:我到底该学什么;----别问,学就对了;

       浮躁的人容易问:Js有钱途吗;----建议你去抢银行;

       浮躁的人容易说:我要中文版!我英文不行!----不行?学呀!

       浮躁的人经常说:啊呀,今天放松一下,从明天开始我一定认真学!

       浮躁的人分两种:只观望而不学的人;只学而不坚持的人;

       浮躁的人永远不是一个高手。

    摘自:《测试新手学习宝典》

  • 求《计算机软件测试》

    2009-01-03 14:26:16

    安家的第一天,小女子以后将踏上中国软件业的测试道路的征程,曲折而漫长,望能在该地盘上谋得一个交流与沟通的场地,共勉之。

    现求《计算机软件测试》电子版  中英文版均可《testing computer software》谢谢

     

Open Toolbar