发布新日志

  • 纪念-被同一块石头绊倒N次

    2010-02-05 10:31:11

        都说一个人不能被同一块石头绊倒二次,否则就是傻瓜了,而事实上很多人都是傻瓜,我就是其中之一。因此特书此文以示纪念!

        事情的经过是这样的,提交BUG到开发人员那里,结果开发人员无法重现此BUG,俺觉的不可能,把握很大。可是,当我打开TD查看自己的描述之后,我也心虚了!就这样的描述,确实是很汗颜,因为上面的描述只说明了结果!虽然截了图,可是关键的信息没有,只有出错页面的信息。知道当时的心情吗?其实从小到大也没什么让我悔恨的事情,但此刻我真的悔恨了!悔恨的不是我没有描述清楚,最悔恨的是其实这种事已经不是第一次经历!!

       在此,特意总结BUG描述需注意的事项:

    1、what:即发生什么事了,用最简练的语言描述是什么BUG。如,增加一条客户记录不成功。

    2、How:即怎么发生的。把事情的经过描述清楚,因为你操作的步骤可能不是常规的操作方法

    3、who:到底是谁?最好记录下哪条数据,这条数据的关键字段,如姓名或身份证号或流程ID等。

    4、where:在哪里?是哪个步骤?

    5、why:为什么?尽可能的分析原因,以助开发人员快速定位。这也是测试人员提高自己的一个重要步骤,不仅知其然,还要知其所以然。

       总之,BUG描述的原则就是语言简练,清晰,开发人员能够快速定位BUG。BUG描述的方法,就是自己描述完多检查,不要遗漏,尽可能用文字加截图。

       想说的也说完了,我希望自己不会再被这块“石头”绊倒,也希望对大家也有警示作用。

  • 点setup.exe无法安装TD

    2009-05-31 10:09:24

    在2003SERVER上安装TD,单击setup.exe,系统没有任何反应,怎么回事呢?
    解决方法:
      单击“我的电脑”->右键属性->高级->单击性能,设置->数据执行保护:只为关键Windows程序和
      服务启用数据执行保护,确实,即OK。

     

  • 让TD8支持IE7

    2009-05-31 10:04:14

    1、找到C:\Inetpub\TDBIN目录,用编辑器打开start_a.htm;
    2、找到变量fMSIE3456,在后面加一句脚本:(ua.lastIndexOf('MSIE 7.0') != -1);
    3、SiteAdmin.htm,也是同理,加上:(ua.lastIndexOf('MSIE 7.0') != -1);

     

  • 配置管理一些概念

    2009-05-04 17:47:28

    1.CCB(Change Control Board)变更控制委员会

    2.CR(Change Request)变更请求

    3.CM(Configuration Management)配置管理

    4.SEPG(Software enggering process group)软件工程过程组

  • word生成目录不对齐,怎么解决?

    2008-12-29 16:15:49

  • WORD,怎样从第五页开始排页码

    2008-12-29 15:44:53

    http://zhidao.baidu.com/question/8478540.html

    WORD,怎样从第五页开始排页码
    悬赏分:0 - 解决时间:2006-6-14 00:18
    用页眉页脚排页码,从第一页开始,1,2,3,4,5这样排下去
    我想从第5页开始排,前四页没页码,第五页显示1,依次排下去
    因为前四页是目录和摘要。我怎么设也不行,大家帮!!!
    提问者: cncwei - 试用期 一级
    最佳答案
    呵呵
    这是一个常见的问题
    强调下,在第四后插入下一页时,
    应选择插入分隔符中的分节符一定要是分节符!!!

    然后点“视图/页眉和页脚”出现工具栏
    把光标定位到第五页的页脚,在工具栏的上面有个像
    打开的书本一样的图标,鼠标放上去时会显示链接到前一个,单击它就不链接到前一个,也就是后面与前面没有关系了
    再插入页码,第五页上显示5,不着急
    还是在工具栏是找到“页码格式”,默认的是续前节,改为起始值1 确定

    前几页也有一个1了,删掉前几页的就行了!

     

  • 瓦伦达效应

    2008-07-16 16:02:59


    法拉第说过一句话:“拼命去换取成功,但不希望一定会成功,结果往往会成功。”这就是成功的奥秘

     

  • 查看oracle最大连接数

    2008-07-08 09:25:59

    select count(*) from v$session  #连接数

    Select count(*) from v$session where status='ACTIVE' #并发连接数

    show parameter processes  #最大连接

     alter system set processes = value scope = spfile;重启数据库  #修改连接

    /home/oracle9i/app/oracle9i/dbs/init.ora

     /home/oracle9i/app/oracle9i/dbs/spfilexxx.ora ## open_cursor

  • HTTP 1.1状态代码及其含义

    2008-04-30 09:01:19

     

    HTTP 1.1状态代码及其含义

    100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)

    101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)

    200 OK 一切正常,对GET和POST请求的应答文档跟在后面。

    201 Created 服务器已经创建了文档,Location头给出了它的URL。

    202 Accepted 已经接受请求,但处理尚未完成。

    203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(HTTP 1.1新)。

    204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。

    205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。

    206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。

    300 Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。

    301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。

    302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”。
    出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。

    注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求http://host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。

    严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。请参见307。

    303 See Other 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取(HTTP 1.1新)。

    304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。

    305 Use Proxy 客户请求的文档应该通过Location头所指明的代理服务器提取(HTTP 1.1新)。

    307 Temporary Redirect 和302(Found)相同。许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时才能重定向。由于这个原因,HTTP 1.1新增了307,以便更加清除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只能跟随对GET请求的重定向。(HTTP 1.1新)

    400 Bad Request 请求出现语法错误。

    401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。

    403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。

    404 Not Found 无法找到指定位置的资源。这也是一个常用的应答。

    405 Method Not Allowed 请求方法(GET、POST、HEAD、Delete、PUT、TRACE等)对指定的资源不适用。(HTTP 1.1新)

    406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容(HTTP 1.1新)。

    407 Proxy Authentication Required 类似于401,表示客户必须先经过代理服务器的授权。(HTTP 1.1新)

    408 Request Timeout 在服务器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求。(HTTP 1.1新)

    409 Conflict 通常和PUT请求有关。由于请求和资源的当前状态相冲突,因此请求不能成功。(HTTP 1.1新)

    410 Gone 所请求的文档已经不再可用,而且服务器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而404表示由于未知的原因文档不可用。(HTTP 1.1新)

    411 Length Required 服务器不能处理请求,除非客户发送一个Content-Length头。(HTTP 1.1新)

    412 Precondition Failed 请求头中指定的一些前提条件失败(HTTP 1.1新)。

    413 Request Entity Too Large 目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求,则应该提供一个Retry-After头(HTTP 1.1新)。

    414 Request URI Too Long URI太长(HTTP 1.1新)。

    416 Requested Range Not Satisfiable 服务器不能满足客户在请求中指定的Range头。(HTTP 1.1新)

    500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。

    501 Not Implemented 服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器不支持的PUT请求。

    502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。

    503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。

    504 Gateway Timeout 由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。(HTTP 1.1新)

    505 HTTP Version Not Supported 服务器不支持请求中所指明的HTTP版本。(HTTP 1.1新

  • 软件性能测试面面观

    2008-04-28 12:47:49

    软件性能测试面面观

    软件件测试,作为软件工程的一部分,随着软件生产的产业化运作应运而生,是软件生产的一个动态监控过程,对软件开发全过程进行检测,可以随时发现问题、报告问题,并重新评估新的风险,设置新的监控基准,并持续下去。软件测试是软件质量控制的过程,是对软件系统中潜在的各种风险进行评估的活动,其目的是监测和排除缺陷,以确保软件产品在可用性、功能性、可操作性等多方面满足质量需求。
    目前,软件测试已经由被动的以监测和发现错误为目的发展到从软件质量控制(SQC,Software Quality Control)开始转移到软件质量保证(SQA,Software Quality Assurance),使软件测试从单纯的缺陷检测和发现覆盖到整个软件开发过程,避免了软件开发过程中由于软件需求和设计等方面的缺陷所带来的巨大风险。一个典型的软件过程可以分为测试需求分析、测试设计、测试执行、缺陷和配置管理过程等许多个不同的阶段。在软件测试技术方面也已经被细化为单元测试、集成测试、系统测试、用户验收测试等不同的测试技术。而在对软件产品质量呼声日高的今天,软件性能测试技术尤为重要。

    软件性能测试“整体观”

    软件的性能测试是为了检验系统或系统部件是否达到需求规格说明中规定的各类性能指标,并满足一些性能相关的约束和限制条件,它必须对系统或系统部件具有的性能(例如,速度、精度、频率)做出规定的要求。
    性能测试通常在系统测试阶段执行,常常与强度测试结合起来,一般需要使用测试工具。评估测试对象的性能行为时,可以使用多种评测,这些评测侧重于获取与行为相关的数据,如响应时间、计时配置文件、执行流、操作可靠性和限制。这些评测主要在评估测试活动中进行,也可以在执行测试活动中使用性能评测评估测试进度和状态。
    性能需要在各种条件下测试,这些条件包括:
    ● 不同的工作量和/或系统条件。
    ● 不同的用例/功能。
    ● 不同的配置。
    ● 性能需求在补充规格或需求规格说明书中的性能描述部分中说明。
    在上述条件下执行测试时,要特别注意以下信息,并为反映这些信息的每条语句生成至少一个测试需求:
    ● 时间语句,如响应时间或定时情况。
    ● 指出在规定时间内必须出现的事件数或用例数的语句。
    ● 将某一项性能的行为与另一项性能的行为进行比较的语句。
    ● 将某一配置下的应用程序行为与另一配置下的应用程序行为进行比较的语句。
    ● 一段时间内的操作可靠性(平均故障时间或MTTF)。
    ● 配置或约束
    软件性能测试工作主要包括如下几个方面:
    ● 动态监测:在测试执行过程中,实时获取并显示正在执行的各测试脚本的状态。
    ● 响应时间/吞吐量:测试对象针对特定主角和/或用例的响应时间或吞吐量的评测。
    ● 百分位报告:数据已收集值的百分位评测/计算。
    ● 比较报告:代表不同测试执行情况的两个(或多个)数据集之间的差异或趋势。
    ● 追踪报告:主角(测试脚本)和测试对象之间的消息/会话详细信息。

    软件性能测试“方法观”

    软件性能测试的方法可以根据测试目的的不同,选择不同的方法,具体如下表:

    根据测试内容的不同,性能测试主要包括以下方面:

    1、响应时间测试
    ● 响应时间测试,通常指正常单用户操作时客户端的响应时间,以及将强度测试、负载测试、压力测试结合时客户端的响应时间。
    ● 函数、方法、对象、子例程执行时间。
    ● 函数、方法调用频度及嵌套。
    ● 运行特定模块、按特定路径执行或处理特定数据所花费的时间。
    ● 处理精度。
    ● 如果两次运行时间相差三倍以上,则可能存在问题。

    2、强度测试(压力/负载测试)
    强度测试需要在反常数量、频率或资源的方式下运行系统,以检验系统能力的最高实际限度,它要求软件必须被强制在它的设计能力的极限状态下运行。

    3、软件可靠性测试
    这种测试经常发现的错误包括越界指针,内存泄露、栈溢出、超过两个特性之间的错误交互等,也称长序列测试(long sequence testing)、持久测试(duration testing)、耐力测试(endurance testing)。测试持续时间较长,目标是发现程序测试遗漏的错误。
    可靠性差的软件,如执行时总是频繁地、重复地失败,软件不能稳定地工作。
    软件可靠性测试的目的是给出可靠性的定量估计值。

    软件性能评测“指标观”

    一般来说衡量软件性能测试的标准可以采用以下曾用的方法:
    1、软件可靠度(R)指标
    一种定量描述软件可靠性的方法,是指在规定的条件下和规定的时间内,软件在其运行剖面的某时刻正确地实现规定功能的概率。
    2、软件平均故障前工作时间(MTTF)
    一种定量描述软件可靠性的方法,是指一定配置状态下的软件产品在其规定的运行剖面中故障工作时间的期望值,以及软件故障强度。
    3、软件平均无故障工作时间(MTBF)
    计算机系统或子系统实现其功能的能力。一般以对计算机系统或子系统执行其功能的能力的度量。例如,响应时间、吞吐能力、事务处理数、占用率。

    软件性能测试“实例观”

    为了让读者对性能测试有更深刻的认识,下面以手机中运行的软件为例,说明在实际的软件开发过程中性能测试方法的运用:
    手机性能测试的方法可分为手工测试和自动测试。
    手工测试主要是通过测试人员手动操作,并借助某些监测仪器和工具来验证手机性能。但由于手机功能众多,很多性能测试需要重复性地进行,工作量很大,这需要耗费大量测试时间同时也容易造成测试的遗漏,不能保证性能测试的准确性和高效率。
    借助PC平台,目前已经有很多功能强大且通用的自动测试工具,如比较典型的有Winrunner,Robot,Loadrunner等等,但这些工具必须进行二次开发,才能将自动测试工具兼容到手机这种嵌入式系统中来。
    手机的自动化性能测试一般分为以下几个步骤进行:

    1、系统分析
    将系统的性能指标转化为性能测试的具体目标。通常在这一步骤里,要分析被测系统结构,结合性能指标,制定具体的性能测试实施方案。要求测试人员对被测系统结构和实施业务全面掌握。

    2、建立虚拟用户脚本
    将业务流程转化为测试脚本,通常指的是虚拟用户脚本或虚拟用户。虚拟用户通过驱动一个真正的客户程序来模拟真实用户,要将各类被测业务流程从头至尾进行确认和记录,分析每步操作的细节和时间,将其精确地转化为脚本。类似制造一个能够模仿人的行为和动作的机器人过程。

    3、根据用户性能指标创建测试场景
    根据真实业务场景,对生成的测试脚本进行复制和控制,对脚本的执行制定规则和约束关系,转化为满足性能测试指标的测试用例集。这个步骤需要结合用户性能指标进行细致地分析。

    4、运行测试场景,同步监测应用性能
    在性能测试运行中,实时监测能使测试人员在测试过程中的任何时刻都可以了解应用程序的性能优劣。系统的每一部件都需要监测:协议栈,MMI应用程序,内存占用情况,驱动程序运行状态等。实时监测可以在测试执行中及早发现性能瓶颈。

    5、性能测试的结果分析和性能评价
    结合测试结果数据,分析出系统性能行为表现的规律,并准确定位系统的性能瓶颈所在。可以利用数学手段对大批量数据进行计算和统计,使结果更加具有客观性。在性能测试中,需要注意的是,能够执行的性能测试方案并不一定是成功的,成败的关键在于其是否精确地对真实世界进行了模拟。
    在整个性能测试过程中,自动化测试工具的选择只能影响性能测试执行的复杂程度,但人的分析和思考却会直接导致性能测试的成败。
    总之,软件性能测试的方法很多,不同方法的评测指标也是不同的。针对用户的需求、开发模式以及开发过程的不同,灵活
    摘自:《软件工程师》2006年11期 作者:赵丽莉 金学军
  • exp/imp命令详解

    2008-04-07 21:58:16

     命令详解:
       
      E:\>eXP help=y
      
      通过输入 EXP 命令和用户名/口令,您可以
      在用户 / 口令之后的命令:
      
      实例: EXP SCOTT/TIGER
      
      或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出”的运行方式。
      要指定参数,您可以使用要害字:
      
      格式: EXP KEYWord=value 或 KEYWORD=(value1,value2,...,valueN)
      实例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
      或 TABLES=(T1: P1,T1: P2),假如 T1 是分区表
      
      USERID 必须是命令行中的第一个参数。
      
      要害字 说明(默认)
      ---------------------------------------------------
      USERID 用户名/口令
      FULL 导出整个文件 (N)
      BUFFER 数据缓冲区的大小
      OWNER 所有者用户名列表
      FILE 输出文件 (EXPDAT.DMP)
      TABLES 表名列表
      COMPRESS 导入一个范围 (Y)
      RECORDLENGTH IO 记录的长度
      GRANTS 导出权限 (Y)
      INCTYPE 增量导出类型
      INDEXES 导出索引 (Y)
      RECORD 跟踪增量导出 (Y)
      ROWS 导出数据行 (Y)
      PARFILE 参数文件名
      CONSTRAINTS 导出限制 (Y)
      CONSISTENT 交叉表一致性
      LOG 屏幕输出的日志文件
      STATISTICS 分析对象 (ESTIMATE)
      DIRECT 直接路径 (N)
      TRIGGERS 导出触发器 (Y)
      FEEDBACK 显示每 x 行 (0) 的进度
      FILESIZE 各转储文件的最大尺寸
      QUERY 选定导出表子集的子句
      
      下列要害字仅用于可传输的表空间
      TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
      TABLESPACES 将传输的表空间列表
      
      
      E:\>imp help=y
      
      可以通过输入 IMP 命令和您的用户名/口令
      跟有您的用户名 / 口令的命令:
      
      实例: IMP SCOTT/TIGER
      
      或者, 可以通过输入 IMP 命令和各种自变量来控制“导入”按照不同参数。
      要指定参数,您可以使用要害字:
      
      格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)
      实例: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
      或 TABLES=(T1: P1,T1: P2),假如 T1 是分区表
      
      USERID 必须是命令行中的第一个参数。
      
      要害字 说明(默认)
      ----------------------------------------------
      USERID 用户名/口令
      FULL 导入整个文件 (N)
      BUFFER 数据缓冲区大小
      FROMUSER 所有人用户名列表
      FILE 输入文件 (EXPDAT.DMP)
      TOUSER 用户名列表
      SHOW 只列出文件内容 (N)
      TABLES 表名列表
      IGNORE 忽略创建错误 (N)
      RECORDLENGTH IO 记录的长度
      GRANTS 导入权限 (Y)
      INCTYPE 增量导入类型
      INDEXES 导入索引 (Y)
      COMMIT 提交数组插入 (N)
      ROWS 导入数据行 (Y)
      PARFILE 参数文件名
      LOG 屏幕输出的日志文件
      CONSTRAINTS 导入限制 (Y)
      DESTROY 覆盖表空间数据文件 (N)
      INDEXFILE 将表/索引信息写入指定的文件
      SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
      ANALYZE 执行转储文件中的 ANALYZE 语句 (Y)
      FEEDBACK 显示每 x 行 (0) 的进度
      TOID_NOVALIDATE 跳过指定类型 id 的校验
      FILESIZE 各转储文件的最大尺寸
      RECALCULATE_STATISTICS 重新计算统计值 (N)
      
      下列要害字仅用于可传输的表空间
      TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
      TABLESPACES 将要传输到数据库的表空间
      DATAFILES 将要传输到数据库的数据文件
      TTS_OWNERS 拥有可传输表空间集中数据的用户 right">(出处:清风软件下载学院)

    -
  • Oracle 数据库的备份与恢复

    2008-04-04 22:13:24

    文章出处:http://www.pconline.com.cn/pcedu/empolder/db/oracle/0409/461459_1.html

    Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。

      一、 导出/导入(Export/Import)

      利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。

      1、 简单导出数据(Export)和导入数据(Import)

      Oracle支持三种方式类型的输出:

      (1)、表方式(T方式),将指定表的数据导出。
      (2)、用户方式(U方式),将指定用户的所有对象及数据导出。
      (3)、全库方式(Full方式),瘵数据库中的所有对象导出。

      数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。

      2、 增量导出/导入

      增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。

      增量导出包括三种类型:

      (1)、“完全”增量导出(Complete)
      即备份三个数据库,比如:
      exp system/manager inctype=complete file=040731.dmp
      (2)、“增量型”增量导出
      备份上一次备份后改变的数据,比如:
      exp system/manager inctype=incremental file=040731.dmp
      (3)、“累积型”增量导出
      累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:
      exp system/manager inctype=cumulative file=040731.dmp
      数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
      比如数据库的被封任务可以做如下安排:

      星期一:完全备份(A)
      星期二:增量导出(B)
      星期三:增量导出(C)
      星期四:增量导出(D)
      星期五:累计导出(E)
      星期六:增量导出(F)
      星期日:增量导出(G)

    如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:

      第一步:用命令CREATE DATABASE重新生成数据库结构;
      第二步:创建一个足够大的附加回滚。
      第三步:完全增量导入A:
      imp system/manager inctype=RESTORE FULL=y FILE=A
      第四步:累计增量导入E:
      imp system/manager inctype=RESTORE FULL=Y FILE=E
      第五步:最近增量导入F:
      imp system/manager inctype=RESTORE FULL=Y FILE=F

      二、 冷备份

      冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:

      1、 是非常快速的备份方法(只需拷文件)
      2、 容易归档(简单拷贝即可)
      3、 容易恢复到某个时间点上(只需将文件再拷贝回去)
      4、 能与归档方法相结合,做数据库“最佳状态”的恢复。
      5、 低度维护,高度安全。

      但冷备份也有如下不足:

      1、 单独使用时,只能提供到“某一时间点上”的恢复。
      2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
      3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
      4、 不能按表或按用户恢复。

      如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:

      1、 所有数据文件
      2、 所有控制文件
      3、所有联机REDO LOG文件
      4、 Init.ora文件(可选)

      值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。

    下面是作冷备份的完整例子。

      (1) 关闭数据库
      sqlplus /nolog
      sql>connect /as sysdba
      sql>shutdown normal;
      (2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
      sql>cp
      (3) 重启Oracle数据库
      sql>startup

      三、 热备份

      热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:

      1. 数据文件一个表空间一个表空间的备份。

      (1) 设置表空间为备份状态
      (2) 备份表空间的数据文件
      (3) 回复表空间为正常状态

      2. 备份归档log文件

      (1) 临时停止归档进程
      (2) log下那些在archive rede log目标目录中的文件
      (3) 重新启动archive进程
      (4) 备份归档的redo log文件

      3. 用alter database bachup controlfile命令来备份控制文件
      热备份的优点是:

      1. 可在表空间或数据库文件级备份,备份的时间短。
      2. 备份时数据库仍可使用。
      3. 可达到秒级恢复(恢复到某一时间点上)。
      4. 可对几乎所有数据库实体做恢复
      5. 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。

      热备份的不足是:

      1. 不能出错,否则后果严重
      2. 若热备份不成功,所得结果不可用于时间点的恢复
      3. 因难于维护,所以要特别仔细小心,不允许“以失败告终”。

  • 在SQL中删除重复记录(多种方法)

    2008-04-02 09:48:47

    文章出处:http://www.pconline.com.cn/pcjob/other/data/others/0508/693592_1.html

    学习sql有一段时间了,发现在我建了一个用来测试的表(没有建索引)中出现了许多的重复记录。后来总结了一些删除重复记录的方法,在Oracle中,可以通过唯一rowid实现删除重复记录;还可以建临时表来实现...这个只提到其中的几种简单实用的方法,希望可以和大家分享(以表employee为例)。

    SQL> desc employee

     Name                                      Null?    Type
     ----------------------------------------- -------- ------------------

    emp_id                                                NUMBER(10)
    emp_name                                           VARCHAR2(20)

    salary                                                  NUMBER(10,2)

     

    可以通过下面的语句查询重复的记录:

    SQL> select * from employee;

        EMP_ID EMP_NAME                                  SALARY

    ---------- ---------------------------------------- ----------

             1 sunshine                                      10000

             1 sunshine                                      10000

             2 semon                                         20000

             2 semon                                         20000

             3 xyz                                           30000

             2 semon                                         20000


    SQL>
    select distinct * from employee;

        EMP_ID EMP_NAME                                     SALARY

    ---------- ---------------------------------------- ----------

             1 sunshine                                      10000

             2 semon                                         20000

             3 xyz                                             30000

    SQL>  select * from employee group by emp_id,emp_name,salary having count (*)>1

        EMP_ID EMP_NAME                                     SALARY

    ---------- ---------------------------------------- ----------

             1 sunshine                                      10000

             2 semon                                          20000


    SQL>
    select * from employee e1

    where rowid in (select max(rowid) from employe e2
     
    where e1.emp_id=e2.emp_id and

      e1.emp_name=e2.emp_name and e1.salary=e2.salary);

     

        EMP_ID EMP_NAME                                     SALARY

    ---------- ---------------------------------------- ----------

             1 sunshine                                      10000

             3 xyz                                             30000

             2 semon                                         20000

    2. 删除的几种方法:

    1)通过建立临时表来实现

    SQL>create table temp_emp as (select distinct * from employee) 

    SQL> truncate table employee; (清空employee表的数据)

    SQL> insert into employee select * from temp_emp;  (再将临时表里的内容插回来)

    ( 2)通过唯一rowid实现删除重复记录.Oracle中,每一条记录都有一个rowidrowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有列的内容都相同,但rowid不会相同,所以只要确定出重复记录中那些具有最大或最小rowid的就可以了,其余全部删除。

    SQL>delete from employee e2 where rowid not in (
           
    select max(e1.rowid) from employee e1 where

            e1.emp_id=e2.emp_id and e1.emp_name=e2.emp_name and e1.salary=e2.salary);--这里用min(rowid)也可以。

    SQL>delete from employee e2 where rowid <(
           
    select max(e1.rowid) from employee e1 where
            e1.emp_id
    =e2.emp_id and e1.emp_name=e2.emp_name and

                      e1.salary=e2.salary);

    3)也是通过rowid,但效率更高。

    SQL>delete from employee where rowid not in (
           
    select max(t1.rowid) from employee t1 group by

             t1.emp_id,t1.emp_name,t1.salary);--这里用min(rowid)也可以。

        EMP_ID EMP_NAME                                     SALARY

    ---------- ---------------------------------------- ----------

             1 sunshine                                      10000

             3 xyz                                             30000

             2 semon                                         20000

     

    SQL> desc employee

     Name                                      Null?    Type
     ----------------------------------------- -------- ------------------

    emp_id                                                NUMBER(10)
    emp_name                                           VARCHAR2(20)

    salary                                                  NUMBER(10,2)

  • 近期关注版本控制相关知识

    2008-03-31 11:49:40

    公司里没有专门的人做配置管理,不知道怎么做版本管理,是开发人员编译好了,再发给测试,还是要怎么去控制版本呢?
  • TD汉化包

    2008-03-30 21:38:44

    暂无
  • TD汉化

    2008-03-30 21:35:19

     
     
     

    今天安装了TestDirector8.0版的,说说我的经历吧,希望对你有所帮助

    安装环境:操作系统是Windows2003 Enterprise Edition 数据库用SQL2000      用IIS V6.0做支持

    1.执行setup.exe文件进行安装,一路点击默认选项,选择数据库时我选择SQL server

    2.从网上下载的汉化文件是 tdclientui80.ocx ,把它重命名为TDClientUI80.xco ,然后把它放到

    C:\Inetpub\TDBIN\Install目录下,覆盖原文件即可

    3.如果已经用客户端登录过,删除客户端C:\Program Files\Common Files\Mercury Interactive目录下的

       文件,重新登录即可,会再次把服务器端的配置文件重新加载一遍

    4.安装的时候,会自动把虚拟目录配置好,无须手动配置。对了,安装完毕建议马上重启电脑

    5.现在可以去客户端用IE登录TD了,很爽啊!默认管理员密码为空。

    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    第3点补充:按照笔者我操作了一遍,结果TD起不来了,后来我就先把所有的文件备份一下,并且在第3点中删除文件除了tdapiserver和tdstartstop.exe两个文件,后就可以了!

     

  • 软件测试的14种类型

    2008-03-28 14:08:04

    软件测试的14种类型
    作者:alltime    文章来源:网络    点击数:     更新时间:2007-4-6    
    软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。本文主要描述软件测试的类型。

    1 数据和数据库完整性测试

    数据与数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。
    数据库完整性原即:
    主码完整性:主码不能为空;
    外码完整性:外码必须等于对应的主码或者为空。
    数据合理性指数据在数据库中的类型,长度,索引等是否建的比较合理。
    在项目名称中,数据库和数据库进程应作为一个子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统 (DBMS),还需要进行深入的研究,以确定可以支1持测试的工具和技术。

    比如,有两张表:部门和员工。部门中有部门编号,部门名称,部门经理等字段,主码为部门编号;员工表中有员工编号,员工所属部门编号,员工名称,员工类型等字段,主码为员工编号,外码为员工所属部门编号,对应部门表。如果在某条部门记录中部门编号或员工记录员工编号为空,他就违反主码完整性原则。如果某个员工所属部门的编号为##,但是##在部门编号中确找不到,这就违反外码完整性原则。
    员工类型如下定义:0:职工,1:职员,2:实习生。但数据类型为Int,我们都知道Int占有4个字节,如果定义成char(1).就比原来节约空间。


    2 白盒测试

    白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。白盒测试分为动态白盒测试和静态白盒测试
    2.1 静态白盒测试
    利用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。比如,代码规范中规定,函数必须为动宾结构。而黑盒测试发现一个函数定义如下:
    Function NameGet(){
    ….
    }
    这是属于不符合开发规范的错误。
    有这样一段代码:
    if (i<0) & (i>=0)

    这段代码交集为整个数轴,IF语句没有必要
    I=0;
    while(I>100){
    J=J+100;
    T=J*PI;
    }
    在循环体内没有I的增加,bug产生。

    2.2 动态白盒测试
    利用开发工具中的调式工具进行测试。比如一段代码有4个分支,输入4组不同的测试数据使4组分支都可以走通而且结果必须正确。
    看一段代码
    if(I<0){
    P1
    }else{
    P2
    }
    在调试中输入I=-1,P1程序段通过, P2程序段未通过,属于动态黑盒测试的缺陷

    3.功能测试

    功能测试指测试软件各个功能模块是否正确,逻辑是否正确。
    对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面 (GUI) 与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。功能测试的主要参考为类似于功能说明书之类的文档。
    比如一个对电子商务系统,前台用户浏览商品-放入购物车-进入结账台,后台处理订单,配货,付款,发货,这一系列流程必须正确无误的走通,不能存在任何的错误。

    4.UI测试

    UI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等
    用户界面 (UI) 测试用于核实用户与软件之间的交互。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI 测试还可确保 UI 中的对象按照预期的方式运行,并符合公司或行业的标准。包括用户友好性,人性化,易操作性测试。UI测试比较主观,与测试人员的喜好有关
    比如:页面基调颜色刺眼;用户登入页面比较难于找到,文字中出现错别字,页面图片范围太广等都属于UI测试中的缺陷,但是这些缺陷都不太严重。

    5.性能测试

    性能测试主要测试软件测试的性能,包括负载测试,强度测试,数据库容量测试,基准测试以及基准测试
    5.1负载测试
    负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
    在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
    比如,在B/S结构中用户并发量测试就是属于负载测试的用户,可以使用webload工具,模拟上百人客户同时访问网站,看系统响应时间,处理速度如何?
    5.2强度测试
    强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。这类测试往往可以书写系统要求的软硬件水平要求。
    实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。
    比如:一个系统在内存366M下可以正常运行,但是降低到258M下不可以运行,告诉内存不足,这个系统对内存的要求就是366M。
    5.3数据库容量测试
    数据库容量测试指通过存储过程往数据库表中插入一定数量的数据,看看相关页面是否能够及时显示数据。
    数据库容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表。做这种测试通常通过书写存储过程向数据库某个表中插入一定数量的记录,计算相关页面的调用时间。
    比如,在电子商务系统中,通过insert customer 往user表中插入10 000数据,看其是否可以正常显示顾客信息列表页面,如果要求达到最多可以处理100 000个客户,但是顾客信息列表页面不能够在规定的时间内显示出来,就需要调整程序中的SQL查询语句;如果在规定的时间内显示出来,可以将用户数分别提高到20 000 , 50 000, 100 000进行测试。
    5.4基准测试
    基准测试与已知现有的系统进行比较,主要检验是否与类似的产品具有竞争性的一种测试。
    如果你要开发一套财务系统软件并且你已经获得用友财务系统的性能等数据,你可以测试你这套系统,看看哪些地方比用友财务系统好,哪些地方差?以便改进自己的系统,也可为产品广告提供数据。
    5.5竞争测试
    软件竞争使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。比如:一台机器上即安装您的财务系统,又安装用友财务系统。当CPU占有率下降后,看看是否能够强过用友财务系统,而是自己的系统能够正常运行?

    6. 安全性和访问控制测试

    安全性和访问控制测试侧重于安全性的两个关键方面:
    应用程序级别的安全性,包括对数据或业务功能的访问
    系统级别的安全性,包括对系统的登录或远程访问。
    6.1应用程序级别的安全性
    可确保:在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户消息(包括财务数据),而“用户二”只能看见同一客户的统计数据。
    比如B/S系统,不通过登入页面,直接输入URL,看其是否能够进入系统?
    6.2系统级别的安全性
    可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。
    比如输入管理员账户,检查其密码是否容易猜取,或者可以从数据库中获得?

    7.故障转移和恢复测试

    故障转移和恢复测试指当主机软硬件发生灾难时候,备份机器是否能够正常启动,使系统是否可以正常运行,这对于电信,银行等领域的软件是十分重要的。
    故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。
    故障转移测试可确保:对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。
    恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出 (I/O) 故障或无效的数据库指针和关健字)。然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。一定要注意主备定时备份
    比如电信系统,突然主机程序发生死机,备份机器是否能够启动,使系统能够正常运行,从而不影响用户打电话?

    8.配置测试

    又叫兼容性测试。配置测试核实测试对象在不同的软件和硬件配置中的运行情况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。(如浏览器版本,操作系统版本等)
    下面列出主要配置测试
    8.1浏览器兼容性
    测试软件在不同产商的浏览器下是否能够正确显示与运行;
    比如测试IE,Natscape浏览器下是否可以运行这套软件?
    8.2操作系统兼容性
    测试软件在不同操作系统下是否能够正确显示与运行;
    比如测试WINDOWS98,WINDOWS 2000,WINDOWS XP,LINU, UNIX下是否可以运行这套软件?
    8.3硬件兼容性
    测试与硬件密切相关的软件产品与其他硬件产品的兼容性,比如该软件是少在并口设备中的,测试同时使用其他并口设备,系统是否可以正确使用.
    比如在INTER,舒龙CPU芯片下系统是否能够正常运行?
    这样的测试必须建立测试实验室,在各种环境下进行测试。

    9.安装测试

    安装测试有两个目的。第一个目的是确保该软件在正常情况和异常情况的不同条件下: 例如,进行首次安装、升级、完整的或自定义的安装_都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。第二个目的是核实软件在安装后可立即正常运行。这通常是指运行大量为功能测试制定的测试。
    安装测试包括测试安装代码以及安装手册。安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。

    10.多语种测试

    又称本地化测试,是指为各个地方开发产品的测试,如英文版,中文版等等,包括程序是否能够正常运行,界面是否符合当地习俗,快捷键是否正常起作用等等,特别测试在A语言环境下运行B语言软件(比如在英文win98下试图运行中文版的程序),出现现象是否正常。
    本地化测试还要考虑:
    l 当语言从A翻译到B,字符长度变化是否影响页面效果。比如中文软件中有个按键叫“看广告”,翻译到英文版本中为 “View advertisement”可能影响页面的美观程度
    l 要考虑同一单词在各个国家的不同意思,比如football在英文中为足球,而美国人使用中可能理解为美式橄榄球。
    l 要考虑各个国家的民族习惯,比如龙个美国中被理解邪恶的象征,但翻译到中国,中国人认为为吉祥的象征。

    11.文字测试

    文字测试测试软件中是否拼写正确,是否易懂,不存在二义性,没有语法错误;文字与内容是否有出入等等,包括图片文字。
    比如:“比如,请输入正确的证件号码!”何谓正确的证件号码,证件可以为身份证,驾驶证,也可为军官证,如果改为“请输入正确的身份证号码!”用户就比较容易理解了。

    12.分辨率测试

    测试在不同分辨率下,界面的美观程度,分为800*600,1024*768,1152*864,1280*768,1280*1024,1200*1600大小字体下测试。一个好的软件要有一个极佳的分辨率,而在其他分辨率下也都能可以运行。

    13发布测试

    主要在产品发布前对一些附带产品,比如说明书,广告稿等进行测试

    13.1说明书测试
    主要为语言检查,功能检查,图片检查
    语言检查:检查说明书语言是否正确,用词是否易于理解;
    功能检查:功能是否描述完全,或者描述了并没有的功能等;
    图片检查::检查图片是否正确
    13.2宣传材料测试
    主要测试产品中的附带的宣传材料中的语言,描述功能,图片
    13.3帮助文件测试
    帮助文件是否正确,易懂,是否人性化。最好能够提供检索功能。
    13.4广告用语
    产品出公司前的广告材料文字,功能,图片,人性化的检查

    14 文档审核测试

    文档审核测试目前越来越引起人们的重视,软件质量不是检查出来的,而是融进软件开发中来。前置软件测试发越来越受到重视。请看一个资料:

    文档审核测试主要包括需求文档测试,设计文档测试,为前置软件测试测试中的一部分。

    14.1需求文档测试

    主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;

    14.2设计文档测试

    测试设计是否符合全部需求以及设计是否合理。

    总结

    据美国软件质量安全中心2000年对美国一百家知名的软件厂商统计,得出这样一个结论:软件缺陷在开发前期发现比在开发后期发现资金,人力上节约90%;软件缺陷在推向市场前发现比在推出后发现资金,人力上节约90%。所以说软件的缺陷应该尽早发现。不是所有的软件都要进行任何类型的软件测试的,可以根据产品的具体情况进行组装测试不同的类型。
  • 感受春天的气息

    2008-03-27 22:44:29

    有时间周末的时候和家人去踏踏青吧!那里的花花草草真的很漂亮!城市里是找不到的!看到它们,做个深呼吸吧!真的感觉太好了!

  • 开通了空间!

    2008-03-27 14:31:06

    春天是我最喜欢的季节,因为春天是花儿的舞台!女人就象花儿一样,在春天的时候就喜欢把自己打扮的漂亮一点,不能让花儿看见了笑话
Open Toolbar