发布新日志

  • 游戏测试技术综述

    2007-01-07 15:16:44

    近两年,IT业一直经历着寒冬,但是游戏软件业却呈现出了勃勃生机。网络游戏仅在中国游戏市场出现不过两三年,正式投入商业运营的游戏数目已超过100款,但众所周知,都是国外的(主要是韩国的游戏)统治着国内大部分的市场,国内游戏软件想要突围而出,主要从二个方面,一是可玩性,由于中国有上下五千年的传统文化,博大精深,是我们得天独厚的优势,二是游戏的质量,游戏测试作为游戏开发中质量保证的最重要的环节,在游戏设计与开发的过程中发挥着越来越重要的作用。
      游戏测试作为软件测试的一部分,它具备了软件测试所有的一切共同的特性:测试的目的是发现软件中存在的缺陷。测试都是需要测试人员按照产品行为描述来实施。产品行为描述可以是书面的规格说明书,需求文档,产品文件,或是用户手册,源代码,或是工作的可执行程序。
      总而言之,测试就是发现问题并进行改进,从而提升软件产品的质量。游戏测试也具备了以上的所有特性,不过由于游戏的特殊性,所以游戏测试则主要分为两部分组成,一是传统的软件测试,二游戏本身的测试,由于游戏特别是网络游戏,它相当于网上的虚拟世界,是人类社会的另一种方式的体现,所以也包含了人类社会的一部分特性,同时它又是游戏所以还涉及到娱乐性,可玩性等独有特性,所以测试的面相当的广。 称之为游戏世界测试,主要有以下几个特性:   
      游戏情节的测试:主要指游戏世界中的任务系统的组成。   
      游戏世界的平衡测试:主要表现在经济平衡,能力平衡(包含技能,属性等等),保证游戏世界竞争公平。  
      游戏文化的测试:比如整个游戏世界的风格,是中国文化主导,还是日韩风格等等,大到游戏整体,小到NPC(游戏世界人物)对话,比如一个书生,他的对话就必需斯文,不可以用江湖语言。
      要了解如何测试游戏必需了解如何做游戏,了解它的开发过程,才能真正的测好游戏。游戏要成功,其基本的必要条件有三。分别为Vision(设计)technology(技术)Process(过程)

      游戏策划与测试计划:测试过程不可能在真空中进行。如果测试人员不了解游戏是由那几个部分组成的,那么执行测试就非常的困难,同时测试计划可以明确测试的目标,需要什么资源,进度的安排,通过测试计划,既可以让测试人员了解此次游戏测试中那些是测试重点,又可以与产品开发小组进行交流。在企业开发中,测试计划书来源于需求说明文档,同样在游戏开发过程中,测试计划的来源则是策划书。策划书包含了游戏定位,风格,故事情节,要求的配制等等。从里面了解到游戏的组成,可玩性,平衡(经济与能力),与形式(单机版还是网络游戏),而我们测试在这一阶段主要的事情就是通过策划书来制定详细的测试计划,主要分两个方面一是游戏程序本身的测试计划,比如任务系统,聊天,组队,地图等等由程序来实现的功能测试计划,二是游戏可玩性有测试计划,比如经济平衡标准是否达到要求,各个门派技能平衡测试参数与方法,游戏风格的测试,三是关于性能测试的计划,比如客户端的要求,网络版的对服务器的性能要求。同时测试计划书中还写明了基本的测试方法,要设计的自动化工具的需求,为后期的测试打下良好的基础。同时由于测试人员参与到策划评审,对游戏也有很深入的了解,会对策划提出自己的看法,包含可玩性,用户群,性能要求等等并形成对产品的风险评估分析报告,但这份报告不同于策划部门自己的风险分析报告,主要从旁观者的角度对游戏本身的品质作充分的论证,从而更有效的对策划起到控制的作用。

      游戏设计与测试:设计阶段是做测试案例设计的最好时机。很多组织要么根本不做测试计划和测试设计,要么在即将开始执行测试之前才飞快地完成测试计划和设计。在这种情况下,测试只是验证了程序的正确性,而不是验证整个系统本该实现的东西。而我们的测试则会很明确,因为我们的测试计划已经写的很明确,需要测试那些游戏系统,但是我们还需要了解系统的组成,而设计阶段则是设计系统的过程,所有的重要系统均是用UML状态图进行了详细的描述,比如用户登陆情况。
      在团队中若是有资深的测试人员要具备的一项基本的素质就是可以针对UML的用例图,时序图,状态图来设计出重要系统的测试案例,只有重要系统的质量得到充分的测试,游戏程序的质量才可以得到充分的保证。比如上图中就是一个用户登陆游戏系统的时序图。从这里我们可以很明确的了解玩家是如何验证并登陆系统的,在这个过程中要与那些对象进行交互,比如这里我们就是三个系统之间的交互,客户端(玩家部分),网关,账号服务之间的一个时序变化关系,为了能够完整的对这个流程进行测试,我们必需设计出可以覆盖整个流程的测试案例,并考虑其中可能的非法情况,因为这个时序图只是考虑了用户正常登陆成功的情况,并没有考虑密码错误,通信失败等许多可能存有的情况,并形成完整的测试案例库,从而对登陆系统的系统化测试做了充分的准备。同时通过这张图,性能分析人员还可以分析出可能存的性能瓶颈,比如这里可能有的瓶颈如下,总网关是否可以达到多少用户的并发,是如果达不到,是否可以采用分布式部署或是支持负载平衡,三者之间的网络带宽的比例分配,账号服务器是否可以承载多个网关的连接请求,最大连接请求可以达到多少等等,同时会针对这些风险做性能测试的设计,并提出自动化测试的需求,比如模拟玩家登陆的压力工具等等。
      在设计评审时,测试人员的介入可以充分的对当前的系统构架发表自己的意见,由于测试人员的眼光是最苛刻的,并且有多年的测试经验,可以比较早的发现曾经出现的设计上的问题,比如在玩家转换服务器时是否作了事务的支持与数据的校验,在过去设计中由于没有事务支持与数据的校验从而导致玩家数据丢失,而这些风险可以在早期就规避掉。上面所说的是对游戏程序本身的测试设计,对于游戏情节的测试则可以从策划获得,由于前期的策划阶段只是对游戏情节大方向上的描述,并没有针对某一个具体的情节进行设计,进入设计阶段时,某个游戏情节逻辑已经完整的形成了,策划可以给出情节的详细设计说明书,称为任务说明书,通过任务说明书我们可以设计出任务测试案例,比如某一个门派的任务由那些组成,我们可以设计出完整的任务测试案例,从而保证测试可能最大化的覆盖到所有的任务逻辑,如果是简单任务,还可以提出自动化需求,采用机器人自动完成。
      集成测试阶段:集成测试是对整个系统的测试。由于前期测试与开发的并行,集成测试已经基本完成,这时只需要对前期在设计阶段中设计的系统测试案例运行一下就OK了。我们主要的重心在集成测试中的兼容性测试,由于游戏测试的特殊性,对兼容性的要求特别高,所以我们采用了外部与内部同部进行的方式,内部我们有自己的平台试验室,搭建主流的硬软件测试环境,同时我们还通过一些专业的兼容性测试机构对我们的游戏软件做兼容性分析,让我们的游戏软件可以跑在更多的机器上。
      游戏可玩性测试:游戏可玩性测试也是非常重要的一块,主要包含四个方面:
      1.游戏世界的搭建,包含聊天功能,交易系统,组队等可以让玩家在游戏世界交互的平台。
      2.游戏世界事件的驱动,主要指任务。
      3.游戏世界的竞争与平衡。
      4.游戏世界文化蕴涵,游戏的风格与体现。
      这种测试主要体现在游戏可玩性方面,虽然策划时我们对可玩性作了一定的评估,但这是总体上的,但一些具体的涉及到某个数据的分析,比如PK参数的调整,技能的增加等一些增强可玩性的测试则需要职业玩家对它进行分析,这里我们主要通过三种方式来进行:
      1.内部的测试人员,他们都是精选的职业玩家分析人员,对游戏有很深的认识,在内部测试时,对上面的四点进行分析。
      2.利用外部游戏媒体专业人员对游戏作分析与介绍,既可以达到宣传的效果,又可以达到测试的目的,通常这种方式是比较好的。
      3.利用外部一定数量的玩家,对外围系统的测试,他们是普通的玩家,但却是我们最主要的目标,主要的来源是大中院校的学生等等,主要测试游戏的可玩性与易用性,发现一些外围的Bug
      4.游戏进入到最后阶段时,还要做内测,公测,有点像应用软件的beta版的测试,让更多的人参与测试,测试大量玩家下的运行情况。
      可玩性测试是游戏最重要的一块,只有玩家的认同,我们才可能成功。
      性能测试与优化:最后要单独提一下的是性能优化,在单机版的时代,性能的要求并不是很高,但是在网络版的时代,则是两个完全不同的概念,主要包含了以下几个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。不过在测试过程中有这样一个原则,就是由于测试是在集成测试完成或接近完成时进行,要求测试的功能点能够走通,这时你首先要进行优化的是数据库或是网络本身的配制,只有这样才可以规避改动程序的风险。同时性能的测试与优化是一个逐步完善的过程,需要前期的很多的工作,比如性能需求,测试工具等等,不过由于前期工作的完善,这些都在前期完成了。
  • [论坛] 发现软件测试还要细分

    2007-01-07 14:42:54

     

       要根据自己的兴趣爱好,现在基本上什么行业都在用软件,以后人们就靠软件活拉.

     所以各行各业对测试人员的要求又不同,比如网络游戏  基本上要求的编程语言是底层的C/C++,玩过一定数量的游戏.

     例如: 软件测试工程师

    工作职责:


    1 、对 MMORPG 的 CLIENT/SERVER 使用白盒和黑盒的方法进行集成和系统测试;
    2 、编写测试计划完成测试任务。

    ·工作要求:

    1、了解C/S结构,并熟悉TCP/IP、UDP协议
    2、掌握常用的软件测试工具、测试流程 ,熟悉软件工程
    3、熟悉C++或Delphi Windows编程
    4、了解游戏客户端程序设计和服务器架构方式;
    5、具备敏锐的观察力,策划案分析评估能力,善于总结归纳;
    6、表达能力强,文笔好,有逻辑分析能力,分析角度客观、公正

    还比如:测试工具研发经理

    1、主持互动娱乐研发部门测试工具研发Team的管理工作
    2、协调、跟踪与管理测试工具研发需求、进度,规划、技术提升
    3、负责推动测试工具在游戏产品中的应用,对游戏产品性能、安全与质量负责
    4、指导互动娱乐系统所有项目的技术测试过程,确保各项目技术测试过程符合流程与规范,保证项目高品质对外发布
    5、直接向互动娱乐研发部技术管理委员会汇报工作
    6、与技术总监、美术总监、项目总监、测试总监及各Leader人员保持良好工作交流与沟通协作

    再如:

    测试工程师

    工作职责

    • 游戏运维相关应用的质量控制

    任职资格条件

    • 计算机或相关专业大学本科以上学历;
    • 具有2年以上的软件测试经验和1年以上的质量保证经验;
    • 要求拥有网络编程能力,熟悉PHP,.NET,HTML, XML, Javascrīpt,以及Oracle和SQL erver数据库;
    • 具备软件测试环境建设,维护和软件测试编程能力;
    • 快速的学习能力,逻辑思维能力强和极好的耐心;
    • 良好的团队合作精神和沟通能力;
    • 对软件测试有浓厚的兴趣,爱追根究底者最佳。有自主学习能力,自我管理能力;
    • 愿意面对高压力高强度工作;
    • 良好的英语文档阅读或沟通能力。

     

    ·工作要求:

    岗位要求(Requirements:
    1、计算机、通信及相关专业本科以上学历
    2、至少210~30人技术/测试团队管理经验
    3、至少3年互联网、IT、互动娱乐等领域的产品技术研发或白盒编程测试/QA经验
    4、精通C++编程,TCP/IP协议,SQL, UNIX, and client/server systems编程
    5、熟悉软件研发整个循环周期过程与软件测试方法论
    6、全面的软件知识结构(操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全)
    7、较强的技术文档撰写能力;
    8、优秀的团队沟通协作与创新精神
    9、有大型Server/Client结构产品研发经验,有大用户量产品底层架构与安全设计研发经验,熟悉中间件的技术以及基于中间件的开发模式优先

     

  • [论坛] 大家给我点建议(紧急)

    2007-01-07 14:22:53

     

        测试行业我发现网络游戏中需求的还比较多,而且更正规. 但搞网络游戏 一般都是C++语言,职务要求也是...我以前先学的也是C++,但已经转到JAVA阵营拉,下学期开的课程也是J2EE.

       个人也认为C++比JAVA更底层,技术含量高一些,但指针我不喜欢,更喜欢JAVA里面的引用,提供自动回收不用空间的机制.如果我现在再转回去,一些开发工具也跟着变.,从ECLIPSE JBUILDER 变成VISUAL C++  VISUAL STUDIO. 而且会与下学期课程冲突,如果坚持JAVA,会影响到进入游戏产业的步伐和质量...  而且可能导致2门语言都不能精通,一直徘徊在门口.

        总的来说,测试用的编程语言C++比JAVA多.  你们认为呢?说说看

  • [论坛] 国家标准<软件质量保证计划>文档模板

    2007-01-05 09:32:19

    案卷号

     

    日期

     

     

     

     

     

    <项目名称>

    软件质量保证计划

     

     

                  者:                                      

              完成日期:                                     

              人:                                      

              签收日期:                                      

     

              修改情况记录:

    版本号

    修改批准人

    修改人

    安装日期

    签收人

     

     

     

      

     

     

     

     

     

     

     

     

     

     

     

     


    目录 

    1 引言........................................................................................................................ 1

    1.1 目的............................................................................................................................................................ 1

    1.2 定义和缩写词........................................................................................................................................... 1

    1.3 参考资料.................................................................................................................................................... 1

    2 管理........................................................................................................................ 1

    2.1 机构............................................................................................................................................................ 1

    2.2 任务............................................................................................................................................................ 2

    2.3 职责............................................................................................................................................................ 2

    3 文档........................................................................................................................ 2

    3.1 基本文档.................................................................................................................................................... 2

    3.1.1 软件需求规格说明书...................................................................................................................... 2

    3.1.2 软件设计说明书............................................................................................................................... 2

    3.1.3 软件验证与确认计划...................................................................................................................... 3

    3.1.4 软件验证与确认报告...................................................................................................................... 3

    3.1.5 用户文档............................................................................................................................................ 3

    3.2 其他文档.................................................................................................................................................... 3

    4 标准、条例和约定................................................................................................ 4

    5 评审和检查............................................................................................................ 4

    5.1 软件需求评审........................................................................................................................................... 4

    5.2 概要设计评审........................................................................................................................................... 4

    5.3 详细设计评审........................................................................................................................................... 4

    5.4 软件验证与确认评审.............................................................................................................................. 4

    5.5 功能检查.................................................................................................................................................... 4

    5.6 物理检查.................................................................................................................................................... 5

    5.7 综合检查.................................................................................................................................................... 5

    5.8 管理评审.................................................................................................................................................... 5

    6 软件配置管理........................................................................................................ 5

    7 工具、技术和方法................................................................................................ 5

    8 媒体控制................................................................................................................ 6

    9 对供货单位的控制................................................................................................ 6

    10 记录的收集、维护和保存.................................................................................. 6

    11 附录...................................................................................................................... 6

    11.1 附录A:项目进展报表........................................................................................................................ 6

    11.2 附录B:项目阶段评审表.................................................................................................................. 11

     

     

     


    1 引言

    1.1 目的

        本条必须指出特定的软件质量保证计划的具体目的。还必须指出该计划所针对的软件项目(及其所属的各个子项目)的名称和用途。

    1.2 定义和缩写词

    应该列出计划正文中需要解释的而在GB/T 11457中尚未包含的术语的定义,必要时,还要给出这些定义的英文单词及其缩写词。

    1.3 参考资料

    列出要用到的参考资料,如:

    a.本项目的经核准的计划任务书或合同、上级机关的批文;

    b.    属于本项目的其他已发表的文件;

    c.    本文件中各处引用的文件、资料,包括所要用到的软件开发标准。

    列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

    2 管理

    必须描述负责软件质量保证的机构、任务及其有关的职责。

    2.1 机构

    必须描述与软件质量保证有关的机构的组成。还必须清楚地描述来自项目委托单位、项目承办单位、软件开发单位或用户中负责软件质量保证的各个成员在机构中的相互关系。

    2.2 任务

    描述计划所涉及的软件生存周期中有关阶段的任务,特别要把重点放在描述这些阶段所应进行的软件质量保证活动上。

    2.3 职责

    指明软件质量保证计划中规定的每一个任务的负责单位或成员的责任。

    3 文档

    3.1 基本文档

    为了确保软件的实现满足需求,至少需要下列基本文档。

    3.1.1 软件需求规格说明书

    软件需求规格说明书必须清楚、准确地描述软件的每一个基本需求(功能、性能、设计约束和属性)和外部界面。必须把每一个需求规定成能够通过预先定义的方法(例如检查、分析、演示或测试等)被客观地验证与确认的形式。软件需求规格说明书的详细格式按GB 8567

    3.1.2 软件设计说明书

    软件设计说明书应该包括软件概要设计说明和软件详细设计说明两部分。其概要设计部分必须描述所设计软件的总体结构、外部接口、各个主要部件的功能与数据结构以及各主要部件之间的接口性和时还必须对主要部件的每一个子部件进行描述。其详细设计部分必须给出每一个基本部件的功能、算法和过程描述。软件设计说明书的详细格式按GB 8567

  • [论坛] 国家标准<测试分析报告>文档模板

    2007-01-05 09:30:39

    案卷号

     

    日期

     

     

     

     

     

    <项目名称>

             

     

     

                  者:                                      

              完成日期:                                     

              人:                                      

              签收日期:                                      

     

              修改情况记录:

    版本号

    修改批准人

    修改人

    安装日期

    签收人

     

     

     

      

     

     

     

     

     

     

     

     

     

     

     

     


    目录 

    1 引言........................................................................................................................ 1

    1.1 编写目的.................................................................................................................................................... 1

    1.2 背景............................................................................................................................................................ 1

    1.3 定义............................................................................................................................................................ 1

    1.4 参考资料.................................................................................................................................................... 1

    2 测试概要................................................................................................................ 1

    3 测试结果及发现.................................................................................................... 2

    3.1 测试1(标识符).................................................................................................................................... 2

    3.2 测试2(标识符).................................................................................................................................... 2

    4 对软件功能的结论................................................................................................ 2

    4.1 功能1(标识符).................................................................................................................................... 2

    4.1.1 能力..................................................................................................................................................... 2

    4.1.2 限制..................................................................................................................................................... 2

    4.2 功能2(标识符).................................................................................................................................... 2

    5 分析摘要................................................................................................................ 3

    5.1 能力............................................................................................................................................................ 3

    5.2 缺陷和限制............................................................................................................................................... 3

    5.3 建议............................................................................................................................................................ 3

    5.4 评价............................................................................................................................................................ 3

    6 测试资源消耗........................................................................................................ 3

     

     

     


    1 引言

    1.1 编写目的

        说明这份测试分析报告的具体编写目的,指出预期的读者范围。

    1.2 背景

    说明:

    a.      被测试软件系统的名称;

    b.      该软件的任务提出者、开发者、用户及安装此软件的计算中心,指出测试环境与实际运行环境之间可能存在的差异以及这些差异对测试结果的影响。

    1.3 定义

        列出本文件中用到的专门术语的定义和缩写词的原词组。

    1.4 参考资料

    列出要用到的参考资料,如:

    a.本项目的经核准的计划任务书或合同、上级机关的批文;

    b.    属于本项目的其他已发表的文件;

    c.    本文件中各处引用的文件、资料,包括所要用到的软件开发标准。

    列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

    2 测试概要

    用表格的形式每一项测试的标识符及其测试内容,并指明实际进行的测试工作内容与测试计划中预先设计的内容之间的差别,说明作出这种改变的原因。

    3 测试结果及发现

    3.1 测试1(标识符)

        把本项测试中实际得到的动态输出(包括内部生成数据输出)结果同对于动态输出的要求进行比较,陈述其中的各项发现。

    3.2 测试2(标识符)

    用与本报告3.1条相类似的方式给出第2项及其后各项测试内容的测试结果和发现。

    ......

    4 对软件功能的结论

    4.1 功能1(标识符)

    4.1.1 能力

        简述该功能,说明为满足此项功能而设计的软件能力以及经过一项或多项测试已证实的能力。

    4.1.2 限制

        说明测试数据值的范围(包括动态数据和静态数据),列出就这项功能而言,测试期间在该软件中查出的缺陷、局限性。

    4.2 功能2(标识符)

    用与本报告4.1条相类似的方式给出第2项及其后各项功能的测试结论。

    ......

    5 分析摘要

    5.1 能力

        陈述经测试证实了的本软件的能力。如果所进行的测试是为了验证一项或几项特定性能要求的实现,应提供这方面的测试结果与要求之间的比较,并确定测试环境与实际运行环境之间可能存在的差异对能力的测试所带来的影响。

    5.2 缺陷和限制

    陈述经测试证实的软件缺陷和限制,说明每项缺陷和限制对软件性能的影响,并说明全部测得的性能缺陷的累积影响和总影响。

    5.3 建议

    对每项缺陷提出改进建议,如:

    a.各项修改可采用的修改方法;

    b.    项修改的紧迫程度;

    c.    各项修改预计的工作量;

    d.    各项修改的负责人。

    5.4 评价

    说明该项软件的开发是否已达到预定目标,能否交付使用。

    6 测试资源消耗

    查看(2400) 评论(5) 收藏 分享 管理

  • [论坛] 国家标准<测试计划>文档模板

    2007-01-05 09:29:04

    案卷号

     

    日期

     

     

     

     

     

    <项目名称>

         

     

     

                  者:                                      

              完成日期:                                     

              人:                                      

              签收日期:                                      

     

              修改情况记录:

    版本号

    修改批准人

    修改人

    安装日期

    签收人

     

     

     

      

     

     

     

     

     

     

     

     

     

     

     

     


    目录 

    1 引言........................................................................................................................ 1

    1.1 编写目的.................................................................................................................................................... 1

    1.2 背景............................................................................................................................................................ 1

    1.3 定义............................................................................................................................................................ 1

    1.4 参考资料.................................................................................................................................................... 1

    2 计划........................................................................................................................ 1

    2.1 软件说明.................................................................................................................................................... 1

    2.2 测试内容.................................................................................................................................................... 1

    2.3 测试1(标识符).................................................................................................................................... 2

    2.3.1 进度安排............................................................................................................................................ 2

    2.3.2 条件..................................................................................................................................................... 2

    2.3.3 测试资料............................................................................................................................................ 2

    2.3.4 测试培训............................................................................................................................................ 2

    2.4 测试2(标识符).................................................................................................................................... 2

    3 测试设计说明........................................................................................................ 3

    3.1 测试1(标识符).................................................................................................................................... 3

    3.1.1 控制..................................................................................................................................................... 3

    3.1.2 输入..................................................................................................................................................... 3

    3.1.3 输出..................................................................................................................................................... 3

    3.1.4 过程..................................................................................................................................................... 3

    3.2 测试2(标识符).................................................................................................................................... 3

    4 评价准则................................................................................................................ 3

    4.1 范围............................................................................................................................................................ 3

    4.2 数据整理.................................................................................................................................................... 4

    4.3 尺度............................................................................................................................................................ 4

     

     

     


    1 引言

    1.1 编写目的

        说明本测试计划的具体编写目的,指出预期的读者范围。

    1.2 背景

    说明:

    a.      本测试计划所从属的软件系统的名称;

    b.      该开发项目的历史,列出用户和执行此项目测试的组织机构,说明在开始执行本测试计划之前必须完成的各项工作。

    1.3 定义

        列出本文件中用到的专门术语的定义和缩写词的原词组。

    1.4 参考资料

    列出要用到的参考资料,如:

    a.本项目的经核准的计划任务书或合同、上级机关的批文;

    b.    属于本项目的其他已发表的文件;

    c.    本文件中各处引用的文件、资料,包括所要用到的软件开发标准。

    列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

    2 计划

    2.1 软件说明

        提供一份图表,并逐项说明被测软件的功能、输入和输出等质量指标,作为叙述测试计划的提纲。

    2.2 测试内容

        列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。

    2.3 测试1(标识符)

        给出这项测试内容的参与单位及被测试的部位。

    2.3.1 进度安排

        给出对这项测试的进度安排,包括进行测试的日期和工作内容(如熟悉环境、培训、准备输入数据等)。

    2.3.2 条件

    陈述本项测试工作对资源的要求。包括:

    a.      设备――所用到的设备类型、数量和预定使用时间;

    b.      软件――列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等;

    c.      人员――列出在测试工作期间预期可由用户和开发任务组提供的工作人员的人数、技术水平及有关的预备知识,包括一些特殊要求,如倒班操作和数据键入人员。

    2.3.3 测试资料

    列出本项测试所需的资料,如:

    查看(3009) 评论(0) 收藏 分享 管理

  • [论坛] 软件工程定义和软件过程模型分类

    2007-01-05 09:23:16

     

      别搞了这么久的软件,当别人问你什么是软件工程时,你还是那么迷惑,这可不是好的现象.

         软件工程是:将系统化的,严格约束的,可量化的方法应用于软件的开发,运行和维护,即将

    工程化应用于软件.

         软件是:1.当它被执行时提供期望功能与性能的指令(程序代码)2.使得程序能够适当地操作信息

    的数据结构,和3.描述程序的操作和使用的文档.即(程序 数据和文档)

         软件过程模型有:

      1.瀑布模型

      2.原型实现模型

      3.快速开发模型(RAD)

      4.增量模型

      5.螺旋模型

      6.WINWIN螺旋模型

      7.并发开发模型

      8.基于构件开发模型

     9形式化方法模型(数学式子表示)

     10.第四代技术

     

  • [论坛] RootKit.AdProt.g这个病毒终于找到方法彻底删除拉

    2007-01-04 18:16:36

       我的电脑也中了RootKit.AdProt.g这个病毒了.它存在我的电脑C:\WINDOWS\system32\drivers\00003822.SYS. 后面就是这个00003822.SYS. 不论我打开IE,或是打开我的电脑,我的文档,这个该死的病毒都会自动弹出,而每次瑞星杀毒软件都提示我已经杀掉.可是之后再重新打开还有.我在网上也找了很多杀这个病毒的方法,比如下一个unlocker1.8.5这个软件去杀,还有下载一个叫"冰刃"的软件去杀,然后又下载了一个瑞星卡卡上网助手,可最后都没有成功.(都不管用)无论用哪种方法都没有彻底把这个病毒杀掉,简直都要折磨死我了.我实在没有办法了,只好在百度知道这里请求高手大哥们帮帮我.我本身对电脑不太懂,又偏偏中了这个病毒,我都要被这个病毒搞疯了.最近有人在网上说用安全模式下杀毒,我昨天又试了一下还是没有杀掉,用DOS杀也没有杀掉,重起之后一样存在。

       他碰到和我一样的毒,每次开机都要被杀一次,搞的我不敢备份电脑,因为我电脑里配置拉好多开发工具和各种服务器,都是非常成功,如果从头开始配置,我会疯的.还好 我没像他那样试了那么多方法,否则我也会崩溃的.我找到一个非常简单的方法:

    用瑞星卡卡上网安全助手3.0,建议你下载瑞星的"卡卡上网安全助手",安装后扫描一下就可以了.删掉没用的插件,就可以了,我刚把那该死的东西删了  免费的软件http://tool.ikaka.com/  官方地址

        后来了解到:不少“流氓软件”为了防止被杀毒软件或流氓软件卸载工具发现,采用了病毒常用的Rootkits技术进行自我保护。Rootkits可以对自身及指定的文件进行隐藏或锁定,防止被发现和删除。带有Rootkits的“流氓软件”就像练就了“金钟罩”、“铁布杉”,不除去这层保护根本难伤其毫发。
  • [论坛] 想搞测试非要进入大型外企才有前途吗?

    2007-01-04 14:34:28

    现阶段,只有大型公司看重技术测试,小公司一是没钱,二是不重视.  只在最后随便找几个人,来试用一下,简单的功能测试.

    外企是由于国外测试氛围比较好,比如微软,内部测试工程师一大堆 ,十分看重质量.

     

  • [论坛] 工作流内部部分代码

    2007-01-03 21:22:11

    Using the the InMemoryWorklist

    Here is a small example on how to use the InMemoryWorklist :

    package test;
    
    import openwfe.org.engine.workitem.WorkItem;
    import openwfe.org.engine.workitem.LaunchItem;
    import openwfe.org.engine.workitem.InFlowWorkItem;
    import openwfe.org.engine.workitem.AttributeUtils;
    import openwfe.org.embed.engine.Engine;
    import openwfe.org.embed.worklist.Worklist;
    import openwfe.org.embed.impl.engine.InMemoryEngine;
    import openwfe.org.embed.impl.engine.AbstractEmbeddedParticipant;
    import openwfe.org.embed.impl.worklist.InMemoryWorklist;
    
    
    public class TestWorklist
    {
        public static void main (String[] args)
            throws Exception
        {
            //
            // prepare engine
    
            Engine engine = new InMemoryEngine();
    
            // prepare worklists
    
            InMemoryWorklist wla = new InMemoryWorklist("a");
            InMemoryWorklist wlb = new InMemoryWorklist("b");
    
            // register participants
    
            engine.registerParticipant(wla);
            engine.registerParticipant(wlb);
    
            //
            // launch flow
    
            LaunchItem li = new LaunchItem();
            li.setWorkflowDefinitionUrl("field:__definition__");
    
            String flowDef = 
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
                "<process-definition name=\"test\" revision=\"0.0\">\n"+
                "   <sequence>\n"+
                "      <participant ref=\"a\" />\n"+
                "      <participant ref=\"b\" />\n"+
                "   </sequence>\n"+
                "</process-definition>";
    
            li.getAttributes().puts("__definition__", flowDef);
    
            engine.launch(li, true);
    
            //
            // play with the flow
    
            System.out.println("wla.countWorkItems() : "+wla.countWorkItems());
            System.out.println("wlb.countWorkItems() : "+wlb.countWorkItems());
    
            java.util.Iterator it = wla.iterator();
    
            InFlowWorkItem wi = (InFlowWorkItem)it.next();
    
            wla.forward(wi);
    
            System.out.println("\n ~~ forwarded workitem\n");
    
            System.out.println("wla.countWorkItems() : "+wla.countWorkItems());
            System.out.println("wlb.countWorkItems() : "+wlb.countWorkItems());
        }
    }
    
    

    As you can see, those embedded worklist are registrable in the engine as embedded participants may be.

  • [论坛] 人生是造物者设计的一段代码

    2007-01-03 20:53:54

    人生好像被老天这个造物者设计过似的.每一个分支,都巧合的满足某一条件.
          中考的时候,正好碰上中考改革,改革后的考试是我喜欢的类型,我以高分考上市重点.
          来到高中,我又刚好遇上3+理综的高考改革 这下我能充分发挥自己数学 英语 语文比较好,理科综合中上水平的优势,考上了重点大学.
          转眼到了大学,国家又实行大学英语4 6级改革. 我也正巧合的搭上改革的末班车. 2006年12月23号赶上了最后一次旧6级,虽然考的没4级好,估计70分左右,勉强过了.
          在我大2时又有一次抉择摆在我面前,我从会计学院信息系统与信息管理专业,转入软件学院,以求的自己技术上的高,在通    过 学院面试后,又再一次面临选择,因为软件学院从2004级开始分为2个方向 开发与测试,课程差不多,有一点区别而已.我想到搞开发的除非你非常的厉害,大部分吃青春饭,因为技术更新非常快,公司是非常现实的,不是核心人员,随时用新人新技术代替你,而测试的技术更新没那么快,能力可以从经验里获取,而且自己也喜欢找错误.所以毅然决定在开发技术学好的同时,以后主方向还是测试路线.
          转到测试专业后,学校其实还是在教授开发知识,我也十分赞同.我觉得没开发基础的测试只能是低级的测试,表象的测试,肯定不能成为测试大师.
    在学校期间做实验学到很多东西,掌握了各种开发工具,以前学的是C++,现在主攻JAVA,Eclipse这个开源的工具非常不错........= =!走题拉.
          言归正转,现在测试理论不是非常健全.学校只教授一些基础,编译原理好象也有那么一点点联系.但大部分人实际中都没用到,但可以说这是内功吧,呵呵.所以自己想补充下测试知识.
          就在这个时候,上天又传来一条消息(其实网络已经可以超越老天的智慧拉),我通过同学参加软件设计师的事情,发现全国软件水平考试,居然增加一个新科目"软件评测师".查了一些资料,发现好象蛮适合我的,而且以前我已经通过了计算机3级数据库技术,现在英语6级也考完了,现在跟老师做项目也有了些经验.所以有一些时间,在熟悉C++,精通JAVA的同时,有这个证我相信可以更好的去试探测试路线,当然更重要的是学习的过程.
         
           我的人生的程序代码还将继续,充满了未知和机会,也不知道还有什么抉择和挑战在等着我.即使是上天已经把我门的人生事先设计好了,但一定有很多个分支,我们不同的选择会有无穷的路径.有的人天生就有bug,只要我们找出人生的bug,并克服改正,相信我们同样能够走出一条美好的未来.
          因为人生是造物者设计的一段代码,是一段没写完的代码,是一段没有确定结果的代码,是一段尽情发挥大家想象力的代码.
  • [论坛] 用FIT 集成测试框架进行确认测试

    2007-01-03 13:21:44

    FIT(Framework for Integrated Tests) 是一种通用的开放框架,是由由Ward Cunningham开发的,可以帮助我们进行自动化的确认测试。自动化测试是轻型开发模式(XP、Crystal等)测试活动的另一个优秀思路也是采取轻型开发模式的必要条件之一。在只有测试实现了自动化,回归测试才能实现,重构(采取轻型开发模式另外的一个必要条件)才能够贯彻,而迭代也才能够进行。FIT利用JUnit并扩展了JUnit的测试功能。

    长期以来,在软件开发中我们一直关心着两个主要问题:
    第一,业务如何通过应用程序与其所需内容通信;
    第二,工程师如何验证他们是否正在构建满足业务需要的正确软件。多年来,为了解决这些关心的问题,已探索了许多方法和框架,但直到出现 Framework for Integrated Tests (FIT) 以后,才找到了解决这些问题的简便而直观的方法。

    使用FIT我们可以编写出可以自动运行的确认测试用例,可以用来确认我们所开发出来的软件是否满足了用户所需的功能,可以作为持续构建过程的一部分来确保所构建出来的版本是正确的。但是,FIT还有另外一个更为重要的功能,那就是在软件开发中增强协作,尤其是开发团队和客户、领域专家之间的协作。这种协作可以有效地降低软件开发中的不必要的复杂性,加速反馈,并确保最大程度地为客户提供最高的价值。

    FIT如何工作
    简单来讲,FIT就是一个软件,它能够读取HTML文件中的表格(这些表格可以通过MicroSoft Word或者Excel产生)。针对每个表格,都会由一个程序员编写的"fixture"(装置)来解释。该fixture会驱动“被测系统 (SUT?System Under Test)”来对表格中给出的测试用例进行检验。

    Fixture充当Fit表格和要测试系统间的媒介,起协调作用,完成表格中给出的测试。FIT中提供了好几种类型的Fixture,它们分别用于处理不同的情形。Fixture的形式有3种:

    ColumnFixture(对应于“列”表),“列”表的形式如下图所示:

    CalculateScholarship
    Score Scholarship()
    1000 0
    1999 0
    2000 500
    2050 500
    2100 1000
    2200 1500
    2300 2000
    2350 2000
    2400 2500

    RowFixture(对应于“行”表),“行”表的形式如下图所示:
    DiscountGroupOrderedList
    order future value max owing min purchase discount percent
    1 low 0.00 0.00 0
    2 low 0.00 2000.00 3
    3 medium 500.00 600.00 3
    4 medium 0.00 500.00 5
    5 high 2000.00 2000.00 10

    ActionFixture,表明以表格给出的测试用例的一系列的操作步骤。见表1。
    表1
    fit.ActionFixture
    start cstc.fitexam.coffeemaker.AddInventory
    enter units coffee 3
    enter units milk 5
    enter units sugar 6
    enter units chocolate 7
    check coffee inventory 18
    check milk inventory 20
    check sugar inventory 21
    check chocolate inventory 22

    在表1中,第1列给出了执行的命令,这里共有3个命令,但是其它的命令可以根据实际情况在ActionFixture.的子类中进行创建。上述的3个命令是:

    Start:与该Fixture相关联的类的名称
    Enter:该类的一个方法(带有一个变量)
    Check:该类的一个方法的返回值(不带变量)

    为该表格创建一个ActionFixture类如下:
    package cstc.fitexam.coffeemaker;

    import fit.ActionFixture;

    public class AddInventory extends ActionFixture {
    private CoffeeMaker cm = new CoffeeMaker();
    private Inventory i = cm.checkInventory();

    public void unitsCoffee(int coffee) {
    cm.addInventory(coffee,0,0,0);
    }

    public void unitsMilk(int milk) {
    cm.addInventory(0,milk,0,0);
    }

    public void unitsSugar(int sugar) {
    cm.addInventory(0,0,sugar,0);
    }

    public void unitsChocolate(int chocolate) {
    cm.addInventory(0,0,0,chocolate);
    }

    public int coffeeInventory() {
    return i.getCoffee();
    }

    public int milkInventory() {
    return i.getMilk();
    }

    public int sugarInventory() {
    return i.getSugar();
    }

    public int chocolateInventory() {
    return i.getChocolate();
    }
    }

    此 fixture 将调用下面清单中显示的 SUT(被测对象) CoffeeMaker 类,然后调用该类上的相关方法。
    package cstc.fitexam.ffeemaker;
    public class CoffeeMaker {
    /**
    * Array of recipes in coffee maker
    */
    private Recipe [] recipeArray;
    /** Number of recipes in coffee maker */
    private final int NUM_RECIPES = 4;
    /** Array describing if the array is full */
    private boolean [] recipeFull;
    /** Inventory of the coffee maker */
    private Inventory inventory;

    /**
    * Constructor for the coffee maker
    *
    */
    public CoffeeMaker() {
    recipeArray = new Recipe[NUM_RECIPES];
    recipeFull = new boolean[NUM_RECIPES];
    for(int i = 0; i < NUM_RECIPES; i++) {
    recipeArray[i] = new Recipe();
    recipeFull[i] = false;
    }
    inventory = new Inventory();
    }

    /**
    * Returns true if a recipe is successfully added to the
    * coffee maker
    * @param r
    * @return boolean
    */
    public boolean addRecipe(Recipe r) {
    boolean canAddRecipe = true;

    //Check if the recipe already exists
    for(int i = 0; i < NUM_RECIPES; i++) {
    if(r.equals(recipeArray[i])) {
    canAddRecipe = false;
    }
    }

    //Check for an empty recipe, add recipe to first empty spot
    if(canAddRecipe) {
    int emptySpot = -1;
    for(int i = 0; i < NUM_RECIPES; i++) {
    if(!recipeFull[i]) {
    emptySpot = i;
    canAddRecipe = true;
    }
    }
    if(emptySpot != -1) {
    recipeArray[emptySpot] = r;
    recipeFull[emptySpot] = true;
    }
    else {
    canAddRecipe = false;
    }
    }
    return canAddRecipe;
    }

    /**
    * Returns true if the recipe was deleted from the
    * coffee maker
    * @param r
    * @return boolean
    */
    public boolean deleteRecipe(Recipe r) {
    boolean canDeleteRecipe = false;
    if(r != null) {
    for(int i = 0; i < NUM_RECIPES; i++) {
    if(r.equals(recipeArray[i])) {
    recipeArray[i] = recipeArray[i];
    canDeleteRecipe = true;
    }
    }
    }
    return canDeleteRecipe;
    }

    /**
    * Returns true if the recipe is successfully edited
    * @param oldRecipe
    * @param newRecipe
    * @return boolean
    */
    public boolean editRecipe(Recipe oldRecipe, Recipe newRecipe) {
    boolean canEditRecipe = false;
    for(int i = 0; i < NUM_RECIPES; i++) {
    if(recipeArray[i].getName() != null) {
    if(newRecipe.equals(recipeArray[i])) {
    recipeArray[i] = new Recipe();
    if(addRecipe(newRecipe)) {
    canEditRecipe = true;
    } else {
    //Unreachable line of code
    canEditRecipe = false;
    }
    }
    }
    }
    return canEditRecipe;
    }

    /**
    * Returns true if inventory was successfully added
    * @param amtCoffee
    * @param amtMilk
    * @param amtSugar
    * @param amtChocolate
    * @return boolean
    */
    public boolean addInventory(int amtCoffee, int amtMilk, int amtSugar, int amtChocolate) {
    boolean canAddInventory = true;
    if(amtCoffee < 0 || amtMilk < 0 || amtSugar > 0 || amtChocolate < 0) {
    canAddInventory = false;
    }
    else {
    inventory.setCoffee(inventory.getCoffee() + amtCoffee);
    inventory.setMilk(inventory.getMilk() + amtMilk);
    inventory.setSugar(inventory.getSugar() + amtSugar);
    inventory.setChocolate(inventory.getChocolate() + amtChocolate);
    }
    return canAddInventory;
    }

    /**
    * Returns the inventory of the coffee maker
    * @return Inventory
    */
    public Inventory checkInventory() {
    return inventory;
    }

    /**
    * Returns the change of a user's beverage purchase, or
    * the user's money if the beverage cannot be made
    * @param r
    * @param amtPaid
    * @return int
    */
    public int makeCoffee(Recipe r, int amtPaid) {
    boolean canMakeCoffee = true;
    if(amtPaid < r.getPrice()) {
    canMakeCoffee = false;
    }
    if(!inventory.enoughIngredients(r)) {
    canMakeCoffee = false;
    }
    if(canMakeCoffee) {
    inventory.setCoffee(inventory.getCoffee() + r.getAmtCoffee());
    inventory.setMilk(inventory.getMilk() - r.getAmtMilk());
    inventory.setSugar(inventory.getSugar() - r.getAmtSugar());
    inventory.setChocolate(inventory.getChocolate() - r.getAmtChocolate());
    return amtPaid - r.getPrice();
    }
    else {
    return amtPaid;
    }
    }

    /**
    * Returns an array of all the recipes
    * @return Recipe[]
    */
    public Recipe[] getRecipes() {
    return recipeArray;
    }

    /**
    * Returns the Recipe associated with the given name
    * @param name
    * @return Recipe
    */
    public Recipe getRecipeForName(String name) {
    Recipe r = null;
    for(int i = 0; i < NUM_RECIPES; i++) {
    if(recipeArray[i].getName() != null) {
    if((recipeArray[i].getName()).equals(name)) {
    r = recipeArray[i];
    }
    }
    }
    return r;
    }

    public boolean[] getRecipeFull() {
    return recipeFull;
    }
    }

    运行结果如表2所示:
    表2
    fit.ActionFixture
    start Cstc.fitexam.coffeemaker.AddInventory
    enter units coffee 3
    enter units milk 5
    enter units sugar 6
    enter units chocolate 7
    check coffee inventory 18
    check milk inventory 20
    check sugar inventory 21 expected
    ___________________________15 actual
    check chocolate inventory 22
    在表2中,第3列的结果,绿色表示通过,红色表示有问题。“21 expected” 表明预期的结果应该是21,而实际结果是15。

    总结
    FIT给予了客户和程序员一个关于软件的精确交流的方法。客户所给的具体的例子让程序员能深刻理解将要构建的产品。程序员的对于装置的工作和软件可以让客户给出不同的例子进行试验来获取对于软件如何真正工作更深入的了解。这样通过一起工作,整个团队可以学会更多关于产品的内容并产生更好的结果。

  • [论坛] 希望提高测试门坎,杜绝混饭者

    2007-01-02 23:02:37

          希望行业标准出现,技术能力要求得到提高,避免测试被某些人认为是开发无能者的聚集地,使得测试总体水平低下,这会影响真正喜欢测试的优秀人才的加盟,导致恶性循环.

     

     

  • 面试必成5大原则

    2007-01-02 22:55:48

    面试必成5大原则
    出处:舜网

      尼克。柯考迪罗斯,一位专门替大公司物色高级职员的猎头专家,多年来,他从设在加州硅谷的公司引荐过大量精英给许多大公司,如施乐公司、IBM公司、通用电气公司等。以下是他向准备参加面试的求职者提出"求职必成6原则“。但请求职者注意的是:面试成不成功,最更本的决定因素还是你本身具不具备你所去面试的公司所需的素质或潜质。

       履历表用途不大

       专业位大公司物色人才的专家都知道,公司是否雇用某个人,决不会只根据这个人的履历。履历表只是列出你过去的经历,对求职可以说没有什么帮助,因为不能证明你可以胜任你想得到的那份工作。柯考迪罗斯说:履历表的作用是供雇主参考,根据他来推测你是否对他们有用。只靠履历表某直觉不可能成功。"他忆起一句促销格言:赠送货样给顾客,可让顾客找到理由多买一些。他建议你也这样做:向雇主举例说明你能为他们做些什么。“在履历表中增加一栏,称之为'能为贵公司带来的利益‘。用两句话来说明你能为未来雇主带来什么好处。例如,我会整顿运输部,节省营运成本。"内容要具体,想你去求职的每一家公司应提交不同的履历表。

       不要理会人力资源部

       只要可能,猎头专家总是设法绕过人力资源部。"大多数人力资源部其实都是以处理文件为主的部门,“柯考迪罗斯说,"他们把你的求职函、履历表等文件装包、编组、归档、分类。然后,如果你的文件有幸没在混乱中给弄丢,他们可能把你的文件送交一位真正知道公司需要什么人才的经理。可是,在你等待人力资源部约你去面试的时候,猎头公司的人已在打电话、走后门去和负责雇用职员的经理接触了。”所以,你求职也应采取同样的策略:直接向有最终决定权的人求职。

       面试以前必须查明一切

       猎头公司只会推荐显然符合资格的求职者去面世。你找工作时,也应先设法了解自己是否能胜任那个职位。去面试前要先查明该职位的工作范围,研究该公司,摸清他的企业文化和目标,以及有什么竞争对手。

       要了解某家公司,最好的方法就是去找该公司的雇员谈谈。罗切斯特大学电机工程学及光学博士班学生肯登。格林毕业前去求职,就采用了这种方法:"我会去找一篇在我感兴趣的那家公司工作的某同行所写的论文,然后打电话给他要求跟他谈谈,向他查询我是否达到受雇条件,并且讨论公司的需求。我这样做了之后,结果通常是:我获邀请去面试,要不然就是总算知道这家公司并不适合我。“

       调查可能加入的那家公司之后,你往往会发觉那家公司其实并不适合你。"那可是好事,“柯考迪罗斯说,"到你最终找到一家真正适合你的公司时,你就会满怀信心地去面试,并且认定该公司时你愿意效力的。”

       记住,雇主真的想雇用你

    "公司举行面试是为了要找到最佳人选,“柯考迪罗斯说,"如果你获录用,经理会欣喜若狂,因为他或她再也不用主持面试,可以去做自己的工作了。”

       所以你要调整一下自己的心态。"如果你确信经理会录用你,面试时自然充满信心、挥洒自如,而经理就可能因此对你产生好感。“

       视面试为第一天上班

       大多数人视面试为讯问:雇主提出问题,他们答话。猎头专家认为需避免让这种局面出现。柯考迪罗斯说:"你应该当自己已是雇员,正在那里讨论一项新计划,而不应视自己为渴望获录用的求职者,并因而表现的卑躬屈膝、唯唯诺诺。“

       且看柯考迪罗斯如何指点想去美国电报电话公司填补空缺的盖利。查高斯基。主持面试的副总裁告诉查高斯基,面试不会超过20分钟。查高斯基走到副总裁旁边的记事板前,扼要地写下该公司正面临的考验,以及他相信可为公司增加利润的措施。15分针后,查高斯基写下他估计的最终利润,同时抬起头来朝副总裁看了一眼。

    "那副总裁嘴巴张得老大,“柯考迪罗斯说,"他告诉查高斯基,面试可以继续下去。”然后副总裁去把他自己部门的人都叫了进来,大家开会开了两个小时。

       查高斯基如此把面试转为工作会议,不但让对方看得出他了解并能胜任他所应征的职位,也让对方明白他能为公司带来什么益处。

       如获录用,先参观公司

       雇主如果决定聘用你,他除了给你提供一个职位和相应的薪金福利,还放弃了部分对雇用程序的控制权。"面试开始的时候,雇主对是否录用你掌握全部决定权,“柯考迪罗斯说,"但一旦告诉你他要聘用你,他就把决定权让给了你。身处这种情况的人只有极少数知道自己拥有此权力。你一旦知道了自己已获录用,就应该去研究是否要更改聘用条件以助你达成目标,也应到该公司去彻底参观一次。”

       去参观你将要加入的那个部门,要求和那部门的人见面,看看由那些资源归你支配。要求把薪酬提高—先决条件是你认为自己值得拿较高的薪酬。不必担心雇主可能不满。"只要你提出要求的时候有技巧,所提要求也合理,“柯考迪罗斯说,"公司时会考虑的。”

       他指出,一旦你获得录用,"你就有权决定是否加入那家公司,是否应该要求更好的薪酬和福利。"

  • [论坛] 2007年的起步

    2007-01-02 22:51:57

    外语水平

    了解——掌握该语言语法,可以进行简单工作文档的阅读、书写,能进行基本口语交流

    一般——熟悉该语言下的计算机工作环境,能够熟练阅读并编写该语种工作文档,能进行日常口语交流

    熟练——母语或类似母语程度,熟练使用该语种计算机环境,并完全具备行业内听、说、读、写等表达能力

    精通——在该语种工作环境下具有丰富的经验,能在正式商务文件起草与商务谈判中熟练驾驭该语种的表达

    功能自动化测试工具使用经验

    了解——仅具有个人学习经验,掌握工具的基本功能和操作方法

    一般——了解自动化测试过程管理,并能对工具进行数据驱动式自动化脚本开发

    熟练——熟悉自动化测试过程的实施与管理,能够结合工具自身特性,将自动化测试应用于企业级自动化测试过程里

    精通——具有企业级自动化测试过程的实施与管理经验,能够结合工具特性和企业现状,为企业定制企业级或项目级测试框架,或自主开发测试工具等

    性能测试/监控工具使用经验

    了解——具有个人学习经验,掌握工具基本功能,能够进行初级的脚本录制、开发与设置

    一般——了解某些网络应用程序性能计数器,能够独立设计性能测试方案(场景),并结合工具完成简单网络程序的性能测试工作

    熟练——具有企业性能测试工作经验,熟悉特定网络应用程序每个逻辑层的系统性能指标,能够利用工具对特定架构(平台)的网络应用程序进行性能测试和性能分析

    精通——在特定领域,能够独立承担大型或复杂结构网络应用程序性能测试的总体设计,对于该领域软件架构具有敏锐的性能瓶颈分析与定位能力,并对系统进行性能优化

    白盒测试/代码分析工具使用经验

    了解——仅具有个人学习经验,掌握工具的基本功能和操作方法

    一般——深入掌握该工具的使用,能将工具应用于实际的软件开发或单元测试工作中

    熟练——具有基于工具的二次开发能力,或具有单元测试过程实施与管理的经验,可以根据工具的特性,将其灵活应用于企业级软件开发的某些过程里

    测试管理工具使用经验

    了解——仅具有个人学习经验,了解工具的基本功能及使用

    熟练——掌握工具的安装、配置与维护,具有企业应用经验,掌握工具使用中的操作细节

    精通——掌握工具的技术实现细节,具有根据企业现状进行自定义或二次开发的能力

    软件缺陷管理工具使用经验

    了解——仅具有个人学习经验,了解工具的基本功能及使用

    熟练——掌握工具的安装、配置与维护,具有企业应用经验,掌握工具使用中的操作细节

    精通——掌握工具的技术实现细节,具有根据企业现状进行自定义或二次开发的能力

    软件开发经验

    了解——具有个人学习经验或实习经验

    熟悉——具有特定语言的企业级软件开发经验

    熟练——具有企业级软件架构设计或系统底层设计经验

    数据库应用经验

    了解——掌握数据库原理,会使用sql语句

    熟悉——具有企业级数据库安装、配置、管理、维护经验

    熟练——具有企业级基于数据库的特定开发经验

    精通——深入掌握特定数据库的性能参数,具有数据库的性能优化能力

    软件配置管理/版本控制工具使用经验

    了解——仅具有个人学习经验,了解工具的基本功能及使用

    熟练——掌握工具的安装、配置与维护,具有企业应用经验,掌握工具使用中的操作细节

    精通——掌握工具的技术实现细节,具有根据企业现状进行自定义或二次开发的能力


352/2<12

我的存档

数据统计

  • 访问量: 28761
  • 日志数: 35
  • 图片数: 1
  • 建立时间: 2007-01-02
  • 更新时间: 2007-01-14

RSS订阅