发布新日志

  • mantis统计报表乱码问题配置方案

    2016-04-12 17:24:59

    第一步去下载Jpgraph:官网地址:http://jpgraph.net/download/ 请根据您的PHP版本选择下载版本;

    Jpgraph-3.0.7 

    JpGraph。专门提供图表的类库。它使得作图变成了一件非常简单的事情,你只需从数据库中取出相关数据,定义标题,图表类型,然后的事情就交给JpGraph,只需掌握为数不多的JpGraph内置函数(可以参照JpGraph附带例子学习),就可以画出非常炫目的图表!

    下载地址

    http://jpgraph.net/download/download.php?p=1

    第二步,下载完成后,这里很多人没说明,应该要将解压得到的SRC目录改名为jpgraph,并上传到 mantis 的 core 目录下面,这样就很清晰了;

    文件具体存放路径:C:\Program Files (x86)\EasyPHP-5.3.9\www\mantisbt-1.2.19\plugins\MantisGraph\core

    注:这里以C盘为例

    第三步,修改文件jpgraph文件夹下的src目录下的jpgraph_ttf.inc.php,将

    elseif( $aFF === FF_SIMSUN ) 语句

    更改为:

    elseif( $aFF === FF_SIMSUN ) {
    // Do Chinese conversion
    return $aTxt;

    }

    第四步,去后台安装 Mantis图表 1.0 插件;

    第五步,修改程序(可能和描述存在点小的差异,您可以自己找下,很简单的):

    文件mantis\plugins\MantisGraph\pages\config.php(记得本文件改完后用Ultraedit用ASC-II至UTF-8的转换功能保存为UTF-8格式文件,与总体字符集保持一致):
    $t_current_font_selected = array(
        'simsun' => 'SIMFANG.TTF',   //此处为添加处
            'arial' => false,
    //--------------------------------------
    Sans-serif:<br />
    <label><input type="radio" name="font" value="simsun"<?php echo print_font_checked( 'simsun' )?>/>宋体</label><br /> //增加这一行
            <label><input type="radio" name="font" value="arial"<?php echo print_font_checked( 'arial' )?>/>Arial</label><br />
    //---------------------------------------------------------------------
    文件mantis\plugins\MantisGraph\pages\config_edit.php:
    if ( plugin_config_get( 'font' ) != $f_font ) {
    switch ( $f_font ) {
       case 'simsun':    //增加这一行
                    case 'arial':
    //----------------------------------------------------------------------
    文件mantis\plugins\MantisGraph\core\graph_api.php:
    $t_font_map = array(
      'simsun' => FF_SIMSUN,   //增加这一行

    'simsun'=> FF_SIMSUN,          //此处为添加处
                            'arial' => FF_ARIAL,

    第六步,后台设置:

    (1)、管理--》管理插件--》点击“Mantis图表 1.0”名字进入设置界面,
    (2)、Graph library to use选择“Jpgraph”,Font选择“宋体”
    (3)、点击“更改配置”后再看看统计报表中内容,是否已如你所愿。

    还有点小小的插曲,如果提示什么simsun.ttc,simhei.ttf的问题,您就去下载这两个字体,并放到library/jpgraph/fonts/目录下面,就完美解决了。

  • mantis重装出现数据库连接问题解决方案

    2016-04-08 16:51:32

    问题描述:

    之前在此盘下安装过mantis,重新安装一直提示“”BAD database is not supported by PHP. Check that it has been compiled into your server"

    解决方法:
    进入安装路径下(这里安装到C盘下),C:\Program Files (x86)\EasyPHP-5.3.9\www\mantisbt-1.2.19,找文件config_inc.php.sample,将此文件的后缀.sample先去掉,打开此文件,找到如下内容:
    将数据库

    # --- Database Configuration ---
    $g_hostname      = 'localhost';
    $g_db_username   = 'mantisdbuser';
    $g_db_password   = '';
    $g_database_name = 'bugtracker';
    $g_db_type       = 'mysql';

    将 $g_db_password   = '';的密码改为 admin,修改后显示为“

     
    # --- Database Configuration ---
    $g_hostname      = 'localhost';
    $g_db_username   = 'mantisdbuser';
    $g_db_password   = 'admin';
    $g_database_name = 'bugtracker';
    $g_db_type       = 'mysql';
  • git的功能介绍

    2016-04-08 11:20:20

    Git的功能特性:
    从一般开发者的角度来看,git有以下功能:
    1、从服务器上克隆数据库(包括代码和版本信息)到单机上。
    2、在自己的机器上创建分支,修改代码。
    3、在单机上自己创建的分支上提交代码。
    4、在单机上合并分支。
    5、新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
    6、生成补丁(patch),把补丁发送给主开发者。
    7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
    8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
    功能介绍:
    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
    1:查看邮件或者通过其它方式查看一般开发者的提交状态。
    2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
    3:向公共服务器提交结果,然后通知所有开发人员。
    优点:
    适合分布式开发,强调个体。
    公共服务器压力和数据量都不会太大。
    速度快、灵活。
    任意两个开发者之间可以很容易的解决冲突。
    离线工作。
    缺点:
    资料少(起码中文资料很少)。
    学习周期相对而言比较长。
    不符合常规思维。
    代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
    开发模式
    尽管 git 是一个正式项目发布系统,它却可以方便地将你的项目建立在松散的开发人员组织形式上。 Linux内核的开发,就是按这样的模式进行的。在 Randy Dunlap 的著作中("Merge to Mainline" 第17页)就有很好的介绍
    需要强调的是真正的非常规的开发组织形式,git 这种组织形式,意味着对于工作流程的约束,没有任何强迫性的原则。你不必从唯一一个远程版本库中导入(工作目录)。
    项目领导人(project lead)的工作推介
    1.在你自己的本地机器上准备好主版本库。你的所有工作都在这里完成。
    2.准备一个能让大家访问的公共版本库。
    如果其他人是通过默协议的方式(http)来导入版本库的,那么你有必要保持这个 默协议的友好性。 git-init-db 之后,复制自标准模板库的 $GIT_DIR/hooks/post-update 将包含一个对 git-update-server-info 的调用,但是 post-update 默认是不能唤起它自身的。通过 chmod +x post-update 命令使能它。这样让 git-update-server-info 保证那些必要的文件是最新的。
    3.将你的主版本库推入公共版本库。
    4.git-repack 公共版本库。这将建立一个包含初始化提交对象集的打包作为项目的起始线,可能的话,执行一下 git-prune,要是你的公共库是通过 pull 操作来从你打包过的版本库中导入的。
    5.在你的主版本库中开展工作,这些工作可能是你自己的最项目的编辑,可能是你由 email 收到的一个补丁,也可能是你从这个项目的“子系统负责人” 的公共库中导入的工作等等。
    你可以在任何你喜欢的时候重新打包你的这个私人的版本库。
    6.将项目的进度推入公共库中,并给大家公布一下。
    7.尽管一段时间以后,"git-repack" 公共库。并回到第5步继续工作。
    项目的子系统负责人(subsystem maintainer)也有自己的公共库,工作流程大致如下:
    1.准备一个你自己的工作目录,它通过 git-clone 克隆自项目领导人的公共库。原始的克隆地址(URL)将被保存在 .git/remotes/origin 中。
    2.准备一个可以给大家访问的公共库,就像项目领导人所做的那样。
    3.复制项目领导人的公共库中的打包文件到你的公共库中,除非你的公共库和项目领导人的公共库是在同一部主机上。以后你就可以通过 objects/info/alternates 文件的指向来浏览它所指向的版本库了。
    4.将你的主版本库推入你的公共版本库,并运行 git-repack,如果你的公共库是通过的公共库是通过 pull 来导入的数据的话,再执行一下 git-prune 。
    5.在你的主版本库中开展工作。这些工作可能包括你自己的编辑,来自 email 的补丁,从项目领导人,“下一级子项目负责人”的公共库哪里导入的工作等等。
    你可以在任何时候重新打包你的私人版本库。
    6.将你的变更推入公共库中,并且请“项目领导人”和“下级子系统负责人”导入这些变更。
    7. 每隔一段时间之后,git-repack 公共库。回到第 5 步继续工作。
    “一般开发人员”无须自己的公共库,大致的工作方式是:
    1.准备你的工作库,它应该用 git-clone 克隆自“项目领导人”的公共库(如果你只是开发子项目,那么就克隆“子项目负责人”的)。克隆的源地址(URL)会被保存到 .git/remotes/origin 中。
    2.在你的个人版本库中的 master 分支中开展工作。
    3.每隔一段时间,向上游的版本库运行一下 git-fetch origin 。这样只会做 git-pull 一半的操作,即只克隆不合并。公共版本库的新的头就会被保存到 .git/refs/heads/origins 。
    4.用 git-cherry origin 命令,看一下你有什么补丁被接纳了。并用 git-rebase origin 命令将你以往的变更迁移到最新的上游版本库的状态中。(关于 git-rebase 命令,请参考 git-rebase)
    5.用 git-format-patch origin 生成 email 形式的补丁并发给上游的维护者。回到第二步接着工作。

  • git的基本常用命令2

    2016-04-08 11:15:32

    git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
    git clone https://github.com/tugenhua0707/testgit  从远程库中克隆
    git checkout –b dev  创建dev分支 并切换到dev分支上
    git branch  查看当前所有的分支
    git checkout master 切换回master分支
    git merge dev    在当前的分支上合并dev分支
    git branch –d dev 删除dev分支
    git branch name  创建分支
    git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
    git stash list 查看所有被隐藏的文件列表
    git stash apply 恢复被隐藏的文件,但是内容不删除
    git stash drop 删除文件
    git stash pop 恢复文件的同时 也删除文件
    git remote 查看远程库的信息
    git remote –v 查看远程库的详细信息
    git push origin master  Git会把master分支推送到远程库对应的远程分支上
  • git的基本常用命令1

    2016-04-08 10:12:21

    mkdir: xx(创建一个空目录,xx指目录名)
    pwd: 显示当前目录的路径
    git init: 把当前的目录变成可以管理的git仓库,生成隐藏.git文件
    git add xx:把xx文件添加到暂存区去
    git commit: -m“XX”:提交文件 -m后面的是注释
    git status: 查看仓库状态
    git diff xx:查看xx文件修改了哪些内容
    git log: 查看历史记录
    git reset --hard HEAD 或者git reset --hard HEAD~ 回退到上一个版本
    (如果想回退到100个版本,使用git reset -hard HEAD~100)
           
    cat XX :查看XX文件内容
    git reflog: 查看历史记录的版本号id
    git checkout -- XX :把XX文件在工作区的修改全部撤销
    git rm XX:删除XX文件
    git remote add origin https://github.com/tugenhua0707/testgit关联一个远程库
    git push -u(第一次要用-u,以后不需要)origin master把当前master

  • git功能介绍

    2016-04-08 10:09:31

    Git的功能特性:
    从一般开发者的角度来看,git有以下功能:
    1、从服务器上克隆数据库(包括代码和版本信息)到单机上。
    2、在自己的机器上创建分支,修改代码。
    3、在单机上自己创建的分支上提交代码。
    4、在单机上合并分支。
    5、新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
    6、生成补丁(patch),把补丁发送给主开发者。
    7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
    8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
    功能介绍:
    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
    1:查看邮件或者通过其它方式查看一般开发者的提交状态。
    2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
    3:向公共服务器提交结果,然后通知所有开发人员。
    优点:
    适合分布式开发,强调个体。
    公共服务器压力和数据量都不会太大。
    速度快、灵活。
    任意两个开发者之间可以很容易的解决冲突。
    离线工作。
    缺点:
    资料少(起码中文资料很少)。
    学习周期相对而言比较长。
    不符合常规思维。
    代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
    开发模式
    尽管 git 是一个正式项目发布系统,它却可以方便地将你的项目建立在松散的开发人员组织形式上。 Linux内核的开发,就是按这样的模式进行的。在 Randy Dunlap 的著作中("Merge to Mainline" 第17页)就有很好的介绍
    需要强调的是真正的非常规的开发组织形式,git 这种组织形式,意味着对于工作流程的约束,没有任何强迫性的原则。你不必从唯一一个远程版本库中导入(工作目录)。
    项目领导人(project lead)的工作推介
    1.在你自己的本地机器上准备好主版本库。你的所有工作都在这里完成。
    2.准备一个能让大家访问的公共版本库。
    如果其他人是通过默协议的方式(http)来导入版本库的,那么你有必要保持这个 默协议的友好性。 git-init-db 之后,复制自标准模板库的 $GIT_DIR/hooks/post-update 将包含一个对 git-update-server-info 的调用,但是 post-update 默认是不能唤起它自身的。通过 chmod +x post-update 命令使能它。这样让 git-update-server-info 保证那些必要的文件是最新的。
    3.将你的主版本库推入公共版本库。
    4.git-repack 公共版本库。这将建立一个包含初始化提交对象集的打包作为项目的起始线,可能的话,执行一下 git-prune,要是你的公共库是通过 pull 操作来从你打包过的版本库中导入的。
    5.在你的主版本库中开展工作,这些工作可能是你自己的最项目的编辑,可能是你由 email 收到的一个补丁,也可能是你从这个项目的“子系统负责人” 的公共库中导入的工作等等。
    你可以在任何你喜欢的时候重新打包你的这个私人的版本库。
    6.将项目的进度推入公共库中,并给大家公布一下。
    7.尽管一段时间以后,"git-repack" 公共库。并回到第5步继续工作。
    项目的子系统负责人(subsystem maintainer)也有自己的公共库,工作流程大致如下:
    1.准备一个你自己的工作目录,它通过 git-clone 克隆自项目领导人的公共库。原始的克隆地址(URL)将被保存在 .git/remotes/origin 中。
    2.准备一个可以给大家访问的公共库,就像项目领导人所做的那样。
    3.复制项目领导人的公共库中的打包文件到你的公共库中,除非你的公共库和项目领导人的公共库是在同一部主机上。以后你就可以通过 objects/info/alternates 文件的指向来浏览它所指向的版本库了。
    4.将你的主版本库推入你的公共版本库,并运行 git-repack,如果你的公共库是通过的公共库是通过 pull 来导入的数据的话,再执行一下 git-prune 。
    5.在你的主版本库中开展工作。这些工作可能包括你自己的编辑,来自 email 的补丁,从项目领导人,“下一级子项目负责人”的公共库哪里导入的工作等等。
    你可以在任何时候重新打包你的私人版本库。
    6.将你的变更推入公共库中,并且请“项目领导人”和“下级子系统负责人”导入这些变更。
    7. 每隔一段时间之后,git-repack 公共库。回到第 5 步继续工作。
    “一般开发人员”无须自己的公共库,大致的工作方式是:
    1.准备你的工作库,它应该用 git-clone 克隆自“项目领导人”的公共库(如果你只是开发子项目,那么就克隆“子项目负责人”的)。克隆的源地址(URL)会被保存到 .git/remotes/origin 中。
    2.在你的个人版本库中的 master 分支中开展工作。
    3.每隔一段时间,向上游的版本库运行一下 git-fetch origin 。这样只会做 git-pull 一半的操作,即只克隆不合并。公共版本库的新的头就会被保存到 .git/refs/heads/origins 。
    4.用 git-cherry origin 命令,看一下你有什么补丁被接纳了。并用 git-rebase origin 命令将你以往的变更迁移到最新的上游版本库的状态中。(关于 git-rebase 命令,请参考 git-rebase)
    5.用 git-format-patch origin 生成 email 形式的补丁并发给上游的维护者。回到第二步接着工作。
  • git的功能介绍

    2016-04-08 10:04:40

    Git的功能特性:
    从一般开发者的角度来看,git有以下功能:
    1、从服务器上克隆数据库(包括代码和版本信息)到单机上。
    2、在自己的机器上创建分支,修改代码。
    3、在单机上自己创建的分支上提交代码。
    4、在单机上合并分支。
    5、新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
    6、生成补丁(patch),把补丁发送给主开发者。
    7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
    8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
    功能介绍:
    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
    1:查看邮件或者通过其它方式查看一般开发者的提交状态。
    2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
    3:向公共服务器提交结果,然后通知所有开发人员。
    优点:
    适合分布式开发,强调个体。
    公共服务器压力和数据量都不会太大。
    速度快、灵活。
    任意两个开发者之间可以很容易的解决冲突。
    离线工作。
    缺点:
    资料少(起码中文资料很少)。
    学习周期相对而言比较长。
    不符合常规思维。
    代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
    开发模式
    尽管 git 是一个正式项目发布系统,它却可以方便地将你的项目建立在松散的开发人员组织形式上。 Linux内核的开发,就是按这样的模式进行的。在 Randy Dunlap 的著作中("Merge to Mainline" 第17页)就有很好的介绍
    需要强调的是真正的非常规的开发组织形式,git 这种组织形式,意味着对于工作流程的约束,没有任何强迫性的原则。你不必从唯一一个远程版本库中导入(工作目录)。
    项目领导人(project lead)的工作推介
    1.在你自己的本地机器上准备好主版本库。你的所有工作都在这里完成。
    2.准备一个能让大家访问的公共版本库。
    如果其他人是通过默协议的方式(http)来导入版本库的,那么你有必要保持这个 默协议的友好性。 git-init-db 之后,复制自标准模板库的 $GIT_DIR/hooks/post-update 将包含一个对 git-update-server-info 的调用,但是 post-update 默认是不能唤起它自身的。通过 chmod +x post-update 命令使能它。这样让 git-update-server-info 保证那些必要的文件是最新的。
    3.将你的主版本库推入公共版本库。
    4.git-repack 公共版本库。这将建立一个包含初始化提交对象集的打包作为项目的起始线,可能的话,执行一下 git-prune,要是你的公共库是通过 pull 操作来从你打包过的版本库中导入的。
    5.在你的主版本库中开展工作,这些工作可能是你自己的最项目的编辑,可能是你由 email 收到的一个补丁,也可能是你从这个项目的“子系统负责人” 的公共库中导入的工作等等。
    你可以在任何你喜欢的时候重新打包你的这个私人的版本库。
    6.将项目的进度推入公共库中,并给大家公布一下。
    7.尽管一段时间以后,"git-repack" 公共库。并回到第5步继续工作。
    项目的子系统负责人(subsystem maintainer)也有自己的公共库,工作流程大致如下:
    1.准备一个你自己的工作目录,它通过 git-clone 克隆自项目领导人的公共库。原始的克隆地址(URL)将被保存在 .git/remotes/origin 中。
    2.准备一个可以给大家访问的公共库,就像项目领导人所做的那样。
    3.复制项目领导人的公共库中的打包文件到你的公共库中,除非你的公共库和项目领导人的公共库是在同一部主机上。以后你就可以通过 objects/info/alternates 文件的指向来浏览它所指向的版本库了。
    4.将你的主版本库推入你的公共版本库,并运行 git-repack,如果你的公共库是通过的公共库是通过 pull 来导入的数据的话,再执行一下 git-prune 。
    5.在你的主版本库中开展工作。这些工作可能包括你自己的编辑,来自 email 的补丁,从项目领导人,“下一级子项目负责人”的公共库哪里导入的工作等等。
    你可以在任何时候重新打包你的私人版本库。
    6.将你的变更推入公共库中,并且请“项目领导人”和“下级子系统负责人”导入这些变更。
    7. 每隔一段时间之后,git-repack 公共库。回到第 5 步继续工作。
    “一般开发人员”无须自己的公共库,大致的工作方式是:
    1.准备你的工作库,它应该用 git-clone 克隆自“项目领导人”的公共库(如果你只是开发子项目,那么就克隆“子项目负责人”的)。克隆的源地址(URL)会被保存到 .git/remotes/origin 中。
    2.在你的个人版本库中的 master 分支中开展工作。
    3.每隔一段时间,向上游的版本库运行一下 git-fetch origin 。这样只会做 git-pull 一半的操作,即只克隆不合并。公共版本库的新的头就会被保存到 .git/refs/heads/origins 。
    4.用 git-cherry origin 命令,看一下你有什么补丁被接纳了。并用 git-rebase origin 命令将你以往的变更迁移到最新的上游版本库的状态中。(关于 git-rebase 命令,请参考 git-rebase)
    5.用 git-format-patch origin 生成 email 形式的补丁并发给上游的维护者。回到第二步接着工作。
  • git的功能介绍

    2016-04-08 09:59:52

    Git的功能特性:

    从一般开发者的角度来看,git有以下功能:

    1:从服务器上克隆数据库(包括代码和版本信息)到单机上。

    2:在自己的机器上创建分支,修改代码。

    3:在单机上自己创建的分支上提交代码。

    4:在单机上合并分支。

    5:新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

    6:生成补丁(patch),把补丁发送给主开发者。

    7:看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

    8:一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

    功能介绍:

    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

    1:查看邮件或者通过其它方式查看一般开发者的提交状态。

    2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

    3:向公共服务器提交结果,然后通知所有开发人员。

    优点:

    适合分布式开发,强调个体。

    公共服务器压力和数据量都不会太大。

    速度快、灵活。

    任意两个开发者之间可以很容易的解决冲突。

    离线工作

    缺点:

    资料少(起码中文资料很少)。

    学习周期相对而言比较长。

    不符合常规思维。

    代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

    开发模式

    尽管 git 是一个正式项目发布系统,它却可以方便地将你的项目建立在松散的开发人员组织形式上。 Linux内核的开发,就是按这样的模式进行的。在 Randy Dunlap 的著作中("Merge to Mainline" 17页)就有很好的介绍

    需要强调的是真正的非常规的开发组织形式, git 这种组织形式,意味着对于工作流程的约束,没有任何强迫性的原则。你不必从唯一一个远程版本库中导入(工作目录)。

    项目领导人(project lead)的工作推介

    1. 在你自己的本地机器上准备好主版本库。你的所有工作都在这里完成。

    2. 准备一个能让大家访问的公共版本库。

    如果其他人是通过默协议的方式(http)来导入版本库的,那么你有必要保持这个 默协议的友好性。 git-init-db 之后,复制自标准模板库的 $GIT_DIR/hooks/post-update 将包含一个对 git-update-server-info 的调用,但是 post-update 默认是不能唤起它自身的。通过 chmod +x post-update 命令使能它。这样让 git-update-server-info 保证那些必要的文件是最新的。

    3. 将你的主版本库推入公共版本库。

    4. git-repack 公共版本库。这将建立一个包含初始化提交对象集的打包作为项目的起始线,可能的话,执行一下 git-prune,要是你的公共库是通过 pull 操作来从你打包过的版本库中导入的。

    5. 在你的主版本库中开展工作,这些工作可能是你自己的最项目的编辑,可能是你由 email 收到的一个补丁,也可能是你从这个项目的子系统负责人的公共库中导入的工作等等。

    你可以在任何你喜欢的时候重新打包你的这个私人的版本库。

    6. 将项目的进度推入公共库中,并给大家公布一下。

    7. 尽管一段时间以后,"git-repack" 公共库。并回到第5步继续工作。

    项目的子系统负责人(subsystem maintainer)也有自己的公共库,工作流程大致如下:

    1. 准备一个你自己的工作目录,它通过 git-clone 克隆自项目领导人的公共库。原始的克隆地址(URL)将被保存在 .git/remotes/origin 中。

    2. 准备一个可以给大家访问的公共库,就像项目领导人所做的那样。

    3. 复制项目领导人的公共库中的打包文件到你的公共库中,除非你的公共库和项目领导人的公共库是在同一部主机上。以后你就可以通过 objects/info/alternates 文件的指向来浏览它所指向的版本库了。

    4. 将你的主版本库推入你的公共版本库,并运行 git-repack,如果你的公共库是通过的公共库是通过 pull 来导入的数据的话,再执行一下 git-prune

    5. 在你的主版本库中开展工作。这些工作可能包括你自己的编辑,来自 email 的补丁,从项目领导人,下一级子项目负责人的公共库哪里导入的工作等等。

    你可以在任何时候重新打包你的私人版本库。

    6.将你的变更推入公共库中,并且请项目领导人下级子系统负责人导入这些变更。

    7. 每隔一段时间之后,git-repack 公共库。回到第 5 步继续工作。

    一般开发人员无须自己的公共库,大致的工作方式是:

    1. 准备你的工作库,它应该用 git-clone 克隆自项目领导人的公共库(如果你只是开发子项目,那么就克隆子项目负责人的)。克隆的源地址(URL)会被保存到 .git/remotes/origin 中。

    2. 在你的个人版本库中的 master 分支中开展工作。

    3. 每隔一段时间,向上游的版本库运行一下 git-fetch origin 。这样只会做 git-pull 一半的操作,即只克隆不合并。公共版本库的新的头就会被保存到 .git/refs/heads/origins

    4. 用 git-cherry origin 命令,看一下你有什么补丁被接纳了。并用 git-rebase origin 命令将你以往的变更迁移到最新的上游版本库的状态中。(关于 git-rebase 命令,请参考 git-rebase

    5. git-format-patch origin 生成 email 形式的补丁并发给上游的维护者。回到第二步接着工作。

  • git初认识

    2016-04-08 09:38:07

    什么是Git?

    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理liunx内核开发而开发的一个开放源码的版本控制软件。

    Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很多 Freedesktop 的项目也迁移到了 Git 上

  • git初接触之一

    2016-04-08 09:23:42

    什么是Git?

    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很多 Freedesktop 的项目也迁移到了 Git 上。


    产品特点

    分布式和集中式的最大区别在于开发者可以本地提交。每个开发者机器上都有一个服务器的数据库

    下图是经典的git开发过程。

    Git的功能特性:

    从一般开发者的角度来看,git有以下功能:

    1:从服务器上克隆数据库(包括代码和版本信息)到单机上。

    2:在自己的机器上创建分支,修改代码。

    3:在单机上自己创建的分支上提交代码。

    4:在单机上合并分支。

    5:新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

    6:生成补丁(patch),把补丁发送给主开发者。

    7:看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

    8:一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

    功能介绍

    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

    1:查看邮件或者通过其它方式查看一般开发者的提交状态。

    2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

    3:向公共服务器提交结果,然后通知所有开发人员。

    优点:

    适合分布式开发,强调个体。

    公共服务器压力和数据量都不会太大。

    速度快、灵活。

    任意两个开发者之间可以很容易的解决冲突。

    离线工作。

    缺点:

    资料少(起码中文资料很少)。

    学习周期相对而言比较长。

    不符合常规思维。

    代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

    开发模式

    尽管 git 是一个正式项目发布系统,它却可以方便地将你的项目建立在松散的开发人员组织形式上。 Linux内核的开发,就是按这样的模式进行的。在 Randy Dunlap 的著作中("Merge to Mainline" 第17页)就有很好的介绍

    需要强调的是真正的非常规的开发组织形式, git 这种组织形式,意味着对于工作流程的约束,没有任何强迫性的原则。你不必从唯一一个远程版本库中导入(工作目录)。

    项目领导人(project lead)的工作推介

    1. 在你自己的本地机器上准备好主版本库。你的所有工作都在这里完成。

    2. 准备一个能让大家访问的公共版本库。

    如果其他人是通过默协议的方式(http)来导入版本库的,那么你有必要保持这个 默协议的友好性。 git-init-db 之后,复制自标准模板库的 $GIT_DIR/hooks/post-update 将包含一个对 git-update-server-info 的调用,但是 post-update 默认是不能唤起它自身的。通过 chmod +x post-update 命令使能它。这样让 git-update-server-info 保证那些必要的文件是最新的。

    3. 将你的主版本库推入公共版本库。

    4. git-repack 公共版本库。这将建立一个包含初始化提交对象集的打包作为项目的起始线,可能的话,执行一下 git-prune,要是你的公共库是通过 pull 操作来从你打包过的版本库中导入的。

    5. 在你的主版本库中开展工作,这些工作可能是你自己的最项目的编辑,可能是你由 email 收到的一个补丁,也可能是你从这个项目的“子系统负责人” 的公共库中导入的工作等等。

    你可以在任何你喜欢的时候重新打包你的这个私人的版本库。

    6. 将项目的进度推入公共库中,并给大家公布一下。

    7. 尽管一段时间以后,"git-repack" 公共库。并回到第5步继续工作。

    项目的子系统负责人(subsystem maintainer)也有自己的公共库,工作流程大致如下:

    1. 准备一个你自己的工作目录,它通过 git-clone 克隆自项目领导人的公共库。原始的克隆地址(URL)将被保存在 .git/remotes/origin 中。

    2. 准备一个可以给大家访问的公共库,就像项目领导人所做的那样。

    3. 复制项目领导人的公共库中的打包文件到你的公共库中,除非你的公共库和项目领导人的公共库是在同一部主机上。以后你就可以通过 objects/info/alternates 文件的指向来浏览它所指向的版本库了。

    4. 将你的主版本库推入你的公共版本库,并运行 git-repack,如果你的公共库是通过的公共库是通过 pull 来导入的数据的话,再执行一下 git-prune 。

    5. 在你的主版本库中开展工作。这些工作可能包括你自己的编辑,来自 email 的补丁,从项目领导人,“下一级子项目负责人”的公共库哪里导入的工作等等。

    你可以在任何时候重新打包你的私人版本库。

    6. 将你的变更推入公共库中,并且请“项目领导人”和“下级子系统负责人”导入这些变更。

    7. 每隔一段时间之后,git-repack 公共库。回到第 5 步继续工作。

    “一般开发人员”无须自己的公共库,大致的工作方式是:

    1. 准备你的工作库,它应该用 git-clone 克隆自“项目领导人”的公共库(如果你只是开发子项目,那么就克隆“子项目负责人”的)。克隆的源地址(URL)会被保存到 .git/remotes/origin 中。

    2. 在你的个人版本库中的 master 分支中开展工作。

    3. 每隔一段时间,向上游的版本库运行一下 git-fetch origin 。这样只会做 git-pull 一半的操作,即只克隆不合并。公共版本库的新的头就会被保存到 .git/refs/heads/origins 。

    4. 用 git-cherry origin 命令,看一下你有什么补丁被接纳了。并用 git-rebase origin 命令将你以往的变更迁移到最新的上游版本库的状态中。(关于 git-rebase 命令,请参考 git-rebase)

    5. 用 git-format-patch origin 生成 email 形式的补丁并发给上游的维护者。回到第二步接着工作。

  • git初接触之一

    2016-04-07 17:54:40

      
    什么是Git?

    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很多 Freedesktop 的项目也迁移到了 Git 上。


    产品特点

    分布式和集中式的最大区别在于开发者可以本地提交。每个开发者机器上都有一个服务器的数据库。

    下图是经典的git开发过程。

    Git的功能特性:

    从一般开发者的角度来看,git有以下功能:

    1:从服务器上克隆数据库(包括代码和版本信息)到单机上。

    2:在自己的机器上创建分支,修改代码。

    3:在单机上自己创建的分支上提交代码。

    4:在单机上合并分支。

    5:新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

    6:生成补丁(patch),把补丁发送给主开发者。

    7:看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

    8:一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

    功能介绍

    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

    1:查看邮件或者通过其它方式查看一般开发者的提交状态。

    2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

    3:向公共服务器提交结果,然后通知所有开发人员。

    优点:

    适合分布式开发,强调个体。

    公共服务器压力和数据量都不会太大。

    速度快、灵活。

    任意两个开发者之间可以很容易的解决冲突。

    离线工作。

    缺点:

    资料少(起码中文资料很少)。

    学习周期相对而言比较长。

    不符合常规思维。

    代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

    开发模式

    尽管 git 是一个正式项目发布系统,它却可以方便地将你的项目建立在松散的开发人员组织形式上。 Linux内核的开发,就是按这样的模式进行的。在 Randy Dunlap 的著作中("Merge to Mainline" 第17页)就有很好的介绍

    需要强调的是真正的非常规的开发组织形式, git 这种组织形式,意味着对于工作流程的约束,没有任何强迫性的原则。你不必从唯一一个远程版本库中导入(工作目录)。

    项目领导人(project lead)的工作推介

    1. 在你自己的本地上准备好主版本库。你的所有工作都在这里完成。

    2. 准备一个能让大家访问的公共版本库。

    如果其他人是通过默协议的方式(http)来导入版本库的,那么你有必要保持这个 默协议的友好性。 git-init-db 之后,复制自标准模板库的 $GIT_DIR/hooks/post-update 将包含一个对 git-update-server-info 的调用,但是 post-update 默认是不能唤起它自身的。通过 chmod +x post-update 命令使能它。这样让 git-update-server-info 保证那些必要的文件是最新的。

    3. 将你的主版本库推入公共版本库。

    4. git-repack 公共版本库。这将建立一个包含初始化提交对象集的打包作为项目的起始线,可能的话,执行一下 git-prune,要是你的公共库是通过 pull 操作来从你打包过的版本库中导入的。

    5. 在你的主版本库中开展工作,这些工作可能是你自己的最项目的编辑,可能是你由 email 收到的一个补丁,也可能是你从这个项目的“子系统负责人” 的公共库中导入的工作等等。

    你可以在任何你喜欢的时候重新打包你的这个私人的版本库。

    6. 将项目的进度推入公共库中,并给大家公布一下。

    7. 尽管一段时间以后,"git-repack" 公共库。并回到第5步继续工作。

    项目的子系统负责人(subsystem maintainer)也有自己的公共库,工作流程大致如下:

    1. 准备一个你自己的工作目录,它通过 git-clone 克隆自项目领导人的公共库。原始的克隆地址(URL)将被保存在 .git/remotes/origin 中。

    2. 准备一个可以给大家访问的公共库,就像项目领导人所做的那样。

    3. 复制项目领导人的公共库中的打包文件到你的公共库中,除非你的公共库和项目领导人的公共库是在同一部主机上。以后你就可以通过 objects/info/alternates 文件的指向来浏览它所指向的版本库了。

    4. 将你的主版本库推入你的公共版本库,并运行 git-repack,如果你的公共库是通过的公共库是通过 pull 来导入的数据的话,再执行一下 git-prune 。

    5. 在你的主版本库中开展工作。这些工作可能包括你自己的编辑,来自 email 的补丁,从项目领导人,“下一级子项目负责人”的公共库哪里导入的工作等等。

    你可以在任何时候重新打包你的私人版本库。

    6. 将你的变更推入公共库中,并且请“项目领导人”和“下级子系统负责人”导入这些变更。

    7. 每隔一段时间之后,git-repack 公共库。回到第 5 步继续工作。

    “一般开发人员”无须自己的公共库,大致的工作方式是:

    1. 准备你的工作库,它应该用 git-clone 克隆自“项目领导人”的公共库(如果你只是开发子项目,那么就克隆“子项目负责人”的)。克隆的源地址(URL)会被保存到 .git/remotes/origin 中。

    2. 在你的个人版本库中的 master 分支中开展工作。

    3. 每隔一段时间,向上游的版本库运行一下 git-fetch origin 。这样只会做 git-pull 一半的操作,即只克隆不合并。公共版本库的新的头就会被保存到 .git/refs/heads/origins 。

    4. 用 git-cherry origin 命令,看一下你有什么补丁被接纳了。并用 git-rebase origin 命令将你以往的变更迁移到最新的上游版本库的状态中。(关于 git-rebase 命令,请参考 git-rebase)

    5. 用 git-format-patch origin 生成 email 形式的补丁并发给上游的维护者。回到第二步接着工作。

  • mantis的搭建记录

    2016-04-07 17:28:46


    Mantis
    是一个BUG管理系统。主要特点如下:

    1、 php写的系统,安装方便,不用像 bugzilla 那样安装那么多perl支持;

    2、 系统相对简单轻磅,使用简单;

    3、 出色的多语支持,对于对日开发等公司非常合适;

    环境搭建及Mantis安装、配置

    由于Mantis是用php写的系统,而要调试php程序当然要用到apache+php+mysql,而apache+php+mysql配置起来却又是很麻烦的事,这还不包括环境冲突、、、等等,这些又或者是那些导致配置失败的问题。但刚巧有这么一个套件可以省去这些以前是需要解决的问题,这个套件就是EasyPHP了。EasyPHP集成了:ApachePHPMySQLPhpMyAdmin

    适用范围

    本文介绍基于Windows下的Mantis BUG管理系统的搭建。

    软件下载

    Mantis下载地址:http://www.mantisbt.org/

    EasyPHP下载地址:http://www.easyphp.org/

     

    本文以mantis-1.1.0a4+ EasyPHP-3.1为演示版本,并测试通过。

    安装EasyPHP

             安装EasyPHP很简单,双击下载到的EasyPHP-3.1.exe,然后一直默认点击Next即可安装完成。当然啦,在License Agreement页面是必须选择I Access The Agreement……

           软件默认目录:C:"Program Files"EasyPHP3.1 


     安装进度…

           

          Installing…
          

                
          Completing!

     

    EasyHPH成功安装!勾选上“Open Help”、“Launch EasyPHP”,点击“Finish”。可看到如下页面:
               
          若成功运行时,双击在
    Windows托盘的 图标,可看到如下图所示,ApacheMySQL的右边都是显示“Started”并亮绿灯的。 
           
      
        已知问题

    1、 Apache没有正常运行,可能是因为Apache的默认使用的80端口被占用(Apache端口修改方法请继续往下阅读);

    2、 若找不到原因,请重新启动电脑,据说重新启动电脑可以解决80%的问题,希望你遇到的不是余下的20%中的

    安装Mantis

    1、 将下载到的mantis-1.1.0a4.rar解压到mantis文件夹;

    2、 EasyPHP安装目录,打开C:"Program Files"EasyPHP3.1"www"

    3、 mantis文件夹复制到C:"Program Files"EasyPHP3.1"www"下;

    安装Phpmyadmin

    1、 打开C:"Program Files"EasyPHP3.1

    2、 phpmyadmin文件夹剪切到C:"Program Files"EasyPHP3.1"www"

    建立Bug数据库

    1、 右键Windows托盘的 图标,选择“Local Web”,(或者在IE地址中输入“http://127.0.0.1/”)可看到如下页面:

     

    2、 点击选择“mantis”,进入页面:


    面:

    3、 不用修改/填写任何值,直接点击页面最下方的“Install/Upgrade Database”按钮 

    4、 成功后可看到如下页面:


    ² 
    OK,到此为止,Mantis系统已经搭建成功了。下面立刻验证一下是否已配置成功!

          1、 再次右键Windows托盘的 图标,选择“Local Web”,(或者在IE地址中输入“http://127.0.0.1/”)可看到如下页面:


    2、 
    点击选择“mantis”(或可省略步骤,直接在IE地址中输入“http://127.0.0.1/mantis/login_page.php”),进入页面:

    配置完成的
    Mantis的只有一个默认的系统管理员用户:

    账号:administrator

    密码:root

     

    就这么简单,一个Bug管理系统就配置完成了,Mantis已经可以投入使用啦!但——实际使用中还是会有问题产生,如:Mantis配置完成后,默认配置完成的系统是English版本的,且只支持English,不支持Chinese,具体表现在:若在任何一个字段中输入中文成功保存后,再显示出来就是乱码(而解决中文显示乱码的问题很是棘手,且根据情况的不同解决的方法也不同,在网上搜索一下就有一大堆。。。),具体解决方法请继续往下Look……

    中文版配置

    配置完成时,Mantis默认为English系统,而要使用中文版Mantis则需要修改配置文件。

    ² 配置方法:

    打开Mantis目录(C:"Program Files"EasyPHP3.1"www"mantis"),用记事本打开config_defaults_inc.php 文件,找到如下代码片段:

             。。。。。。

    # --- language settings -----------

     

    # If the language is set to 'auto', the actual

    # language is determined by the user agent (web browser)

    # language preference.

    $g_default_language                = 'english';

    。。。。。。

    english  改为chinese_simplified
    修改完成后的代码片段如下所示:

    ……

    # --- language settings -----------

     

    # If the language is set to 'auto', the actual

    # language is determined by the user agent (web browser)

    # language preference.

    $g_default_language                = 'chinese_simplified';

    ……

     

    ² 验证配置是否成功:

    再次在IE中登录Mantis系统“http://127.0.0.1/mantis/login_page.php”),进入页面:

     

     OK,成功了。登录后,也一样是全中文的界面: 


    来源:http://www.cnblogs.com/snooper/archive/2009/09/07/1561715.html 


  • LoadRunner11安装、破解过程

    2016-01-22 16:03:01

    注意事项

      安装前,把所有的杀毒软件和防火墙关闭。

      若以前安装过LoadRunner,则将其卸载。

      安装路径不要带中文字符。

      如果系统为WIN7,旗舰版才能安装。

      安装完毕,需破解。

     

    一. 下载

    在HP的官方网站上下载LoadRunner11 的安装程序[T7177-15013.iso],我的LoadRunner 11下载地址是:

    http://pan.baidu.com/s/1mg3JmM8

    备注:压缩后大小有3G多,解压之后4G左右,iso文件。由于文件太大,需要放在NFS的盘中, FAT32最大只支持4GB的文件。

     

    二. 安装

    1.启动安装程序

    运行setup.exe,点击“LoadRunner完整安装程序”

     

    2.安装组件

    安装LoadRunner11时,安装程序会自动检测系统所安装的组件情况,LoadRunner运行支持的组件,一般比较重要的是Visual C++ 2005 SP1和.Net Framework 3.5。因之前安装了一组件在计算机中,下图中只显示了2个必要的组件(lr安装包中含有这些组件),如果是全新的系统一般会是5个,直接点击“下一步”,如下图:

     

    3.LoadRunner 安装欢迎界面

    组件安装完成后进入LoadRunner主程序的安装界面,直接“下一步”:

     

     

    4.许可协议

    选择“我同意”,然后点击“下一步”:

     

    5.个人信息

    输入个人相关信息,选择“下一步”:

     

    6.安装路径

    择LoadRunner安装路径,注意安装路径不要有中文,选择“下一步”:      

     

    7.安装及完成

     

     

     此时,可以启动LoadRunner了。

    三.破解

    下载“loadrunner11破解”包,参照licence记事本中的步骤进行操作即可。具体内容如下:

    安装好loadrunner11后

    1)退出程序,把下载文件中的lm70.dll和mlr5lprg.dll覆盖掉..\HP\LoadRunner\bin下的这两个文件 

    2)注意,win7的话一定要以管理员身份运行启动程序,启动后,点击 configuration->loadrunner license,此时可能会有两个许可证信息存在,退出程序,点击deletelicense.exe文件,来删除刚才得许可证信息(即时原来没有lisense最好也运行一下)

    3)再次打开程序, configuration->loadrunner license->new license,在弹出的输入框中输入license序列号AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB,点击确定,验证通过后,则破解成功! 


  • 游戏客户端性能测试常用方法

    2015-06-08 17:20:29


    字体:        | 上一篇 下一篇 | 打印  | 我要投稿  | 推荐标签: 性能测试 游戏测试

      概述

      衡量一个游戏客户端产品的性能,是由多个方面共同衡量的,其中包括:响应速度、资源占用、长寿性和稳定性。本文主要讨论在资源占用方面,如何对游戏客户端的产品进行测试。资源占用的衡量指标包括如下几个方面:物理内存、CPU、句柄数、显卡显示帧数,显卡使用的显存。当前我们最主流关注的是物理内存和虚拟内存。我们常用的测试方法是,对耗资源的功能进行大量的重复操作(同屏战斗、聊天、背包、地图切换等),查看操作前后,各资源占用指标的变化趋势,是否存在泄露。

      常用监控工具

      1)WINXP自带的性能监视工具

      2)RivaTuner v2.24

      主要监测的性能参数

    监测的性能参数

    性能参数指标

    Processor Time(CPU)

    60%~80%正常

    80%~90%居高

    90%~100% CPU消耗过高,需要改进性能

    Handle Count

    句柄保持持续上升模式表明有句柄泄漏

    Private Bytes

    进程所使用的物理内存保持持续上升模式表明有内存泄漏

    Available Bytes

    显示出当前空闲的物理内存总量,如果这个数值很小,例如小于5 MB,系统会将大部分时间消耗在操作页面文件上

    FPS

    120以上 显示流畅

    40~80基本流畅

    40以下 性能有问题

    Videomemory Usage

    显存占用率 > 80% 有问题?

      MMOG中常用操作对应系统性能影响

    游戏系统

    操作

    影响点

    备注

    UI面板

    频繁打开\关闭面板

    FPS,CPU,显存,内存

    角色面板、任务、家族、帮派、国家好友、物品拾取、装备打造、NPC对话、背包仓库、商店、交易等面板打开的时候FPS下降率以及关闭后FPS是否回升,文件句柄是否增加,关闭后是否减少

    任务系统

    接\删除任务

    内存

    接任务删除任务注意内存是否增加

    显示\隐藏任务跟踪

    FPS,内存

     

    地图系统

    频繁大小切换地图

    内存,句柄

     

    频繁打开\关闭2D地图

    FPS,内存

     

    聊天系统

    多人快速输入聊天

    FPS,内存

    聊天控件的内容滚动(机器人)

    长期挂线聊天

    内存

     

    战斗系统

    数值跳跃

    FPS

     

    释放技能

    FPS

    BUF和DEBUF类图标,图标ICON刷新,技能特效BUF类道具

    移动系统

    自动寻路

    CPU,内存

    注意短距离和长距离寻路,注意频繁点击小地图上距离寻路,任务系统自动寻路

    采集系统

    采集条

    FPS

     

    装备系统

    频繁换上不同装备

    内存,FPS

     

    坐骑

    频繁上下坐骑

    内存,FPS

     

    同屏

    10~120人同屏移动

    FPS,内存,显存

    10~120人同屏聊天

    FPS,内存,显存

    10~120人同屏战斗

    FPS,内存,显存

      性能测试中注意几点:

      1) 数据采集时间  一般建议以2小时为一次采集点符合玩家玩游戏的时间,游戏CRASH掉后终止游戏数据采集;

      2) 操作游戏的时候记录下操作动作和对应的时间,有利于后续效率的分析;

      3) 记录测试机器的硬件配置和操作系统版本号;

      4) 分析用户在常用软件启动情况下对游戏的影响,包括但不限于QQ、QQLIVE、QQZone、常用杀毒软件、常用下载软件、常用音乐播放类软件等。

  • [真实案例]情感交互 ——移动应用产品交互趋势

    2013-02-22 15:13:16

    随着互联网,特别是移动互联网的飞速发展人们日夜与电脑、手机为伴,“人-人互动”逐渐减少,“人-机互动”不断增加,人们对人机交互技术提出了更高的要求,即情感需求。因为人类之间的交流与沟通是自然而富有感情的,因此人们期望与之交互的机器也具有类似于人的观察、理解和生成情感特征的能力。随着情感计算(affective computing)等技术的不断发展,情感交互成为高级信息时代人机交互的主要发展趋势。(如图所示)情感交互就是使人机交互可以像人与人交互一样自然、亲切、生动和富有情感。

    人与人进行交流时,是通过人脸表情、语音情感、带有感情的肢体动作、文本情感信息等来感知对方的感情。因此情感交互可以从人脸表情交互、语音情感交互、肢体行为情感交互、生理信号情感识别、文本信息情感交互等方面进行探索。另外人与人的交流可以通过表情、语音、眼神、手势等方式进行,而机器没有人脸和躯体,那么仿生代理(lifelike agent)将是实现情感交互的重要媒介。

    1人脸表情交互

    人脸表情交互是情感交互的一个重要方向,交互模型为:识别人脸表情既而感知人的情感和意图,再生成与之对应的表情与人进行交互。现在对于识别人脸表情既而感知人的情感和意图的技术探究愈发活跃,目前已经有诸多的人脸表情数据库及表情特征提取技术供设计参照。人脸表情的自然生成也在向着智能化的方向发展,将通过社交环境、上下文语境的来智能生成。

    表情数据库

    表情特征提取

    现阶段人脸表情交互在移动应用产品设计中应用举例:

    1)twika^o^

    一款由Takuto Onishi开发的iOS应用程序“twika^o^”,可以帮用户把人物面部真实表情转化成“kaomoji”,即文字符号表情。

    打开应用,用户可以通过该应用读取自己或是朋友们的照片,或者干脆通过手机直接对着某人的脸咔嚓一张面部特写照,接下来它就能实时转化为有趣的颜文字表情。再通过电邮、推特或者信短信share给朋友们。

    2)Avatar

    卡梅隆用顶尖的CG和3D技术创造了天神下凡似的巨作《Avatar》,顿时红遍全球,英特尔则紧跟时代潮流,与时俱进,研究出“Avatar 人脸表情模拟”这一最新技术成果。当用户面对摄像头的时候,可以看到用户的真实头像,通过Vedio算法,可以将人脸表情抽象化,呈现出一个虚拟的头像,当你紧皱眉头的时候,你的虚拟头像也在紧皱眉头,当你微笑的时候,她也在微笑,总之你的喜怒哀乐都可以在虚拟头像上展现的淋漓尽致。这项技术对应的情感交互比如视频聊天的时候,某种时候不太想让对方看到自己的真实长相,可以通过这项技术,更好的保护隐私。联想K800手机应用了这项最新的Avatar技术。

    2语音情感交互

    语音中的情感信息可以影响人们的交流状态。所谓“听话听音”,说话人利用不同情感表达某语句时,听者可能会有不同的反应。语音情感交互就是通过语音情感识别技术对人类的情感进行获取、识别和响应,可以使用户在自然和谐的交互模式下高效地完成任务。

    语音情感交互的支撑技术是语音情感识别和情感语音合成。语音情感识别必须以一个高质量的情感语音数据库为基础,获取情感语料,进行情感特征参数的提取。情感语音合成是情感计算与语音合成的交叉课题,目前也取得了一定的研究成果。

    现阶段语音情感交互在移动应用产品设计中应用:

    1)  信息查询类产品

    通过语音输入来查询信息的产品如交通票务查询、话费查询等,是语音情感交互应用的重要领域。比如根据用户查询时的情感状态来决策用户服务的优先级做出合适的反应。比如,在票务查询产品中,如果用户的语气非常着急,那么可以适当的提前为其服务。

    2)  辅助教学类产品

    一些朗读类或者表达技巧类的学习产品中可以应用语音情感交互。比如教幼儿说话类的产品可以教儿童如何讲话,甚至可以教他们如何把话讲的自然而富有感情。

    3)  电子商务产品

    利用语音情感交互可以让购物网站摒弃繁琐的用户问卷调查,利用用户语音输入时的情感因素的提示自动调整流量,甚至可以根据用户对不同产品的喜好程度来调整商品的进货比例。

    4)  社交、娱乐

    目前大部分社交产品和娱乐游戏中的人机对话界面采用文本指令输入的方式,这种方式所能传递的信息非常有限,而且操作费时费力。部分产品加入了语音输入功能,但也是淡出的录音传话,无法判断社交对象的情感。如果在这些产品的设计中应用语音情感交互就能构筑更加拟人化的风格和更加逼真的场景,给用户更全面的感官享受。

    5)  虚拟人物对话

    虚拟人物对话如siri等产品已经开始尝试,但尚未加入情感因素。由于大多数情况下是口语化的交流,因此虚拟的人物对话应该根据用户的情感状态来调整产品本身的语音输出,以适应对话环境。

    案例:

    Emotion 电话本

    根据分析通话人之间语音交流的情感信息,来智能将电话簿中的人进行情感化分类:哪些是亲密好友、哪些是较为疏远的关系。结合通话频率可以分析出哪些亲密的好友应该联络了,可以发出提醒,提醒用户注重对好友的联络。

    3 肢体行为情感交互

    姿势运动不仅可以由物理上的时间、空间、加速度等描述,还可以由属于心理学范畴的维度描述。比如从手势的挠头、擦眼、捏鼻子、触唇、托下巴等,能够预测情感状态包括思考、回忆、疲劳、满意等。

    肢体行为情感交互是重要的情感非语言交流方式,目前得到了越来越多的研究者的关注,并取得了一定的研究成果,但人的肢体行为在特征提取及情感分类方面仍面临较大困难,需要结合上下文才能获得较为准确的识别结果,且移动终端受本身硬件条件限制,肢体行为的提取本身就存在操作不便。因此目前应用较少。

    4生理信号情感识别

    生理变化由人的自主神经系统和内分泌系统支配,很少受人的主观控制,因而应用生理信号的情感识别更具客观性。生理信号感知情感一般通过皮肤电反应、肌电反应、呼吸信号、心电信号等,需要借助物理设备。虽然生理信号可以客观地反映人的情感状态,但是仅对不同唤醒度的情感具有较好的识别效果,若要进行多种情感的分类,则需要将生理信号同表情、语音等其他通道进行融合,实现多模情感识别。

    现阶段生理信号情感识别在移动应用产品设计中应用案例:

    Heart Fitness

    Heart Fitness利用iPhone背后的补光灯感应皮下毛细血管的跳动来测心率,同时也能感知用户此时的情绪,非常有意思。

    5文本信息中的情感

    随着互联网的飞速发展,文本信息已经成为人们最常用的交互方法之一。自然语言是人特有的交流手段,其中包含了大量的情感信息。研究文本中蕴含的情感信息已成为人机交互领域的研究热点。

    文本情感分析研究可以分为词语的情感分析、句子的情感分析、篇章的情感研究、海量信息的整体情感预测四个维度。

    现阶段文本信息情感交互在移动应用产品设计中应用:

    1)  电子商务产品

    通过文本信息情感提取,分析用户在电子商务网站中针对产品、服务的反馈评论,向其他用户推荐受到好评的产品、服务。同时可以帮助商家高效地利用用户的反馈信息

    2)  网络搜索产品的个性化检索

    目前的搜索引擎对互联网信息进行检索时,主要方式是查找与用户提交的查询主题词相关的网页,而在其中加入文本情感分类,则可以个性化展示根据网页内容褒贬性分类这个能力的搜索结果,提升用户体验及搜索结果的信息价值。

    3)  网络社区或游戏产品的用户兴趣挖掘

    根据网络社区中的用户言论,对个体的喜好进行发掘,将有助于整个社会关系网络的分析,具有潜在的应用价值。

    案例:

    苹果专利,文本消息过滤

    这一专利功能可以用来过滤和控制所有基于文本的 iPhone 通信,比如发出或接收的短信、彩信、电子邮件和即时通讯等。它可以用来防止垃圾广告,或者屏蔽那些你讨厌的词汇。也可以为未成年人创造相应的网络环境,比如父母可以选择相应的年龄模式,一屏蔽不同等级的词汇。

    6情感仿生代理

    在情感交互中,用户可以使用自然的交互方式,如语音、表情、眼神、手势等与机器进行交互。然而,机器没有人脸和躯体,无法用上述方式交流。目前的解决办法是通过仿生代理实现人机的情感交互。仿生代理是完全由计算生成的图形,用来模拟现实世界中真实的人或其他有生命物体的行为和动作。仿生代理具有人脸和躯体,并能通过多种交流方式与人进行信息传递。在基于仿生代理的人机交互中,仿生代理被赋予情感能力。仿生代理能够通过各种传感器获取由人的情感所引起的生理及行为特征信号,从而感知、识别和理解人类情感,针对人类的情感做出智能、灵敏、友好的反应。

    现阶段情感仿生代理在移动应用产品设计中应用案例:

    双双

    是一款社交应用,有一个非常独特的全3D仿生代理”小双”,帮助用户实时沟通、传情达意!“小双”在苹果appstore中是这样被描述的:

    拥有双双后,你会发现生活充满了乐趣

    “像木头一样的老公居然懂得浪漫和贴心了,常常有惊喜给我”

    ·贴心提醒:起床、约会、记得想你…爱的提醒就用“闹闹”

    ·情绪传递:随时唤出小双,让她把你的情绪表演给最亲密的人

    ·偷偷问:不懂彼此的小心思?匿名打听一下,然后给Ta惊喜

    “工作都很忙,闺蜜之间都很少联系,双双提醒我和她们定期保持联络,真好”

    ·变声趣聊:在聊天时小双能把你们的话变成有趣的声音,各种卖萌,各种欢乐

    ·永久群组:姐妹淘、球队哥们…在这里建立你和兄弟/闺蜜的小圈子,随身携带

    移动设备填充了人们几乎所有的生活时间,人们对于和移动设备进行情感交互的需求也与日俱增,情感交互必定成为移动应用产品交互趋势之一。随着人工智能、情感计算等技术领域的发展,情感交互的技术支撑也日趋完善,情感交互模型将更加多样化,我们在移动应用产品设计中应该逐渐考虑情感因素的影响,设计情感交互,让产品具有活动灵魂。

  • 怎么有效的执行功能测试

    2010-09-09 10:06:41

    很多公司的软件测试方面都采用敏捷测试的方式

      敏捷的测试方式,好像是国内的一些企业热爱的测试方式。其实这个也不难理解,这种测试方式能快速的解决问题,从而提高软件开发的效率。

      在先前的公司所做的测试方式,来福州之后明显发现那种方式明显在这边不适用。

      1、测试过程中,不会给你那么多时间去写那么详细的测试用例。

      2、很多时候都是给你一个已经开发好的东西让你测,你根本没有经历需求分析和代码开发两个阶段。

      3、很多软件公司,软件开发的周期都比较短,时间紧。这必然导致很多规范化的东西不能切实履行,只能采用最实际的方式:发现问题即沟通,然后面对面解决。

      功能测试思路:

      以客户需求(业务需求)为基础,数据为指导。

      1、需求分析

      拿到一个成品,首先熟悉需求,要想更细的了解最好参照开发需求(功能说明书)以及测试需求。如果这些文档并不齐全,只能靠自己的嘴巴和脑袋了。首先要用心分析需求文档,每个细节每个业务流程。对于不懂的或者与现有系统矛盾的地方,及时张开自己的金嘴去问熟悉这个系统的相关人员。

      需求分析后,最好是能画出一个功能流程图。对于每个子功能,尽可能把各种可能的路径都显示在这张图上面。

      对于如何画好这张图,这个时候最好的方式采用数据驱动的方式。每个模块之所以能关联在一起,追根揭底都是因为它们有数据传递。分析出数据流的流向,一般都能把握住功能与子功能的各个分支,尽量做到无遗漏。

      2、测试执行

      1)BVT测试,确保基本功能都跑通。

      2)接口测试,将整个业务流程从创建数据,到处理数据,然后到处理结束,整个过程走一边,确保流程能走得通。

      3)各个子功能深度测试。这个过程谁经验丰富谁占优势,但是也是有些技巧的。怎么确保此功能不会出现严重的问题了,首先研究数据。这个功能涉及到那些数据,然后从界面上提交关键数据,确保数据信息成功保存在数据库中。

      4)关联测试。这个阶段,首先要搞清楚数据的关联。搞清楚这个关联可以采用两种方式结合:一个是从界面上了解数据之间的关联,另外一个更准确的方式是分析数据库。分析数据库中各个表中的数据,把每个外键找出来,然后找出外键相关的表。然后弄清楚这些表中的数据界面上哪里调用上。

      原帖地址:http://bbs.51testing.com/thread-286866-1-1.html

  • 测试用例的设计方法

    2010-09-09 09:55:01

     为什么要设计测试用例?测试用例的制造或许会有如下两种用处或主意:

      1、测试用例被以为是要托付给用户的产品的一部门。测试用例在这里充任了进步可信度的作用,典型的是UAT(可接受级别);

      2、测试用例只作为外部使用,典型的是编制级别的测试,此时测试效率是主意。在代码尚未完成时,基于设计编写测试用例,以便一旦代码打算好了,就可以很快的测试产品。

      等价类分别法:

      等价类是指某个输入域的会集,在这个会集中每个输入都是等效的。等价类分别法以为:如果使用等价类中的一个条件作为测试数据实行测试不能创造程序缺陷的话,那么使用等价类中其他条件实行测试也不会创造舛错。等价类是一个典型的黑盒测试方法,不必要切磋程序的外部构造,只必要切磋程序的输入规格即可。

      所有的输入都可以分别为两种等价类:

      有效等价类、有效等价类

      等价类分别法的优点:切磋了单个输入域的各类状况,制止了自觉或随机选取输入数据的不完全性和笼罩的不安静性。

      等价类分别法的缺点:只是切磋了输入域的分类状况,没有切磋输入的组合状况。

      畛域值剖判法:

      畛域值剖判法假定大多半的舛错产生在各种输入条件的畛域上,如果在畛域邻近的取值不会招致舛错,那么其他取值招致舛错的或许性也很小。

      这种方法在很多时间能卓殊有效地暴露程序的舛错,但是它与等价类分别法一样没有切磋输入之间的组合状况,另外,畛域值在关切畛域范围的同时,或许纰漏了输入类型的题目。

      根本途径剖判法:

      根本途径剖判法通常使用在白盒测试中,用于笼罩程序分支途径。但在一些黑盒测试中也能使用。 (该图是一个单据审批流程)

      依照根本途径剖判,可以简便的归结出以下几种必要笼罩的流程:

      编辑请求单→确认→审批始末→生成请求呈报

      编辑请求单→确认→废止确认→重新编辑

      编辑请求单→确认→审批不始末→重新编辑

      根本途径剖判法的重点在于笼罩流程,确保让程序显示所有或许的逻辑。但是这种方法也生活必然的缺陷,即只笼罩一次流程,看待一些生活循环的流程没有切磋。例如:编辑请求单→确认→废止确认→重新编辑→确认→废止确认时出错。

      因果图法:

      因果图是一种简化了的逻辑图,能直观地阐明程序的输入条件(理由)和输入手脚(下场)之间的相相互干。因果图法是借助图形来设计测试用例的一种编制方法,特别适用于被测试程序具有多种输入条件,程序的输入又依赖于输入条件的各种状况。

      因果图法设计测试用例的方法如下:

      1)剖判所有或许的输入和或许的输入。

      2)找出输入和输入之间的对应相干。

      3)画出因果图。

      4)把因果图转换成占定表。

      5)把占定表对应到每一个测试用例。

      因果图法设计测试用例的优点是让测试人员始末画因果图,能越发了解输入条件之间的逻辑相干,以及输入与输入之间的相干。缺点是必要画图和装换成占定表,看待对比杂乱的输入和输入必要破费多量的时间。

      场景设计法:

      场景设计法必要测试人员充盈施展对用户实际业务场景的遐想。

      舛错推度法:

      舛错推度法是测试体验富厚的测试人员喜好使用的一种测试用例设计方法。舛错推度法始末基于体验和直觉推测程序中或许产生的各种舛错,有针对性的设计测试用例,由于测试素质上并不是一门卓殊缜密的学科,测试人员的体验和直觉能对这种不缜密性做出很好的补充。

      正交实习法:

      要是:看待一个必要输入5个条件,每个条件参数为5个的界面,如果切磋所有的笼罩,则必要5×5×5×5×5=3125个测试用例,这样的劳动量是卓殊之大的。如何简化测试用例,用最少的用例得到尽或许所有的笼罩率呢?始末正交表可以有效的省略用例个数。

      欺骗正交表设计测试用例的方法如下:

      1)判断有那些身分。身分指输入的条件

      2)每个身分有哪几个参数。即水平

      3)选择适宜的正交表【正交表:L4(2^3) 其中4表示用例个数、2表示水平、3表示身分】

      4)把变量的值映照到表中。

      5)把表中每一行的各种身分和参数的组合营为一个测试用例。

      正交表法的依据是galois实际,从多量的实习数据当选择过量的、有代表性的点,从而合理地布置实习的一种迷信实习设计方法。在测试用例的设计中,可以从多量的测试用例数据当选择过量的、有代表性的测试数据,来合理布置测试。

      平均实习法:

      平均实习法是与正交表法相像的一种测试用例设计方法。正交表法的特质是划一并具有可比性和平衡星散性。平均表则是甩掉了划一可比性,仅切磋平均星散性的一种实习方法,它的优点是进一步省略实习的次数。

      组合笼罩法:

      组合笼罩法是另一种有效省略测试用例个数的测试用例设计方法。

      根据笼罩水平的不同,可以分为单身分笼罩、成对组合笼罩、三三组合笼罩等,其中又以成对组合笼罩最为常用。

      成对组合笼罩法请求随意两个身分(输入条件)的所有参数组合至多要被笼罩一次。组合笼罩的算法仍旧被很多工具实行,测试人员可以间接使用这些工具。例如:Tconfig、微软的PICT

      PICT罗致一个纯文本的Model文件作为输入,然后输入测试用例的会集。Model.txt文件的格式如下:

      <ParaName>:<value1>,<value2>,<value3>,……<ParaName>表示条件,<value1>,<value2>,<value3>表示参数

      分类树方法:

      分类树法是软件功用测试的一种方法,通太过类树把测试对象的整个输入域决裂成独立的类

     

  • 面试题目-笔试

    2010-09-09 09:51:08

       1. 你如何在pocket pc 上TEST 你的程序. 你考虑了哪些方面.
      2. 如果将你的程序的语言扩展到非英语,例如中文, 你如何测试.
      3. 给你一个COCAN, 你如何测试(解释说就是罐装的可口可乐).
      4. 当你的程序遇到BUG的时候,你选择怎样处理.
      5. 你如何isolation 你程序里的BUG.
      6. 给你一个产品有10个functionality,如果时间紧迫, 只能测其中的5个, 你如何选择.
      其它相关:
      如果别人问我这些题目,我想我会大致这样回答,各位从事软件测试的同志们帮我看看回答的怎么样。
      01. 为什么要在一个团队中开展软件测试工作?
      答:软件测试在整个一个团队中占有非常重要的地位,具体来说就是测试是一个发现软件错误的过程,执行软件测试会以最少的人力和时间,系统的找到软件存在的缺陷和错误,建立起开发人员和使用者对软件的信心。
      02. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
      答:软件测试部门配合系统分析人员软件需求分析讨论,并根据需求说明书制定《项目测试计划》,编写测试用例,建立测试环境。
      软件测试人员负责软件开发部门的新产品测试及原有产品的升级测试,负责软件问题解决过程跟踪,负责软件开发文档开发工作的规范化及管理开发部门的产品文档,制作用户手册及操作手册,负责产品的上线测试,监督软件开发过程的执行,提高产品质量。
      03. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)
      答:需求人员连同系统分析人员&测试人员开会讨论需求。系统分析人员写出需求分析说明,并连同系统分析人员&测试人员&需求人员开会讨论可行性。系统分析人员写出详细设计说明书,程式人员编码,给出系统流程图。交与测试人员,测试人员给出Bug统计表。
      04. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
      答:从事过write test plan,creation of test case,进行功能测试,性能测试,编写测试工具,文档的管理等,比较擅长与写测试用例和进行功能测试。
      05. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
      答:有功能测试,性能测试,可靠性测试,安全性测试,负载测试,压力测试,安装/卸载测试,启动/停止测试,兼容性测试,互连测试,文档测试,恢复测试,回归测试,可使用性测试,容量测试。
      功能测试只对软件的功能是否满足用户需求来做测试。性能测试需要和压力和负载测试联合起来。
      06. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
      黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
      白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
      单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
      集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。
      系统测试:在所有都考虑的情况下,对系统进行测试。
      验收测试:第三方进行的确认软件满足需求的测试。
  • 测试工程师面试-强度、容量、负载测试的区别

    2010-09-08 15:01:04

    Load testing(负载测试)

    通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。

    容量测试

      通过性能测试,如果找到了系统的极限或苛刻的环境中系统的性能表现,在一定的程度上,就完成了负载测试和容量测试。容量还可以看作系统性能指标中一个特定环境下的一个特定性能指标,即设定的界限或极限值。
      容量测试的目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。软件容量的测试能让软件开发商或用户了解该软件系统的承载能力或提供服务的能力,如某个电子商务网站所能承受的、同时进行交易或结算的在线用户数。知道了系统的实际容量,如是不能满足设计要求,就应该寻求新的技术解决方案,以提高系统的容量。有了对软件负载的准确预测,不仅能对软件系统在实际使用中的性能状况充满信心,同时也以帮助用户经济地规划应用系统,优化系统的部署。
    bk.view.catalog.start();nslog.set("catalogshow",1);

    强度测试

      强度测试检查程序对异常情况的抵抗能力;是检查系统在极限状态下运行的时候性能下降的幅度是否在允许的范围内。强度测试总是迫使系统在异常的资源配置下运行。例如,①当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;②定量地增长数据输入率,检查输入子功能的反映能力;③运行需要最大存储空间(或其他资源)的测试用例;④运行可能导致虚存操作系统崩溃或磁盘数据剧烈抖动的测试用例,等等。

    强度测试意义

      强度测试是一种特别重要的测试,对系统的稳定性,以及系统未来的扩展空间均具有重要的意义。在这种异常条件进行的测试,更容易发现系统是否稳定以及性能是否容易扩展。
      疲劳强度测试是一类特殊的强度测试,主要测试系统长时间运行后的性能表现,例如7x24小时的压力测试
     
    负载测试:200斤情况下,是否能坚持5分钟。
    压力测试:200,300,400...斤情况下,他的表现,什么时候失败,失败之后什么表现,重新扛200是否正常。
    容量测试:在坚持5分钟的情况下,他一次最多能扛多少斤。
  • 软件测试,软件开发工程师应该常去的几个网站

    2010-07-13 17:13:16

    软件测试技术

    http://www.test8848.net/

     

    Java学习还行的网站

    http://www.jsprun.net/index.jsp?showoldetails=yes#online

     

    Java编程/spring框架/AJAX技术/agile敏捷软件开发网站

    http://www.javaeye.com/

     

    PHP开源门户

    http://www.phpchina.com/

     

    SpringFramework中文论坛

    http://spring.jactiongroup.net/

     

    中国eclipse社区

    http://www.eclipseworld.org/bbs/index.php

     

    IT百科

    http://wiki.ccw.com.cn/%E9%A6%96%E9%A1%B5

432/3<123>
Open Toolbar