发布新日志

  • 数据池里的数据都用完了,问题怎么解决

    2013-01-15 13:27:38

    在场景中做压力测试时遇到如下问题:

    Error: Parameter '恒定的值': All values in unique block already used. Block size is 100. The parameter continues with last value of the range according to "When Out Of Values" policy

    翻阅了很多资料,说是数据池里的数据用完了,这是由于在做参数化时没有设置好。

    如对ICcardNo的parameter type选择了Unique number,Update values选择了Each iteration,when out of values就要选择第二项,继续xunhuan,再到场景中运行就不会报错了。

  • ANT使用

    2010-09-06 13:08:37

    1.配置环境变量
      在系统变量里添加:ANT_HOME D:\apache-ant-1.5.4

      JAVA_HOME D:\j2sdk1.4.2_06

      PATH D:\apache-ant-1.5.4\bin

    2.一个Ant中有两个文件

      (1)build.properties用于配置tomcat的路径

      (2)build.xml包含工程的路径和任务,且都包含一个<project>和<target>


    3.任务元素:所谓的任务是一端可执行的代码

      property:设置name/value形式的属性

      mkdir:创建目录

      copy:拷贝文件或文件夹

      delete:删除文件或文件夹

      javac:编译java源文件

      war:为Web应用打包

      javadoc:为java源文件创建javadoc文档


    4.具体用法请参考事例Demo/build.xml,build.properties


    5.在Doc下的运行方法:

      (1)先用cd指令进入Demo的根目录下,也就是build.xml,build.properties呆的目录,执行ant指令,即:

           D:ANT\DEMO\>ant

         可看到的是help文件;

      (2)运行deploy指令,即:

           D:ANT\DEMO\>ant deploy

         可根据build.xml里的设置生成相应的包

      (3)运行javadoc指令,即:

           D:ANT\DEMO\>ant javadoc

         可生成相应的html文档


    6.总结

      (1)build.xml此文档可以根据不同工程的需要修改以下路径和名称即可使用

      (2)当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,在Java中应用是平台无关性的,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的。


      每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。


      任务1:usage 打印本脚本的帮助信息(缺省)

      任务2:clean <-- init 清空初始化环境

      任务3:javadoc <-- build <-- init 生成JAVADOC

      任务4:jar <-- build <-- init 生成JAR

      任务5:all <-- jar + javadoc <-- build <-- init 完成以上所有任务:jar javadoc

  • 集成测试

    2010-08-31 16:44:01

     集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。

    集成测试方法

      集成测试应该考虑以下问题:
      1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
      2、各个子功能组合起来,能否达到预期要求的父功能;
      3、一个模块的功能是否会对另一个模块的功能产生不利的影响;
      4、全局数据结构是否有问题;
      5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。
      因此,单元测试后,有必要进行集成测试,发现并排除在模块连接中可能发生的上述问题,最终构成要求的软件子系统或系统。对子系统,集成测试也叫部件测试。
      任何合理地组织集成测试,即选择什么方式把模块组装起来形成一个可运行的系统,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号和测试的次序、生成测试用例和调试的费用。通常,有两种不同的组装方式:一次性组装方式和增值式组装方式。
      集成测试的实施
      集成测试是一种正规测试过程,必须精心计划,并与单元测试的完成时间协调起来。在制定测试计划时,应考虑如下因素:
      1、是采用何种系统组装方法来进行组装测试;
      2、组装测试过程中连接各个模块的顺序;
      3、模块代码编制和测试进度是否与组装测试的顺序一致
      4、测试过程中是否需要专门的硬件设备;
      解决了上述问题之后,就可以列出各个模块的编制、测试计划表,标明每个模块单元测试完成的日期、首次集成测试的日期、集成测试全部完成的日期、以及需要的测试用例和所期望的测试结果。
      在缺少软件测试所需要的硬件设备时,应检查该硬件的交付日期是否与集成测试计划一致。例如,若测试需要数字化仪和绘图仪,则相应测试应安排在这些设备能够投入使用之时,并需要为硬件的安装和交付使用保留一段时间,以留下时间余量。此外,在测试计划中需要考虑测试所需软件(驱动模块、桩模块、测试用例生成程序等)的准备情况。

    集成测试完成标准

      怎样判定集成测试过程完成了, 可按以下几个方面检查:
      1、成功地执行了测试计划中规定的所有集成测试;
      2、修正了所发现的错误;
      3、测试结果通过了专门小组的评审。
      集成测试应由专门的测试小组来进行,测试小组由有经验的系统设计人员和程序员组成。整个测试活动要在评审人员出席的情况下进行。
      在完成预定的组装测试工作之后,测试小组应负责对测试结果进行整理、分析,形成测试报告。测试报告中要记录实际的测试结果、在测试中发现的问题、解决这些问题的方法以及解决之后再次测试的结果。此外还应提出目前不能解决、还需要管理人员和开发人员注意的一些问题,提供测试评审和最终决策,以提出处理意见。
      集成测试
      集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。
      集成测试识别组合单元时出现的问题。通过使用要求在组合单元前测试每个单元并确保每个单元的生存能力的测试计划,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别。
      集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。也就是说,在集成测试之前,单元测试应该已经完成,集成测试中所使用的对象应该是已经经过单元测试的软件单元。这一点很重要,因为如果不经过单元测试,那么集成测试的效果将会受到很大影响,并且会大幅增加软件单元代码纠错的代价。
      集成测试是单元测试的逻辑扩展。在现实方案中,集成是指多个单元的聚合,许多单元组合成模块,而这些模块又聚合成程序的更大部分,如分系统或系统。集成测试采用的方法是测试软件单元的组合能否正常工作,以及与其他组的模块能否集成起来工作。最后,还要测试构成系统的所有模块组合能否正常工作。集成测试所持的主要标准是《软件概要设计规格说明》,任何不符合该说明的程序模块行为都应该加以记载并上报。
      所有的软件项目都不能摆脱系统集成这个阶段。不管采用什么开发模式,具体的开发工作总得从一个一个的软件单元做起,软件单元只有经过集成才能形成一个有机的整体。具体的集成过程可能是显性的也可能是隐性的。只要有集成,总是会出现一些常见问题,工程实践中,几乎不存在软件单元组装过程中不出任何问题的情况。从图1可以看出,集成测试需要花费的时间远远超过单元测试,直接从单元测试过渡到系统测试是极不妥当的做法。
      集成测试的必要性还在于一些模块虽然能够单独地工作,但并不能保证连接起来也能正常工作。程序在某些局部反映不出来的问题,有可能在全局上会暴露出来,影响功能的实现。此外,在某些开发模式中,如迭代式开发,设计和实现是迭代进行的。在这种情况下,集成测试的意义还在于它能间接地验证概要设计是否具有可行性。

    集成测试的目的

      是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。它所测试的内容包括单元间的接口以及集成后的功能。使用黑盒测试方法测试集成的功能。并且对以前的集成进行回归测试。
      一、集成测试过程
      二、单元测试工作内容及其流程
      三、集成测试需求获取
      集成测试需求所确定的是对某一集成工作版本的测试的内容,即测试的具体对象。集成测试需求主要来源于设计模型(Design Model)和集成构件计划(Integration Build Plan)。集成测试着重于集成版本的外部接口的行为。因此,测试需求须具有可观测、可测评性。
      1. 集成工作版本应分析其类协作与消息序列,从而找出该工作版本的外部接口。
      2. 由集成工作版本的外部接口确定集成测试用例。
      3. 测试用例应覆盖工作版本每一外部接口的所有消息流序列。
      注意:一个外部接口和测试用例的关系是多对多,部分集成工作版本的测试需求可映射到系统测试需求,因此对这些集成测试用例可采用重用系统测试用例技术。
      四、集成测试工作机制
      软件集成测试工作由产品评测部担任。需要项目组相关角色配合完成。如图示:
      软件评测部:
      软件项目组:
      集成测试工作内容及其流程工作流程:
      五、集成测试产生的工件清单
      1、 软件集成测试计划
      2、 集成测试用例
      3、 测试过程
      4、 测试脚本
      5、 测试日志
      6、 测试评估摘要
      六、集成测试常用方案选型
      集成测试的实施方案有很多种,如自底向上集成测试、自顶向下集成测试、Big-Bang集成测试、三明治集成测试、核心集成测试、分层集成测试、基于使用的集成测试等。在此,笔者将重点讨论其中一些经实践检验和一些证实有效的集成测试方案。
      •自顶向下集成测试
      自顶向下集成(Top-Down Integration)方式是一个递增的组装软件结构的方法。从主控模块(主程序)开始沿控制层向下移动,把模块一一组合起来。分两种方法:
      第一:先深度:按照结构,用一条主控制路径将所有模块组合起来;
      第二:先宽度:逐层组合所有下属模块,在每一层水平地沿着移动。
      组装过程分以下五个步骤:
      步骤一:用主控模块作为测试驱动程序,其直接下属模块用承接模块来代替;
      步骤二:根据所选择的集成测试法(先深度或先宽度),每次用实际模块代替下属的承接模块
      步骤三:在组合每个实际模块时都要进行测试;
      步骤四:完成一组测试后再用一个实际模块代替另一个承接模块;
      步骤五:可以进行回归测试(即重新再做所有的或者部分已做过的测试),以保证不引入新的错误。
      •自底向上集成测试
      自底向上的集成(Bottom-Up Integration)方式是最常使用的方法。其他集成方法都或多或少地继承、吸收了这种集成方式的思想。自底向上集成方式从程序模块结构中最底层的模块开始组装和测试。因为模块是自底向上进行组装的,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)事前已经完成组装并经过测试,所以不再需要编制桩模块(一种能模拟真实模块,给待测模块提供调用接口或数据的测试用软件模块)。自底向上集成测试的步骤大致如下:
      步骤一: 按照概要设计规格说明,明确有哪些被测模块。在熟悉被测模块性质的基础上对被测模块进行分层,在同一层次上的测试可以并行进行,然后排出测试活动的先后关系,制定测试进度计划。图2给出了自底向上的集成测试过程中各测试活动的拓扑关系。利用图论的相关知识,可以排出各活动之间的时间序列关系,处于同一层次的测试活动可以同时进行,而不会相互影响。
      步骤二: 在步骤一的基础上,按时间线序关系,将软件单元集成为模块,并测试在集成过程中出现的问题。这里,可能需要测试人员开发一些驱动模块来驱动集成活动中形成的被测模块。对于比较大的模块,可以先将其中的某几个软件单元集成为子模块,然后再集成为一个较大的模块。
      步骤三: 将各软件模块集成为子系统(或分系统)。检测各自子系统是否能正常工作。同样,可能需要测试人员开发少量的驱动模块来驱动被测子系统。
      步骤四: 将各子系统集成为最终用户系统,测试是否存在各分系统能否在最终用户系统中正常工作。
      方案点评: 自底向上的集成测试方案是工程实践中最常用的测试方法。相关技术也较为成熟。它的优点很明显: 管理方便、测试人员能较好地锁定软件故障所在位置。但它对于某些开发模式不适用,如使用XP开发方法,它会要求测试人员在全部软件单元实现之前完成核心软件部件的集成测试。尽管如此,自底向上的集成测试方法仍不失为一个可供参考的集成测试方案。
      •核心系统先行集成测试
      核心系统先行集成测试法的思想是先对核心软件部件进行集成测试,在测试通过的基础上再按各外围软件部件的重要程度逐个集成到核心系统中。每次加入一个外围软件部件都产生一个产品基线,直至最后形成稳定的软件产品。核心系统先行集成测试法对应的集成过程是一个逐渐趋于闭合的螺旋形曲线,代表产品逐步定型的过程。其步骤如下:
      步骤一: 对核心系统中的每个模块进行单独的、充分的测试,必要时使用驱动模块和桩模块;
      步骤二: 对于核心系统中的所有模块一次性集合到被测系统中,解决集成中出现的各类问题。在核心系统规模相对较大的情况下,也可以按照自底向上的步骤,集成核心系统的各组成模块。
      步骤三: 按照各外围软件部件的重要程度以及模块间的相互制约关系,拟定外围软件部件集成到核心系统中的顺序方案。方案经评审以后,即可进行外围软件部件的集成。
      步骤四: 在外围软件部件添加到核心系统以前,外围软件部件应先完成内部的模块级集成测试。
      步骤五: 按顺序不断加入外围软件部件,排除外围软件部件集成中出现的问题,形成最终的用户系统。
      方案点评: 该集成测试方法对于快速软件开发很有效果,适合较复杂系统的集成测试,能保证一些重要的功能和服务的实现。缺点是采用此法的系统一般应能明确区分核心软件部件和外围软件部件,核心软件部件应具有较高的耦合度,外围软件部件内部也应具有较高的耦合度,但各外围软件部件之间应具有较低的耦合度。
      •高频集成测试
      高频集成测试是指同步于软件开发过程,每隔一段时间对开发团队的现有代码进行一次集成测试。如某些自动化集成测试工具能实现每日深夜对开发团队的现有代码进行一次集成测试,然后将测试结果发到各开发人员的电子邮箱中。该集成测试方法频繁地将新代码加入到一个已经稳定的基线中,以免集成故障难以发现,同时控制可能出现的基线偏差。使用高频集成测试需要具备一定的条件: 可以持续获得一个稳定的增量,并且该增量内部已被验证没有问题; 大部分有意义的功能增加可以在一个相对稳定的时间间隔(如每个工作日)内获得; 测试包和代码的开发工作必须是并行进行的,并且需要版本控制工具来保证始终维护的是测试脚本和代码的最新版本; 必须借助于使用自动化工具来完成。高频集成一个显著的特点就是集成次数频繁,显然,人工的方法是不胜任的。
      高频集成测试一般采用如下步骤来完成:
      步骤一: 选择集成测试自动化工具。如很多Java项目采用Junit+Ant方案来实现集成测试的自动化,也有一些商业集成测试工具可供选择。
      步骤二: 设置版本控制工具,以确保集成测试自动化工具所获得的版本是最新版本。如使用CVS进行版本控制。
      步骤三: 测试人员和开发人员负责编写对应程序代码的测试脚本。
      步骤四: 设置自动化集成测试工具,每隔一段时间对配置管理库的新添加的代码进行自动化的集成测试,并将测试报告汇报给开发人员和测试人员。
      步骤五: 测试人员监督代码开发人员及时关闭不合格项。
      按照步骤三至步骤五不断循环,直至形成最终软件产品。
      方案点评: 该测试方案能在开发过程中及时发现代码错误,能直观地看到开发团队的有效工程进度。在此方案中,开发维护源代码与开发维护软件测试包被赋予了同等的重要性,这对有效防止错误、及时纠正错误都很有帮助。该方案的缺点在于测试包有时候可能不能暴露深层次的编码错误和图形界面错误。
      以上我们介绍了几种常见的集成测试方案,一般来讲,在现代复杂软件项目集成测试过程中,通常采用核心系统先行集成测试和高频集成测试相结合的方式进行,自底向上的集成测试方案在采用传统瀑布式开发模式的软件项目集成过程中较为常见。读者应该结合项目的实际工程环境及各测试方案适用的范围进行合理的选型。
      集成的验证
      《集成测试设计用例》中所设计的功能测试用例必须全部通过,性能及其他类型测试用例通过90%以上。在未通过的测试用例中,不能含有 ‘系统崩溃’和‘严重错误’错误,‘一般错误’小于5%。
  • 文本框测试用例

    2010-08-13 10:13:12

    一、文本框为字符型

    必填项非空校验:
       1、必填项未输入--程序应提示错误;
       2、必填项只输入若干个空格,未输入其它字符--程序应提示错误;

    字段唯一性校验:(不是所有字段都作此项校验,视实际项目情况而定)   
       1、新增时输入重复的字段值--必须提示友好信息;    
       2、修改时输入重复的字段值--必须提示友好信息; 

    字段长度校验:  
       1、输入[最小字符数-1]--程序应提示错误;   
       2、输入[最小字符数]--OK;   
       3、输入[最小字符数+1]--程序应提示错误;   
       4、输入[最大字符数-1]--OK;   
       5、输入[最大字符数]--OK;   
       6、输入[最大字符数+1]--程序应提示错误; 


    字段为特殊字符校验: 
       1、输入域如对某些字符禁止输入时,限制是否成功,提示信息是否友好 ;   
       2、中文、英文、空格,数字,字符,下划线、单引号 等所有特殊字符的组合 ;   
       3、所有特殊字符都必须进行测试(!~@#$^&*()_+{}|:“<>?/.,;‘[]\=-`¥……()--:《》?、。,;’【】、=-· ) 


    字段为特殊代码校验:   
       1、输入htm代码:比如” <font>你好</font>”;--必须以文本的形式将代码显示出来。     
       2、输入JavaScript代码:比如<param name=“MovieWindowWidth” value=“320”>;--必须以文本的形式将代码显示出来。 


    多行文本框输入:   
       1、是否允许回车换行 ;    
       2、保存后再显示能够保持输入时的格式 ;    
       3、仅输入回车换行,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 ;   
       4、仅输入空格,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 。 


    二、文本框为数值型

    边界值:
       1、输入[最小值-1]--程序应提示错误;
       2、输入[最小值]--OK;
       3、输入[最大值]--OK;
       4、输入[最大值+1]--程序应提示错误;

    位数:
       1、输入[限制位数]--OK;
       2、输入[限制位数+1]--根据实际项目而定,是否自动四舍五入成限制位数,还是提示信息;
       3、输入[限制位数-1]--OK;

    异常值、特殊值:
       1、输入非数值型数据:汉字、字母、字符--程序应提示错误;
       2、输入负数--根据实际项目而定,如果不允许输入负数,必须提示友好信息;
       3、字段禁止直接输入非数值型数据时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常提交保存--只能使用“粘贴”、“拷贝”方法输入的特殊字符应无法保存,并应给出相应提示 ;
       4、全角数字和半角数字的情况--全角数字不能保存,提示友好信息,半角数字正常保存;
       5、首位为零的数值:如01=1--视实际项目情况而定; 

    三、文本框为日期型


    合法性检查:
       1、日输入[0日]--程序应提示错误;
       2、日输入[1日]--OK;
       3、日输入[32日]--程序应提示错误;
       4、月输入[1、3、5、7、8、10、12月]、日输入[31日]--OK;
       5、月输入[4、6、9、11月]、日输入[30日]--OK;
       6、月输入[4、6、9、11月]、日输入[31日]--程序应提示错误;
       7、输入非闰年,月输入[2月]、日输入[28日],比如2009.2.28--OK;
       8、输入非闰年,月输入[2月]、日输入[29日],比如2009.2.29--程序应提示错误   9、(闰年)月输入[2月]、日输入[29日],比如2008.2.29--OK;
       10、(闰年)月输入[2月]、日输入[30日],比如2008.2.30--程序应提示错误;
       11、月输入[0月]--程序应提示错误;
       12、月输入[1月]--OK;
       13、月输入[12月]--OK;
       14、月输入[13月] --程序应提示错误;

    格式检查:
       1、不合法格式:2009-09、 2009-09 -、200-2-2;
       2、视具体项目而定是否合法:2009/09/01、2009.09.01 、20090901、2009-09-01 ;

    异常值、特殊值:
       1、输入汉字、字母、字符--程序应提示错误;

    四、文本框为时间型

    合法性检查:
        1、时输入[24时] --程序应提示错误;
        2、时输入[00时] --OK;
        3、分输入[60分] --程序应提示错误;
        4、分输入[59分] --OK;
        5、分输入[00分] --OK;
        6、秒输入[60秒] --程序应提示错误;
        7、秒输入[59秒] --OK;
        8、秒输入[00秒] --OK;

    格式检查:
        1、不合法格式:12:30:、 123000;
        2、视具体项目而定是否合法:12:30、 1:3:0;

    异常值、特殊值:
        1、输入汉字、字母、字符--程序应提示错误;
        2、系统中所涉及时间是否取服务器时间;

  • 翻页测试用例

    2010-08-11 13:43:21

    这几天看到一些WEB通用功能的测试用例设计,我也想小试一把,看到网上也有对翻页功能的用例,感觉不是很全,我总结了一下,下面是我对翻页功能的测试用例设计,有不对的欢迎朋友们指正,不全的大家帮补哦!

    翻页功能我们常碰到的一般有以下几个功能:
    1、首页、上一页、下一页、尾页。
    2、总页数,当前页数
    3、指定跳转页
    4、指定每页显示条数
    当然,有一些是少于多少页,全部以数字的形式显示,多于多少页后,才出现下一页的控件。本文暂且用以上四点来做为通用的用例来设计吧。

    对于1翻页链接或按钮的测试,主要要检查的测试点有:
    1、有无数据时控件的显示情况
    2、在首页时,首页和上一页是否能点击
    3、在尾页时,下一页和尾页是否能点击
    4、在非首页和非尾页时,四个按钮功能是否正确
    5、翻页后,列表中的记录是否仍按照指定的排序列进行了排序
    对于2总页数,当前页数,主要要检查的测试点有:
    1、总页数是否等于总的记录数/指定每页条数
    2、当前页数是否正确
    对于3指定跳转页,主要要检查的测试点有:
    1、是否能正常跳转到指定的页数
    2、输入的跳转页数非法时的处理
    对于4指定每页显示条数,主要要检查的测试点有:
    1、是否有默认的指定每页显示条数
    2、指定每页的条数后,列表显示的记录数,页数是否正确
    3、输入的每页条数非法时的处理

    分析完上面的测试点,应该可以进行用例的设计了。
    step 1: 列表无记录
    expect: 1、四个翻页控件变灰不可点击
            2、列表有相应的无数据信息提示
            3、不可指定页数
            4、不可指定跳转页
            5、总页数显示为0
            6、当前页数显示为0

    step 2: 列表的记录数<=指定的每页显示条数
    expect: 1、四个翻页控件变灰不可点击
            2、总页数显示为1
            3、当前页数显示为1

    step 3: 列表的记录数>指定的每页显示条数
    expect: 1、默认在首页,当前页数为1             
            2、列表的数据按照指定的排序列正确排序
            3、记录数与数据库相符
            4、总页数=记录数/指定的每页显示条数

    step 4: 列表的记录数>指定的每页显示条数,在首页
    expect: 1、首页变灰不可点击
            2、上一页变灰不可点击
            3、下一页可点击,从(每页指定条数+1)条记录开始显示,当前页数+1
            4、尾页可点击,显示最后页的记录

    step 5: 列表的记录数>指定的每页显示条数,在中间的某页
    expect: 1、首页可点击,显示1到每页指定条数的记录
            2、上一页可点击,显示上一页的记录
            3、下一页可点击,从后一页的记录
            4、尾页可点击,显示最后页的记录
            5、列表的数据按照指定的排序列正确排序
            6、当前页数为所在页

    step 6:列表的记录数>指定的每页显示条数,在尾页
    expect: 1、首页可点击,显示1到每页指定条数的记录
            2、上一页可点击,显示上一页的记录
            3、下一页变灰不可点击
            4、尾页变灰不可点击
            5、列表的数据按照指定的排序列正确排序
            6、当前页数为最后一页的页数

    step 7:输入每页显示条数为正整数
    expect: 1、每页显示条数更新成指定的条数
            2、超过指定的条数的记录分页显示
            3、总页数更新成列表的记录数/每页显示条数

    step 8:输入每页显示条数为0
    expect: 1、提示“每页显示条数必须为大于1的整数”
            2、提示后每页显示条数恢复为上次生效的条数

    step 9:输入每页显示条数为负数
    expect: 1、提示每页显示条数必须为大于1的整数
            2、提示后每页显示条数恢复为上次生效的条数

    step 10:输入每页显示条数长度超过数据库指定的长度<<<maxlen>>>
    expect: 1、提示每页显示条数不能超过<<<maxlen>>>位
            2、提示后每页显示条数恢复为上次生效的条数

    step 11:输入每页显示条数为字符串,如中文翻页数
    expect: 1、提示每页显示条数必须为大于1的整数
            2、提示后每页显示条数恢复为上次生效的条数

    step 12:输入每页显示条数为特殊字符,如%
    expect: 1、提示每页显示条数必须为大于1的整数
            2、提示后每页显示条数恢复为上次生效的条数

    step 13:输入每页显示条数为html字符串,如<br>
    expect: 1、提示每页显示条数必须为大于1的整数
            2、提示后每页显示条数恢复为上次生效的条数

    step 14:输入跳转的页数为存在的页数
    expect: 1、正确跳转到指定的页数

    step 15:输入跳转的页数不存在或非法值
    expect: 1、跳转的页数值置为1,显示第一页的数据

    以上的用例是将总页数,当前页数都揉进了翻页控件的测试用例中了

  • 错误推测法分析与实践

    2010-07-28 15:15:10

     

      1、方法定义:

      基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。

      2、思路:

      分析程序中最易出错的场景和情况,在此基础上有针对性的设计测试用例。需要完成的前提条件如下:

      A、深度熟悉被测系统的业务、需求。

      B、对被测系统或类似系统之前的缺陷分布情况进行过系统的分析。包括功能缺陷,数据缺陷,接口缺陷和界面缺陷等等。

      3、测试用例举例

      (1)聊天窗口功能

      A、输入特殊字符(全角,半角)后,窗口是否能够正常显示

      B、输入空格,是否能够过滤,是否会算入长度计算

      C、输入html字符

      D、输入脚本语言函数

      E、在需要密码验证,或者需要二次输入确认的地方,通过复制粘贴第一次的输入内容是否能够通过

      (2)查询功能

      A、无条件查询

      B、是否支持模糊查询

      C、查询的关键字之间是否可用连接符

      D、输入正确的查询条件以前加上空格,看是否能正确地查出相应的数据

      (3)登录功能

      A、输入的数据前存在空格,是否能够正常登录

      B、输入的密码是否能够加密显示

      C、用户在注销之后是否能够再登录成功

      4、优缺点

      优点:充分发挥个人的经验和潜能,命中率高

      缺点:覆盖率难以保证;过多的依赖于个人的经验

  • TD8.0的管理定制手册

    2009-10-13 11:32:09

     
     

    目录

    1:创建项目project或域domain

    2:新建用户组(角色)和用户组(角色)授权

    3:创建新用户并赋权流程

    4:定制TD使用模块

    5:自定义缺陷字段。

    6:缺陷字段显示定制

    7:缺陷单汉化

    8:问题

    1:创建项目project或域domain

    当一个新的项目需要测试介入时,我们就需要在TD中建立该项目资料库。本节讲述TD中项目和域的创建过程。

    步骤一:打开TD。

    步骤二:点击左边的‘Site Administrator’

    步骤三:输入密码,进入Site Administrator页面。

    注:默认密码为空,可以点击change password修改密码。这个密码只针对这个页面。

    步骤四:选中default,右健,在弹出菜单中点击Create Project。

    步骤五:在project name 中输入项目名。并选择数据库。

    注:在安装TD时,选择了多种数据库时,这里就需要选择将您的项目建在哪个数据库上了。

    2:新建用户组(角色)和用户组(角色)授权

    TD8.0默认有Developer;Project Manager;QATester;TDAdmin;Viewer5个用户组(角色)。这5个用户组(角色)的权限是不可修改的,当我们对这些用户组(角色)的授权不能满足我们的要求时,我们需要自己创建用户组(角色)。

    创建过程如下:

    步骤一:登陆TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:在PROJECT CUSTOMIZE页面点击Set Up Groups,系统弹出Set Up Groups窗口。

    步骤三:在Set Up Groups窗口点击New,弹出New Group窗口。

    步骤四:New Group窗口,在Name中输入用户组名。并选择一个用户组,这里选择用户组的目的在于,让你创建的这个用户组,初始的时候,即拥有和你所选择的用户组相同的权限。完成后点击OK,弹出确认提示框,点击YES。

    步骤五:这个用户组就创建成功了,下一步我们就要修改该用户组的权限了。

    选中需要修改权限的用户组,点击Permission域中的Chang。系统弹出Permission Settings面,在Permission Settings页面,我们就可以修改用户组的权限了。

    修改用户组权限说明:

    当勾选Add Defect/Delete Defect,表示该用户组具有添加/删除bug的权限。

    其中,选中Add Defect可在右边Visiable Fields In Add Defect Dialog窗口,勾选在bug提交单中的显示字段(勾选了就意味着你对这个字段具备修改其参数值的权限)。红色的为bug单中的必选字段。

    3:创建新用户并赋权流程

    新的开发人员或测试人员进入公司后,需要在TD中加入该用户,并赋予权限,操作过程如下:

    步骤一:打开TD,进入下图页面。

    步骤二:点击左边的‘Site Administrator’

    步骤三:输入密码,进入site Administrator页面

    步骤四:选择users页面卡,点击new.新增新员工的用户名,完成后logout。

    步骤五:点击页面右上角的CUSTOMIZE,弹出登陆窗口,输入管理员密码(默认为空)

    步骤六:点击页面左上角set up users

    步骤七:点击add user 选中新员工,再点击OK

    步骤八:在project users 下选中张三,再在‘properties of 张三’域中,选择对应的角色。默认角色为viewer。对该用户即授权完毕。

    4:定置TD使用模块

    定置用户组(角色)下用户进入TD后,所拥有的模块权限。

    步骤一:打开TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:点击左上角Customize Module Access。

    步骤三:定制模块入口:可定制各个角色登陆TD时,对TD所拥有的权限

    在Defects Modul上打勾,即意味着该角色下的所有成员登陆TD后,只有缺陷管理功能可用。

    在TestDirector上打勾即意味着,拥有对TD的所有功能(需求管理,测试计划,测试用例,缺陷管理等)区别见附图。

    附图1为TDAdmin(勾选testdirector)角色成员登陆TD后的画面;

    附图2为developer(勾选defects modul)角色成员登陆TD后的画面。

    5:自定义缺陷字段。

    当您认为缺陷提交单中的字段不够详细时,可以自己增加缺陷字段到缺陷提交单中。

    例如,我要在缺陷提交单中添加一个模块名称字段,该项目有‘安全’,‘界面’,‘控制’,‘通讯’,‘网络’五个模块,该模块名称字段,用下拉列表从5个模块中选择缺陷所属的模块。

    步骤一:登陆TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:点击Cutomize Project Lists,弹出下图窗口,新建list列表,点击New List…。输入list名subjiect1;OK后。开始新增5个列表项,点击New Item….(过程略)。

    在新增list列表完后,退回上一级PROJECT CUSTOMIZE页面。

    步骤三:点击Customize Project Entities,弹出下图窗口,输入Field Label:模块名称,由于模块名称字段为下拉列表框,所以Field Type选择Lookup List。在lookup list 中对应Cutomize Project Lists设置的subject1。

    注:勾选Required表示这个字段在bug单中是必需的勾选History表示将这个字段的变化记入历史记录,任何对这个字段的修改都将记录。

    OK即完成设置过程。效果如下图

    6:缺陷字段显示定置

    bug单中的字段都是固定的,当某些字段不适用于该项目的测试时,我们可以通过bug单字段定置来获得更好的效果。

    步骤一:登陆TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:点击Set Up Workflow,TD弹出下图窗口。

    步骤三:点击Script. Generator-Defect Details Field Customization。弹出下图窗口。

    这里的Visible Fields中是在bug单中所显示的字段,被勾选的字段则是bug单中的必填字段。

    疑问:Available Fields中的字段有何用?

    步骤四:(作用同步骤三)点击Apply&View,系统弹出警告,点击‘Yes’,进入脚本编译器。部分脚本如下:

    ElseIf User.IsInGroup("QATester")

    SetFieldApp "BG_ACTUAL_FIX_TIME", True, True, 0, 0

    SetFieldApp "BG_BUG_ID", True, True, 0, 1

    SetFieldApp "BG_CLOSING_DATE", True, False, 0,2

    SetFieldApp "BG_CLOSING_VERSION", True, False, 0,3

    SetFieldApp "BG_DESCRIPTION", True, True, 0, 4

    SetFieldApp "BG_DETECTED_BY", True, True, 0, 5

    ..........

    这段脚本是指QATester用户组下的用户的bug单所显示的内容。

    SetFieldApp "BG_DESCRIPTION", True, True, 0, 4

    这句脚本是指:QATester用户组下的用户bug单,描述(DESCRIPTION)字段是可见的,必填的。

    当把第二个True改成Flase时,描述(DESCRIPTION)字段可见,但是不是必填。

    当把第一个True改成Flase时,描述(DESCRIPTION)字段在bug单中为不可见。

    脚本修改后,保存。关闭原来的TD窗口,重新打开,脚本修改即可生效。

    7:缺陷单汉化

    缺陷管理的最重要的部分是缺陷单的管理,将其汉化成中文,对于英语不是很熟悉的同事来说,能够提高工作效率。TD8.0提供了一个自己汉化的途径,可以根据各个公司通用的名称定义来汉化。

    步骤一:登陆TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:点击Cutomize Project Entities窗口中,选择一个叶子节点,即出现如下窗口。将该节点的Field Label中的英文译成中文即可。

    注:1:勾选每个BUG属性的History(历史记录),则在BUG报告单中,将记录改属性的改变记录作为历史记录。

    2:勾选每个BUG属性的Required(必须的),则在报告单中,该BUG属性是必填的,不能为空。

    步骤三:点击Cutomize Project Lists窗口中,在Lists下拉列表框中选择一个属性,在ListItems中选择一个值,点击Rename Item,即可将属性的参数译成中文。

    注:只适用于值用下拉列表框显示的属性。

    问题

    1:在定制好工程项目后,用户使用过程中发现,修改缺陷状态时,报错‘not enough grants to….’。

    解答:原因在于,在修改用户组权限时,没有设置bug属性的状态转换。见下图。正确设置状态转换权限后,即可。

    2:怎样实现允许用户看到某个BUG的属性,而又不允许其修改该属性的参数值?

    解答:修改该用户所在的用户组的权限,即修改上图中MODIFY DEFECT的权限。

    例如,我希望测试组成员看到任务分派对象,但是不允许其修改任务分派对象。

    在MODIFY DEFECT下去掉对Bug属性‘分派给’的勾选即可。

    3:自定义的用户组下的用户,在bug报告单中出现了一些我们没有选择(或者不希望出现)的Bug属性。

    解答:原因:用户在系统定义的用户组中(如Viewer组),将用户从系统定义的组中移出来即可。

    4:我希望将TD使用人员查看到某个BUG的缺陷描述变更记录。如何实现?

    解答:在CUSTOMIZE—Customize Project Entities—DEFECT—System Fields中选中缺陷描述(Description),勾选其右边的History(历史记录)

    5:我在查看BUG时,BUG报告单中中是有些不愿意出现的BUG属性(下图中红色圈中的),如何将这些BUG属性隐藏?

    解答:CUSTOMIZE—Set Up Groups—选中Groups(您所在的用户组)点击Change---Defects,点击页面下方的Defects Data—Hiding Filter在弹出窗口中,选中Visible Fields标签页,将你不希望看到的字段,去掉它们前面的勾勾即可。见下图

  • Test Director 8.0安装配置

    2009-10-11 14:59:57

    TD的安装

    1操作系统

    由于要使用IISSQL SERVER数据库,考虑到运行的稳定性,选用的操作系统为WIN2000 SERVERWIN 2003 SERVER版。

    2,安装IIS

    安装TD工具前一定要先安装IIS服务。

    3,安装MS-SQL SERVER

    TD的支持的数据库有SybaseMS-SQL SERVEROracleAccess,以用来存储TD项目的相关数据。在这里我们使用MS-SQL SERVER做为TD的连接数据库。至于SQL SERVER的安装就很简单了,在这里就不多说了。

    4,安装TD

    1)在安装好IISMS-SQL SERVER后,进行TD的安装。进入到图下步骤时,输入:

    Maintenance no.KSQMQSQ-HQSQDQS-Q3QSQ3S-Q2SSQI8

    License no.B343P-44B44-43444-6444S 

     

    2Next】后,进入到图下步骤,默认是选择了Access做为TD的数据库,我们同时选择MS-SQL SERVER

     

    3)【Next】后,进入到图下步骤,此时注意,MS SQL Alias最好更改为当前的SQL Server名,我当前的为“LJZ”。否则在安装完成后,必须再对客户端网络实名进行设置。

     

      4Next】后,

    进入到图下步骤,此时输入当前系统帐户的用户名和密码。

     

    5Next】后,进入到图下步骤,这里设置的是TD项目文件的储存库路径,保存着如每个项目用户的界面布局样式以及项目上传的附件等等。

    6Next】后,会弹出提示框,提示你是否共享该文件夹,我们选择Yes

    7Yes】后,又弹出提示框,提示你设置该文件夹的共享名,默认为TD_Dir.

    8OK】后,进入到图下步骤,这里是对TD的邮件服务进行设置,我们不使用邮件服务,所以不进行任何选择或设置。

     

    9Next】后,进入到图下步骤,这里是设置TDIIS虚拟目录,Host Name默认为当前的计算机名,而Virtual Directory Name默认为TDBINPhysiical Location则为该虚拟目录所在的物理路径,默认在IIS的文件目录InetPub下。TDBIN中将存放的是TD系统的核心服务文件,我们可以进行自定义的设置,但这里我们使用默认的值。

     

    10Next】后,弹出提示框,提示你该目录不存在,是否创建。

    11Yes】后,进入到图下步骤,此处不进行选择,因为安装包没有包含该插件。

    12Next】后,进入到图下步骤,这里默认是选择的,是安装TD的演示项目与TD的演示系统Mercury Tours,该系统部是署于Tomcat V3.3上。我们不进行选择。

    13)一直Next】后,进入到图下步骤,TD开始进行安装,安装比较耗资源,不要做太多操作,耐心等待。

    14)安装完成后会有在线注册的按钮,不进行点击,直接NEXT

    15Next】后,会弹出提示框,提示你重起计算机以完成TD的安装,推荐立即重起。

     

    5TD的配置

    TD的安装完成后,下面还要进行TD的一些基本配置,让TD更符合我们的需求,更好的工作,包括界面汉化以及字段的汉化和自定义等。

    1) 汉化

    在安装目录TDBIN/Install/下存放的是一些为连接服务的客户端加载的系统文件。其中的tdclientui80.xco文件,该文件会自动加载到客户端的C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下,并生成为tdclientui80.ocx文件。注意其中两个文件的后缀名区别。文件后缀可通过更改方式变换为OCXXCO

    由于Mercury并为发行官方的汉化包,所以采用第三方的资源包进行汉化。汉化方式,把得到的汉化资源dclientui80.xco文件粘贴到服务器InetPub/TDBIN/Install/目录下,覆盖掉原文件即可。在之前访问过服务器的客户端,在下次连接时由于不再加载更新后的数据,所以必须得删除客户端下的C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下覆盖tdclientui80.ocx文件,使再次访问时自动加载汉化后的新组件。也可以通过在客户端C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下覆盖tdclientui80.ocx文件达到汉化的目的。

  • Oracle数据库的启动关闭的几种方式

    2009-07-02 10:14:09

     
    Oracle数据库的几种启动和关闭方式

    有以下几种启动方式:
    1、startup nomount
    非安装启动,这种方式启动下可执行:重建控制文件、重建数据库

    读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。


    2、startup mount dbname
    安装启动,这种方式启动下可执行:
    数据库日志归档、
    数据库介质恢复、
    使数据文件联机或脱机,
    重新定位数据文件、重做日志文件。

    执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,
    但此时不对数据文件和日志文件进行校验检查。


    3、startup open dbname
    先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
    这种方式下可访问数据库中的数据。


    4、startup,等于以下三个命令
    startup nomount
    alter database mount
    alter database open


    5、startup restrict
    约束方式启动
    这种方式能够启动数据库,但只允许具有一定特权的用户访问
    非特权用户访问时,会出现以下提示:
    ERROR:
    ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用


    6、startup force
    强制启动方式
    当不能关闭数据库时,可以用startup force来完成数据库的关闭
    先关闭数据库,再执行正常启动数据库命令


    7、startup pfile=参数文件名
    带初始化参数文件的启动方式
    先读取参数文件,再按参数文件中的设置启动数据库
    例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora


    8、startup EXCLUSIVE



    有三种关闭方式:
    1、shutdown normal
       正常方式关闭数据库。


    2、shutdown immediate
       立即方式关闭数据库。
       在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,
       而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),
       当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。


    3、shutdown abort
       直接关闭数据库,正在访问数据库的会话会被突然终止,
       如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。




    Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将具体介绍这些启动和关闭方式之间的区别以及它们各自不同的功能。

    一、启动和关闭Oracle数据库
    对于大多数Oracle DBA来说,启动和关闭Oracle数据库最常用的方式就是在命令行方式下的Server Manager。从Oracle 8i以后,系统将Server Manager的所有功能都集中到了

    SQL*Plus中,也就是说从8i以后对于数据库的启动和关闭可以直接通过SQL*Plus来完成,而不再另外需要Server Manager,但系统为了保持向下兼容,依旧保留了Server Manager

    工具。另外也可通过图形用户工具(GUI)的Oracle Enterprise Manager来完成系统的启动和关闭,图形用户界面Instance Manager非常简单,这里不再详述。

    要启动和关闭数据库,必须要以具有Oracle 治理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库(INTERNAL用

    户实际上是SYS用户以SYSDBA连接的同义词)。Oracle数据库的新版本将逐步淘汰INTERNAL这个内部用户,所以我们最好还是设置DBA用户具有SYSDBA权限。

    二、数据库的启动(STARTUP)
    启动一个数据库需要三个步骤:

    1、 创建一个Oracle实例(非安装阶段)

    2、 由实例安装数据库(安装阶段)

    3、 打开数据库(打开阶段)



    在Startup命令中,可以通过不同的选项来控制数据库的不同启动步骤。

    1、STARTUP NOMOUNT

    NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora 文件定义了实例的配置,包括内存结构的大小和

    启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表,如下所示:

    SQL> startup nomount
    ORACLE 例程已经启动。
    Total System Global Area 35431692 bytes
    Fixed Size 70924 bytes
    Variable Size 18505728 bytes
    Database Buffers 16777216 bytes
    Redo Buffers 77824 bytes

    2、STARTUP MOUNT

    该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操

    作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出\"数据库装载完毕\"的提示。



    3、STARTUP

    该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前

    面Startup Mount方式下的所有提示外,还会给出一个\"数据库已经打开\"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。

    假如采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的操作。例如,假如你以STARTUP NOMOUNT方式打开数

    据库,也就是说实例已经创建,但是数据库没有安装和打开。这是必须运行下面的两条命令,数据库才能正确启动。

    ALTER DATABASE MOUNT;
    ALTER DATABASE OPEN;

    而假如以STARTUP MOUNT方式启动数据库,只需要运行下面一条命令即可以打开数据库:

    ALTER DATABASE OPEN.

    4、其他打开方式

    除了前面介绍的三种数据库打开方式选项外,还有另外其他的一些选项。

    (1) STARTUP RESTRICT

    这种方式下,数据库将被成功打开,但仅仅答应一些特权用户(具有DBA角色的用户)才可以使用数据库。这种方式常用来对数据库进行维护,如数据的导入/导出操作时不希

    望有其他用户连接到数据库操作数据。


    (2) STARTUP FORCE

    该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令的一个综合。该命令仅在关闭数据库碰到问题不能关闭数据库时采用。

    (3) ALTER DATABASE OPEN READ ONLY;

    该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这种方式打开
  • 您所熟悉的软件测试类型都有哪些?

    2009-03-02 11:53:37

    1.   功能测试:完全不考虑程序内部逻辑结构,针对软件界面和功能进行测试。检查程序功能是否符合需求规格说明书的规定。

    2.   性能测试:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。

    3.   负载测试:测试一个应用在不同负荷下的表现,例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。

    4.   强迫测试:在交替进行负荷和性能测试时常用的术语。也用于描述在异乎寻常的重载下的系统功能测试之类的测试,如某个动作或输入大量的重复,大量数据的输入,对一个数据库系统大量的复杂查询等。51Testing软件测试网|v6O'QC-N

    5.   可用性测试:对“用户友好性”的测试。显然这是主观的,且将取决于目标最终用户或客户。用户面谈、调查、用户对话和录象及其他一些技术都可使用。程序员和测试员通常都不宜做可用性测试。

    6.   安装/卸载测试:对软件的全部、部分或升级安装/卸载处理过程的测试。

    7.   恢复测试:测试一个系统从异常中能否很好地恢复,如遇到系统崩溃、硬件损坏或其他灾难性问题。

    8.   安全测试:测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样。这可能需要复杂的测试技术51Testing软件测试网

    9.   兼容测试:测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。

    10.  比较测试:与竞争伙伴的产品的比较测试,如软件的弱点、优点或实力。

    11.  Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由用户代表完成,测试员记录问题。

    12.  Beta 测试:当开发和测试完成后对Beta版本所做的测试,这种测试一般由最终用户完成,不能由程序员或测试员完成。

  • Windows快捷键大全

    2009-02-26 12:12:38

    一、常见用法:

    F1               显示当前程序或者windows的帮助内容。
    F2               当你选中一个文件的话,这意味着“重命名”
    F3               当你在桌面上的时候是打开“查找:所有文件” 对话框
    F10或ALT            激活当前程序的菜单栏
    windows键或CTRL+ESC      打开开始菜单
    CTRL+ALT+DELETE        在win9x中打开关闭程序对话框
    DELETE             删除被选择的选择项目,如果是文件,将被放入回收站
    SHIFT+DELETE         删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站
    CTRL+N             新建一个新的文件
    CTRL+O             打开“打开文件”对话框
    CTRL+P             打开“打印”对话框
    CTRL+S             保存当前操作的文件
    CTRL+X             剪切被选择的项目到剪贴板
    CTRL+INSERT 或 CTRL+C    复制被选择的项目到剪贴板
    SHIFT+INSERT 或 CTRL+V   粘贴剪贴板中的内容到当前位置
    ALT+BACKSPACE 或 CTRL+Z   撤销上一步的操作
    ALT+SHIFT+BACKSPACE     重做上一步被撤销的操作 
    Windows键+M          最小化所有被打开的窗口。
    Windows键+CTRL+M       重新将恢复上一项操作前窗口的大小和位置
    Windows键+E          打开资源管理器
    Windows键+F          打开“查找:所有文件”对话框
    Windows键+R          打开“运行”对话框
    Windows键+BREAK       打开“系统属性”对话框
    Windows键+CTRL+F      打开“查找:计算机”对话框
    SHIFT+F10或鼠标右击      打开当前活动项目的快捷菜单
    SHIFT             在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏
     
    ALT+F4            关闭当前应用程序
    ALT+SPACEBAR        打开程序最左上角的菜单
    ALT+TAB            切换当前程序
    ALT+ESC           切换当前程序
    ALT+ENTER          将windows下运行的MSDOS窗口在窗口和全
    屏幕状态间切换
    PRINT SCREEN        将当前屏幕以图象方式拷贝到剪贴板
    ALT+PRINT SCREEN      将当前活动程序窗口以图象方式拷贝到剪贴板
    CTRL+F4           关闭当前应用程序中的当前文本(如word中)
    CTRL+F6           切换到当前应用程序中的下一个文本(加shift 可以跳到前一个窗口)

    在IE中:

    ALT+RIGHT ARROW      显示前一页(前进键)
    ALT+LEFT ARROW      显示后一页(后退键)
    CTRL+TAB          在页面上的各框架中切换(加shift反向)
    F5              刷新
    CTRL+F5           强行刷新

     
      目的快捷键

      激活程序中的菜单栏 F10

      执行菜单上相应的命令 ALT+菜单上带下划线的字母

      关闭多文档界面程序中的当

      前窗口 CTRL+ F4

      关闭当前窗口或退出程序 ALT+ F4

      复制 CTRL+ C

      剪切 CTRL+ X

      删除 DELETE

      显示所选对话框项目的帮助 F1

      显示当前窗口的系统菜单 ALT+空格键

      显示所选项目的快捷菜单 SHIFT+ F10

      显示“开始”菜单 CTRL+ ESC

      显示多文档界面程序的系统

      菜单 ALT+连字号(-)

      粘贴 CTR L+ V

      切换到上次使用的窗口或者

      按住 ALT然后重复按TAB,

      切换到另一个窗口 ALT+ TAB

      撤消 CTRL+ Z


    二、使用“Windows资源管理器”的快捷键

      目的快捷键

      如果当前选择展开了,要折

      叠或者选择父文件夹左箭头

      折叠所选的文件夹 NUM LOCK+负号(-)

      如果当前选择折叠了,要展开

      或者选择第一个子文件夹右箭头

      展开当前选择下的所有文件夹 NUM LOCK+*

      展开所选的文件夹 NUM LOCK+加号(+)

      在左右窗格间切换 F6


    三、使用 WINDOWS键

      可以使用 Microsoft自然键盘或含有 Windows徽标键的其他任何兼容键盘的以下快捷键。

      目的快捷键

      在任务栏上的按钮间循环 WINDOWS+ TAB

      显示“查找:所有文件” WINDOWS+ F

      显示“查找:计算机” CTRL+ WINDOWS+ F

      显示“帮助” WINDOWS+ F1

      显示“运行”命令 WINDOWS+ R

      显示“开始”菜单 WINDOWS

      显示“系统属性”对话框 WINDOWS+ BREAK

      显示“Windows资源管理器” WINDOWS+ E

      最小化或还原所有窗口 WINDOWS+ D

      撤消最小化所有窗口 SHIFT+ WINDOWS+ M


    四、使用“我的电脑”和“Windows资源管理器”的快捷键

      目的快捷键

      关闭所选文件夹及其所有父

      文件夹按住 SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)

      向后移动到上一个视图 ALT+左箭头

      向前移动到上一个视图 ALT+右箭头

      查看上一级文件夹 BACKSPACE


    五、使用对话框中的快捷键

      目的快捷键

      取消当前任务 ESC

      如果当前控件是个按钮,要

      单击该按钮或者如果当前控

      件是个复选框,要选择或清

      除该复选框或者如果当前控

      件是个选项按钮,要单击该

      选项空格键

      单击相应的命令 ALT+带下划线的字母

      单击所选按钮 ENTER

      在选项上向后移动 SHIFT+ TAB

      在选项卡上向后移动 CTRL+ SHIFT+ TAB

      在选项上向前移动 TAB

      在选项卡上向前移动 CTRL+ TAB

      如果在“另存为”或“打开”

      对话框中选择了某文件夹,

      要打开上一级文件夹 BACKSPACE

      在“另存为”或“打开”对

      话框中打开“保存到”或

      “查阅” F4

      刷新“另存为”或“打开”

      对话框 F5


    六、使用“桌面”、“我的电脑”和“Windows资源管理器”快捷键

      选择项目时,可以使用以下快捷键。

      目的快捷键

      插入光盘时不用“自动播放”

      功能按住 SHIFT插入 CD-ROM

      复制文件按住 CTRL拖动文件

      创建快捷方式按住 CTRL+SHIFT拖动文件

      立即删除某项目而不将其放入 SHIFT+DELETE

      “回收站”

      显示“查找:所有文件” F3

      显示项目的快捷菜单 APPLICATION键

      刷新窗口的内容 F5

      重命名项目 F2

      选择所有项目 CTRL+ A

      查看项目的属性 ALT+ ENTER或 ALT+双击

      可将 APPLICATION键用于 Microsoft自然键盘或含有 APPLICATION键的其他兼容键


    七、Microsoft放大程序的快捷键

      这里运用Windows徽标键和其他键的组合。

      快捷键目的

      Windows徽标+PRINT SCREEN将屏幕复制到剪贴板(包括鼠标光标)

      Windows徽标+SCROLL LOCK将屏幕复制到剪贴板(不包括鼠标光标)

      Windows徽标+ PAGE UP切换反色。

      Windows徽标+ PAGE DOWN切换跟随鼠标光标

      Windows徽标+向上箭头增加放大率

      Windows徽标+向下箭头减小放大率

     
    八、使用辅助选项快捷键

      目的快捷键

      切换筛选键开关右SHIFT八秒

      切换高对比度开关左ALT+左SHIFT+PRINT SCREEN

      切换鼠标键开关左ALT+左SHIFT+NUM LOCK

      切换粘滞键开关 SHIFT键五次

      切换切换键开关 NUM LOCK五秒

    F1~F12都有什么用?所有的键盘都至少有12个功能键,通常被称为F键,其位置一般是在键盘顶部,从F1到F12。不过你知道所有这些键的作用吗?你知道这些键怎样为你节省时间吗?
      F1:如果你处在一个选定的程序中而需要帮助,那么请按下F1。如果现在不是处在任何程序中,而是处在资源管理器或桌面,那么按下F1就会出现Windows的帮助程序。如果你正在对某个程序进行操作,而想得到Windows帮助,则需要按下Win+F1。按下Shift+F1,会出现"What"s This?"的帮助信息。

      F2:如果在资源管理器中选定了一个文件或文件夹,按下F2则会对这个选定的文件或文件夹重命名。

      F3:在资源管理器或桌面上按下F3,则会出现“搜索文件”的窗口,因此如果想对某个文件夹中的文件进行搜索,那么直接按下F3键就能快速打开搜索窗口,并且搜索范围已经默认设置为该文件夹。同样,在Windows Media Player中按下它,会出现“通过搜索计算机添加到媒体库”的窗口。

      F4:这个键用来打开IE中的地址栏列表,要关闭IE窗口,可以用Alt+F4组合键。

      F5:用来刷新IE或资源管理器中当前所在窗口的内容。

      F6:可以快速在资源管理器及IE中定位到地址栏。

      F7:在Windows中没有任何作用。不过在DOS窗口中,它是有作用的,试试看吧!

      F8:在启动电脑时,可以用它来显示启动菜单。有些电脑还可以在电脑启动最初按下这个键来快速调出启动设置菜单,从中可以快速选择是软盘启动,还是光盘启动,或者直接用硬盘启动,不必费事进入BIOS进行启动顺序的修改。另外,还可以在安装Windows时接受微软的安装协议。

      F9:在Windows中同样没有任何作用。但在Windows Media Player中可以用来快速降低音量。

      F10:用来激活Windows或程序中的菜单,按下Shift+F10会出现右键快捷菜单。和键盘中Application键的作用是相同的。而在Windows Media Player中,它的功能是提高音量。

      F11:可以使当前的资源管理器或IE变为全屏显示。

  • 完整的测试用例通常包括哪些内容

    2009-02-24 16:17:24

    1. 描述 (Description),简洁、准确,完整,揭示错误实质,记录缺陷或错误出现的位置
    描述要准确反映错误的本质内容,简短明了。为了便于在软件错误管理数据库中寻找制定的测试错误,包含错误发生时的用户界面(UI)是个良好的习惯。例如记录对话框的标题、菜单、按钮等控件的名称。
    2. 明确指明错误类型:布局、翻译、功能、双字节
    根据错误的现象,总结判断错误的类型。例如,即布局错误、翻译错误、功能错误、双字节错误,这是最常见的缺陷或错误类型,其他形式的缺陷或错误也从属于其中某种形式。
    3. 短行之间使用自动数字序号,使用相同的字体、字号、行间距
    短行之间使用自动数字序号,使用相同的字体、字号、行间距,可以保证各条记录格式一致,做到规范专业。
    4. UI要加引号,可以单引号,推荐使用双引号
    UI加引号,可以容易区分UI与普通文本,便于分辨、定位缺陷或错误。
    5. 每一个步骤尽量只记录一个操作
    保证简洁、条理井然,容易重复操作步骤。
    6. 确认步骤完整,准确,简短
    保证快速准确的重复错误,“完整”即没有缺漏,“准确”即步骤正确,“简短”即没有多余的步骤。
    7. 根据缺陷或错误类型,选择图象捕捉的方式
    为了直观的观察缺陷或错误现象,通常需要附加缺陷或错误出现的界面,以位图的形式作为附件附着在记录的“附件”部分。为了节省空间,又能真实反映缺陷或错误本质,可以捕捉缺陷或错误产生时的全屏幕,活动窗口和局部区域。为了迅速定位、修正缺陷或错误位置,通常要求附加中英文对照图。
    8. 附加必要的特殊文档和个人建议和注解
    如果打开某个特殊的文档而产生的缺陷或错误,则必须附加该文档,从而可以迅速再现缺陷或错误。有时,为了使缺陷或错误修正者进一步明确缺陷或错误的表现,可以附加个人的修改建议或注解。
    9. 检查拼写和语法错误
    在提交每条缺陷或错误之前,检查拼写和语法,确保内容正确,正确的描述错误。
    10. 尽量使用业界惯用的表达术语和表达方法
    使用业界惯用的表达术语和表达方法,保证表达准确,体现专业化。
    11. 通用UI要统一、准确
    错误报告的UI要与测试的软件UI保持一致,便于查找定位。
    12. 尽量使用短语和短句,避免复杂句型句式
    软件错误管理数据库的目的是便于定位错误,因此,要求客观的描述操作步骤,不需要修饰性的词汇和复杂的句型,增强可读性。
    13. 每条错误报告只包括一个错误
    每条错误报告只包括一个错误,可以使错误修正者迅速定位一个错误,集中精力每次只修正一个错误。校验者每次只校验一个错误是否已经正确修正。
  • ghost的用途

    2009-02-24 13:39:25

    一、用Ghost整理磁盘碎片

    使用磁盘碎片整理程序整理硬盘是提高程序执行速度的一种好方法。但硬盘碎片整理过程非常费时,而且整理之后,过不了多久——硬盘碎片又增多了、程序执行速度再次明显下降。这时,只有继续用磁盘碎片整理程序重新整理磁盘了。但如此这般做下去,硬盘也会缩短使用寿命的。实际上使用GHOST只需把要整理的分区克隆下来然后克隆回去,就可以轻松搞定,而且绝对管用。大家知道,用Ghost做磁盘映像时,Ghost会把硬盘分区中的每一个数据都完整地读出,然后把它写入一个GHO文件中,对于分区的空白部分,软件会自动跳过。然后当我们恢复GHO映像文件时,软件会把文件中的所有内容连续地写入分区中,于是所有的数据便都自动写在分区的头部,我们便得到了完整的未使用空间,原先的碎片文件也就自然消失。

    用Ghost整理碎片的具体方法是:先用Scandisk扫描并修复分区上的所有错误码,再用Ghost给要整理的分区做一个GHO映像文件,当然文件的大小可视分区的使用情况而定,然后再将GHO文件还原到原分区即可,这些操作最好在纯DOS模式下运行,在还原映像时一定要选对分区,否则会造成数据的丢失。不过使用Ghost软件也有一定的危险性,建议大家小心使用。

    总之,用Ghost整理磁盘碎片的效果还是不错的,再也不用面对在磁盘碎片整理时使用Windows附带的太慢,而使用第三方软件却不能完全整理的尴尬局面了。

    二、备份软件同样优秀

    使用Ghost可以将硬盘分区进行压缩备份,然后会生成一个后缀名为.GHO的文件,需要的时候再复原即可。而且因为所有的软件都已经被做成GHO映像,在目前,很少有病毒可以感染GHO文件,这样也就保证了GHO文件中软件一定的安全。但在实际使用的时候,我们经常会遇到了一个问题,就是在备份之后如果有找到了比较好的软件需要添加到备份文件中,或者是发现原先制作的备份文件有一些是过时甚至是对自己没有用的软件时,那就比较麻烦了。若想按照自己的意愿来修订备份文件的话,只有先恢复备份文件,然后删除或增加相关的软件,最后还要对这个分区进行再次备份。这样一来,就会浪费许多宝贵的时间。但幸运的是我们还有一个Ghost备份的好帮手---Ghost Explore。

    Ghost Explore实际上是一个可以在Windows系统中直接查看.GHO文件的工具,它采用了类似资源管理器的界面,所以大家在使用的时候可以很容易上手。更重要的是通过这个工具,你可以直接对.GHO文件中的进行添加、删减,更好的让计算机为我所用。如果我们需要安装某一个软件,只需要把它单独从GHO文件中提取出来,保存到硬盘上,安装完毕后再将其删除就可以了。利用该软件,还可以向GHO文件中加入新的内容,这样如果我们有了新的软件,也可以不断地添加进去,这样就免去了重新做GHO映像的麻烦,是不是很方便呢?通过这样处理后的软件,今后再也不会被病毒感染,朋友们就可以放心大胆的使用了!

    三、修理硬盘的好助手

    最近有位朋友因为硬盘的问题找到了我,他的硬盘是20GB的,分了5个区,近日使用Partition Magic Pro 7.0将D、E两个分区合并,在合并的过程中由于没有对E盘的数据进行备份,导致合并后E盘中的重要的文件无法读出,在“我的电脑”中也无法显示。笔者分析可能在合并的过程中导致文件分区表的损坏,所以E盘中的重要的文件无法读出,而实际上文件内容并没有损坏,是可以通过其它软件找回来的。

    我们知道由于Ghost可以将整个硬盘或分区生成一个镜像文件,而GhostExp可以从镜像文件中提取里面的任意文件,因此我们可以通过Ghost.exe和GhostExp.exe这两个工具找回文件。具体操作如下:

    1. 将损坏的分区通过Ghost.exe生成一个镜像文件,保存在其他分区或硬盘中;

    2. 在Windows下运行GhostExp.exe,打开刚才生成的镜像文件,可以看见合并前两个分区的文件一个不少地显示出来了;

    3. 选中需要恢复的文件,单击鼠标右键,选择“Restore”命令,在弹出的对话框中选择恢复到的位置,再单击“Restore”即可。

    4. 重复上述过程,将所有需要的文件全部恢复出来。

    四、巧用Ghost破解微软安全保护

    笔者在电脑上安装了Windows 2000和Windows XP两个系统。最近重装Windows 2000后,发现无法进入Windows XP。这也是笔者一时疏忽,竟然没有把Windows XP里的Documents and Settings目录下我的原用户文件夹(zzyi4u)备份,急人的是——里面还有很多有用的个人文件,而这个用户的所有文件都是设为私有的。因此,当我试图在Windows 2000下进入这个文件夹时,系统显示没有权限。

    于是,想使用Windows XP安装光盘进行修复,但输入超级用户密码后,系统报告密码不正确!只好重装XP(在未删除Documents and Settings的情况下),装好后发现,依然进不去。建立相同用户名的用户,而这个用户的文件夹并未覆盖原文件夹,而是以zzyi4u后面加了个后缀为名的文件夹。原来的文件夹还是进不去。怎么办?笔者又尝试着把硬盘接到另外一台电脑上,发现还是进不了这个文件夹。

    这个问题难道真的没有办法解决了吗?天无绝人之路——我想起了Ghost。该软件有个Windows下的工具——Ghostexp,能分析镜像文件(GHO文件)。于是,到DOS下把我的Windows XP安装分区做了个镜像。重启后,进入Windows 2000,用Ghostexp打开,居然发现可以访问这个文件夹了。在文件夹上单击右键,选择恢复。这样我的那个文件夹又可以重新使用了。

    五、巧用Ghost分区格式化

    随着计算机新技术的迅速诞生和产品的普及,想必各位不会对眼下的120GB、160GB的硬盘感到陌生了吧!可是这么大容量的硬盘要想进行分区格式化的话——也是件极不容易的事!凭笔者的经验,120GB的硬盘分区格式化少则半个小时多则一个小时,再加上装系统的时间……

    其实利用Ghost这个软件就可以对大硬盘进行快速分区格式化。首先,找一块硬盘,最好是小一点的,接在你的机器上,把这块硬盘用Fdisk、Format按照你想要对大硬盘分区的比例分区格式化好,切记在这块硬盘上不要存储任何文件。然后用带有Ghost程序的启动盘启动计算机,运行Ghost,利用“Local-Disk-To Image”命令将刚刚分区格式化好的硬盘镜像成一个软件。由于这个硬盘内没有文件,所以所形成的镜像文件非常小,可以将Ghost.exe文件与这个镜像文件存储在一张启动软盘上。下次哪个硬盘要分区、格式化,可以用这张软盘启动机器,运行Ghost,选择“Local→Disk→From Image”,然后选择软盘上的镜像文件,选择目标硬盘,然后在“Destination Drive Details”窗口下的“New Size”框中手动调整各个分区的容量(也可以不管它,直接用默认的容量分配),按下“OK”键,再按“Yes”键,只需几秒钟,一个大硬盘就完成了分区、格式化!

    如果你还有更多的要求,还可在DOS状态下键入“ghost.exe -h”来查看命令帮助。当然,你也完全可以键入“ghost.exe”进入Ghsot的主界面来对镜像文件进行恢复操作,不过这样你就要多敲几次键了哦!
  • 常用文件系统的特点及相互转换

    2009-02-24 12:28:13

    一. 常见的分区格式

    1. FAT文件系统

    FAT文件系统或分区格式最早应用于MS-DOS Windows 3.X操作系统中。因它将文件在分区中的存储位置全部集中存放在一个名为文件分配表(FAT)区域中而得名。

    FAT文件系统是在MS-DOSWindows 3.X下使用Format命令创建的。

    FAT文件系统最大支持2GB大小的分区,只支持8.3格式的文件名,没有对文件或目录的安全保护性等功能,但FAT文件系统是目前大多数常用操作系统都支持的文件系统(如:Windows 2000/XP/2003UNIX等)

    2FAT32文件系统

    FAT32是从FAT文件系统演化而来的,它Fat系列文件系统的最后一个产品。

    Windows 95第二版是第一个支持FAT32的操作系统。且在Windows 95第二版之后的所有Windows操作系统均支持FAT32文件系统。

    可以在Windows 98的命令行方式下的格式化命令来创建FAT32文件系统(支持的分区大小可达127GB),也可以在Windows 2000/XP/2003操作系统下,将一个分区格式化成FAT32文件系统(支持的分区大小不超过32GB)。

    FAT32FAT的区别,一是更有效地利用磁盘空间,从而能存储更多或更大的文件,二是对分区中的引导记录提供了一定的保护,三是将根目录与子目录同等对待,从而在根目录下能存储更多的文件名,四是支持长文件名(最长为255个字符),五是FAT32文件系统下可存储最大为4GB的文件。

    3. NTFS文件系统

    NTFS是新技术文件系统的简称。它能提供性能、安全性、可靠性和 FAT 文件系统所没有的高级功能的高级文件系统。

    NTFS 通过使用标准的事务处理记录和还原技术来保证卷的一致性。在Windows NT 4.0采用的就是NTFS 4.0文件系统,Win2000以后NTFS升级为NTFS5.0

    如果系统出现故障,NTFS 将使用日志文件和检查点信息来恢复文件系统的一致性。

    Windows 2000 Windows XP 中,NTFS 还可以提供诸如文件和文件夹权限、加密、磁盘配额和压缩这样的高级功能。

    NTFS分区大小在2GB以下时,簇的大小都比相应的FAT32簇小;分区的大小在2GB以上时(2GB2TB),簇的大小都为4KB。相比之下,NTFS可以比FAT32更有效地管理磁盘空间,最大限度地避免了磁盘空间的浪费。

    NTFS文件系统只有Windows NT/2000/XP/2003等操作系统支持,而Windows 98/Me和以前的Windows版本将无法访问存储在NTFS下的文件。

    NTFS文件系统可以通过在Windows NT/2000/XP/2003等操作系统下的格式化命令创建                                                                                                                                             

    二.需要格式转换的常见情况

    1什么情况下可以使用NTFS文件系统

    A.当需要分区容量超过2GB,或需要提高磁盘利用率

    B.当需要存储单个文件容量超过4GB

    C.当需要实现文件和文件夹权限、加密、磁盘配额和压缩这样的高级功能(磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制)

    D.当需要升级基本磁盘到动态磁盘或卷

    E.当需要使用Active Directory (活动目录)和基于域的安全性之类特性

    2什么情况下可以使用FAT/FAT32

        A. 当需要在常见的系统下使用。如:DOSWin95/Me/98UNIX

        B. 当不需要考虑安全性、可靠性、磁盘利用率时                                                                      

    三.分区格式的转换方法(分区格式转换可造成数据丢失,强烈建议转换前备份好数据

    在常见的分区格式中,在保留数据的情况下转换分区格式有两种转换:FAT16/32-NTFS NTFS-FAT32转换过程中不能断电

    1FAT16/32-NTFS:Windows 2000/XP/2003(Win98/Me不支持)中,可以在命令提示符状态下键入“convert X:/FS NTFS”(假设X盘为需转换的FAT32),回车后,系统自动重启并自动将X盘转换为NTFS文件系统。转换前最好先整理一下磁盘碎片可以加快转换速度。

       2NTFS-FAT32NTFS转换成FAT32格式,如果无需保留数据,可以在Windows 2000/XP/2003下,右击该盘符选择“格式化”,在“文件系统”中选择需要的分区格式即可。也可以用第三方软件操作(Partition Magic For DOS),但操作可能会造成数据丢失。

  • 兼容性测试

    2009-02-24 12:11:13

    1. 软件兼容性测试

       兼容性测试是指待测试项目在特定的硬件平台上,不同的应用软件之间,不同的操作系统平台上,在不同的网络等环境中能正常的运行的测试。

      兼容性测试的目的:待测试项目在不同的操作系统平台上正常运行,包括待测试项目能在同一操作系统平台的不同版本上正常运行;待测试项目能与相关的其他软件或系统的“和平共处”;待测试项目能在指定的硬件环境中正常运行;待测试项目能在不同的网络环境中正常运行。

       兼容性测试无法做到完全的质量保证,但对于一个项目来讲,兼容性测试是必不可少的一个步骤。

    2. Web兼容性测试的主要类型

      Web兼容性测试主要是针对不同的操作系统平台,浏览器,以及分辨率进行的测试。

     2.1. 操作系统兼容性测试

      常见的操作系统有Windows,Unix,Linux等,对于普通用户来讲,最常用的是Windows操作系统。Windows操作系统包括Windows XP,windows 2003,vista,Win2000/NT,Windows9x等等。用户使用操作系统的类型,直接决定了我们操作系统平台兼容性测试的操作系统平台数量,进行操作系统平台的兼容性测试的主要目的就是保证我们的待测试项目在该操作系统平台下能正常运行。

       对于一些特殊项目(比如定制项目),可以指定某一类型的操作系统版本,这些都应该在需求规格说明书中指明,针对这些指明的操作系统版本必须进行兼容性测试。

      大部分的其他项目,是不指定操作系统版本的,针对这样的项目,我们应当针对当前的主流操作系统版本进行兼容性测试,在确保主流操作系统版本兼容性测试的前提下在对非主流操作系统版本进行测试,尽量保证项目的操作系统版本的兼容性测试的完整性。

     2.2. 浏览器兼容性测试

      浏览器是Web系统中对核心的组成构件,来自不同厂家的浏览器对Javascrīpt、 ActiveX或不同的HTML规格有不同的支持,即使是同一厂家的浏览器,也存在不同的版本的问题。不同的浏览器对安全性和JAVA的设置也不一样。

      目前最为常用的浏览器为:IE 6.0 IE 7.0.但由于操作习惯的问题,还有相当一部分用户喜欢使用腾讯的TT,以及firefox浏览器,这些浏览器同样也存在各个版本的问题。这个对于Web系统来讲是一个相当大的挑战。

      对于一些特殊项目(比如定制项目),可以指定某一类型的浏览器(包括版本),这些都必须在需求规格说明书中指明。针对这些指明的浏览器必须进行兼容性测试。但大部分的项目,是不能指定浏览器的,针对这样的项目,那么我们必须针对当前的主流浏览器(含版本),在确保主流浏览器的兼容性测试通过的前提下,再对非主流浏览器(含版本)进行测试,尽量保证项目的浏览器的兼容性测试的完整性。

     2.3. 分辨率兼容性测试

      分辨率的测试是为了页面版式在不同的分辨率模式下能正常显示,字体符合要求而进行的测试。

      用户使用什么模式的分辨率,对于我们来讲是未知的。通常情况下,在我们的需求规格说明书中会建议某些分辨率。对于测试来讲,必须针对需求规格说明书中建议的分辨率进行专门的测试。现在常见的分辨率是1024×768,800×600。对于需求规格说明书中规定的分辨率,测试必须保证测试通过,但对于其他分辨率,原则上也应该尽量保证,但由于这个在需求规格说明书中没有加以约束,所以在一定程度上,开发往往会拒绝进行调整。对于需求规格说明书中没有规定分辨率的项目,测试应该在完成主流分辨率的兼容性测试的前提下,尽可能进行一些非主流分辨率的兼容性测试,在一定程度上保证大部分。

  • 职场菜鸟60天变身重要人员

    2008-10-29 11:11:29

     

      每一个白领,都有过当办公室“菜鸟”的经历,可怎么从“菜鸟”转变成“老鸟”呢。道理很简单,实施也只需60天。

      ●前六天认识四个新同事

      最好从身边的团队伙伴开始认识,不要因为他们老是在指使你干一些琐碎、微不足道的事情而疏远他们,你要为他们着想。

      这样才能帮你摆脱“菜鸟”的头衔。

      ●前十四天 接触领导层

      认识了你的团队伙伴后,就要接触一下部门负责人或者专案领导人和重要的决策者,并且每周花两天和这些人共进午餐。透过这些人,你可以发现如何与上司互动,如何获得人力资源以及各式各样的禁忌话题和行为。

      ●前三十天 让你的上司知道你在做什么

      不要假设你的上司已经知道你在做些什么,你应该主动告知上司你的工作进度。公司和部门有那么多事情要忙,他不一定知道你在做什么,或者还以为你在为同事倒水点烟呢。所以有问题,不要怕上司知道,他不是你的敌人,而是你的朋友。

      ●前四十五天 写下你对工作的定义

      你不能完全依赖主管来告诉你该做什么,你要主动出击把目前你负责的工作以及你完成该工作的期限直接反映给你的主管,目的在于为你自己量身打造一个双方都认可的工作内容。

      ●前六十天 完成一些实际工作

      虽然要求你完成一些实际工作,但是同时要提醒你,作为一个职场新人,要精确选择可发挥的工作,不要为了出风头,选择一些难度高、连办公室前辈都觉得难以完成的工作,那样会让你自己吃力又不讨好。

      经过这60天的锻炼,相信你已经顺利从“菜鸟”变成了办公室的一个重要人员了。但是你仍需不断坚持,这样让能让你始终位居“老鸟”的位置。

  • 集成测试和系统测试方面

    2008-10-29 10:52:00

    集成测试和系统测试方面


    1.集成测试与系统测试
    集成测试是将已经分别通过测试的单元按设计要求组合起来再进行测试,以检查这些单元接口是否存在问题。
    系统测试一般由若干个不同测试组成,目的是充分运行系统,验证系统各部件能否正常工作并完成所赋予的任务。

    2.集成测试前的准备
    人员安排(有经验的测试人员和开发者)
    测试计划(在系统设计阶段开始制定)
    测试内容
    3.集成模式
    测试方法(非渐增式测试模式、渐增式测试模式)
    4.集成测试的模式
    非渐增式测试模式,如大棒式;
    渐增式测试模式;

    5.两种模式的优缺点:
    工作量(渐增式工作量较大,编码多)
    错误诊断(渐增式发现错误早,好诊断)
    渐增式测试更彻底
    渐增式需要较多的机器时间
    使用非渐增式可进行并行测试

    6.集成方法
    自顶向下
    自底向上
    混和模式
    大棒和三明治
    两种辅助模块
    驱动模块
    桩模块

    7.自顶向下和自底向上集成方法
    自顶向下法
    从主控模块开始,沿着软件的控制层次向下移动,逐渐把各个模块结合起来。
    优缺点
    不需要测试驱动
    能早期发现上层模块的接口错误
    需要桩模块
    底层模块中错误发现较晚
    早期不能重分发挥人力。
    自底向上法
    自底部向上测试从“原子”模块开始集成以进行测试
    混合策略
    对软件结构中较上曾使用“自顶向下”法,对软件结构中较下层使用“自底向上”法
    8.大棒与三明治集成方法
    大棒集成方法
    先对每个子模块进行测试,然后将所有模块全部集成起来一次性进行集成测试。
    三明治集成方法


    9.集成测试中的功能测试区分于单元测试中的功能测试;单元测试中功能测试目的是保证所测试的每个独立模块在功能上市正确的,主要从输入条件和输出结果进行判断。
    集成测试前后的功能测试,不仅考虑模块之间的相互作用,而且考虑系统应用环境,其衡量标准是实现产品规格说明书上所要求的内容。

    10.功能测试的目的和方法
    功能测试的目标是满足用户功能的需求。
    功能测试多采用黑盒测试的方法,有时也可辅助使用白盒测试。
    功能测试的方法
    等价类划分法
    边界值分析法
    错误推测法
    因果图法
    组合分析法
    组合分析法是一种基于每对参数组合的测试技术,考虑参数之间的影响是主要的错误来源,大多数的错误起源于简单的参数组合。
    组合分析法优点是:实现的成本底,维护成本底,易于自动化。

    11.系统测试
    系统测试是在集成测试之后,与计算机硬件、和某些支持软件、数据和人员等系统元素结合起来,在实际运行环境下对计算机系统进行严格的测试,来发现软件的潜在问题,保证系统的运行。
    系统测试区别于功能测试。
    功能测试主要是验证软件功能的实现情况,不考虑各种环境以及非功能问题。

    12.系统测试的内容
    压力测试
    也称强度测试、负载测试。压力测试时模拟实际应用的软件环境及用户使用过程的负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。
    容量测试
    预先分析出反映软件系统应用特长的某项指标的极限量。
    性能测试
    通过测试确定系统运行时的性能表现,如得到运行速度、响应时间、占有系统资源等方面的系统数据。
    安全测试
    检查系统对非法侵入的防范能力。安全测试期间人员假扮非法入侵者,采用各种办法试图突破防线。
    容错测试
    主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。

    12.1压力测试
    压力测试——系统非正常承载能力的测试;
    压力估算——可选实际峰值的1.5-2倍;
    测试环境的准备;
    问题分析;
    累积效应;

    12.2容量测试
    容量测试——对预先期望系统特性极限指标测试。系统在极限值状态下能保持主要功能正常。
    容量测试完成的标准是:所计划的测试已经全部执行,而且达到或超出指定的系统限制是没有出现故障。

    12.3性能测试
    性能测试——真实系统中真实可靠地测试系统的性能。

    12.4三种测试的比较
    压力测试重点在于发现系统功能性不易发现的错误;
    容量测试着重于系统是否达到预计的目标;
    性能测试着重于在苛刻环境中衡量资源的使用,诊断系统效率低和系统故障的原因。
    12.5安全性测试
    两种级别的安全性:
    应用程序级别的安全性;
    系统级别的安全性;
    测试目标
    测试范围
    完成标准

    12.6可靠性测试
    可靠性是产品在规定的条件下和规定的时间内完成规定功能的能力
    可靠性测试的三要素:
    规定时间
    规定的环境条件
    规定的功能

    12.7容错测试
    容错测试是检查软件在异常条件下自身是否具有防护性的措施或某种灾难恢复的手段和能力。
    在规定的时间内能否修正错误并更新或启动系统。

    13.回归测试
    回归测试的目的——新做的修改不影响原有的功能需求。
    所做的修改达到了预定的目的,错误得到改正,新功能得以实现,能适应新环境;
    不影响软件原有的功能;
    回归测试的方法
    全部测试用例法;
    基于风险选择测试;
    基于操作剖面测试;
    局部测试;

  • 测试工程师工作流程概论

    2008-10-27 09:33:35


       测试工程师的工作流程,与公司的整体工作流程,项目的测试要求等因素相关。本文主要讨论测试工程师的一般工作流程。

    做好测试准备

    1) 明确测试任务的范围

       测试文档通常包括测试目的、测试环境、测试方法、测试用例测试工具等。测试工程师首先要通读文档,对整个测试要求形成整体认识,明确测试目的,以及测试要求和测试重点,明确软件测试方法和使用的测试工具。

    2) 明确测试时间

       明确测试周期和测试时间进度。如果是多人合作完成一个软件,则要首先明确属于自己的测试内容、根据测试内容和测试周期,估算自己每日应该完成的工作量。此外由于软件测试是群体协作的测试活动,需要明确哪些测试内容要与其他测试工程师协作才能完成。

    3) 设置测试环境

       根据测试文档要求,设置测试需要的软件和硬件环境,包括操作系统,要测试的软件和其他必要的测试工具软件等。所有这些完成后,分别运行,查看是否能正确运行,保证符合测试文档要求的测试环境。

    4) 学习被测试软件

       对于不太熟悉的软件,可以通过阅读软件自身的教程和帮助文件,学习本软件的一般操作方法,也可以参照相关的书籍资料等。另外,向熟悉测试软件的其他同事请教软件使用方法,也是学习软件的一条捷径。对软件使用越熟练,测试过程越顺利,测试效果越理想。

    5) 确认完全理解测试任务

       软件测试最重要的要求就是确实明确了测试任务和要求,这包括正确理解了测试文档,确认可以按照测试进度要求,完成测试。对于测试工具要正确安装,熟练使用。如果有任何不明白之处,向软件测试负责人询问。切忌凭自己的理解和主观推测,自行其事。当然,真正测试中,往往会遇到各种新的小疑难问题,也需要及时向测试负责人请教,以保证测试顺利进行。

    执行软件测试任务

    1) 按照测试文档要求,逐项认真测试

       根据测试文档测试要求,按照测试步骤,逐项进行。通过运行软件,观察测试结果,与软件需求说明书的内容进行比较,找出软件错误。对于需要调用测试用例的测试,保证正确地调用了测试用例,注意观察和分析测试结果。某些不容易重复的错误,需要反复测试,总结重复该错误所需要的测试步骤,直到确认可以重复出现为止。

    2) 记录发现的错误,填写软件问题报告

       为了纠正软件中的错误,测试工程师要正确记录发现的错误,将错误再现的步骤写入测试报告中,测试报告是程序测试的重要组成部分,正确书写测试报告是对测试工程师的基本要求。采用软件缺陷数据库管理测试中发现的软件缺陷,每一条错误作为数据库的一条记录,方便记录、修改、查询。

    3) 填写测试进度表和必要的测试内容记录表

       每天将测试内容写入测试进度表文档,可以使测试负责人了解测试进度,控制测试周期内测试的连续性,增强测试过程控制性,保证测试的正常进行。测试记录要准确完整,实事求是,必要时插入测试注释,解释测试中的特殊问题。测试进度表是评价测试质量和工作内容的重要凭证,对于测试后发现的测试错误和失误,可以通过检查测试记录,寻找产生错误的原因。

    4) 测试中发现疑难及时请教

       测试是一个动态的过程,可能由于自己的错误操作或者测试文档内容的错误,使得测试过程中出现自己不能解释的现象或结果,出现与测试要求不符合的情形,这时可能需要与其他测试者协商或求助,如果问题仍然不能解决,应该及时请教,听取意见和建议,必要时反复讨论直到问题全面解决。

    全面检查测试结果

    1) 对照测试文档要求,检查测试内容是否完整

       测试完成后,要对照测试文档检查测试是否全部完成,保证没有丢失测试内容。如果某些内容,由于测试环境的要求不满足,或者由于测试时间短没有进行,则要写入测试进度表文档。

    2) 检验书写的软件问题报告的记录,使之确切、规范

       正确书写测试记录是保证迅速定位软件错误,加快改正错误的必要前提。专业规范的软件记录报告是体现公司测试水平和专业实力的外在体现。认真检查书写的每条记录是否符合规范,格式、步骤、内容一一检查,必要时补充或删减。

       上述三个阶段,相互联系紧密,其中准备是基础,测试是重点,检查是保证,应该根据测试的软件特点合理安排。
  • 软件测试的五个阶段

    2008-10-18 14:25:45

    一套完整的测试应该由五个阶段组成:

      1.测试计划

      首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

      2.测试设计

      将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

      3.测试开发

      建立可重复使用的自动测试过程。

      4.测试执行

      执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

      5.测试评估

      结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

      显然,黑盒测试只有严格按照步骤进行,才可能对应用程序的质量进行把关。然而,如果没有一种优秀的测试工具的帮助,单纯凭借手工测试,不但将耗费大量的人力、物力和财力,而且有很多测试工作是难以实现甚至是无法实现的。
  • 常用的网站功能测试方法(已更新)和GUI基本测试内容

    2008-09-25 13:30:20

    1、页面链接检查: 每一个链接是否都有对应的页面,并且页面之间切换工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,同时能够生成html格式的测试报告。

    2、相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确检查按钮的功能是否正确 如新建、编辑、删除、关闭、返回、保存、导入等功能是否正确。

    3、字符类型检查:在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。

    1)标点符号检查:输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。

    2)特殊字符检查:输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。

    3)字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。

    4、中文字符处理:在可以输入中、英文的系统输入中文,看会否出现乱码或出错。

    检查信息的完整性 在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信息是否一致。

    5、信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。

    6、检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。

    7、检查添加和修改是否一致:检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型

    8、检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错

    9、重复提交表单:一条已经成功提交的纪录,返回后再提交,看看系统是否做了处理。对于Web系统检查多次使用返回键的情况   在有返回键的地方,返回到原来页面,重复多次,看会否出错

    10、搜索检查:有搜索功能的地方输入系统存在和不存在的内容,看搜索结果是否正确.如果可以输入多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确。

    11、输入信息位置:注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。

    12、上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。下载文件能否打开或者保存,下载的文件是否有格式要求,如需要特殊工具才可以打开等。

    13、必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加“*”;对必填项提示返回后,焦点是否会自动定位到必填项。

    14、快捷键检查:是否支持常用快捷键,如Ctrl+C、 Ctrl+V、 Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。

    15、回车键检查:在输入结束后直接按回车键,看系统处理如何,会否报错。

    16、刷新键检查:在Web系统中,使用浏览器的刷新键,看系统处理如何,会否报错。   

    17、回退键检查:在Web系统中,使用浏览器的回退键,看系统处理如何,会否报错。对于需要用户验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看系统如何处理。

    18、直接URL链接检查:在Web系统中,直接输入各功能页面的URL地址,看系统如何处理,对于需要用户验证的系统更为重要。

    19、空格检查:在输入信息项中,输入一个或连串空格,查看系统如何处理。如对于要求输入整型、符点型变量的项中,输入空格,既不是空值,又不是标准输入。

    20、输入法半角全角检查:在输入信息项中,输入半角或全角的信息,查看系统如何处理。如对于要求输入符点型数据的项中,输入全角的小数点(“。”或“.”,如4.5);输入全角的空格等。

    21、密码检查:一些系统的加密方法采用对字符Ascii码移位的方式,处理密码加密相对较为简单,且安全性较高,对于局域网系统来说,此种方式完全可以起到加密的作用,但同时,会造成一些问题,即大于128的Ascii对应的字符在解密时无法解析,尝试使用“uvwxyz”等一些码值较大的字符作为密码,同时,密码尽可能的长,如17位密码等,造成加密后的密码出现无法解析的字符。

    22、用户检查:任何一个系统,都有各类不同的用户,同样具有一个或多个管理员用户,检查各个管理员之间是否可以相互管理,编辑、删除管理员用户。同时,对于一般用户,尝试删除,并重建同名的用户,检查该用户其它信息是否重现。同样,提供注销功能的系统,此用户再次注册时,是否作为一个新的用户。

    23、系统数据检查:这是功能测试最重要的,如果系统数据计算不正确,那么功能测试肯定是通不过的。数据检查根据不同的系统,方法不同。对于业务管理平台,数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。

    24、系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可正常迅速恢复。



                                    GUI基本测试内容

    图形用户界面( GUI )对软件测试提出了有趣的挑战,因为 GUI 开发环境有可复用的构件,开发用户界面更加省时而且更加精确。同时, GUI 的复杂性也增加了,从而加大了设计和执行测试用例的难度。因为现在 GUI 设计和实现有了越来越多的类似,所以也就产生了一系列的测试标准。下列问题可以作为常见 GUI 测试的指南:

    窗口:
    · 窗口是否基于相关的输入和菜单命令适当地打开?
    · 窗口能否改变大小、移动和滚动?
    · 窗口中的数据内容能否用鼠标、功能键、方向键和键盘访问?
    · 当被覆盖并重新调用后,窗口能否正确地再生?
    · 需要时能否使用所有窗口相关的功能?
    · 所有窗口相关的功能是可操作的吗?
    · 是否有相关的下拉式菜单、工具条、滚动条、对话框、按钮、图标和其他控制可为窗口使用,并适当地显示?
    · 显示多个窗口时,窗口的名称是否被适当地表示?
    · 活动窗口是否被适当地加亮?
    · 如果使用多任务,是否所有的窗口被实时更新?
    · 多次或不正确按鼠标是否会导致无法预料的副作用?
    · 窗口的声音和颜色提示和窗口的操作顺序是否符合需求?
    · 窗口是否正确地被关闭?

    下拉式菜单和鼠标操作:
    · 菜单条是否显示在合适的语境中?
    · 应用程序的菜单条是否显示系统相关的特性(如时钟显示)?
    · 下拉式操作能正确工作吗?
    · 菜单、调色板和工具条是否工作正确?
    · 是否适当地列出了所有的菜单功能和下拉式子功能?
    · 是否可以通过鼠标访问所有的菜单功能?
    · 文本字体、大小和格式是否正确?
    · 是否能够用其他的文本命令激活每个菜单功能?
    · 菜单功能是否随当前的窗口操作加亮或变灰?
    · 菜单功能是否正确执行?
    · 菜单功能的名字是否具有自解释性?
    · 菜单项是否有帮助,是否语境相关?
    · 在整个交互式语境中,是否可以识别鼠标操作?
    · 如果要求多次点击鼠标,是否能够在语境中正确识别?
    · 光标、处理指示器和识别指针是否随操作恰当地改变?

    数据项:
    · 字母数字数据项是否能够正确回显,并输入到系统中?
    · 图形模式的数据项(如滚动条)是否正常工作?
    · 是否能够识别非法数据?
    · 数据输入消息是否可理解?

Open Toolbar