nothing is impossible!一切皆有可能!

发布新日志

  • 从测试角度看提升客户满意度

    guoningiris 发布于 2012-11-29 15:41:36

    9月份以来,常驻客户现场3个月,听到客户的抱怨,也感受到客户的心情,越是这样近距离的感受,就越是觉得,提升客户满意度,是个艰巨的任务。

         在做测试工作的时候,一直被灌输一个思想,测试工程师是产品质量的把关者,要从客户的角度出发,本着提高产品质量的原则,使产品在最大容错范围内能够正常使用。提高客户满意度,就是提高产品质量。但是随着工作的进行,越来越觉得提高客户满意度这件事儿,贯穿于整个项目周期,需要整个项目组的人员,从项目经理,需求人员,开发人员,交付人员到测试人员,工程人员,维护人员,每一个岗位的人都需要考虑,这样才能真正达到客户满意度的提升。

         就说我在现场的这几天吧,评论一下我们的产品,以下几个方面严重影响了客户满意度:

    1.易用性不满足导致满意度降低。

    原因:需求大方向明确,细节无人推敲。在使用过程中,业务部门的人员总会向我们提出零散的需求,比如:这个页面能不能做个导出,这个查询条件能不能给个默认值。这些易用性方面的小需求不满足,会导致客户满意程度的降低。就像综合查询,客户总是希望能做的更灵活,更易用,现在在使用确认的已经是第三版。

    分析:这应该是从需求细化方面控制不到位造成的。对于开发和测试阶段,仅通过一句话的需求,没有需求说明书,也无法把客户的所有需求都考虑到,只能凭经验。更重要的是本来业务不熟练,更没有很多时间去考虑,所以,但也没有很好的建议,这种情况下最好能够有文档,这就需要需求人员在沟通的时候多注意细节,以此来提升客户满意度。但是的确时间是硬伤。而且从开发和测试人员的角度来讲,这种零散需求会打乱我们的工作计划,这也是为什么两周就能收到30个升级包,导致工作超负荷的很大原因之一。

    2.使用过程中错误频出导致满意度降低。

    这个原因很多,大家都认为报错类的bug应该在测试环节都避免掉,我自己也把这些问题原因分析总结过,但发现80%的错误都是测试环节很难可能发现的。举几个例子:

    a.某功能报错,找不到函数。

    原因:开发调用了一个函数生成用户密码,这个函数是他们自己建了用来批量处理后台数据,引用了oracle自身的一个jar包,测试环境是同步生产库的,而在我发现错误的时候,开发只让我加载这个jar包,并说生产环境已经存在,由于是oracle自身的lib包,跟机器有关系,我也没关心他后台代码是如何实现的,就这样测试通过了。而后来发现生产环境并没有这个jar包,所以报错了,后来开发修改了实现方式;

    分析:其实项目中的每个成员都应该有全局观,去探究这个接口到底应不应该这样用,这种问题应该在单元测试杜绝。

    b.工作流审核通过后,下一个节点看不到信息。

    原因:这是工作流物化视图刷新上的问题,偶现,但是一直没有解决过,后来去掉了工作流的物化视图;

    分析:这些偶现的BUG,不能存侥幸心理。已经提了无数次的BUG,非要等到客户叫起来才修改。

    c.人员上岗工作流审核通过后,没有做变更人员状态处理

    原因:从界面录入,人员分类信息是必填的;但这个人员信息是从OA系统后台导入的,没有导入人员分类信息,而程序中对分类为空的没有做处理,这个分支在测试时也没有发现,因为根本不知道会从OA系统导入数据,所以产生BUG

    分析:我们需要了解更多的应用场景。

     

    3.时间拖延导致满意度降低。

    原因:这只能归结为资源不足了,现场的人都忙得手忙脚乱了。之前有一部分原因是对系统原来的架构不熟悉,原来的系统到处是陷阱,导致开发速度比较慢,现在已经好很多了;那些零散需求也是原因之一;一个很重要的原因就是出包一次通过率不客观,一个包退一个来回就得一天。

    分析:资源不足永远是前期项目规划不到位的接口,项目经理应该注意去平衡资源与效率的关系。

     

    4.系统性能导致满意度降低。

    原因:很多,现场也正在做压力测试,并想办法改进系统性能。比如前台慢的改造为jsp页面,修改js加载方式,后台慢的做优化,加索引,改表结构。

    分析:当初设计阶段没有考虑到客户满意度性能问题,后期花费较大的资源去整改,吃力不讨好。

     

    5.对数据正确性有怀疑导致满意度降低。

    原因:系统中的报表数据,除去算法上可能的偏差,再就是数据来源太多,从柜台/数据中心/手工导入数据/营销系统同步数据等等,而且有很多需要后台运行job来驱动数据采集和计算。其中要是有一个环节出错,得到的结果就无法预料了。现在的监控日志还不完善,客户看不到出错信息又觉得数据不对,产生怀疑是肯定的。

    分析:不能图开发容易而省去步骤,授人与鱼步入授人与渔,要让客户了解系统的运行情况,日志监控必不可少,告诉客户怎么维护系统,总比每次都自个儿到现场查异常问题强的多。

     

    以上这些问题已经让客户对我们的质量不信任了,客户也说我们测试不到位,作为一个测试人员,有时候一听到“测试”两个字,就会竖起耳朵,总认为出现问题可能是我没有测试好引起的,但现在越来越觉得,降低缺陷逃逸率,不仅仅是测试的事情。有时候需要项目组所有成员一起反省!

  • 35岁前必须做好十件事

    angerswing 发布于 2007-01-04 13:50:34

    第一,学会本行业所需要的一切知识并有所发展。已故零件大王布鲁丹在他35岁时,已经成为零件行业的领袖,并且组建了年收入达千万美元的海湾与西部工业公司。每个人在年轻时都可能有过彻夜不眠、刻苦攻读,这在20岁甚或30岁都没有问题,但到了35岁,就不应该再为学习基本技能而大伤脑筋了。35岁之前是一个人从事原始积累的阶段,35岁之后就应该勃发了。

      第二,养成个人风格。在35岁以前,找出你所喜欢的,不论是衣着或是爱好,哪怕是与众不同的小习惯也好。20岁、30岁时你可以不断尝试、不断改变,但是到了35岁,你便要明确地建立个人风格。一位男士或女士在事业中途改变自己的形象,就会让人觉得很不可靠。你喜欢穿西装吗?好!就把西装当作你的商标吧!办公桌上摆些鲜花会令你工作更有效率吗?那就每天都摆些鲜花吧!

      第三,在感情生活方面平和安定。在攀登事业的高峰时,如果私人生活不愉快,陷入感情危机,对你会产生很大的干扰,甚至会逐渐令你对别的事物失去兴趣。那些在35岁之前私人生活已经平和安定的人,一般都比生活动荡不安的人有更大的机会获得成功。因此,如果你想结束一段没有结果的恋情,或者你想和女友结婚,那就赶快行动吧,免得把问题拖到生命的第35个春秋。在35岁以后,你应该专注地看着你对事业的投资开始获利。

      第四,明白自己的短处。承认有些事情你的确做不好,或者不愿做。如果你讨厌数字而喜欢创作,那就不要因为待遇高或顺从别人的期望而强迫自己做数字工作。在 35岁之前,一定要投入你所喜爱、所擅长的那种工作。否则,35岁之后必然会有一段郁郁不乐的日子。而且,真正的成功可能因为活力的消退而丧失。

      第五,知道自己的长处。你应该知道自己擅长什么,并且清楚你所喜欢做而又做得比别人好的事情。不管你目前担任什么样的角色,知道自己的长处对成功都很重要。

      第六,储备辞职另谋生路的钱。在这个多变的职业世界里,你也许不会永远在一个地方工作,或者永远在一个位置上淋漓尽致地发挥自己,当你感到无法施展时,你很可能会想到辞职,或者开辟第二职业,如果你事先储蓄了足够的钱,你便有了一个安全的后盾。

      第七,建立人际关系网。如果到了35岁你仍未建立起牢固的人际关系网,那你就有麻烦了。这个人际关系网包括你的朋友、亲人,最低限度包括所有可以互相帮助的人。这些人有的是你的同事,有的受过你的恩惠,有的你倾听过他们的问题,有的你和他有着相同的爱好。人际关系网不是一朝一夕就能建立起来的,它需要几年甚至十几年的培养。一个人在事业上、生活上的成功其实如同一个政党的成功,你要有许多人散布在适当的地方,你可以依赖他们,他们也可以依赖你。

      第八,学会授权他人。许多人不肯或不能这样做,因此始终被钉在从属的职位上。授权他人是成功的一半,一个事无巨细,不能将工作授权别人的人,注定会遇到极大的障碍。到了35岁,你最好已成为这方面的专家。换言之,你懂得挑选合适的人并信任他们。

      第九,学会在什么时候三缄其口。因说话不小心而自毁前程的人,比因为任何其他原因丧失成功的人都多。要学会保持沉默而且看起来机智 别人自然以为你知道的比实际还多。别讲别人的闲话,别谈论你自己的大计,守口如瓶所赢得的声誉,远比讲人闲话所带来的东西更加珍贵。你在事业上越成功,这一点就越重要。

      第十,对人要忠诚。如果你到了35岁仍未能建立起坚如磐石的忠诚信誉,这一缺点将会困扰你一生。不忠诚的恶名必然会使你在事业上到处不受欢迎。你不能靠暗箭伤人爬到事业的顶峰,而要靠在早期树立起来的真诚刚直和不可动摇的声誉。35岁以前,忠诚只是投资;35岁以后,你会作为一个可以信赖的人收到忠诚的回报。

  • 老外写的一个测试用例

    fish_yy 发布于 2007-01-12 11:13:09

     

    Test case example:

    Test Case ID: CUST.01

    Function: Add a new Customer

    Data Assumptions: Customer database has been restored

    General Description:

    Add a new customer, via the Customer Add screen, and validate that new Customer was displayed corrected on the All Customer Screen.

    Action

    Initial State or Screen

    Data

    Expected Results

    (Response)

    1. Bring up Sales application via the Windows Icon

    Program Manager

    None

    Main Sales Application Menu displayed

     

    2. From Views Menu Select Customer.

    Main Sales Screen

    None

    Customer Views Screen Displayed.

     

    3. Click on All Customers

    Customer View

    None

    Customer window is displayed with title "All Customers".

    4. Click on Add Button

    Customer - All Customer

    None

    Add Customer Screen is displayed.

     

    5. Enter data to add a new customer and single click the add button.

    Add Customer

    Name: John Doe

    Addr: 123 Main st.

    City: San Francisco

    (Or refer to data sheet:

    Data Sheet - #105)

    Data display in indicated fields.

     

    (Or: as defined by data sheet.)

    Benefits:

    1. Easier to automated - all have same structure

    2. Data requirements are clearly defined

    3. Navigation is precise

    4. Expected results for each action is specific - no guess work involved

     



    测试者家园 2006-10-23 11:13 发表评论


    Link URL: http://www.cnblogs.com/tester2test/archive/2006/10/23/537087.html
  • 软件测试面试

    blackboyzb 发布于 2007-08-01 23:16:39

    前段时间公司招聘软件测试人员,虽然基本上都是招的应届毕业生,但我还是从现实以及网络上找到了一些应聘软件测试/QA的面试问题集,当然这个也都不会有

    标准答案的,现在只是以偶的一点理解加上网上的一些内容列举出来供有需要的XDJM们作一下参考:

    1. 首先一般都是比较老套点的问题:介绍一下你的经历。
    HOHO......这个问题我想谁都被问过吧,注意一下重点,不要紧张慢慢说就OK了。

    2. 老套话说了就可以马上切入正题了。根据你的经验说说你对软件测试/质量保证的理解?
    这个就要仁者见仁、智者见智了,也基本上都是书上的东东,如果能有一些自己独特的想法那就最好啦,呵呵

    3. 理解完了那当然就要问一下是不是对软件测试了解啰。这就轮到问软件测试的流程是什么,你原先的公司又是怎么的流程了?
    前面个问题也还是书本上的东西,一般介绍软测的书上都有,实际上国内一般的中小公司根本就达不到书上所说的那些个测试规范,测试流程也是如此,没办法,

    这就是现在我们整个大的测试环境,这个问题照着书上说的办就行了,后面那个知道该怎么做了吧,尽量把原来公司的测试流程言简意赅的表达出来。

    4. 接着问题就可以有一大堆了,这些问题很多都是要看自己的测试经验以及对测试的理解来作答了,如:
    (1) 你对SQA的职责和工作活动(如软件度量)的理解:
    SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建

    议和改进方案,必要是可以要高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定

    SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等;

    (2) 说说你对软件配置管理的理解:
    项目在开发的过程中要用相应的配置管理工具对配置项(包括各个阶段的产物)进行变更控制,配置管理的使用取决于项目规模和复杂性能及风险的水平。软件的

    规模越大,配置管理就显得越重要。还有在配置管理中,有一个很重要的概念,那就是基线,是在一定阶段各个配置项的组合,一个基线就提供了一个正式的标准

    ,随后的工作便基于此标准,并且只有经过授权后才能变更这个标准。配置管理工具主要有CC,VSS,CVS等,偶只用过CVS,对其它的不熟悉

    (3) 怎样写测试计划和测试用例:
    简单点,测试计划里应有详细的测试策略(测试方法等),合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点

    ,是否可测试等。

    (4) 说说主流的软件工程思想(如CMM,CMMI,RUP,XP,PSP,TSP等)的大致情况以及你对它们的理解:
    CMM:SW Capability Maturity Model 软件能力成熟度模型,其作用是用于软件过程的改进、评估及软件能力的评鉴
    CMMI:Capability Maturity Model Integration 能力成熟度模型集成 CMMI融入了大部分最新的软件管理实践,同时弥补了SW-CMM模型中的缺陷
    RUP:rational unified process 是软件工程化过程。它提供了在开发机构中分派任务和责任的纪律化方法.它的目标是在可预见的日程和预算前提下确保满足最

    终用户需求的高质量产品,个人认为:它的核心观念是开发的迭代,每个公司可以根据自身的软件开发的流程和待开发项目的特点对RUP进行适当的剪裁,制定出符

    合自己的软件开发流程。
    XP:extreme program,即极限编程的意思,适用于小型团队的软件开发,想上面第三个问题就可以结合原型法采用这样的开发流程。要明白测试对于xp开发的

    重要性,强调测试(重点是单元测试)先行的理念。编程可以明显提高代码的质量,持续集成对于快速定位问题很有好处。
    PSP ,TSP 分别是个体软件过程(Personal Software Process),群组软件过程(Team Software Process)大家都知道,CMM只是告诉你怎么做但并没有告诉

    你如何做,所以PSP/TSP就是告诉你企业在实施CMM的过程中如何做,PSP强调建立个人技能(如何制定计划、控制质量及如何与其他人相互协作等等)而TSP着重

    于生产并交付高质量的软件产品(如何有效地规划和管理所面临的项目开发任务等等)
    总之,单纯实施CMM,永远不能真正做到能力成熟度的升级,只有将实施CMM与实施PSP和TSP有机地结合起来,才能发挥最大的效力。因此,软件过程框架应该是

    CMM/PSP/TSP的有机集成。

    (5) 对项目管理、白盒测试、单元测试、自动测试、性能测试、压力测试工具的了解程度和实际使用经验。(其实基本上也就是MI和Rational工具):
    这个就要看个人的了,没法说了

    (6) 其它一些具体的技术知识(如各种计算机语言的了解程度、数据库等);

    5. 还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
    测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,它不仅要通过对软件开发流程的监控,使得软件开发的各个阶

    段都要按照指定的规程进行,通过对各个阶段产物的评审,QA对流程的监控,对功能及配置的审计来达到开发的最优化。当然测试也是保证软件质量的一个重要方

    式,是软件质量保证工程的一个重要组成部分。

    6. 然后紧接着就基于目前中国的国情,大多数公司的软件项目进度紧张、人员较少、需求文档根本没有或者很不规范,你认为在这种情况下怎样保证软件的质量

    ?(大多数公司最想知道的就是在这种困难面前你该怎么保证软件的质量,因为这些公司一般就是这种情况-----既不想投入过多又想保证质量,faint )

    出现以上的情况,如果仅仅想通过测试来提高软件质量,那几乎是不可能,原因是没有足够的时间让你去测试,少而不规范的文档导致测试需求无法细化何谈足够

    且有针对性进行测试。所以,作为公司质量保证的你应该先后项目经理确定符合项目本身最适合的软件生命周期模型(比如RUP的剪裁,原型法),明确项目的开发

    流程并督促项目组按照此流程开展工作,所有项目组成员(项目经理更加重要)都要制定出合理的工作计划,加强代码的单元测试,在客户既定的产品交付日期范

    围之内,进行产品的持续集成等等,如果时间允许可以再配合客户进行必要的系统功能测试。

    7. 差不多了就该问一些只和软件测试相关的问题了,如:
    (1) 你觉得怎样才能做一个(或者,怎样才能算一个)优秀的测试工程师?(faint,这个问题好像是必问的,答案也无非是什么要求全面的技术能力、缜密的逻辑思

    维、出色的沟通能力、还要有怀疑精神、幽默感、洞察力等等。啥叫优秀啊?该有的能力都有,不该有的也有,而且个个能力还都是出色的,这就是优秀,呵呵,

    开玩笑的,反正这个问题差不多就这样,具体的什么要求网络上也到处都有。

    (2) 还有其它的如对自己优缺点的评价、自己的职业理想、为何离开上一家公司、自己在职业生涯中印象最深的事情、能否出差和加班、能否承受压力和挑战、薪

    水要求、何时能到岗等等这些啥面试都要回答的问题,这个就只能自己斟琢着办了。

    (3) 另外还有一个重要的问题就是语言能力啦,尤其是英语水平,这个的话每个具体的公司都有不同的要求,也就没啥好说的了。

    差不多基本上就是这些了,如果有需要的可以有针对性的google一下,hoho...仅供参考!

     

    做好软件测试的一些关键点
    本文作者 未知 摘自 机电之家

    1.测试人员必须经过测试基础知识和理论的相关培训。
    2.测试人员必须熟悉系统功能和业务。
    3.测试必须事先要有计划,而且测试方案要和整个项目计划协调好
    4.必须事先编写测试用例,测试执行阶段必须根据测试用例进行
    5.易用性,功能,分支,边界,性能等功能性和非功能性需要都要进行测试
    6.对于复杂的流程一定要进行流程分支,组合条件分析,再进行等价类划分准备相关测试数据
    7.测试设计的一个重要内容是要准备好具体的测试数据,清楚这个测试数据是测哪个场景或分支的
    8.个人任务平均每三个测试用例至少应该发现一个BUG,否则只能说明测试用例质量不好
    9.除了每日构建的冒烟测试可以考虑测试自动化外,其它暂时都不要考虑去自动化。

     


    软件测试员自身素质培养

      (1) 首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程中不管遇到什么样的困难,我相信你一定能克服。

      (2) 善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。别人认为是对的,我却认为不是

    对的。

      (3) 打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。

      (4) 保持一个良好的心情,否则可能无法把测试作好。不要把生活中的不愉快的情绪带到工作中来。

      (5) 做测试时要细心,不是所有的bug都能很容易的找出,一定要细心才能找出这些bug。

      (6) 灵活一些,聪明一点,多制造一些容易产生bug的例子。

      (7) 在有条件的情况下,多和客户沟通,他们身上有你所需要的。

      (8) 设身处地为客户着想,从他们的角度去测试系统。

      (9) 不要让程序员,以“这种情况不可能发生”这句话说服你,相反,你应该去说服他,告诉他在客户心里,并不是这样的。

      (10) 考虑问题要全面,结合客户的需求、业务的流程、和系统的构架,等多方面考虑问题。

      (11) 提出问题不要复杂化,这一点和前面的有点矛盾,如果你是一新手,暂时不要管这一点,因为最终将有你的小组成员讨论解决。

      (12) 追求完美,对于新测试员来说,努力的追求完美,这对你很好,尽管有些事无法做到,但你应该去尝试。

      (13) 幽默感,能和开发小组很好的沟通是关键,试着给你的开发小组找一个“BUG杀手”,或对他们说“我简直不敢相信,你写的程序居然到现在没有找到

    BUG”。

      (14) 到此是不是对测试很有兴趣呢?不过我要告诉你,测试过程中有酸甜苦辣,其中的滋味只有你知道,也许你会感到枯燥,要学会放松自己,去溜冰或

    做你喜欢做的事,不过,别放弃,因为你的自信告诉过你“你会是很优秀的测试员”不是吗?

  • 一个HR人给应届生的面试建议(转自网络)

    恋恋三季 发布于 2007-05-10 20:19:10

        从事人力资源工作很多年了,多多少少积累了一些经验。已经有许多同仁发表文章,讲了如何撰写简历,面试的礼仪要求等,珠玉在前,不再赘言。适逢2006届大学毕业生进入求职阶段,特此针对面试环节谈一些看法,希望能对大家有所帮助。当然,仅为一家之言,若能抛砖引玉,则大幸也。
      
      即使是最优秀的HR,在对应届生进行面试时,都会感到些许茫然:问不到工作经验;没有Reference Check可以提供;所学专业知识与实际需要脱节;有些毕业生甚至不知道自己的兴趣所在;再加上毕业生的心态不稳定---急功近利者,妄自菲薄者,眼高手低者都大有人在。所以,很多公司都开始使用Competency (胜任力) 来进行评估。
      
      有必要先介绍一下何谓Competency胜任力。胜任力是一种可以被观察到的行为,这种行为在成功人士身上表现得更多,更频繁,取得的成果也更大。如果用海上冰山作比喻,则水面上的十分之一就是这种胜任力,而水面下的十分之九就是我们的知识、技能、态度、价值观。你如果在面试时问:您是否会认真执行公司的每一项规定,答案肯定是“愿意”,而这种问题在我们看来就是无效问题。所以在我们公司,所有的问题都要求尽量给出一个实际的事例。
      
      好了,回到我们的主题----应届生在参加面试时如何有技巧的回答一系列的问题。
      
      开始之前务必记住:
      黄金法则:80/20---你要承担起80%的谈话而面试官只会说20%。
      白金法则:你必须试着控制面试的节奏和话题。
      钻石法则:对于没有把握的问题,抛回给面试官。
      
      1. 在一分钟内介绍一下你自己
      这似乎是必答题。不要以为这很容易。如果你用一分钟来重复你的简历,恭喜你,你的印象加分没有了!建议你最多用二十秒钟介绍自己的姓名、学校、专业。然后话锋一转,引出自己的优势或强项。一定要在最短时间内激发起面试官对你的好感,或者至少是兴趣。
      成功的模式可以是:我叫XXX,英文名字XXX,XX省XX市人,今年6月将从XX学校XX专业本科(专科)毕业。除了简历上您看到的介绍,我愿意特别说一下我在XXX方面的特长/我最大的特点是……(给出事例)。正是基于对自己这方面的自信,使我有勇气来应聘贵公司的XXX这一职位。(看表)一分钟到了,希望我没有超时。(很阳光的微笑)
      如果面试官不是EQ太低,你的最后一句话应该会使他放松和微笑。资历嫩一点的还会接着问:“为什么你会这么认为呢?”如果他真的这么问你,Bingo!你完全有机会操纵这次面试!
      2.应届生经常会被问到的一个问题是:你为什么会选择你目前学习的专业呢?千万当心,这个问题的目的是考察你的Decision Quality这一项胜任力,所以不要简单的说“感兴趣”或者“就业前景乐观”等。给大家一个成功的范例(同样适用于诸如‘您所做过的一个成功/最大的决定是什么”):
      问:张先生,您为什么会选择财务专业呢?
      答:的确,财务已经连续多年成为高校热门专业,这造成了就业时无可避免的激烈竞争。可当初我选择财务专业时并不是单纯因为它的热门程度。我早就把就业目标锁定在苏州工业园区的外资企业。根据我高三时搜集到的统计资料,园区当时有外企XXX家,而且每年以XXX%的速度在增加。以每个公司财务部至少5个人计算(总账,应收应付,税务,出纳再加上一个经理),加上园区的平均离职率是15%,则在我毕业时,可以有XXX个空缺。我毕业那年应该全国有XX相关专业的毕业生。其中可能有10%会瞄准苏州,而我填报的苏州大学在当地口碑尚可,属于中等偏上。那么,有1/2的对手能被我淘汰。再加上我就在苏州本地学习,四年中可以更早的寻求机会,所以,我很有信心的选择了这个专业。
      其实,没有哪个面试官会相信你真的作过如此缜密的调查分析,但你已经展示了你做决策时的思路,所以可以加分。
      记住:所有的回答要符合你专业的特点。不要说得太到位,可以自圆其说就行了,不然,他们会觉得你要么太虚伪,要么太狂妄。还有,应该表示对自己的专业的确感兴趣,或者增加点戏剧效果:我本来理解的财务管理就是管账,所以开始的时候还真后悔了一阵,直到大三时开始了在企业的实践,才有了改观,并真正喜欢上了我的专业。这样显得真实可信,更重要的是,很自然的由你引导到准备好的问题:实习的收获。
      
      3. 为了考察您Learning on the Fly这一条胜任力,通常我们会问您在实习期间的收获。此时,不要夸大自己的成绩,谦虚一点。还有,不妨说一下自己的失误(不用怕,毕竟你是在实习)。记住:详细说明当时的情况(Situation),你要达到的目的(Task),你采取了哪些步骤(Actions),事情的结果(Result),还有你得到的经验教训(Lesson learned)以及后来怎样运用到工作中避免犯类似的错误。最后做出总结:原来书本上的知识要能够在工作中熟练运用,这期间还有很长的一段路要走。还可以说:回到学校后,我对自己的实习经历作了一番总结,发现自己在XXX方面还需要加强。所以,我很注意利用大学的最后一个学期来弥补这一不足。现在,我对自己很有信心,如果时间能够倒流,我相信我能做到更好。
      
      4.你有过和别人合作的经历吗?(千万要回答“有”)那么,在这过程中,你是如何处理意见分歧的呢?现在是考察你的Conflicts Management。现在的绝大部分企业都不欣赏没有原则的老好人。所以,你要把自己包装得强势一些。
      我本人比较满意的回答:
      每个人在团队中都应该可以自由坦诚地发表意见,我会非常认真的聆听,分析;但对于自己的意见我不会没有原则的轻易放弃。民主过后还需要集中。我是学校英语俱乐部的主席,在组织校际年度联欢时,有两个干事的意见和我不一致。(停顿一下,让面试官记住你的这个闪光点)我和他们开了会。大家都阐述了各自的理由。很遗憾,我仍然没有说服这两人。在这种情况下,我感谢他们的积极参与,但表示仍然会采用我的方案。我的理念是:Meeting 不等于Voting,完全不需要少数服从多数;我是负责人,我相信自己有能力采取最佳方案;假如失败了,我也会承担主要责任。而如果我是团队的普通一员,我会保留自己的意见,但还是认真执行管理者已经做出的决策。当然,学校毕竟不同于公司,情况会更加复杂,但我坚信,只要遵循“对事不对人”的原则,任何问题都可以得到解决。
      在回答时,一定要眼睛看着面试官,微笑,以冲淡你的咄咄逼人。
      
      如果你实在没有把握,可以把问题抛还给面试官,试举一例(还是同样的问题):
      问:你是如何处理意见分歧的呢?
      答:您问的恰好也是我最困惑的一点,而学校里老师从来不给我们这样的指点。一方面,我不想做没有原则的老好人,另一方面,大家都是朝夕相处的同学,我不想让他们觉得我盛气凌人。我当时是这样做的:…… 可一直到现在,我都不知道是否作的正确,也许我可以从您那里得到一些指教,您说我当时这么做有问题吗?
      如果对方马上对你言传身教,那他铁定是菜鸟,你不用紧张了,因为,合理的反应应该是不置可否的说:其实这个问题永远不会有标准答案。




    to: 我凝视你的侧脸
        谢谢您的帮助。我在今年下半年面试比较多的单位,但是一些有分量,自己又想进去的企业往往与自己擦肩而过。自己觉得本人的表达能力方面还比较有信心,而且与人交往方面能够表现出比较出色。所以自己的职业规划是做化工行业的销售工程师(本人化学小硕)。在面试的时候经常会遇到这样的问题,让我有点棘手,感觉回答的也不好。希望您给我帮助。
        
        1.说说您的缺点
        虽然很多人说“自己刚毕业,没有经验”,但本人觉得太俗了,一直没有找到更加好的回答方式。
        
        2.硕士毕业来做销售,你觉得很划算?
        我一般是结合自己的性格和兴趣来回答的,不知道您有更好的回答否?
        
        3.我觉得你的非常善谈,但有什么时候与人交流的时候产生不和谐?
        我觉得很头疼这个问题。
        
        希望楼主您给我解答。
        在此谢谢了
      -------------------------------
      1是很实际的一个问题。许多人在被问及自己的缺点时,常常本能的采用“自我保护”的姿态,生怕说错话,于是就有了“我最大的缺点就是工作太投入,不注意休息”这样的笑话。其实,这样的问题很好打发:说一些由于年龄或社会经验不足而导致的缺点,或者是因为级别不够高而无奈的缺点。因为,随着时间的推移,经验的积累和级别的提升,这些缺点都会消失。举例如下:
      问:说说您的缺点,好吗?
      答:缺点每个人都有很多。我不会说什么“我最大的缺点就是工作太投入,不注意休息” (笑,纯真或爽朗的笑,视对方反应而定)。我最大的缺点就是面对高层管理者时会无比紧张,异乎寻常的紧张,有时甚至会语无伦次甚至失语。明明没有犯错误,也会脸红心跳。我猜想这是在学校老师恐惧症的延续吧。(注意这最后一句话,足以使面试官原谅你的这一缺点)。我的另一个缺点是不会或者说是没有勇气说NO。从实习开始就是这样,即使自己已经是超负荷了,对于别人的要求,不管是上司还是同级,都仍然会答应下来,而我又是有了一点小事就会睡不着的人,所以不得不常常开夜车把事情做完;而别人发现每次我都能完成任务,就认为我还有余力,就又交给我新的任务……
      
      问题2 硕士做销售,你从兴趣上着手,应该可以。还能在“硕士”学历的理解上可以做文章。例如:我从不认为硕士在能力上肯定会比本科生强,也不认为理所当然比本科生高一个级别。我一直认为,三年的硕士研究生经历,最大的收获是自己的学习能力和实际运用能力的极大提高。同样是应届生,我会更沉着,更周详,更自信。
      
      3 在人际沟通上是否曾经有过不和谐?“有,肯定有!其实我这个人很容易和别人相处,因为我会换位思考,以此来理解他人。但是!如果遇到价值观和我有抵触的人,我会无法容忍,可能会不能进行有效沟通。我最痛恨三种人:说话言而无信;做事虎头蛇尾;妄想不劳而获。这种人已经触犯到我的原则底线。当然,我不会拂袖而去,但实在不愿敷衍。也许这就是还不够世故圆滑吧。我很矛盾,不知道该做怎样的拿捏与平衡。”
      明白了吗?这是我自己第一次面试时回答的答案。自己觉得有4个优点:1 说明沟通不畅的根本原因不在你 2 表示你涉世未深,还很纯真 3 show了一下你的人格魅力 4 表明你愿意改变





    作为应届生,在面试前,应该了解一下外企的部门架构。以欧美企业为例,一般部门内的职位从低到高依次为:助理(如果是本科生,有时候可以跳过)---专员---资深专员---主管---资深主管---部门副经理/Section Manager---部门经理。一般,主管要求有5年以上的相关工作经验,这是一个分水岭。好,回过来谈谈面试时如何回答关于职业生涯规划问题。其实,这种问题并不需要你回答得无懈可击,这也办不到---你说得通俗了,认为你胸无大志;回答太专业了,又觉得你好高鹜远.
      回答这类问题,有以下几点可以帮你加分:
      1.设定一个与自己专业相关的长远目标;这个目标要和公司的工作有关但不要局限在企业内部(因为空间有限,会遭遇许多太过于细节的问题)。例如,HR专业的学生可以说,自己的目标是在35岁之前,也就是10年内,成为一名优秀的人才测评专家或者资深企业人力资源顾问;工程技术专业的学生,可以成为精益生产专家或者黑带大师;IT专业则可以在信息资源整合和ERP解决方案方面成为专家,等等。注意,要着重在你想做些什么,而不是你想爬到什么级别。
      2.把这个目标分解,以1年,3年,5年,10年的进度,逐步推进。这个就要靠你自己编了,恕在下不能一一举例。记住,每个阶段都要说明你能为公司做出怎样的贡献,你能得到怎样的提高,这与你长远目标的关系在哪里。此时,可以适当联系到刚刚提到的部门架构。
      3.在此过程中,除了自己想办法不断充电,还要说一下你希望公司可以给你怎样的帮助。比如能够有岗位轮换的机会;或者能够参与各种项目等。不要提希望公司会给你培训,送你出国,给你报销学费,要表现得自己希望在实践中成长。
      4.强调自己的稳定的心态。你可以这样说:“中国人最讲究‘名正言顺’或者‘不在其位,不谋其职’,所以很多人都认为,只有给了主管的职位,才能运用主管的权利,发挥主管的作用。我的理念和别人不同,我认为恰恰相反,当你展示出了主管该具有的能力,能完成更多的工作,公司自然会考虑对你的职位进行调整。在没有足够的权力时,要使用自己的影响力,所以我鄙视那些成天想着晋升却没有任何建树的人。”这样子,你的自我包装就成功了一大半。
      5.最后要注意,在回答类似问题时,不要显得太胸有成竹。偶尔显示出涉世未深可以让面试官觉得你还有学生的单纯。“这个问题很大,我在学校里也曾经断断续续的考虑过,现在我简单的讲一下,可能会显得一厢情愿,希望得到您的指教”这样的一个缓冲在许多时候很管用哦。(还记得钻石法则吗?)





    有人问起多个问题同时出现时,应该如何解决。这就是Priority Setting的胜任力。应对思路是把所有要处理的事情按轻重缓急分成4个象限:重要而且紧急;重要但不紧急;不重要但紧急;不重要也不紧急。但记住,不要直接叙述这个思路,这会让人觉得你不像应届生。还是通过举例说明比较好。我面试过的一个比较好的例子:我在大三时正好要复习准备英语6级考试,这时有机会可以去一家企业做兼职部门助理,但需要每周花三个半天。同时,每月一次的英语沙龙活动要组织安排,还要(不好意思地说)抽空陪陪女朋友(最后一点很重要,可以活跃气氛,还为下面制造了一个不重要不紧急的事例)。我当时利用没有课程的下午去公司工作,一般要到5点半回学校。在公车上的30分钟正好用来总结当天在公司的收获和需要了解的知识。在食堂与女朋友吃晚饭,六点半去教室自习,到十点回宿舍。英语沙龙的工作委派给大二的两个干事,他们每天会到自习教室找我谈10分钟,我会给他们一些建议。这样,我没有花太多的精力在沙龙活动上,可对整个过程都有了解和掌控。后来6级考试顺利通过,那家公司对我的工作评价很高,我也学了很多东西;英语沙龙的活动如期举行,我和女朋友也没有疏远。
      这同时展示了三条胜任力:priority setting; delegation和work/life balance
  • [转]测试经理的能力要求

    ppent 发布于 2007-01-30 17:58:48

    原文转自51testing测试论坛上对测试经理素质的讨论,转贴以鞭策自己。
    http://bbs.51testing.com/thread-35637-1-1.html

    中层经理人不论是作为一名执行者、还是一名领导者,都必须通过别人来完成任务。要做个“服众”的经理人,应该有意识地提高以下八项能力:

    1. 领悟能力
    做任何一件事以前,一定要先弄清楚上司希望你怎么做,然后以此为目标来把握做事的方向,这一点很重要,千万不要一知半解就开始埋头苦干,到头来力没少出、活没少干,但结果是事倍功半,甚至前功尽弃。要清楚悟透一件事,胜过草率做十件事,并且会事半功倍。

    2. 计划能力
    执行任何任务都要制定计划,把各项任务按照轻、重、缓、急列出计划表,一一分配部属来承担,自己看头看尾即可。把眼光放在部门未来的发展上,不断理清明天、后天、下周、下月,甚至明年的计划上。在计划的实施及检讨时,要预先掌握关键性问题,不能因琐碎的工作,而影响了应该做的重要工作。要清楚做好20%的重要工作,等于创造80%的业绩。

    3. 指挥能力
    无论计划如何周到,如果不能有效地加以执行,仍然无法产生预期的效果,为了使部属有共同的方向可以执行制定的计划,适当的指挥是有必要的。
    指挥部属,首先要考量工作分配,要检测部属与工作的对应关系,也要考虑指挥的方式,语气不好或是目标不明确,都是不好的指挥。而好的指挥可以激发部属的意愿,而且能够提升其责任感与使命感。要清楚指挥的最高艺术,是部属能够自我指挥。

    4. 控制能力
    控制就是追踪考核,确保目标达到、计划落实。虽然谈到控制会令人产生不舒服的感觉,然而企业的经营有其十分现实的一面,有些事情不及时加以控制,就会给企业造成直接与间接的损失。但是,控制若是操之过急或是控制力度不足,同样会产生反作用:控制过严使部属口服心不服,控制不力则可能现场的工作纪律也难以维持。要清楚最理想的控制,就是让部属通过目标管理方式实现自我控制。

    5. 协调能力
    任何工作,如能照上述所说的要求,制定完善的计划、再下达适当的命令、采取必要的控制,工作理应顺利完成,但事实上,主管的大部分时间都必须花在协调工作上。协调不仅包括内部上下级、部门与部门之间的共识协调,也包括与外部客户、关系单位、竞争对手之间的利益协调,任何一方协调不好都会影响执行计划的完成。要清楚最好的协调关系就是实现共赢。

    6. 授权能力
    任何人的能力都是有限的,作为高级经理人不能象业务员那样事事亲历亲为,而要明确自己的职责就是培养下属共同成长,给自己机会,更要为下属的成长创造机会。孤家寡人是成就不了事业的。部属是自己的一面镜子,也是延伸自己智力和能力的载体,要赋予下属责、权、利,下属才会有做事的责任感和成就感,要清楚一个部门的人琢磨事,肯定胜过自己一个脑袋琢磨事,这样下属得到了激励,你自己又可以放开手脚做重要的事,何乐而不为。切记成就下属,就是成就自己。

    7. 判断能力
    判断对于一个经理人来说非常重要,企业经营错综复杂,常常需要主管去了解事情的来龙去脉因果关系,从而找到问题的真正症结所在,并提出解决方案。这就要求洞察先机,未雨绸缪。要清楚这样才能化危机为转机,最后变成良机。

    8. 创新能力
    创新是衡量一个人、一个企业是否有核心竞争能力的重要标志,要提高执行力,除了要具备以上这些能力外,更重要的还要时时、事事都有强烈的创新意识,这就需要不断地学习,而这种学习与大学里那种单纯以掌握知识为主的学习是很不一祥的,它要求大家把工作的过程本身当作一个系统的学习过程,不断地从工作中发现问题、研究问题、解决问题。解决问题的过程,也就是向创新迈进的过程。因此,我们做任何一件事都可以认真想一想,有没有创新的方法使执行的力度更大、速度更快、效果更好。要清楚创新无极限,唯有创新,才能生存。

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

    领导力更需提升
    一个部门经理提高完成任务执行力的过程,其实也就是提高自身对部门员工领导力的过程。因为要提高执行部门的执行力,不是光靠经理一人所能完成的,而是要靠带领部门所有员工的共同努力才能完成的。
    说到底,对上提高执行力、对下就要提升领导力。
    那么,怎样才能提升领导力呢?除了提高以上八项能力之外,还有最重要的两点:
    1. 学会用老板眼光看企业。
    在老板看来,管理很简单,就是两件事:一是扩大业务范围,增加业务收人;另一件事就是降低管理成本,控制运作费用。其实这两件事,最终是一件事,收入减去成本,减去费用,就是利润。所以归根到底老板是看利润的,利润要从管理中来。
    2. 从被领导中学习领导。
    在领导人看来,领导也很简单,就是两件事:一是用人,内圈用德、外圈用才,用人所长、容人所短;二是激励,解人之难、记人之功,通过正面激励,引导下属往前跑,通过负面激励,推着下属往前走。要知道,任何领导都是从做下属开始的,谁都不可能一步登天当领导。在每个人的成长过程中,你会经历大大小小许多领导,只要你用心学习,不管是好领导、还是坏领导,你都可以从正反两方面学到经验和教训,这对你将来当好领导是十分珍贵的。

    除了以上各种能力外,测试技能不能丢,通过技术服众可以保证管理的有效执行。

  • 软件评测师考试经验分享

    ppent 发布于 2007-02-02 10:40:13Top 1 Digest 1

    07年的软件评测师考试报名又开始了,最近很多测试朋友也很关注,并对软件评测考试充满了好奇,论坛上也有一些讨论和交流。由于本人去年幸运的通过了软件评测师考试,因此将一些心得分享给大家,同时欢迎参加过考试的朋友也来谈谈经。

    一些说明
    计算机技术与软件专业资格(水平)考试分为初级、中级、高级,其中软件评测师属于中级。软件考试每年有两次,但评测师只有上半年才有。通过了这个考试,相当于中级职称。软测的考试年龄只有两岁,2005年5月第一次进入考试范围,可以说它是新生的充满活力的生命,成长空间很大。很多测试人员都不知道有这个水平考试的存在。据说前两年考试通过率都比较低,10%不到。

    软件评测师考试意义
    现在考证是个趋势,但说实在的,软考证书个人现在不觉得有什么实际用处,可能大多数软件公司并不会因为你获得了软件评测师资格或是中级职称就升工资(少数公司福利好的可能会有),也许在找工作的时候会有点帮助吧。
    倒是备考过程中的学习意义比较大,毕竟很多基础的知识的记忆都不是很牢固,回过头去巩固学习别有一番体会,也会触发更多工作方法的灵感。即使通不过自己的知识也增长了!
    另外,如果能通过自己努力,在10%通过率下顺利通过,也是很有成就感的啊 ,咔咔。

    备考经验
    备考的复习资料主要有考试大纲、指定教材软件评测师教程、以及一些试题及答案分析。我觉得评测师教程不错,条理很清晰,阅读起来比较容易理解,我现在还一直作为手册来用。个人建议在考试前至少两个月就要开始复习备考了并做好学习计划,因为一开始还是比较难以进入良好的学习状态,同时需要复习的内容也很多很细需要一定的时间去理解消化,如果备考时间不足临时抱佛脚就不太好了。当然个人情况不一如果你原来基础就很好那也不需要。另外一些章节后面的习题也要做一下并弄懂解答原理,因为有一些考试试题就是类似的。
    把考前的心态调整好比较重要。不要理解为去应付考试,这样很消极对备考不好,我们可理解为平时难得有机会这么系统的去学习,借助考试的机会好好的复习一把。这样的会就比较容易找到动力了。同时最好不要有侥幸心理。
    考试分上午题和下午题。上午题主要是考基础理论,考的范围很广很细,这要求备考时准备充分一下,考试内容大部分都来自教程;下午题考实战的,需要理论加实际工作经验了,但大部分还是书本上有的。比如去年考的安装测试要点、单元测试路径、圈复杂度计算、性能测试等。
    我的体会是只要备考充分加上一些工作经验还是比较好过的,也有人说去年的试题比较简单,不知道是不是。

    软件评测师和测试工程师的区别
    从字面理解上,评测就是测试+评价,以测为主,测完后再加上评价。个人理解,软件评测师只是一个考试的名称、资格的名称,而对应到实际工作中,仍然是测试工程师。并且,好像国外也没有评测师这一叫法?中国特色?

    获取证书之后
    通过了考试获取证书之后必须每3年到教育办公室(名字记不清了)进行登记,登记时需要出示继续教育证明。意思是通过考试之后每n(n>=1)年还要参加继续教育才行。这个比较麻烦。另外软件评测师只是中级职称,之后我们就要继续向高级职称的考试(信息系统项目管理师、系统分析师、系统架构设计师)挑战了,呵呵。

    最后祝大家顺利通过考试,到时来这里给我报个喜,^_^!

  • 2006年上半年软件评测师试题及答案(下)

    jzhao 发布于 2007-01-24 11:58:10

    2006年上半年软件评测师下午试题

    试题一 (15)
      阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
    [
    说明]
      基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C什语言书写,请按要求回答问题。
      void ReadPara( CString temp)
      {
       if ( temp == ">=")
         m_oper.SetCurSel(0);
       else
       {
         if (temp == ">")
          m_oper.SetCurSel(1);
         else
         {
          if ( temp == "==")
           m_oper.SetCurSel(2);
          else
          {
           if( temp == "<=")
            m_oper.SetCurSel(3);
           else
           {
            if ( temp == "<")
             m_oper.SetCurSel(4);
            else
             m_oper.SetCurSel(5);
           }
          }
         }
        }
       return;
      }
    [
    问题1] (6)
      请画出以上代码的控制流图。
    [
    问题2] (3)
      请计算上述控制流图的环路复杂度V(G)
    [
    问题3] (6)
      请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。

    试题二 (20)
      阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
    [
    说明]
      针对某公司办公自动化(OA)系统的负载压力测试,采用专业的负载压力测试工具来执行测试。系统采用Browse/Server架构,服务器是一台PC Server(42.7GHz处理器,4GB内存),安装的平台软件包括Microsoft Internet Information Server 5.0ASP.NETSQLServer2000。使用2台笔记本电脑安装测试工具模拟客户端执行登录业务操作。
      测试目标分别为以下两个:
      第一,测试系统分别在2M4M网络带宽下,能够支持用户登录的最大并发用户数;
      第二,测试服务器的吞吐量(即:每秒可以处理的交易数),主要包括服务器CPU平均使用率达到85%时系统能够支持的最大吞吐量和服务器CPU平均使用率达到100%时系统能够支持的最大吞吐量。
      本次测试的性能需求是:指标响应时间合理范围为05秒。
      测试结果如下:
      案例 1
      网络环境:2M带宽
      客户端性能测试结果;

    测试指标

    平均值

    登录响应时间

    3.391

    虚拟用户数

    N/A

    每秒处理完成登录的个数

    11.897交易/

      注:图中登录响应时间的纵坐标单位是0.1
      服务器资源使用结果:

    测试指标

    平均值

    CPU使用率

    78%

      案例2
      网络环境:4M带宽
      客户端性能测试结果:

    测试指标

    平均值

    登录响应时间

    4.795

    虚拟用户数

    N/A

    每秒处理完成登录的个数

    13.447交易/

      注:图中登录响应时间的纵坐标单位是0.1
      服务器资源使用结果

    测试指标

    平均值

    CPU使用率

    98%

    [问题1] (3)
      简述软件系统交易执行响应时间(“RT”ResponseTime)的概念。
    [
    问题2] (3)
      分析案例 1 的测试结果数据;指出满足系统的性能指标需求时,系统能够承受的并发用户登录的最大数量,并说明理由。
    [
    问题3] (4)
      分析案例 1 的测试结果数据,说明服务器CPU资源使用率是否合理,以及带宽是否是系统瓶颈,并陈述理由。
    [
    问题4] (4)
      分析案例 2 的测试结果数据,说明服务器CPU资源使用率是否合理,以及增加带宽是否是提高系统性能的有效方法,并陈述理由。
    [
    问题5] (6)
      论述CPU使用率成为系统性能瓶颈时,如何制定解决方案?论述网络带宽成为系统性能瓶颈时,如何制定解决方案?

    试题三 (15)
      阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
    [
    说明]
      软件系统几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。场景法就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有基本流(基本事件)和备选流(分支事件)。下面是对某IC卡加油机应用系统的基本流和备选流的描述。
      基本流A

    序号

    用例名称

    用例描述

    1

    准备加油

    客户将IC加油卡插入加油机

    2

    验证加油卡

    加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收的加油卡

    3

    验证黑名单

    加油机验证卡账户是否存在于黑名单中,如果属于黑名单,加油机吞卡

    4

    输入购油量

    客户输入需要购买的汽油数量

    5

    加油

    加油机完成加油操作,从加油卡中扣除相应金额

    6

    返回加油卡

    退还加油卡

      备选流:

    序号

    用例名称

    用例描述

    B

    加油卡无效

    在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC 卡,加油机退卡,并退出基本流

    C

    卡账户属于黑名单

    在基本流A3过程中,判断该卡账产属于黑名单,例如:已经挂 失,加油机吞卡退出基本流

    D

    加油卡账面现金不足

    系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡

    E

    加油机油量不足

    系统判断加油机内油量不足,重新加入基本流A4,或选择退卡

    [问题1] (5)
      使用场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流用字母A表示,备选流用题干中描述的相应字母表示。
    [
    问题2] (4
      场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试用例。
      如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。本例中的测试用例包含测试用例、ID、场景涤件、测试用例中涉及的所有数据元素和预期结果等项目。首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额、加油机油量),然后构建矩阵,最后要确定包含执行场景所需的适当条件的测试用例。在下面的矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如C01表示成功加油基本流。请按上述规定为其它应用场景设计用例矩阵。

    测试用例表

    测试用例
    ID

    场景

    账号

    是否黑
    名单卡

    输入
    油量

    账面
    金额

    加油机
    油量

    预期结果

    C01

    场景1;成功加油

    V

    I

    V

    V

    V

    成功加油

    C02

     

     

     

     

     

     

     

    C03

     

     

     

     

     

     

     

    C04

     

     

     

     

     

     

     

    C05

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    [问题3] (3)
      假如每升油4元人民币,用户的账户金额为1000元,加油机内油量足够,那么在A4输入油量的过程中,请运用边界值分析方法为A4选取合适的输入数据(即油量,单位;升)
    [
    问题4] (3)
      假设本系统开发人员在开发过程中通过测试发现了20个错误,独立的测试组通过上述测试用例发现了100个软件错误,系统在上线后,用户反馈了30个错误,请计算缺陷探测率(DDP)

    试题四 (15)
      阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
    [
    说明]
      易用性和用户文档是影响软件质量的重要指标,也是直接决定一个软件能否取得市场成功的关键因素。
    [
    问题1] (5
      用户对软件系统的第一认识来自于安装,因此易用性的一个重要体现就是安装的易用性。简述安装测试应当从哪几个方面来考虑?
    [
    问题2] (6)
      软件用户界面起着引导用户操作的重要作用,简述整体界面测试和界面中的元素测试分别应当设计哪些测试点?
    [
    问题3] (4)
      软件帮助是协助用户使用软件的关键途径,因此也是软件测试过程中的一个重要内容,简述在进行软件帮助测试时的测试要点。

    试题五 (10)
      阅读以下说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
    [
    说明]
      软件测试是与软件开发密切相关的一系列有计划的活动,在软件测试过程模型“V模型的指导下,开发过程中应该安排一系列不同类型的测试活动。
      软件测试过程是由一系列的关键活动组成的,同时软件测试质量的保证手段是必不可少的。
    [
    问题1] (2)
      针对开发过程中的不同阶段,应该包含那些类型的软件测试。
    [
    问题2] (8)
      简述软件测试过程的关键活动,以及保证软件测试质量的手段。

     

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

     

    下午试题答案

    试题一
    [问题1]

    [问题2]
      V(G)=6
    [问题3]

    用例编号

    temp取值

    1

    >=

    2

    >

    3

    ==

    4

    <=

    5

    <

    6

    除>=、>、==、<=、<之外的字符组合

    试题二
    [问题1]
      响应时间是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。
    [问题2]
      系统能够承受的并发用户登录的最大数量为50
      题中指出"通常情况下,交易操作合理的响应时间为5秒以内"。此案例中,登录响应时间随虚拟并发用户数增加而增长。在50个虚拟并发用户的负载下,登录响应时间达到5秒(注意图形中响应时间指标的比例为10)。当负载超过50个虚拟并发用户,响应时间超过5秒。所以此案例中最合理的并发用户数为50。
    [问题3]
      服务器CPU资源使用率是合理的。
      2M带宽是系统处理业务的瓶颈。
      理由是对比"4M带宽登录"案例,4M带宽下,系统每秒处理完成的登录个数固定在13.5个左右,登录响应时间随虚拟用户数增加而增长。在60个虚拟用户的压力下,登录响应时间在4.2秒左右(注意图形中响应时间指标的比例为10)。在80个虚拟用户的压力下,登录响应时间在5.8秒左右,所以在合理登录响应时间(5秒)内预计同时登录用户数是70左右。服务器CPU使用率成为系统处理的瓶颈。说明随着带宽的提高,系统的处理能力进一步提高,同时高吞吐量造成了系统资源的紧张,带来了新的系统性能瓶颈。
    [问题4]
      服务器CPU资源使用率不合理,其平均值超过85%。
      4M带宽的网络测试环境与2M带宽的网络测试环境相比,带来了新的系统瓶颈(CPU资源使用率平均值超过85%),所以增加带宽不是提高系统性能的有效方法。在此基础上,继续提高带宽,系统的处理能力将进一步提高,高的处理能力会使服务器的资源瓶颈进一步加重,带来更加严重的后果。
    [问题5]
      当CPU资源使用成为系统瓶颈时的解决方案可以概括为:
       1. 增加CPU的个数;
       2. 提高CPU的主频;
       3. 将web服务器与数据库服务器分开部署;
       4. 调整软件的设计与开发;
      当带宽成为系统瓶颈时的解决方案可以概括为:
       1. 增加带宽;
       2. 压缩传输数据。

    试题三
    [问题1]
      场景1:A
      场景2:A、B
      场景3:A、C
      场景4:A、D
      场景5:A、E
    [问题2]

    测试用例ID号

    场景

    帐号

    是否黑名单卡

    输入油量

    帐面金额

    加油机油黑

    预期结果

    C02.

    场景2:卡无效

    1

    n/a

    n/a

    n/a

    n/a

    退卡

    C03.

    场景3:黑名单卡

    V

    V

    n/a

    n/a

    n/a

    吞卡

    C04.

    场景4:金额不足

    V

    I

    V

    I

    V

    提示错误,重新输入加油量

    C05.

    场景5:油量不足

    V

    I

    V

    V

    I

    提示错误,重新输入加油量

    [问题3]
      1. 0升
      2. 250升
      3. 251升
    [问题4]
      DDP=Bugstester(Bugstester+ Bugscustomer)=(20+100)(20+100+30)=80%(0.8)
      其中,Bugstester为测试者发现的错误数;
      Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。

    试题四
    [问题1]
      评估安装手册
      安装的自动化测试
      安装选项和设置的测试
      安装过程的中断测试
      安装顺序测试
      多环境安装测试
      安装正确性测试
      修复安装与卸载测试

    [问题2]
      界面整体测试:规范性测试、合理性测试、一致性测试和界面定制性测试
      界面元素测试:窗口测试、菜单测试、图标测试、鼠标测试和文字测试。
    [问题3]
      文本的准确性
      与程序的接口
      帮助索引的检查
      超链接的正确性
      链接的意义
      风格应简洁

    试题五
    [问题1]
      单元测试
      集成测试
      确认测试(系统测试)
      验收测试
    [问题2]
      知识点包括:
       软件测试过程的关键活动:
       测试需求分析
       制定测试计划
       测试设计
       测试执行
       测试分析与总结

      质量保证手段:
       制定质量保证计划、质量体系建立
       测试活动审核、测试文档评审
       测试过程数据的收集、度量与分析

     

  • 2006年上半年软件评测师试题及答案(上)

    jzhao 发布于 2007-01-24 09:27:30

    2006年上半年软件评测师上午试题

    在计算机系统中,存取速度最快的是___(1)___
      (1)ACPU内部寄存器        B.计算机的高速缓存Cache
        C.计算机的主存        D.大容量磁盘

      模块的耦合度描述了___(2)___
      (2)A.模块内各种元素结合的程度  B.模块内多个功能之间的接口
        C.模块之间公共数据的数量   D.模块之间相互关联的程度

      若某计算机系统是由500个元器件构成的串联系统,且每个元器件的失效率均为10-7/H,在不考虑其它因素对可靠性的影响时,该计算机系统的平均故障间隔时间为___(3)___小时。
      (3)A2×1O4     B5×1O4    C2×1O5    D5×105

      内聚是一种指标,表示一个模块___(4)___
      (4)A.代码优化的程度         B.代码功能的集中程度
        C.完成任务时及时程度       D.为了与其他模块连接所要完成的工作量

      为了解决进程间的同步和互斥问题,通常来用一种称为___(5)___机制的方法。若系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,那么使系统不发生死锁的资源R的最少数目是___(6)___ 
      (5)A.调度     B.信号量    C.分派     D.通讯
      (6)A20      B18      C16      D15

      UNIX操作系统中,把输入/输出设备看作是___(7)___
      (7)A.普通文件   B.目录文件   C.索引文件   D.特殊文件

      某磁盘盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区,假定分配以扇区为单位。若使用位示图管理磁盘空间,则位示图需要占用___(8)___字节空间。
      (8)A16000     B1000     C2000     D1600

      ●___(9)___描述数据的局部逻辑视图,是数据库用户的数据视图,它是与某一应用有关的数据逻辑表示。
      (9)A.模式     B.逻辑模式   C.外模式    D.内模式

      某数据库中有员工关系E、产品关系P、仓库关系W和库存关系I,其中:
      员工关系E(employeelDnamedepartment)中的属性为:员工编号,姓名,部门;
      产品关系P(productIDnamemodelsizecolor)中的属性为:产品编号,产品名称,型号,尺寸,颜色;
      仓库关系W(warehouselDnameaddressemployeeID)中的属性为:仓库编号,仓库名称,地址,员工编号;
      库存关系I(warehouseIDproductIDquantity)中的属性为仓库编号,产品编号和产品数量。
      a.若要求仓库关系的负责人引用员工关系的员工编号,员工关系E的员工编号、仓库关系W的仓库编号和产品关系P的产品编号不能为空且惟一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是___(10)___
      b.可得到每种产品伪名称和该产品的总库存量的查询语句为;
       SELELCT nameSUM(quantity)
       FROM P,I
       WHERE___(11)___
      (10)A.实体完整性、参照完整性、用户定义完整性
        B.参照完整性、实体完整性、用户定义完整性
        C.用户定义完整性、实体完整性、参照完整性
        D.实体完整性、用户定义完整性、参照完整性
      (11)AP.productID=I.productlD
        BP.productID=I.product ID ORDER BY name
        CP.productID=Iproduct ID GROUP BY name
        DP.productID=Iproduct ID GROUP BY namequantity

      与多模光纤相比较,单模光纤具有___(12)___等特点。
      (12)A. 较高的传输率、较长的传输距离、较高的成本
        B. 较低的传输率、较短的传输距离、较高的成本
        C. 较高的传输率、较短的传输距离、较低的成本
        D. 较低的传输率、较长的传输距离、较低的成本

      ● “<title style="italic">science</title>”是一个XML 元素的定义,其中元素标记的属性值是___(13)___
      (13)Atitle     Bstyle    Citalic    Dscience

      某校园网用户无法访问外部站点210.102.58.74,管理人员在windows 操作系统下可以使用___(14)___判断故障发生在校园网内还是校园网外。
      (14)A. ping 210.102.58.74        B. tracert 210.102.58.74
        C. netstat 210.102.58.74      D. arp 210.102.58.74

      ● SNMP 所采用的传输层协议是___(15)___
      (15)A. UDP      B. ICMP      C. TCP      D. IP

      渐增式开发方法有利于___(16)___
      (16)A.获取软件需求 B.快速开发软件  C.大型团队开发 D.商业软件开发

      高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是___(17)___
      (17)A.语句     B.语义      C.语用     D.语法

      ● ___(18)___是面向对象程序设计语言不同于其它语言的主要特点,是否建立了丰富的___(19)___是衡量一个面向对象程序设计语言成熟与否的重要标志之一。
      (18)A. 继承性    B. 消息传递   C. 多态性    D. 静态联编
      (19)A. 函数库    B. 类库     C. 类型库    D. 方法库

      某市标准化行政主管部门制定并发布的工业产品的安全、卫生要求的标准,在其行政区域内是___(20)___
      (20)A.强制性标准  B.推荐性标准  C.自愿性标准  D.指导性标准

      王某购买了一个海之久牌活动硬盘,而且该活动硬盘还包含有一项实用新型专利,那么,王某享有___21___
      (21)A海之久商标专用权      B.该盘的所有权
        C.该盘的实用新型专利权      D.前三项权利之全部

      甲企业委托软件公司程序员王某开发管理软件,并与王某签订了书面协议,但协议中未对软件著作权归属做出明确的约定,其软件著作权属于___(22)___
      (22)A.甲企业    B.软件公司    C.程序员王某  D.软件公司和甲企业

      依据著作权法,计算机软件著作权保护的对象是指___(23)___
      (23)A. 计算机硬件  B. 计算机软件  C. 计算机硬件和软件 D. 计算机文档

      相对于DES算法而言,RSA算法的___(24)___,因此,RSA___(25)___
      (24)A.加密密钥和解密密钥是不相同的  B.加密密钥和解密密钥是相同的
        C.加密速度比DES要高        D.解密速度比DES要高
      (25)A.更适用于对文件加密       B.保密性不如DES
        C.可用于对不同长度的消息生成消息摘要  D.可以用于数字签名

      C++语言中,已知3个类OPQ,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3:类P和类Q是类O的派生类,其继承方式如下所示:
       class P : protected O {…};
       class Q : public O {…};
      关于方法F1的描述中正确的是___(26)___;关于方法F2韵描述中正确的是___(27)___;关于方法F3的描述中正确的是___(28)___
      (26)A.方法F1无法被访问          B.只有在类O内才能访问方法F1
        C.只有在类P内才能访问方法F1     D.只有在类Q内才能访问方法F1
      (27)A.类OPQ的对象都可以访问方法F2  B.类PQ的对象都可以访问方法F2
        C.类0Q的对象都可以访问方法F2    D.只有在类P内才能访问方法F2
      (28)A.类0PQ的对象都可以访问方法F3  B.类0PQ的对象都不可以访问方法F3
        C.类0Q的对象都可以访问方法F3    D.类PQ的对象都可以访问方法F3

      正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中不正确的是___(29)___
      (29)A.评审产品,而不是评审生产者的能力
        B.要有严格的评审计划,并遵守日程安排
        C.对评审中出现的问题要充分讨论,以求彻底解决
        D.限制参与者人数,并要求评审会之前做好准备

      在绘制数据流图时,要遵循的一个原则是父图与子图的平衡,所谓平衡是指___(30)___
      (30)A.父图和子图都不得改变数据流的性质
        B.子图不改变父图数据流的致性
        C.父图的输入/输出数据流与子图的输入/输出数据流一致
        D.子图的输出数据流完全由父图的输入数据流确定

      某系统的顶层DFD图如下,其中,加工1细化后的DFD图是___(31)___


      (31)

      下图中的程序由ABCDE 5个模块组成,下表中描述了这些模块之间的接口,每一个接口有一个编号。此外,模块ADE都要引用一个专用数据区。那么AE之间耦合关系是___(32)___

    编号

    参数

    返回值

    1

    数据项

    数据项

    2

    数据项

    数据项

    3

    功能码

    4

    列表

      (32)A.公共耦合    B.数据耦合    C.内容耦合    D.无耦合

      C++语言中,若类C中定义了一个方法int f(int aint b),那么方法___(33)___不能与该方法同时存在于类C中。
      (33)Aint f(int xint y)        Bint f(float aint b)
        Cfloat f(int xfloat y)      Dint f(int xfloat y)

      在面向对象软件开发过程中,采用设计模式___(34)___
      (34)A.允许在非面向对象程序设计语言中使用面向对象的概念
        B.以复用成功的设计和体系结构
        C.以减少设计过程创建的类的个数
        D.以保证程序的运行速度达到最优值

      两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是___(35)___个。
      (35)A25       B30      C50     D60

      对于软件的β测试,下列描述正确的是___(36)___
      (36)Aβ测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试
        Bβ测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试
        Cβ测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试
        Dβ测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试

      ●___(37)___可以作为软件测试结束的标志。
      (37)A.使用了特定的测试用例      B.错误强度曲线下降到预定的水平
        C.查出了预定数目的错误      D.按照测试计划中所规定的时间进行了测试

      下面--是关于软件评测师工作原则的描述,正确的判断是___(38)___
       对于开发人员提交的程序必须进行完全的测试,以确保程序的质量
       必须合理安排测试任务,做好周密的测试计划,平均分配软件各个模块的测试时间
       在测试之前需要与开发人员进行详细的交流,明确开发人员的程序设计思路,并以此为依据开展软件测试工作,最大程度地发现程序中与其设计思路不一致的错误
       要对自己发现的问题负责,确保每一个问题都能被开发人员理解和修改。
      (38)A     B     C    D.无

      在软件生命周期的不同阶段,需要实施不同类型的测试工作,单元测试是对程序设计进行验证,其中___(39)___不是单元测试的主要内容。在进行单元测试过程中,通常测试工程师都需要借助___(40)___来代替所测模块调用的子模块:在单元测试的基础上,需要将所有模块按照概要设计和详细设计说明书的要求进行组装,模块组装成系统的方式有两种,分别是___(41)___
      (39)A.模块接口测试  B.有效性测试  C.路径测试    D.边界测试
      (40)A.桩模块     B.驱动模块   C.桩模块和驱动模块  D.存根模块和驱动模块
      (41)A.一次性组装和增殖性组装      B.自顶向下组装和启底向上组装
        C.单个模块组装和混合模块组装    D.接口组装和功能组装

      黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括___(42)___等。现有一个处理单价为1元的盒装饮料的自动售货机软件,若投入1元币,按下可乐雪碧红茶按钮,相应的饮料就送出来,若投入的是2元币,在送出饮料的同时退还1元币。下表是用因果图法设计的部分测试用例,l表示执行该动作,0表示不执行该动作,___(43)___的各位数据,从左到右分别填入空格表中的(1)—(8)是正确的。

    用例序号

    1

    2

    3

    4

    5


    投入1元币

    1

    1

    0

    0

    0

    投入2元币

    0

    0

    1

    0

    0

    可乐按钮

    1

    0

    0

    0

    0

    雪碧按钮

    0

    0

    0

    1

    0

    红茶按钮

    0

    0

    1

    0

    1


    退还1元币

    (1)

    0

    (5)

    (7)

    0

    送出可乐饮料

    (2)

    0

    0

    0

    0

    送出雪碧饮料

    (3)

    0

    0

    (8)

    0

    送出红茶饮料

    (4)

    0

    (6)

    0

    0

      (42)A.等价类划分法、因果图法、边界值分析法、错误推测法、判定表驱动法
        B.等价类划分法、因果图法、边界值分析法、正交试验法、符号法
        C.等价类划分法、因果图法、边界值分析法、功能图法、基本路径法
        D.等价类划分法、因果图法、边界值分析法、静态质量度量法、场景法
      (43)A01001100   B01101100   C01001010   D11001100

      多条件覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足多条件覆盖级别的测试用例也是满足___(44)___级别的:针对布尔表达式
    A&&(B||C)
    执行逻辑覆盖测试,测试用例至少需要___(45)___种组合才能满足多条件覆盖的要求。
      (44)A.语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖
        B.判定覆盖、条件覆盖;条件判定组合覆盖、修正条件判定覆盖
        C.语句覆盖、判定覆盖、条件判定组合覆盖、修正条件判定覆盖
        D.路径覆盖、判定覆盖、条件覆盖、条件判定组合覆盖
      (45)A6       B4       C8       D12

      典型的软件测试过程模型有___(46)___等,在这些模型中,___(47)___强调了测试计划等工作的先行和对系统需求和系统设计的测试,___(48)___对软件测试流程予以了说明。
      (46)AV模型、W模型、H模型、渐进模型
        BV模型、W模型、H模型、螺旋模型
        CX模型、W模型、H模型、前置测试模型
        DX模型、W模型、H模型、增量模型
      (47)AV模型     BW模型     C.渐进模型   D.螺旋模型
      (48)AV模型     BW模型     CH模型     D.增量模型

      下述关于错误处理流程管理的原则,___(49)___的说法是不正确的。
      (49)A.为了保证正确地定位错误,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,并且验证错误是否可以再现。
        B.每次对错误的处理都要保留处理信息,包括处理人姓名、处理时间、处理方法、处理意见以及错误状态
        C.错误修复后必须由报告错误的测试人员确认错误已经修复,才能关闭错误
        D.对于无法再现的错误,应该由项目经理,测试经理和设计经理共同讨论决定拒绝或者延期。

      ● GB/T16260—2003《软件工程产品质量》规定的软件产品使用质量特性包括___(50)___
      (50)A.适应性、生产率、可靠性、满意度
        B.有效性、生产率、安全性、满意度
        C.有效性、可靠性、适应性、满意度
        D.适应性、适用性、效率、满意度

      软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性___(51)___是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
      (51)A.成熟性     B.易恢复性     C.容错性     D.可靠性依从性

      ● GB/T18905—2002《软件工程 产品评价》中确定的通用评价过程包括四个方面,即:确立评价需求,规定评价,设计评价和执行评价,其中有关规定评价部分包含的内容有___(52)___
      (52)A.选择度量、建立度量评定等级、确立评估准则:
        B.指定质量模型、选择度量、建立度量评定等级
        C.选择度量、建立度量评定等级、制定评价计划
        D.确定产品类型、选择度量、建立度量评定等级

      ● GB/T18905-2002《软件工程 产品评价》提供了软件产品评价的过程,其中GB/T18905—2002《软件工程 产品评价》第五部分评价者用的过程供___(53)___
      (53)A.计划获取或复用某个已有的软件产品的组织予以使用
        B.对软件产品执行独立评估的评价者使用
        C.计划开发新产品或增强现有的产品,以及打算利用他们自己的技术人员进行产品评价的组织使用
        D.编制评价模块的文档提供指南

      用边界值分析法,假定1<X<100,那么X在测试中应该取的边界值是___(54)___
      (54)AX=1X=100   BX=0X=1X=100X=101  CX=2X=99  DX=OX=101

      导致软件缺陷的原因有很多,是可能的原因,其中最主要的原因包括___(55)___
        软件需求说明书编写的不全面,不完整,不准确,而且经常更改
        软件设计说明书
        软件操作人员的水平
        开发人员不能很好的理解需求说明书和沟通不足
      (55)A   B    C    D

      关于软件质量的描述,正确的是___(56)___
      (56)A.软件质量是指软件满足规定用户需求的能力
        B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性
        C.软件质量保证过程就是软件测试过程
        D.以上描述都不对

      对于业务流清晰的系统可以利用___(57)___贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用___(58)___选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用___(59)___和判定表驱动法。
      (57)A.等价类划分    B.因果图法    C.正交试验法   D.场景法
      (58)A.等价类划分    B.因果图法    C.正交试验法   D.场景法
      (59)A.等价类划分    B.因果图法    C.正交试验法   D.场景法

      逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项(True或者False),正确的选择是___(60)___
      语句段:
       if (A && (B||C)) x=l
       else x=O
      用例表:

     

    用例1

    用例2

    A

    TRUE

    FALSE

    B

    FALSE

    C

    TRUE

    A &&(B||C)

    FALSE

      (60)ATRUE FALSE TRUE       BTRUE FALSE FALSE
        CFALSE FALSE TRUE      DTRUE TRUE FALSE

      ● ___(61)___方法根据输出对输入的依赖关系设计测试用例。
      (61)A.路径测试    B.等价类     C.因果图    D.边界值

      针对下面程序段,边界值问题可以定位在___(62)___
       1Rem Create a 10 element integer array
       2Rem lnitialize each element to -1
       3Dim data(10) As Integer
       4Dim i As Integer
       5For i=1 TO 10
       6data(i)=-1
       7Next i
       8End
      (62) A. data(1)   B. data(0)  C. data(9)   D. data(10)

      以下控制流图的圈复杂度V(g)和基本圈复杂度EV(g)___(63)___

      (63)AV(g)=5 EV(g)=1       BV(g)=6 EV(g)=6
        CV(g)=5 EV(g)=5       DV(g)=6 EV(g)=1

      在网络应用测试中,网络延迟是一个重要指标。以下关于网络延迟的理解,正确的是___(64)___
      (64)A.指响应时间
        B.指报文从客户端发出到客户端接收到服务器响应的间隔时间
        C.指报文在网络上的传输时间
        D.指从报文开始进入网络到它开始离开网络之间的时间

      为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括___(65)___
      (65)A.配置项标识、配置项控制、配置状态报告、配置审计
        B.配置基线确立、配置项控制、配置报告、配置审计
        C.配置项标识、配置项变更、配置审计、配置跟踪
        D.配置项标识、配置项控制、配置状态报告、配置跟踪

      ● Originally introduced by Netscape Communications,___(66)___ are a general mechanism which HTTP Server side applications, such as CGI (67) , can use to both store and retrieve information on the HTTP ___(68)___ side of the connection. Basically, Cookies can be used to compensate for the ___(69)___ nature of HTTP. The addition of a simple, persistent, client-side state significantly extends the capabilities of WWW-based ___(70)___ .
      (66)A. Browsers   B. Cookies     C. Connections   D. scrīpts
      (67)A. graphics   B. processes    C. scrīpts     D. texts
      (68)A. Client    B. Editor      C. Creator     D. Server
      (69)A. fixed     B. flexible     C. stable     D. stateless
      (70)A. programs   B. applications  C. frameworks   D. constrains

      ● WebSQL is a SQL-like ___(71)___ language for extracting information from the web. Its capabilities for performing navigation of web ___(72)___ make it a useful tool for automating several web-related tasks that require the systematic processing of either all the links in a ___(73)___ , all the pages that can be reached from a given URL through ___(74)___ that match a pattern, or a combination of both. WebSQL also provides transparent access to index servers that can be queried via the Common ___(75)___ Interface.
      (71)A. query     B. transaction    C. communication    D. programming
      (72)A. browsers   B. servers      C. hypertexts     D. clients
      (73)A. hypertext   B. page       C. protocol      D. operation
      (74)A. paths     B. chips       C. tools        D. directories
      (75)A. Router    B. Device      C. Computer      D. Gateway

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

     

    上午试题答案

    (1) A (16) B (31) B (46) C (61) C
    (2) D (17) A (32) A (47) B (62) B
    (3) A (18) A (33) A (48) C (63) D
    (4) B (19) B (34) B (49) D (64) D
    (5) B (20) A (35) C (50) B (65) A
    (6) C (21) B (36) D (51) C (66) B
    (7) D (22) C (37) B (52) A (67) C
    (8) C (23) B (38) D (53) B (68) A
    (9) C (24) A (39) B (54) B (69) D
    (10) B (25) D (40) A (55) D (70) B
    (11) C (26) B (41) A (56) D (71) A
    (12) A (27) C (42) A (57) D (72) C
    (13) D (28) B (43) A (58) C (73) B
    (14) B (29) C (44) A (59) B (74) A
    (15) A (30) C (45) C (60) A (75) D

  • 面试必成5大原则

    angerswing 发布于 2007-01-04 13:49:32

     
     

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

       履历表用途不大

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

       不要理会人力资源部

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

       面试以前必须查明一切

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

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

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

       记住,雇主真的想雇用你

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

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

       视面试为第一天上班

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

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

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

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

       如获录用,先参观公司

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

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

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

  • 关于手机测试

    lfbomb 发布于 2006-12-30 13:08:04

        关于手机测试

        手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等,结构上的设计不合理,会造成应力集中,使得本身外壳变形,对于翻盖手机,盖子失效,还有其他严重问题。硬件测试一般都有严格的物理电气指标,也有专门的仪器。
        但是手机测试,一般是指软件测试,这个一方面也说明了软件在手机上的重要行。一方面也说明手机测试的难度。因为其他的测试都有明确的指标,严格的操作规程,还有各种仪器。下面说的手机测试一般都是手机软件测试,以后不在重复说明。
        在说明手机测试之前,我觉得应该了解一下什么是嵌入市操作系统,见备注2。简单的说,一个嵌入市操作系统就是为完成某中特定功能而专门开发的操作系统。这个操作系统的功能很明确,不象大型操作系统,范围广泛,大千世界,尽在其中,而嵌如操作系统只为完成某一项或者几项功能。
        再说一下手机的特殊性,也就是要求对响应时间达到一定限制范围。也就是所谓的实时操作系统,如果一个电话不能在90秒内接听,那么对方会挂掉,而你的操作系统还没反映过来,那么这个操作系统无疑是失败的,这是对嵌入操作系统实时性的要求。
        作为一个测试人员,你必须了解这些,可能对一些软件开发人员,他不必很在意这些方面,因为他只要了解自己模块的入口说明和出口说明就可以。但是测试人员不行。高级测试人员应该了解嵌入操作系统的特点,这个系统不象WINDOWS,有图形界面可以输入输出,也不象DOS用命令行模式,所有这些,都需要自己编写一个编辑器,编写一个交互界面,编写一个输入输出界面,在WINDOWS中,利用一些API和一些M FC,不用考虑硬件的问题,因为系统已经完成,而WINDOWS是讲究和硬件分离的,因为这样可以保护系统不受侵入。而在嵌入市系统里面。这一些都要求和硬件息息相关。
        手机测试中,软件出现的故障不一顶是由于软件的错误,也可能是由于没有考虑到硬件和软件没有完美的结合。因此我们在了解操作系统同时,也要了解一下其他的手机硬件性能,比如CPU ,比如存储器。
    CPU的处理运算能力是以MIPS来衡量的,当然越快越好,但是也是和成本相关的,我不知道现在MOTOROLA T39的CPU,但是,因为是PDA,又是手写屏幕,所以菜单特别的慢。关于存储器需要专门做出说明,因为这里的存储器很特别,不象PC,手机没有硬盘!
        其实,嵌入式系统的编程语言一般有C,而且也是最多的,也有其他语言。比如C++在最开始时候是用汇编的,但是汇编难懂,而且也不容易移植,渐渐的被C代替,不过即使如此,在启动程序时候,要启动板子,也就是电路板时候,还是需要用一些汇编语言完成。
        作为一个嵌入市系统的程序,和在PC上运行着的程序没有任何不同,唯一不同可能是在PC上运行的程序,你可以看到结果——如果你用输出语句的话,而在这里,你是看不到结果的。除非你加上LCD硬件,然后编写了LCD驱动程序,然后再编写显示 程序。编写嵌入式程序,一切都要自己解决。
        我们的手机如果不是认为把电源切断的话,或者在电源消耗到一定程度的话,是会一直在使用的,所以,手机程序是一直在运转的,就是说一直在循环,这个,对于了解嵌入式程序,应该是个好材料——嵌入式程序就是一个无限循环的程序,除非关掉电源和电源因素,这里也有一个测试点:硬件中断是最高级的,它会终止你的程序,即使你现在的程序级别很高,比如通话,如果没电了,一切会over.
    手机程序就是在一个无限循环的程序,什么时候跳出这个无限循环?你关机吧,如果感到不高兴,把电池卸下来,因为有可能进入死循环,而关机键失效了,——只好通过取下电池了。
        这里要专门说明一下存储器,因为很多手机毛病都和存储有关,而且很多问题都和存储相关,计算机的存储是关键,而手机更是关键,因为计算机有硬盘作为存储,而手机所有的都在存储器里,存储器分为几类,RAM 随即存储器,ROM随即只读存储器还有现在出现一些的闪存,以及电子可编程存储和非易失存储器。
        RAM 随机存储器,其中又有SRAM(静态RAM)DRAM(动态RAM),SRAM,只要只要电源开着,就会保存,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不会立刻写入通话记录。只有正常关机,才会写入,如果取电池的话,是不会写入手机的通话记录的,如果在通话记录中出现了已经拨打电话,但是没有记录的情况,那么有可能和这个存储器有关,
    可能是你的软件上错误,也可能是硬件。
    DRAM在手机上用的不多,因为保留数据时间很短,
        从价格上看,SRAM是非常昂贵的,而DRAM相比很便宜。
        ROM也有几种,PROM可编程ROM 和EPROM可擦除可编程ROM两者区别是,PROM是一次性的,也就是软件灌入后,这个就完蛋了,这种是早期的产品,现在已经不可能使用了,而EPROM则是通用的存储器,这些存储器不符和手机软件产品,一般使用ROM比较少。
        近来手机采用最多的存储器NVRAM,这种存储器结合了ROM和RAM的长处,但是不属于RAM也不属于ROM,手机大量采用的NVRAM 非易失存储器和SRAM属性差不多,EEPROM电子可擦出可编程存储器,闪存,ROM的后代。手机软件一般放在EEPROM中,EPROM是通过紫外光的照射,擦出原先的程序,而EEPROM是通过电子擦出,当然价格也是很高的,而且写入时间很长,写入很慢,所以前面提到的电话号码,一般先放在SRAM中,不是马上写入EEPROM,因为当时有很重要工作要做——通话,如果写入,漫长的等待是让用户忍无可忍的。
        NVRAM 是一个很特别的存储器,它和SRAM相类似,但是价格却高很多,由于一些数据实在重要,断电后必须保持这些数据,所以只能存放在这里,一般和个人信息有关的数据会放在这里,比如和S IM卡相关数据。容量大小也只有几百字节。
        闪存存储器是所有手机的首选,综合了前面的所有优点,不会断电丢失数据(NVRAM)快速读取,电气可擦出可编程(EEPROM)所以现在手机大量采用。
        说了这么多存储器,可能比较糊涂了,这么多存储器,究竟采用哪种呢,在手机发展中,各种存储器都用过,至于现在,各种手机采用的存储器是不同的,这个和成本相关,各种存储器价格不一样,本着性价比最优组合,由设计者决定,有些是可选的,有些是必须的,是手机方案决定的,我们了解只是各种存储性能,特点,在测试中判断错误原因。

    手机协议站软件的白盒测试
        手机软件测试单丛测试的内容来看,包括上面的MMI和底下的PROTOCOL,由于MMI的灵活性,和各个厂家的个性化,以及手机本身的用户不同,MMI的侧重点也就不同,在基本通话、短消息、数据功能完成的基础上可以五花八门,所以测试的重点不同。测试方法也就各不相同。
        但是协议就不同了,协议是统一的,虽然你实现方法可以不同,但是完成的功能必须相同,和MMI不同,虽然都是聊天,但是有些用短消息聊天,有些用PUSH聊天,而协议软件有一个遵守的规范——ETSI指定的协议规范,有统一的命令规范和统一的标准。消息(术语,不是软件编程里的消息,是通信术语)是固定的嘛。
        针对协议的测试,因为有标准可循,有规范可依,所以软件测试就很多工具,公司也多,自动化测试要自动话,否则,按照人的测试能力,谁也无法保证其绝对可靠性,也没有这么大的人力去仔细做测试。
        一般对于白盒测试是比较严格的,而且也是耗费人力的,所以常采用自动化测试工具。这样节省人力、缩短测试时间。至于谁家的工具比较好,涉及各取所需吧,也涉及到成本问题。你如果想购买某产品,会给你一个DEMO版本,给你一个月的评价时期,这个评估版本让你熟悉其产品的优劣也让你熟悉其操作。
        测试工具一般都有二次开发功能,也就是可以自己编写脚本,针对不同的软件平台做一些改动,这样可以根据自己的需要编写测试CASE测试用列当然即使是全部用自动化测试,你心理还是没底,你还是要仔细去看代码。分析流程,读懂其含义,一个很小的问题,出错保护没有作好,一般这个问题最多,出错保护机制没有作好,会造成崩溃这样严重的问题。这是针对协议代码的白合测试。
        如果你是对购买来的协议进行测试,一般有仪器,模拟一个网络基站,进行测试,不过这样的仪器非常昂贵,而且测试人员要对ETSI协议比较熟悉。
        对协议进行白合测试,我想对你的要求就是:熟悉相关的协议,否则白扯;熟悉开发的语言,否则免谈。

    备注:
    1 计算机工业的分类
    以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为
    大型计算机、中型机、小型机和微计算机,并以此来组织学科和产业分工,这
    种分类沿袭了约40年。近10年来随着计算机技术的迅速发展,实际情况产生了
    根本性的变化,例如70年代末定义的微计算机演变出来的个人计算机(PC),如
    今已经占据了全球计算机工业的90%市场,其处理速度也超过了当年大、中型计
    算机的定义。随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的
    分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将
    其分为嵌入式计算机和通用计算机。
    通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出
    现并应用在社会的各个方面,其典型产品为PC;而嵌入式计算机则是以嵌入式
    系统的形式隐藏在各种装置、产品和系统中。
    2 嵌入式系统(Embedded Systems)
    嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、
    适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
    嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部
    设备中就包含了5-10个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显
    示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌
    入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、
    航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。

  • 续:有效的软件测试50种方法==第五种谨惕在已有的系统中的开发和测试

    dashuang2006 发布于 2006-12-29 22:27:49

    第五种  谨惕在已有的系统中的开发和测试

       在许多软件开发项目中,已经存在的但缺少或没有保存需求文档的软件产品,会基于这些产品的体系结构进行重新设计和平台升级。在这种情况下,许多公司会认为新的软件系统可以完全的在对已经存在的项目进行进一步的调研的基础上做开发和测试,而没有花时间去分析和文档化软件的功能。按照推测认为已经存在的项目其本身就已经显示出了必需的需求,而没有必要把精力和时间浪费在对已经存在的软件项目进行需求的再设计或者分析和文档化,表面上,这样做似乎可以提前交付日期,其实不然。

    不幸的是,在几乎所有的小型项目中,使用已经存在的项目作为需求基线的策略里,都会伴随着许多缺陷和经常导致很少的需求文档、不适当的功能和不完善的测试。

    虽然项目功能的许多方面都是能够说明其功能,开发人员很容易理解许多专业的领域知识,但是还是会很容易的忽略依赖于已经提供的数据基础上的业务逻辑。并且通常这是很难通过对已有项目进行各种数据输入就能确定的,而且很有可能使项目的一些功能丢失。在许多情况下,对一定的输入产生相应的输入的原因是很困惑的,而且软件开发人员会想象出最好的猜想来回答软件为什么会表现出这样的做法。一旦实际的业务逻辑确定后而没有文档化,会事情变得更糟糕;相应的,对新系统进行直接的编程会引起无限的猜测周期。

    除了业务逻辑方面的问题,用户界面或许也是一个很有可能错误理解的地方,或者遗漏完整的用户界面的一部分。

    许多时候,已有项目的基线仍然存在并且在开发过程中,或许使用完全不同的体系结构和过时的技术;它还存在产品和不断的维护中,包括缺陷的修改和添加到产品的每个新版本中的新功能。这就呈现出一个目标迁移的问题:更新和新特性已经应用在项目中,就会被认为是新产品的需求基线,甚至会被开发人员和测试人员认为是新产品的重新设计。结果是新项目就已有项目不同时期的混合物,而已有项目还在其自身的开发生命周期中。

    最终,在目标迁移的情况下,在整个软件开发生命周期中进行分析,设计,开发和测试活动,并对其进行合理的时间,预算和人员评估是非常困难的。没有可以利用的需求来说明我们构造什么和测试什么,项目组很难有效的预测需要投入的精力。大部分的评估都是依据在对功能的偶然的理解基础上的,而这些功能很可能是很不正确的,或者在已有项目升级时需要飞跃性的修改。在以需求的完美的陈述基础上,评估任务就变得非常简单,但是当所谓的需求是嵌入在已有的或者目标迁移的项目中的时候,评估任务几乎是不可能的。

    表面上,项目构造在已有项目基础上的一个显然的好处是:如果输出被认为是一样的,测试人员可以不断的对比旧项目的输出和新实现的项目的输出。然而,这是不安全的:如果旧项目的输出在某些场景下暂时的出错,而没有人会知道它呢?如果新项目执行是正确的,但是旧项目执行是错误的,测试人员就会报告无效的缺陷,修改的结果是新项目和旧项目存在相同的错误。

    如果测试人员确定他们不能依赖已有项目进行对比输出结果和已有问题。或者如果他们执行了测试流程并且两个项目的输出结果不一致,也无法确认哪一个结果是正确的。如果需求说明书没有文档化,测试人员如何确定哪一个输出结果是正确的?应当在需求阶段确定预期输出结果,这种分析应在测试人员的控制范围内。

    虽然在已有项目的基础上进行新的软件项目的开发是非常困难的,但是也存在一些方法来解决这种情形。第一步是进行期望管理。团队成员应知道新开发的项目是基于已有项目的基础上开发的。下面列举了应当注意的几点内容:

    1           使用已经成功的软件版本。所有风险承担者都必须明白为什么新项目必须建立在已有项目的一个特定版本的基础上的,而且必须认同这种情况。团队必须选择已有项目的一个版本作为新项目的基础,并且仅仅使用这个版本作为开发的开始。

    可以直接的在已有成功的项目版本上进行缺陷跟踪,可以确定在已经选择的已有项目的版本中的缺陷是否存在新的项目中,不用考虑已有项目的编码的更新和正确性。还有一点是必须确定的,那就是已有项目实际上是正确的,使用专业的领域知识,还必须认识到当已有项目存在缺陷时,新项目却是正确的。

     

    2         对已有项目进行文档化。下一步是拥有一些领域或者项目的专家对已有项目进行文档化,至少写出每个特性的说明,提供不同的测试场景和它们的预期输出。更好的是对已有项目进行充分的分析,但是在实践中这需求花费很多的时间和员工投入很多的努力,这就变得不可行或者缺乏资金。一个非常理想的做法是将特性写成段落的形式,仅仅对一些复杂的需要文档详细说明的交互关系进行详细的需求分析。

    通常当前项目的用户界面是不需要进行详细的文档化的。如果界面功能不能显示出软件内部功能实现的复杂性,并且这种复杂性与用户界面相交互,这种文档是不够详细的。

    3         文档化已更新的已有项目。更新是增加或者改变需求,当新项目准备进行升级时,对已有项目的基线也应从现在往后升级并将其进行文档化。这样做可以对已有项目的功能做稳定的分析和适当的进行设计和测试文档。如果可能的话,两个产品能够使用需求,测试流程和其它测试产物。

    如果升级没有进行文档化,新产品的开发就会产生连锁反应:已有项目和新项目的矛盾会变得很零散;一个项目中已经修改了,而另一个没有修改;一些缺陷可能预先知道,而另外一些缺陷却在测试过程中被发现或者更严重的是在发布后才发现。

    4         在前进的过程中实现开发流程的有效性。即使已经开发出来的系统没有相应的需求说明文档,设计文档或测试文档或任何系统开发的流程,无论怎样,一个新特性是在先前项目还是在新项目中被开发,开发人员都应确保已经定义一个良好的,相互交流的,可遵循的和可调整的系统开发流程,这是必需的,可以避免软件工程实践无休止的错误。

    通过这些步骤的学习,项目开发过程中的一系列特性都被概括和量化了,涉及到了良好的组织,计划,跟踪和测试的每一个特点。

  • QTP中调用共享文件

    xiaonan 发布于 2006-12-28 17:03:42

         在我们开发脚本的时候,发现有些脚本总是重复的出现在各个脚本中。那么我们是不是可以把这些脚本写成一个共享的function,放到一个共享的文件中?然后再给各个脚本调用呢?答案当然是肯定中。其实我在《QTP的一些小知识》中也提到了一个方法,就是利用ExecuteFile函数来调用.vbs文件。如:一个名为test.vbs的文件,我们只要在脚本中写上这么一句代码ExecuteFile("F:\test.vbs") ,就可以来直接执行这个.vbs文件了。

         现在我再来介绍另一种方法,这种方法也是QTP本身所提供的。就是设置菜单选项“setting”中的"resource"选项来做到调用共享文件的效果。在"resource"选项中,有三种文件格式是可以被调用的,分别是*.sql;*.vbs;*.txt三种后缀文件。这里我用一个*.txt文件为例。

        新建一个名为test.txt的文本文件,其保存内容如下:(注:保存的内容也必须合法)

    Function writeorderno(orderno)
    Dim fso, myfile
    Set fso=CreateObject("scrīpting.FileSystemObject")
    Set myfile=fso.openTextFile("C:\result1.txt",8,false)
    myfile.writeline orderno
    myfile.close
    End Function

    一个名为writeorderno的Function,其作用是把传进来的值写到C盘名为result1.txt的结果文件中去。(注:结果文件也是事先要准备好的)。共享文件准备完毕,那么就开始设置"resource"选项。打开“setting”窗口,找到"resource"选项。点击“+”的button。选择前面我们建好的文件。如下:

    确定关闭窗口。我们就来试验一下,是不是这个共享文件里的Function能够被调用了。在QTP专家视图里写上这么几句代码:

    Dim order

    order=1

    writeorderno order

    接下去就按run执行试验,结果测试通过。虽然在脚本中根本没对writeorderno函数做说明,但是当QTP运行到这句代码的时候,在本脚本里没说明的情况下,自己会到"resource"选项里去找。结果QTP能正确识别这个writeorderno 函数。打开c盘里的 result1.txt的结果文件,发现传进函数的值1,被正确的写了进去。预示着整个调用共享文件的成功。

Open Toolbar