凤凰在大限到来之时集梧桐枝于自焚,在烈火中新生,其羽更丰,其音更清,其神更髓。

发布新日志

  • 测试类型(转贴)

    2007-02-26 18:04:25

     黑盒测试:不基于内部设计和代码的任何知识,而是基于需求和功能性。

    白盒测试:基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。 51testing软件测试博客-QdKKP,Ba

    单元测试:最微小规模的测试;以测试某个功能或代码块。典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。这个工作不容易作好,除非应用系统有一个设计很好的体系结构; 还可能需要开发测试驱动器模块或测试套具。

    累积综合测试:当一个新功能增加后,对应用系统所做的连续测试。它要求应用系统的不同形态的功能能够足够独立以可以在全部系统完成前能分别工作,或当需要时那些测试驱动器已被开发出来; 这种测试可由程序员或测试员来做。
      集成测试:一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。

      功能测试:用于测试应用系统的功能需求的黑盒测试方法。这类测试应由测试员做,这并不意味着程序员在发布前不必检查他们的代码能否工作(自然他能用于测试的各个阶段)。

    系统测试:基于系统整体需求说明书的黑盒类测试;应覆盖系统所有联合的部件。
     端到端测试:类似于系统测试;测试级的“宏大”的端点;涉及整个应用系统环境在一个现实世界使用时的模拟情形的所有测试。例如与数据库对话,用网络通讯,或与外部硬件、应用系统或适当的系统对话。

      健全测试:典型地是指一个初始化的测试工作,以决定一个新的软件版本测试是否足以执行下一步大的测试努力。例如,如果一个新版软件每5分钟与系统冲突,使系统陷于泥潭,说明该软件不够“健全”,目前不具备进一步测试的条件。

      衰竭测试:软件或环境的修复或更正后的“再测试”。可能很难确定需要多少遍再次测试。尤其在接近开发周期结束时。自动测试工具对这类测试尤其有用。

      接受测试:基于客户或最终用户的规格书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。 51testing软件测试博客V-z?"S0i^

      负载测试:测试一个应用在重负荷下的表现,例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败

      强迫测试:在交替进行负荷和性能测试时常用的术语。也用于描述象在异乎寻常的重载下的系统功能测试之类的测试,如某个动作或输入大量的重复,大量数据的输入,对一个数据库系统大量的复杂查询等。

      性能测试:在交替进行负荷和强迫测试时常用的术语。理想的“性能测试”(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。

    可用性测试:对“用户友好性”的测试。显然这是主观的,且将取决于目标最终用户或客户。用户面谈、调查、用户对话的录象和其他一些技术都可使用。程序员和测试员通常都不宜作可用性测试员。 51testing软件测试博客.

    安装/卸载测试:对软件的全部、部分或升级安装/卸载处理过程的测试。

    恢复测试:测试一个系统从如下灾难中能否很好地恢复,如遇到系统崩溃、硬件损坏或其他灾难性问题。

      安全测试:测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样。这可能需要复杂的测试技术。

    兼容测试:测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。

    比较测试:与竞争伙伴的产品的比较测试,如软件的弱点、优点或实力。

      Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
    Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。

  • 07年职场必做的10件事

    2007-02-09 11:32:15

    还没来得及总结2006年,新的一年已经来到我们的面前。回首这一年,你在职场上的步伐是前进了一大步还是停滞不前呢?你还在为薪水低而无奈地抱怨吗?你是否想炒掉现在的老板自己去创业呢?这一连串问号让我们在2006年留下太多遗憾,不过不要紧,薪水不涨也罢,职位不升也无妨,2007年我们给自己一个机会,去努力,去奋斗,去突破自己在职业发展上所面临的瓶颈,在新的一年里让你离自己的目标越来越近。

    必做事之1  跳一次槽要选对行业

    如果你在本单位既不能得到加薪的机会,也没有升职的苗头,而且自己日复一日地混日子,对工作没有了激情。那就请跳槽吧,因为跳槽后,你去了一个全新的环境,新鲜感会刺激你认真工作,使你的工作状态得到调整。
    U5I3} A%]#ys49040    专家支招:在决定是否跳槽之前,先要做好自我定位。其次是选准跳槽行业。如通晓国际惯例的本土金融分析师、会展设计师等将受追捧。

    必做事之2  确立一个年度目标

    中国社科院新发布的2006年人才蓝皮书中显示,七成都市人行走在“过劳死”边缘。专家认为,如果知识分子再不注意调整亚健康状态,不久的将来,这些人中的2/3将死于心脑血管疾病,只有1/10的人有希望能安享天年。 51testing软件测试博客^ f`}(S
    专家支招:不少白领的工作时间正在从“朝九晚五”向“朝九晚无”发展。所以,在2007年,我们给自己定的首要任务就是给自己一个健身的机会。从今天开始,不妨有意识地爬楼梯或是周末去爬山,这是简单的锻炼,其实只要坚持就会有好的效果。

    必做事之3  学一项手艺要看准

    如果你不是技能型人才,如果你不是企业的核心员工,那你就需要在2007年好好努力,用实际的成绩来证明你自己在公司的作用。
    JCr7FvZd J49040专家支招:智联招聘的职业专家认为,到新兴行业去就业,是很理性的选择。例如,最近几年,宠物经济受关注。据统计,北京人每年要花2000万元养宠物,上海人每年用于宠物上的花费更高达6亿元。随着宠物市场的不断扩容,宠物饲养、宠物服务、宠物医疗等正在形成宠物经济庞大的产业链,赚小猫小狗的钱,将会成为新的服务方向。

    必做事之4  考一个证书自涨身价

    “我现在这点儿外语水平根本不够用!”经常听到有人这样抱怨,在外企工作,身边的同事,公司的老板,甚至谈判的客户都是形形色色的外国人,中国入世承诺金融行业全面开放,世界各大外资金融机构蜂拥而至。 51testing软件测试博客 `b)Q#^;dUx)uGP
    专家支招:智联招聘职业专家表示,英语精通程度对薪资的影响十分明显,外语能力越高,其薪资的竞争力也就越强。除翻译外,与英语能力关系最密切的五个职位是融资专员、外汇主管、信用证结算、律师法务和咨询。外语能力达到熟练的人群今年的薪资较去年同期有了将近2000元的升幅。能证明你外语水平的证书实在太多了,托福证书、雅思证书、托业证书、剑桥商务英语证书等等。

    必做事之5  明白一个道理读本书

    如果你掌握了某种技能、而且你外语交流能力也不错,又是公司的关键员工,恭喜你,你进入了职业发展的稳定期。但危险也会随之而来,比如你会有职业厌倦感。 51testing软件测试博客w9o(o4g+j u~
    专家支招:智联招聘职业专家建议你去读一本叫《把工作做到出色》的书。把工作做到出色,几乎是优秀工作者对自己的一致要求,而对于这个要求,并不是所有的工作者都能认可的。做到出色要付出更多的时间和精力,薪水和待遇却很可能暂时并不比别人好。

    必做事之6  做一次评估争取加薪

    或许你入职一两年了,但你的薪水并没有跟着资历的增加而水涨船高;或许你想要老板给你加薪,但老板确认为你不值那个价儿,别担心,2007年的任务就是证明你具备获得更高报酬的价值。并且,你目前的工资和你的真正价值之间的差别越大,你就应该要求越多。
    l,O\/q@P49040专家支招:中华英才网人才研究中心专家表示,你必须首先评估自己的真实价值,然后在你要求加薪之前花些时间提升你的价值——唯有如此,你才能为要求加薪找出正当理由。

    必做事之7  制订一份健身计划

    很多人都拥有一份理想的职业发展计划。但仔细分析这个计划,常常会发现目标太过美好,不是一时半会能实现的。其实要想职业发展能够持续,需要在自己工作的岗位上做出一个成绩,重要的是你有自己短期的目标,并且踏踏实实地工作,以帮助你去实现这些目标。51testing软件测试博客&S8MriBQ
    专家支招:智联招聘的职业专家提示,职业目标应该分为长期目标和短期目标,现在所说的这个主要是指短期目标,所以注意确定这些目标的可操作性很重要,而且,这些目标一定必须是你长期目标的分解,是你实现长期目标的必要充分条件。

    必做事之8  用一次行动伺机升职

    你有幸进入了一家大公司,你深深体会到这里是“宫门深似海”。辛辛苦苦谋到一个经理,一查公司架构表,即使是自己的上司,离最高层的位置还有七八个阶梯。如何才能让老板发现你是个难得的人才,而重用你呢?
    ]/{+tR*C D7f49040专家支招:著名心理咨询专家韩三奇表示,第一,要了解企业的文化。第二,自愿承担艰巨的任务。第三,建立良好的人际关系。第四,提出问题的解决方案。最后一点往往效果最大。你必须始终以管理者的眼光观察部门公司所发生的事情,并及时将发现的问题归纳总结,向公司领导提出管理建议。

    必做事之9  当一回老板摸准脉搏

    在新的一年里,不愿再看老板脸色,给别人打工不如自己做老板。要想创业首先就要摸准了市场的“脉搏”,其实眼下的创业领域不断扩展,涉及通信业、信息业、服务业、零售业、教育培训业等各行各业,无线通信、网络游戏、创意设计等,更是为创业者带来诸多商机。
    W+_0qsD-?49040专家支招:北京大学生就业之家主任任占忠表示,创业是需要很多资源的,其中,创业对人的心理承受能力、抗挫折的能力等都有很高的要求。自己创业是基于自身的行业积累,一个优秀的创业者,除了有承担风险的压力和能力外还要有良好的客户资源,以及准确的市场判断以及雄厚的资金支持。建议那些有创业欲望的人常去类似华彩科技等创业论坛看看,这些平台上提供很多的机会和资金。

    必做事之10  留学一次争取竞争力

    如果你的职业发展遭遇瓶颈,或者你想到另外的行业去工作,但又很难进入。这时你可以通过读书来帮助自己实现愿望。你可以用留学作为一个跳板,来给你增添新的职场竞争力。一项调查显示,世界财富500强的企业在招聘中层以上职位的员工时,是否有国外学习生活、工作的经验已经成为一个最基本的原则。
    %G tIm L49040专家支招:英国伦敦城市大学东亚地区总监屈敏表示,留学是你给自己打开了另外一扇门,给自己一个新的机会。而国外留学生活的实际经验,会让你从里到外发生变化。现在中国,工作几年再去读书的人越来越多,这些人知道自己的学习目标在哪里?而且不少中国留学生已经不把那些老牌热门国家作为留学目的地。而且在专业上也独辟蹊径。另外,要充分意识到教育的附加值,选择一个能提供良好就业服务的大学更放心。

  • 软件测试基础

    2007-02-09 10:49:44

    一、软件测试概述

    软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

    软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确(Doing the right things right at the right time.)。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量(Quality is defined as conformance to requirements, not as “goodness” or “elegance”.)。四、质量也代表着它符合客户的需要(Quality also means “meet customer needs”.)。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。只有这些问题都解决了,软件产品的质量才可以说是上去了。

    测试人员在软件开发过程中的任务:

    1、寻找Bug;

    2、避免软件开发过程中的缺陷;

    3、衡量软件的品质;

    4、关注用户的需求。

    总的目标是:确保软件的质量。

    二、常用的软件测试方法

    1. 黑盒测试

    黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。

    黑盒测试的优点有:
    1)比较简单,不需要了解程序内部的代码及实现;

    2)与软件的内部实现无关;

    3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;

    4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

    5)在做软件自动化测试时较为方便。

    黑盒测试的缺点有:
    1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;

    2)自动化测试的复用性较低。

    2. 白盒测试

    白盒测试是指在测试时能够了解被测对象的结构,可以查阅被测代码内容的测试工作。它需要知道程序内部的设计结构及具体的代码实现,并以此为基础来设计测试用例。如下例程序代码:

    HRESULT Play( char* pszFileName )

    {

    if ( NULL == pszFileName )

    return;

    if ( STATE_OPENED == currentState )

    {

    PlayTheFile();

    }

    return;

    }

    读了代码之后可以知道,先要检查一个字符串是否为空,然后再根据播放器当前的状态来执行相应的动作。可以这样设计一些测试用例:比如字符串(文件)为空的话会出现什么情况;如果此时播放器的状态是文件刚打开,会是什么情况;如果文件已经在播放,再调用这个函数会是什么情况。也就是说,根据播放器内部状态的不同,可以设计很多不同的测试用例。这些是在纯粹做黑盒测试时不一定能做到的事情。

    白盒测试的直接好处就是知道所设计的测试用例在代码级上哪些地方被忽略掉,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

    白盒测试的缺点有:

    1)程序运行会有很多不同的路径,不可能测试所有的运行路径;

    2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;

    3)系统庞大时,测试开销会非常大。

    3. 基于风险的测试

    基于风险的测试是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做。有如下一个图,横轴代表影响,竖轴代表概率,根据一个软件的特点来确定:如果一个功能出了问题,它对整个产品的影响有多大,这个功能出问题的概率有多大?如果出问题的概率很大,出了问题对整个产品的影响也很大,那么在测试时就一定要覆盖到。对于一个用户很少用到的功能,出问题的概率很小,就算出了问题的影响也不是很大,那么如果时间比较紧的话,就可以考虑不测试。

    基于风险测试的两个决定因素就是:该功能出问题对用户的影响有多大,出问题的概率有多大。其它一些影响因素还有复杂性、可用性、依赖性、可修改性等。测试人员主要根据事情的轻重缓急来决定测试工作的重点。

    4. 基于模型的测试

    模型实际上就是用语言把一个系统的行为描述出来,定义出它可能的各种状态,以及它们之间的转换关系,即状态转换图。模型是系统的抽象。基于模型的测试是利用模型来生成相应的测试用例,然后根据实际结果和原先预想的结果的差异来测试系统,过程如下图所示。

    三、软件测试的类型

    常见的软件测试类型有:

    BVT (Build Verification Test)

    BVT是在所有开发工程师都已经检入自己的代码,项目组编译生成当天的版本之后进行,主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确。如无大的问题,就可以进行相应的功能测试。BVT优点是时间短,验证了软件的基本功能。缺点是该种测试的覆盖率很低。因为运行时间短,不可能把所有的情况都测试到。

    Scenario Tests(基于用户实际应用场景的测试)

    在做BVT、功能测试的时候,可能测试主要集中在某个模块,或比较分离的功能上。当用户来使用这个应用程序的时候,各个模块是作为一个整体来使用的,那么在做测试的时候,就需要模仿用户这样一个真实的使用环境,即用户会有哪些用法,会用这个应用程序做哪些事情,操作会是一个怎样的流程。加了这些测试用例后,再与BVT、功能测试配合,就能使软件整体都能符合用户使用的要求。Scenario Tests优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况。

    Smoke Test

    在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为Smoke Test。在很多情况下,做Smoke Test是开发人员在试图解决一个问题的时候,造成了其它功能模块一系列的连锁反应,原因可能是只集中考虑了一开始的那个问题,而忽略其它的问题,这就可能引起了新的Bug。Smoke Test优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低。

    此外,Application Compatibility Test(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。Accessibility Test(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。其它的测试还有Functional Test(功能测试)、Security Test(安全性测试)、Stress Test(压力测试)、Performance Test(性能测试)、Regression Test(回归测试)、Setup/Upgrade Test(安装升级测试)等。

    四、微软的软件测试工作

    1. 基本情况

    测试在微软公司是一项非常重要的工作,微软公司在此方面的投入是非常巨大的。微软对测试的重视表现在工程开发队伍的人员构成上,微软的项目经理、软件开发人员和测试人员的比例基本是1:3:3或1:4:4,可以看出开发人员与测试人员的比例是1:1。对于测试的重视还表现在最后产品要发布的时候,此产品的所有相关部门都必须签字,而测试人员则具有绝对的否决权。

    测试人员中分成两种职位,Software Development Engineer in Test(测试组的软件开发工程师)实际上还是属于开发人员,他们具备编写代码的能力和开发工具软件的经验,侧重于开发自动化测试工具和测试脚本,实现测试的自动化。Software Test Engineer(软件测试工程师)具体负责测试软件产品,主要完成一些手工测试以及安装配置测试。

    2. 测试计划

    测试计划是测试人员管理测试项目,在软件中寻找Bug的一种有效的工具。测试计划主要有两个作用,一是评判团队的测试覆盖率以及效率,让测试工作很有条理的逐步展开。二是有利于与项目经理、开发人员进行沟通。有了测试计划之后,他们就能够知道你是如何开展测试工作的,他们也会从中提出很多有益的意见,确保测试工作顺利进行。总之,有了测试计划可以更好的完成测试工作,确保用户的满意度。

    测试人员在编写测试计划之前,应获得以下文档:

    1)程序经理编写的产品功能说明书或产品开发计划;

    2)程序经理或开发人员提供的开发进度表。

    根据产品的特性及开发进度安排,测试人员制定具体的测试计划。测试计划通常包括以下内容:

    1)测试目标和发布条件:

    a. 给出清晰的测试目标描述;

    b. 定义产品的发布条件,即在达到何种测试目标的前提下才可以发布产品的某个特定版本。

    2)待测产品范围:

    a. 软件主要特性/功能说明,即待测软件主要特性的列表;

    b. 特性/功能测试一览,应涵盖所有特性、对话框、菜单和错误信息等待测内容,并列举每个测试范围内要重点考虑的关键功能。

    3)测试方法描述:

    a. 定义测试软件产品时使用的测试方法;

    b. 描述每一种特定的测试方法可以覆盖哪些测试范围。

    4)测试进度表:

    a. 定义测试里程碑;

    b. 定义当前里程碑的详细测试进度。

    5)测试资源和相关的程序经理/开发工程师:

    a. 定义参与测试的人员;

    b. 描述每位测试人员的职责范围;

    c. 给出与测试有关的程序经理/开发工程师的相关信息。

    6)配置范围和测试工具:

    a. 给出测试时使用的所有计算机平台列表;

    b. 描述测试覆盖了哪些硬件设备;

    c. 测试时使用的主要测试工具。

    此外,还应列出测试中可能会面临的风险及测试的依赖性,即测试是否依赖于某个产品或某个团队。比如此项测试依赖性WindowsCE这个操作系统,而这个系统要明年2月份才能做好,那么此项测试就可能只有在明年5月份才能完成,这样就存在着依赖关系。如果那个团队的开发计划往后推,则此项测试也会被推迟。

    3. 测试用例开发

    一个好的测试用例就是有一个合理的概率来找到Bug,不要冗余,要有针对性,一个测试只针对一件事情。特别是功能测试的时候,如果一个测试是测了两项功能,那么如果测试结果失败的话,就不知道到底是哪项功能出了问题。

    测试用例开发中主要使用的技术有等价类划分,边界值的分析,Error Guessing Testing。

    等价类划分是根据输入输出条件,以及自身的一些特性分成两个或更多个子集,来减少所需要测试的用例个数,并且能用很少的测试用例来覆盖很多的情况,减少测试用例的冗余度。在等价类划分中,最基本的划分是一个为合法的类,一个为不合法的类。

    边界值的分析是利用了一个规律,即程序最容易发生错误的地方就是在边界值的附近,它取决于变量的类型,以及变量的取值范围。一般对于有n个变量时,会有6n+1个测试用例,取值分别是min-1, min, min+1, normal, max-1, max,max+1的组合。边界值的分析的缺点,是对逻辑变量和布尔型变量不起作用,还有可能会忽略掉某些输入的组合。

    Error Guessing Testing完全靠的是经验,所设计的测试用例就是常说的猜测。感觉到软件在某个地方可能出错,就去设计相应的测试用例,这主要是靠实际工作中所积累的经验和知识。其优点是速度快,只要想得到,就能很快设计出测试用例。缺点就是没有系统性,无法知道覆盖率会有多少,很可能会遗漏一些测试领域。

    实际上在微软是采用一些专门的软件或工具负责测试用例的管理,有一些测试信息可以被记录下来,比如测试用例的简单描述,在哪些平台执行,是手工测试还是自动测试,运行的频率是每天运行一次,还是每周运行一次。此外还有清晰的测试通过或失败的标准,以及详细记录测试的每个步骤。

    4. Bug跟踪过程

    在软件开发项目中,测试人员的一项最重要使命就是对所有已知Bug进行有效的跟踪和管理,保证产品中出现的所有问题都可以得到有效的解决。一般地,项目组发现、定位、处理和最终解决一个Bug的过程包括Bug报告、Bug评估和分配、Bug处理、Bug关闭等四个阶段:

    1)测试工程师在测试过程中发现新的Bug后,应向项目组报告该Bug的位置、表现、当前状态等信息。项目组在Bug数据库中添加该Bug的记录。

    2)开发经理对已发现的Bug进行集中讨论,根据Bug对软件产品的影响来评估Bug的优先级,制定Bug的修正策略。按照Bug的优先级顺序和开发人员的工作安排,开发经理将所有需要立即处理的Bug分配给相应的开发工程师。

    3)开发工程师根据安排对特定的Bug进行处理,找出代码中的错误原因,修改代码,重新生成产品版本。

    4)开发工程师处理了Bug之后,测试人员需要对处理后的结果进行验证,经过验证确认已正确处理的Bug被标记为关闭(Close)状态。测试工程师既需要验证Bug是否已经被修正,也需要确定开发人员有没有在修改代码的同时引入新的Bug。

    5. Bug的不同处理方式

    在某些情况下,Bug已处理并不意味着Bug已经被修正。开发工程师可以推迟Bug的修正时间,也可以在分析之后告知测试工程师这实际上不是一个真正的Bug。也就是说,某特定的Bug经开发工程师处理之后,该Bug可能包括以下几种状态。

    已修正:开发工程师已经修正了相应的程序代码,该Bug不会出现了。

    可推迟:该Bug的重要程度较低,不会影响当前应提交版本的主要功能,可安排在下一版本中再行处理。

    设计问题:该Bug与程序实现无关,其所表现出来的行为完全符合设计要求,对此应提交给程序经理处理。

    无需修正:该Bug的重要程度非常低,根本不会影响程序的功能,项目组没有必要在这些Bug上浪费时间。

    五、成为优秀测试工程师的要求

    要成为一名优秀的测试工程师,首先对计算机的基本知识要有很好的了解,精通一门或多门的编程语言,具备一定的程序调试技能,掌握测试工具的开发和使用技术。同时要比较细心,会按照任务的轻重缓急来安排自己的工作,要有很好的沟通能力。此外,还要善于用非常规的方式思考问题,尽可能多的参加软件测试项目,在实践中学习技能,积累经验,不断分析和总结软件开发过程中可能出错的环节。这样,一名优秀的测试工程师就从软件测试的实践中脱颖而出了。

    结束语:微软的软件开发经验积淀深厚,微软工程师们的授课生动溢彩,其中有些内容是结合编程代码所作的详细讲解,较难用介绍性文字加以概括提炼,加之笔者受能力和精力所限,只能撷取部分精华内容整理成文以飨读者,因此难免是挂一漏万,甚至会有失误之处,敬请对本系列文章的关注者谅解及指正。最后对微软老师们的辛勤付出再表由衷谢意!

数据统计

  • 访问量: 2345
  • 日志数: 3
  • 建立时间: 2006-12-11
  • 更新时间: 2007-02-26

RSS订阅

Open Toolbar