04年决定走测试这条路,在南方我开始了! 05年为了寻求突破,我来到北京! 这条路我走得时间还不是很长,可是我喜欢,并且会坚持自己的初衷继续走下去! 这片小小的空间,愿跟大家一起分享测试路途上的点点滴滴! QQ:550709485

发布新日志

  • 测试周期的评估

    2008-09-19 13:39:04

    如何评估项目的测试周期?任何一个测试部门的负责人都应该具备这样的能力,在现实的工作中,评估项目的测试周期其实是非常复杂的一件事情。

    大家都知道,测试的过程其实并不简简单单是测试的事情,这个过程依然包含了开发的任务(BUG的解决),也就是说测试周期必须充分评估测试时间以及开发修复的时间。一个公司,如果开发团队的能力比较强,并且有非常好的流程保障的话,在一定程度上通常开发交付测试的项目的质量就比较高,而对于测试部来讲,可以按照11或者21的模式评估测试周期,然而现实的工作状态中,这是一种理想的状态,我相信很少有公司能保障这一理想模式。大部分情况基本都是“这个项目整个周期只有2个月,开发我需要40天或者更多”在这样的情况下,大部分公司采取的行为都是压缩测试的时间。虽然我们也非常清楚这样做是多么的不合理,可是除了无奈,我们似乎别无他法。也正式因为这样,对测试周期的评估就显得更加的困难,复杂了。

    在我参与的很多项目中,项目启动初期,通常是各个部门“狮子大开口”的过程,只要开的不是那么离谱,通常都能得到保证,在这个过程中,测试部的要求也得到的很好的保证。随着项目的开展,需求的不断变更,可怕的事情开始,测试部虽然坚持,可是面对开发的“无米”状态,测试部也显得无能为力。

    面对这样的现状,我在实际的工作中通常采用两套测试周期的评估方法。第一套就是按照11的方式评估测试周期,其实这套通常情况下是没有实际意义的,但这套评估方式能为测试部争取到一个主动的位置,如果可以的话,也可以为测试部争取更多的时间,在陈述为什么要这么多时间的时候,我们需要尽可能的把所有可能的情况都描述清楚,让项目小组觉得,测试的确是必须保证这么多的时间。当你占据这样一个有利位置的情况下,作为测试部的负责人,需要做一个事情就是测试周期底线的评估。这个过程是对测试时间,质量把控最好的一个方式。我们在第一套方案的基础上,把你认为可以提前的事情提前完成,把你在第一套方案中的“借口”划去,在这个基础上,重新制订一套测试周期评估方案,你对外争取到10天,实际你的心里底线是8天,当你在面对测试内部的人员时,你只能说是6天,这套方案实际是我们对内的方案,然而对于外界,当他们无奈中需要占用测试部的时间,压缩测试的时间时,由于他们已经理亏了,测试在后面的很多工作中能更加的顺利一些,而对于测试内部,你所有的安排其实没有被打乱,一切都依然在你的掌控中,一切进展都是那么的顺利!

  • 测试团队金字塔型的发展模式

    2008-09-16 11:50:24

    在我们公司测试团队的发展过程中,我一直在思考一个问题,什么样的模式适合现有我们这个测试团队的发展?

    我先说说我们公司测试团队的现状,我们的测试团队与研发团队成立的时间差不多,但最初的模式是从属于研发团队,测试团队机会没有自己的独立决策权,完全被研发团队牵着鼻子走。随着测试团队的发展,测试团队优势的凸现,测试团队逐步形成了自己的工作模式,并且在整个公司的发言权,决策权也逐步掌握到了测试团队自己的手中,可以说,这个时候测试团队才真正称得上是一个真正得测试团队。

     

    图一:项目测试过程模型

    图一是一个简单的项目测试过程中的模型。一个待测试项目有测试团队负责人直接负责,每个测试团队都要面对很多的项目,所以测试团队负责人会根据测试团队的实际情况,将项目下发到测试团队内部的项目组中进行。当某个项目组接到具体任务后,会根据项目的实际情况及要求,在具体划分成各个项目小组,每个项目小组的责任各不相同。举个简单的例子:接到测试一个网上购物的项目,测试团队负责人将项目下发到了项目一组。项目一组负责人根据项目的情况,分成界面组,接口组……这里的界面组,接口组就是图中的项目小组,而每个小组的任务也相当繁杂,所以这个时候往往会在指派一名成员直接负责。

     

    图二:测试团队模型

    图二:是我整理的测试团队的另一模型,这里负责人主要职责就项目进度,人员的把控,也就是我们常说的计划以及协调。设计这里主要指的是测试用例设计,从一定程度上来讲,用例质量的高低在很大程度上决定了测试质量的高低,而能胜任用例设计这个职责的人通常在我们的眼里至少已经达到测试中级这个水平。而测试执行,往往是一个底层的枯燥乏味的工作,通常比较适合测试初级水平这样的角色。

    现在我来谈谈为什么我们要采用金字塔型的发展模式。首先我们要讲一下“人”的问题,我相信很多公司的测试团队一定面临过这样的问题,“一才难求”,尤其一些特殊行业,由于对业务要求非常高,往往你具备了很强的测试方面这样那样的能力,但对于这些特殊行业,由于行业的特殊性,业务知识“0”的测试高手往往并不受欢迎,为什么?很简单,你虽然是高手,可是你在短时间内并不能为公司带来客观的效率。这样的公司往往都喜欢由自己培养“专才”试想一下,测试初级的人才相对于公司来讲非常容易招到,而这些测试初级人才经过公司一段时间的培养,既好用,由廉价。所以,测试团队的底层通常就是测试执行,也就是你在还没有更高技能的时候只要你有责任心,就往往能胜任这个任务。但从测试执行上升到测试设计,这个过程是漫长,可能有些人在做测试执行过程中也会接触这样那样的测试设计,但平心而论,这些设计并不能称得上是合格的,只是这样的设计并不会影响到项目质量,而胜任测试用例设计这个职责,在对公司业务方面,以及新技术方面的才能必须非常的突出,只有这样,才能设计出高效的测试用例。

    而从金字塔型的发展模式的另一方面而言,也是不同的责任制,每一层向自己的上一层直接汇报,通过这样的方式,即锻炼了不同的人,也让工作变得简练,变得有调理。

  • BUG管理平台-JIRA平台的部署

    2008-09-08 13:24:28

     

    JIRAAtlassian开发,采用的是J2EE技术,随着对JIRA使用的更进一步,了解的更进一步,发现JIRA真的非常强大。

    1.               J2SDK安装及设置(版本:j2sdk1.4.2

    J2SDK的安装非常简单,点击下一步下一步即可完成安装。

    安装完j2sdk以后,需要对J2SDK进行设置:我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.4.2):JAVA_HOME=c:\j2sdk1.4.2; classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.;不能少,表示当前路径)path= %JAVA_HOME%\bin; (系统里已经有了path变量,只需要在path最前面加上去即可)

    2.               TOMCAT安装及设置(版本:tomcat5.5

    Tomcat的安装也非常简单,同样是点击下一步,下一步即可完成安装。

    安装Tomcat后,同样需要进行Tomcat的配置:我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat5.5):

    CATALINA_HOME=c:\tomcat5.5; CATALINA_BASE=c:\tomcat5.5; 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet-api.jar(此文件在tomcat5以前名为:servlet.jar)追加到classpath中去,修改后的classpath如下:

    classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;

    最好再拷贝到:C:\j2sdk1.4.2\jre\lib\ext目录下,接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。这里的8080端口是可以进行修改的,但通常都采用默认的8080端口。

    TOMCAT的端口号可以在TOMCAT的安装目录的conf/service.xml进行修改,如果启动TOMCAT无法启动,可以进入TOMCAT的安装目录的LOG下查看相关日志,进行确认。

     

    3.               数据库的安装及配置

    JIRA平台支持外部数据库,最常用的是是ORACLESQL SERVER

    我们公司选择的是ORACLE10G服务端数据库。假设我们创建了提供给JIRA使用的数据库JIRADB,用户为JIRA,角色:Connect Exp_Full_DatabaseImp_Full_DatabaseResource,系统权限:Create Any TableCreate Table Select Any DictionaryUnlimited Tablespace,我们需要让此用户可以连接到此数据库,以及能创建库表。此处不做详细介绍。数据库的安装配置不做详细介绍,大家可以参考ORACLE方面的资料。

    4.               JIRA部署

    4.1.          JIRA配置

    l         版本:

    atlassian-jira-enterprise-3.6.2.zipenterprise ear/war

    在安装根目录下建立一个空目录JIRASVC(比如d:/jirasvc),把atlassian-jira-enterprise-3.6.2.zip解压到当前文件夹。

    l         修改:

    D:/jirasvc/atlassian-jira-enterprise-3.6.2/edit_webapp/WEB-INF/classes/entityengine.xml

    修改内容如下:

    修改<datasource> Field-type-name=”oracle10g【此处需要依据各自的后台的数据库】

    (第94<datasource name="defaultDS" field-type-name="oracle10g"

    修改完成后,把此文件拷贝到下列目录下

    D:/jirasvc/atlassian-jira-enterprise-3.6.2/webapp/WEB-INF / classes

    l         编译war

    双击执行D:/svc/atlassian-jira-enterprise-3.6.2/build.bat批处理命令即可。如果修改了edit_webappwebapp下的文件,必须重新执行编译动作。

    4.2.          tomcat配置

    l         copy文件:

    D:/jirasvc/atlassian-jira-enterprise-3.6.2/dist-tomcat\tomcat-5.5\jira.xml――c:\timcat5.5\conf\catalina\localhost

    l         修改文件1

    c:\timcat5.5\conf\catalina\localhost\jira.xml

    修改内容如下:

    <datasource name="defaultDS" field-type-name="oracle10g" helper-class="org.ofbiz.core.entity.GenericHelperDAO" check-on-start="true" use-foreign-keys="false" 。。。。。。注意:去掉schema-name="PUBLIC",无论用的是oracle9i还是10gfield-type-name都配置成oracle10g

    l         修改文件2

    C:\tomcat5.5\conf\server.xml

    修改内容如下:

    Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"  username="jira" password="jira" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.1.19:1521" connectionProperties="SetBigStringTryClob=true" maxActive="20"/>

    更新TOMCAT的库文件

    jira-jars-tomcat5.zip解压后的jar文件拷贝到Tomcat’s common/lib目录下

    oracle10gJDBC驱动(ojdbc14.jar)拷贝到Tomcat’s common/lib目录下

    4.3.          启动Tomcat

    l         开始-程序-Apache Tomcat5.5Start Tomcat

    l         我的电脑-管理-服务和应用程序-服务-Apache Tomcat

    l         启动中,可以查看C:\tomcat5.5\log,这个可以帮助问题定位

    4.4.          JIRA应用

    l         IE中输入http:/jira安装机器的IP地址:端口号/jira即可启动JIRA

    l         端口可以在 C:\tomcat5.5\conf\server.xml找到,如果端口冲突,也可以在这里进行修改

  • 测试流程

    2008-08-29 17:03:52

    测试流程是一个老话题,然而由于测试行业的现状,很多公司的测试部门本身还非常的不完善,更别谈什么测试流程了。我与一些朋友沟通过,朋友公司的测试部门通常情况就是开发让干什么就干什么,完全隶属于开发。我们公司这点还不错,从有开发部门的第一天起,测试部门也就随之建立了,但在测试部门成立初期,也是在开发让你干什么你就只能干什么,与开发一起在项目初期就介入项目几乎不可能,而且在测试环境的维护上,开发基本不同意由测试部门接手,随着测试部门的逐步强大,如今测试部门基本达到了项目启动即介入项目(虽然介入的测试人员有限),测试环境完全由测试部门接管。今天我把我们公司的测试流程拿出来和大家探讨探讨,看看是否还有改进的地方。

    左图是现在我们测试部门的一个测试流程,右图是版本控制的一个基本流程。

    我解释一下左图,需求文档,设计文档分别有需求部门和开发部门完成,由于一些特殊情况,比如人员上并不能完全是各司其职,通常有些人员是互串的,也就是部分人员可能既属于需求部门,又属于开发部门,这里存在一个弊端就是往往在做具体的工作时容易掺杂其他感情色彩。对于测试部门来讲,必须依据这两份文档整理出适合自己测试部门所需的需求,也就是我们看到的流程中的测试需求说明。对于这个流程中我个人一直有疑问的一个地方就是在对于测试需求说明和测试计划方面,我个人倾向于在此处也应该增加一个评审机制。比如测试需求说明,对于编写测试用例的测试工程师来讲,这是他的根本,如果这个根本在初期已经出现了问题,由于编写测试用例的测试工程师并不清楚,那么编写完成的测试用例对于后面的测试工作来讲可能就会出现无效。同样对于测试计划,目前由于并没有加入风险的各种评估,我们公司仅仅把测试计划看作是一个工作时间以及测试环境的划分,其实这同样也存在问题,因为测试计划应该是测试过程中负责人对人,物,时间的把控的依据,如果不能很好的贯彻执行,这个也就成了一纸空文了。而在实际的操作中,我发现最难的部分主要出现在了测试计划以及测试用例,如何编写合理的测试计划,如何编写高效可执行的测试用例。右图的版本控制上,我只是做了一个简单的介绍,结合左图,大致的把版本流向予以表述。请大家多提宝贵意见!

     

     

数据统计

  • 访问量: 18586
  • 日志数: 20
  • 建立时间: 2008-08-24
  • 更新时间: 2008-11-23

RSS订阅

Open Toolbar