MSN: luxuabc@hotmail.com

发布新日志

  • 如何定义Bug的优先级

    2007-12-12 18:32:52

        在测试工程师的日常工作中,最经常做的也是必须做的就是提交缺陷报告.在提交Bug的时候,我们要给出这个Bug的优先级(Priority),开发人员会根据Bug的优先级来决定先修那个Bug,后修哪个Bug.所以优先级的正确与否会影响到Bug的解决时间进而可能会影响测试和开发的进度.对于一个Bug的优先级也往往是QA和RD争论的焦点.

       在我们的公司中Bug的优先级根据其严重度和发生的频率和环境来决定.首先一个Bug有5种严重程度的定义:

    严重度A--系统Crash,不能进行安装等;

    严重度B--需求说明书中要求的重要功能没有实现;

    严重度C--功能存在缺陷;

    严重度D--功能可以进一步改进;

    严重度E--建议

    优先级的定义如下:

    Priority 1--必须立即修复;

    Priority 2--在Beta前必须修复;

    Priority 3--在release前必须修复;

    Priority 4--在下一版修复;

    Priority 5--可以修复或不修;

    接下来根据Bug发生的频率和环境建立一张优先级Mapping表.

    重现频率       

    Always  Sometimes  Hardly In User Environment

     严重度A

     P1  P1  P2  P1
     严重度B  P1  P2  P3  P2
     严重度C  P2  P3  P4  P3

     严重度D

     P4  P4  P4  P4
     严重度E  P5  P5  P5  P5

    根据这张表就可以很容易定义Bug的优先级了.

  • 论黑盒测试与白盒测试

    2007-12-05 12:06:45

        黑盒测试和白盒测试是两种不同的测试方法.在整个的测试过程中两种方法都会用到,但以经验来看,在一个项目中测试工程师还是以黑盒测试为主,白盒测试为辅.对于有些人认为黑盒测试没有技术含量,这是完全错误的一种看法,好的黑盒测试需要丰富的经验和敏锐的思维.

    黑盒测试的特点:

    1. 不基于对系统内部的设计和实现.

    2. 用例设计基于功能的定义和需求说明书.

    3. 关注于测试数据的选择和测试结果的分析.

    常见的黑盒测试有,功能测试、压力测试、易用性测试和性能测试等。

    使用的测试方法有,等价类划分、边界值测试、错误测试、启发性测试等。

    当然黑盒测试也存在一些弊端:

    1. 对用例设计人员的经验要求较高,包括数据的选择,对潜在错误的敏感性;

    2. 对于内部实现的bug不容易发现;

    3. 不能提供直观的测试覆盖率。

    白盒测试的特点:

    1. 需要了解系统的整体设计和实现;

    2. 对源代码进行审查;

    3. 在单元测试阶段发现大量的缺陷;

    4. 关注于系统的控制流和数据流;

    常用的一些白盒测试方法有,独立路径测试、逻辑判断测试、数据结构测试、覆盖率测试等。

    白盒测试的不足之处有:

    1. 不能确保系统是否完全符合需求说明书;

    2. 白盒测试的代价会大于黑盒测试;

    3. 需要源代码首先完成才能进行测试;

       在我们的项目中的实践方法是,在早期开发人员通过做单元测试和代码审查来完成白盒测试的大部分,相应的测试模块的分责人也会参与开发人员的Design Review Meeting。在集成测试和系统测试部分主要是测试人员进行黑盒测试,必要时会对一些核心模块或者bug比较多的模块与开发人员一起重新做Code Review。在产品比较稳定之后,会采用一些测试工具如Rational Purecoverage来做覆盖率测试,通过覆盖率测试可以发现哪些函数没有跑到,进而更新或加入新的测试用例。但覆盖率不可能100%,一般采取的标准是函数覆盖率90%,语句覆盖率70%。

Open Toolbar