搜集资料,交流经验……

发布新日志

  • bugzilla安装问题

    2008-04-18 23:36:43

    安装软件后,添加产品的模块时,返回错误,刷新网页,显示该模块已存在,如何修改?

    Link URL: http://mytesting.bokee.com/viewdiary.15540069.html
  • Bugzilla的安装

    2008-04-18 23:36:43

    最近终于装好的Bugzilla2.20.4,将安装的步骤总结一下:

    1、  安装所需软件:

    Bugzilla2.20.4

    Bugzilla所需perl模块:BugzillaModules-2.20.zip

    Bugzilla汉化包:bugzilla-2.20-cn-1.0汉化包.zip

    Apache2gggAPMserver.zip

    ActivePerl5.8.8 Build 820

    MySQL5.0.22MySQL5.0.27版本安装出现冲突)

    发信模块:Sendmail

    2、  安装ActivePerl

    3、  安装Apache:解压gggAPMserver.zipgggAPMserver文件夹;进入amp文件夹,修改install.bat文件,屏蔽掉mySQL5的安装(后面将单独安装MySQL5.0.22);运行install.bat文件,安装Apache

    4、  安装MySQL5.0.22:安装时,选择utf-8编码,其他可默认安装;

    创建数据库:(Bugzilla默认数据库为bugs,密码为空)

    mysql>create database bugs;

    mysql> grant select,insert,update,delete,index,alter,create,lock tables,drop,references on bugs.* to bugs@localhost identified by '';

    mysql>flush privileges;

    mysql>exit退出数据库

    5、安装Perl模块:解压BugzillaModules-2.20.zipBugzillaModules-2.20目录,进入目录,编辑setup.bat,屏蔽掉File-Spec.ppd的安装(BugzillaModules-2.20提供此模块为0.82版本,bugzilla需要0.84版本以上,而前面ActivePerl安装时所安装的此模块版本较高,此处不需要再安装)

    6、从命令行进入bugzilla安装目录,执行perl checksetup.pl,检查各模块是否已安装,检查通过后生成localconfig文件,打开此文件,检查数据库bugs的信息是否正确;在命令行中再次运行perl checksetup.pl,创建所需要的数据,并要求输入管理员e-Mail及管理员密码等信息;

    7、配置Apache服务器:进入apache/conf,配置文件:

    将网站根目录设成bugzilla所在目录,目录权限设为:

     Options ExecCGI FollowSymLinks

        AllowOverride Limit

    http.conf中加入3行(如果已存在,则修改即可):

    AddHandler cgi-script .cgi

    AddHandler cgi-script .pl

    AddDefaultCharset utf-8

    找到DirectoryIndex index.html…… 这一行,在后面加上index.cgi

    重启Apache服务;

    8、此时,打开http//127.0.0.1,网页无法正常显示;

       使用UE的批量替换功能,替换*.cgi文件中的!/usr/bin/perl –wTperl所在目录,例如:!D:\perl\bin\perl –w

    9、此时打开http//127.0.0.1,,网页可正常显示,配置sendmail:将sendmail放在bugzilla所在目录的usr/lib/目录(同unix文件目录);打开sendmail.ini文件,设置smtp服务器地址,如smtp服务器在局域网中,可直接设为服务器IP地址,如smtp_server=192.168.0.3,设置邮件服务器默认域名,如:default_domain=mail.datech.com.cn

    做完这些设置后,就可以登录bugzilla页面,使用邮箱地址****@datech.com.cn申请帐号,申请成功后,号密码会由sendmail发送到****@datech.com.cn

    10、此时英文版的Bugzilla可正常进行工作,进行汉化工作:解压汉化包bugzilla-2.20-cn-1.0汉化包.zip,解压其中的cn_UTF8.zipcustom.zip,将cn_UTF8放在bugzilla目录中的template目录下,并将文件夹名字改为cn;将custom文件夹放在skins目录;bugzilla安装目录内CGI.pm文件里第55行改为$self->charset('UTF-8');

    进入bugzilla页面,登录管理员帐号,进行系统设置,将语言修改为cn;刷新页面,此时已显示为中文版;如出现乱码,浏览器应选择utf-8编码显示;

     

        安装完成后,仍存在一些问题,如添加产品模块时出现异常,有人建议在windows2003server系统下安装,有待一试……

     

     

     



    Link URL: http://mytesting.bokee.com/viewdiary.15559460.html
  • 软件测试常用术语表

    2008-04-18 23:36:43


    Acceptance Testing--可接受性测试

    一般由用户/客户进行的确认是否可以接受一个产品的验证性测试。

    actual outcome--实际结果

    被测对象在特定的条件下实际产生的结果。

    Ad Hoc Testing--随机测试

    测试人员通过随机的尝试系统的功能,试图使系统中断。

    algorithm--算法

    (1)一个定义好的有限规则集,用于在有限步骤内解决一个问题;(2)执行一个特定任务的任何操作序列。

    algorithm analysis--算法分析

    一个软件的验证确认任务,用于保证选择的算法是正确的、合适的和稳定的,并且满足所有精确性、规模和时间

    方面的要求。

    Alpha Testing--Alpha测试

    由选定的用户进行的产品早期性测试。这个测试一般在可控制的环境下进行的。

    analysis--分析

    (1)分解到一些原子部分或基本原则,以便确定整体的特性;(2)一个推理的过程,显示一个特定的结果是假

    设前提的结果;(3)一个问题的方法研究,并且问题被分解为一些小的相关单元作进一步详细研究。

    anomaly--异常

    在文档或软件操作中观察到的任何与期望违背的结果。

    application software--应用软件

    满足特定需要的软件。

    architecture--构架

    一个系统或组件的组织结构。

    ASQ--自动化软件质量(Automated Software Quality)

    使用软件工具来提高软件的质量。

    assertion--断言

    指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的

    条件。

    assertion checking--断言检查

    用户在程序中嵌入的断言的检查。

    audit--审计

    一个或一组工作产品的独立检查以评价与规格、标准、契约或其它准则的符合程度。

    audit trail--审计跟踪

    系统审计活动的一个时间记录。

    Automated Testing--自动化测试

    使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。

    第120贴【2004-10-13】:常见测试术语二

    Backus-Naur Form--BNF范式

    一种分析语言,用于形式化描述语言的语法

    baseline--基线

    一个已经被正式评审和批准的规格或产品,它作为进一步开发的一个基础,并且必须通过正式的变更流程来变更



    Basic Block--基本块

    一个或多个顺序的可执行语句块,不包含任何分支语句。

    basis test set--基本测试集

    根据代码逻辑引出来的一个测试用例集合,它保证能获得100%的分支覆盖。

    behaviour--行为

    对于一个系统的一个函数的输入和预置条件组合以及需要的反应。一个函数的所有规格包含一个或多个行为。

    benchmark--标杆/指标/基准

    一个标准,根据该标准可以进行度量或比较。

    Beta Testing--Beta测试

    在客户场地,由客户进行的对产品预发布版本的测试。这个测试一般是不可控的。

    big-bang testing--大锤测试/一次性集成测试

    非渐增式集成测试的一种策略,测试的时候把所有系统的组件一次性组合成系统进行测试。

    Black Box Testing--黑盒测试

    根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子



    bottom-up testing--由低向上测试

    渐增式集成测试的一种,其策略是先测试底层的组件,然后逐步加入较高层次的组件进行测试,直到系统所有组

    件都加入到系统。

    boundary value--边界值

    一个输入或输出值,它处在等价类的边界上。

    boundary value coverage--边界值覆盖

    通过测试用例,测试组件等价类的所有边界值。

    boundary value testing--边界值测试

    通过边界值分析方法来生成测试用例的一种测试策略。

    Boundry Value Analysis--边界值分析

    该分析一般与等价类一起使用。经验认为软件的错误经常在输入的边界上产生,因此边界值分析就是分析软件输

    入边界的一种方法。

    branch--分支

    在组件中,控制从任何语句到其它任何非直接后续语句的一个条件转换,或者是一个无条件转换。

    branch condition--分支条件

    branch condition combination coverage--分支条件组合覆盖

    在每个判定中所有分支条件结果组合被测试用例覆盖到的百分比。

    branch condition combination testing--分支条件组合测试

    通过执行分支条件结果组合来设计测试用例的一种方法。

    branch condition coverage--分支条件覆盖

    每个判定中分支条件结果被测试用例覆盖到的百分比。

    branch condition testing--分支条件测试

    通过执行分支条件结果来设计测试用例的一种方法。

    branch coverage--分支覆盖

    通过测试执行到的分支的百分比。

    branch outcome--分支结果

    见判定结果(decision outcome)

    branch point--分支点

    见判定(decision)

    branch testing--分支测试

    通过执行分支结果来设计测试用例的一种方法。

    Breadth Testing--广度测试

    在测试中测试一个产品的所有功能,但是不测试更细节的特性。

    bug--缺陷

    第121贴【2004-10-14】:常见测试术语三

    capture/playback tool--捕获/回放工具

    参考capture/replay tool

    Capture/Replay Tool--捕获/回放工具

    一种测试工具,能够捕获在测试过程中传递给软件的输入,并且能够在以后的时间中,重复这个执行的过程。这

    类工具一般在GUI测试中用的较多。

    CASE--计算机辅助软件工程(computer aided software engineering)

    用于支持软件开发的一个自动化系统。

    CAST--计算机辅助测试

    在测试过程中使用计算机软件工具进行辅助的测试。

    cause-effect graph--因果图

    一个图形,用来表示输入(原因)与结果之间的关系,可以被用来设计测试用例。

    certification --证明

    一个过程,用于确定一个系统或组件与特定的需求相一致。

    change control--变更控制

    一个用于计算机系统或系统数据修改的过程,该过程是质量保证程序的一个关键子集,需要被明确的描述。

    code audit --代码审计

    由一个人、组或工具对源代码进行的一个独立的评审,以验证其与设计规格、程序标准的一致性。正确性和有效

    性也会被评价。

    Code Coverage--代码覆盖率

    一种分析方法,用于确定在一个测试套执行后,软件的哪些部分被执行到了,哪些部分没有被执行到。

    Code Inspection--代码检视

    一个正式的同行评审手段,在该评审中,作者的同行根据检查表对程序的逻辑进行提问,并检查其与编码规范的

    一致性。

    Code Walkthrough--代码走读

    一个非正式的同行评审手段,在该评审中,代码被使用一些简单的测试用例进行人工执行,程序变量的状态被手

    工分析,以分析程序的逻辑和假设。

    code-based testing--基于代码的测试

    根据从实现中引出的目标设计测试用例。

    coding standards--编程规范

    一些编程方面需要遵循的标准,包括命名方式、排版格式等内容。

    Compatibility Testing--兼容性测试

    测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。

    complete path testing --完全路径测试

    参考穷尽测试(exhaustive testing)

    completeness--完整性

    实体的所有必须部分必须被包含的属性。

    complexity --复杂性

    系统或组件难于理解或验证的程度。

    Component--组件

    一个最小的软件单元,有着独立的规格

    Component Testing--组件测试

    参考单元测试

    computation data use--计算数据使用

    一个不在条件中的数据使用。

    computer system security--计算机系统安全性

    计算机软件和硬件对偶然的或故意的访问、使用、修改或破坏的一种保护机制。

    condition--条件

    一个不包含布尔操作的布尔表达式,例如:A

    condition coverage--条件覆盖

    通过测试执行到的条件的百分比。

    condition outcome--条件结果

    条件为真为假的评价。

    configuration control--配置控制

    配置管理的一个方面,包括评价、协调、批准、和实现配置项的变更。

    configuration management--配置管理

    一套技术和管理方面的原则用于确定和文档化一个配置项的功能和物理属性、控制对这些属性的变更、记录和报

    告变更处理和实现的状态、以及验证与指定需求的一致性。

    conformance criterion-- 一致性标准

    判断组件在一个特定输入值上的行为是否符合规格的一种方法。

    Conformance Testing-- 一致性测试

    测试一个系统的实现是否和其基于的规格相一致的测试。

    consistency -- 一致性

    在系统或组件的各组成部分和文档之间没有矛盾,一致的程度。

    consistency checker-- 一致性检查器

    一个软件工具,用于测试设计规格中需求的一致性和完整性。

    control flow--控制流

    程序执行中所有可能的事件顺序的一个抽象表示。

    control flow graph--控制流图

    通过一个组件的可能替换控制流路径的一个图形表示。

    conversion testing--转换测试

    用于测试已有系统的数据是否能够转换到替代系统上的一种测试。

    corrective maintenance--故障检修

    用于纠正硬件或软件中故障的维护。

    correctness --正确性

    软件遵从其规格的程度。

    correctness --正确性

    软件在其规格、设计和编码中没有故障的程度。软件、文档和其它项满足需求的程度。软件、文档和其它项满足

    用户明显的和隐含的需求的程度。

    coverage --覆盖率

    用于确定测试所执行到的覆盖项的百分比。

    coverage item--覆盖项

    作为测试基础的一个入口或属性:如语句、分支、条件等。

    crash--崩溃

    计算机系统或组件突然并完全的丧失功能。

    criticality--关键性

    需求、模块、错误、故障、失效或其它项对一个系统的操作或开发影响的程度。

    criticality analysis--关键性分析

    需求的一种分析,它根据需求的风险情况给每个需求项分配一个关键级别。

    cyclomatic complexity--循环复杂度

    一个程序中独立路径的数量。

    第122贴【2004-10-19】:常见测试术语四

    data corruption--数据污染

    违背数据一致性的情况。

    data definition--数据定义

    一个可执行语句,在该语句上一个变量被赋予了一个值。

    data definition C-use coverage--数据定义C-use覆盖

    在组件中被测试执行到的数据定义C-use使用对的百分比。

    data definition C-use pair--数据定义C-use使用对

    一个数据定义和一个计算数据使用,数据使用的值是数据定义的值。

    data definition P-use coverage--数据定义P-use覆盖

    在组件中被测试执行到的数据定义P-use使用对的百分比。

    data definition P-use pair--数据定义P-use使用对

    一个数据定义和一个条件数据使用,数据使用的值是数据定义的值。

    data definition-use coverage--数据定义使用覆盖

    在组件中被测试执行到的数据定义使用对的百分比。

    data definition-use pair --数据定义使用对

    一个数据定义和一个数据使用,数据使用的值是数据定义的值。

    data definition-use testing--数据定义使用测试

    以执行数据定义使用对为目标进行测试用例设计的一种技术。

    data dictionary--数据字典

    (1)一个软件系统中使用的所有数据项名称,以及这些项相关属性的集合。(2)数据流、数据元素、文件、数据基础、和相关处理的一个集合。

    data flow analysis--数据流分析

    一个软件验证和确认过程,用于保证输入和输出数据和它们的格式是被适当定义的,并且数据流是正确的。

    data flow coverage--数据流覆盖

    测试覆盖率的度量是根据变量在代码中的使用情况。

    data flow diagram--数据流图

    把数据源、数据接受、数据存储和数据处理作为节点描述的一个图形,数据之间的逻辑体现为节点之间的边。

    data flow testing--数据流测试

    根据代码中变量的使用情况进行的测试。

    data integrity--数据完整性

    一个数据集合完全、正确和一致的程度。

    data use--数据使用

    一个可执行的语句,在该语句中,变量的值被访问。

    data validation--数据确认

    用于确认数据不正确、不完整和不合理的过程。

    dead code--死代码

    在程序操作过程中永远不可能被执行到的代码。

    Debugging--调试

    发现和去除软件失效根源的过程。

    decision--判定

    一个程序控制点,在该控制点上,控制流有两个或多个可替换路由。

    Decision condition--判定条件

    判定内的一个条件。

    decision coverage--判定覆盖

    在组件中被测试执行到的判定结果的百分比。

    decision outcome--判定结果

    一个判定的结果,决定控制流走哪条路径。

    decision table--判定表

    一个表格,用于显示条件和条件导致动作的集合。

    Depth Testing--深度测试

    执行一个产品的一个特性的所有细节,但不测试所有特性。比较广度测试。

    design of experiments--实验设计

    一种计划实验的方法,这样适合分析的数据可以被收集。

    design-based testing--基于设计的测试

    根据软件的构架或详细设计引出测试用例的一种方法。

    desk checking--桌面检查

    通过手工模拟软件执行的方式进行测试的一种方式。

    diagnostic--诊断

    检测和隔离故障或失效的过程。

    dirty testing--肮脏测试

    参考负面测试(negative testing)

    disaster recovery--灾难恢复

    一个灾难的恢复和重建过程或能力。

    documentation testing --文档测试

    测试关注于文档的正确性。

    domain--域

    值被选择的一个集合。

    domain testing--域测试

    参考等价划分测试(equivalence partition testing)

    dynamic analysis--动态分析

    根据执行的行为评价一个系统或组件的过程。

    Dynamic Testing--动态测试

    通过执行软件的手段来测试软件。

    第123贴【2004-10-20】:常见测试术语五

    embedded software--嵌入式软件

    软件运行在特定硬件设备中,不能独立于硬件存在。这类系统一般要求实时性较高。

    emulator--仿真

    一个模仿另一个系统的系统或设备,它接受相同的输入并产生相同的输出。

    End-to-End testing--端到端测试

    在一个模拟现实使用的场景下测试一个完整的应用环境,例如和数据库交互,使用网络通信等。

    entity relationship diagram--实体关系图

    描述现实世界中实体及它们关系的图形。

    entry point --入口点

    一个组件的第一个可执行语句。

    Equivalence Class--等价类

    组件输入或输出域的一个部分,在该部分中,组件的行为从组件的规格上来看认为是相同的。

    equivalence partition coverage--等价划分覆盖

    在组件中被测试执行到的等价类的百分比。

    equivalence partition testing--等价划分测试

    根据等价类设计测试用例的一种技术。

    Equivalence Partitioning--等价划分

    组件的一个测试用例设计技术,该技术从组件的等价类中选取典型的点进行测试。

    error--错误

    IEEE的定义是:一个人为产生不正确结果的行为。

    error guessing--错误猜测

    根据测试人员以往的经验猜测可能出现问题的地方来进行用例设计的一种技术。

    error seeding--错误播种/错误插值

    故意插入一些已知故障(fault)到一个系统中去的过程,目的是为了根据错误检测和跟踪的效率并估计系统中遗

    留缺陷的数量。

    exception--异常/例外

    一个引起正常程序执行挂起的事件。

    executable statement--可执行语句

    一个语句在被编译后会转换成目标代码,当程序运行是会被执行,并且可能对程序数据产生动作。

    Exhaustive Testing--穷尽测试

    测试覆盖软件的所有输入和条件组合。

    exit point--出口点

    一个组件的最后一个可执行语句。

    expected outcome--期望结果

    参考预期结果(predicted outcome)。

    第124贴【2004-10-21】:常见测试术语六

    failure--失效

    软件的行为与其期望的服务相背离。

    fault--故障

    在软件中一个错误的表现。

    feasible path--可达路径

    可以通过一组输入值和条件执行到的一条路径。

    feature testing--特性测试

    参考功能测试(Functional Testing)

    FMEA--失效模型效果分析(Failure Modes and Effects Analysis)

    可靠性分析中的一种方法,用于在基本组件级别上确认对系统性能有重大影响的失效。

    FMECA--失效模型效果关键性分析(Failure Modes and Effects Criticality Analysis)

    FMEA的一个扩展,它分析了失效结果的严重性。

    FTA--故障树分析(Fault Tree Analysis)

    引起一个不需要事件产生的条件和因素的确认和分析,通常是严重影响系统性能、经济性、安全性或其它需要特

    性。

    functional decomposition--功能分解

    参考模块分解(modular decomposition)

    Functional Specification --功能规格说明书

    一个详细描述产品特性的文档。

    Functional Testing--功能测试

    测试一个产品的特性和可操作行为以确定它们满足规格。

    第125贴【2004-10-22】:常见测试术语七

    glass box testing--玻璃盒测试

    参考白盒测试(White Box Testing)

    IEEE--美国电子与电器工程师学会(Institute of Electrical and Electronic Engineers)

    incremental testing--渐增测试

    集成测试的一种,组件逐渐被增加到系统中直到整个系统被集成。

    infeasible path--不可达路径

    不能够通过任何可能的输入值集合执行到的路径。

    input domain--输入域

    所有可能输入的集合。

    inspection--检视

    对文档进行的一种评审形式。

    installability testing--可安装性测试

    确定系统的安装程序是否正确的测试。

    instrumentation--插装

    在程序中插入额外的代码以获得程序在执行时行为的信息。

    instrumenter--插装器

    执行插装的工具

    Integration Testing--集成测试

    测试一个应用组合后的部分以确保它们的功能在组合之后正确。该测试一般在单元测试之后进行。

    interface--接口

    两个功能单元的共享边界。

    interface analysis--接口分析

    分析软件与硬件、用户和其它软件之间接口的需求规格。

    interface testing--接口测试

    测试系统组件间接口的一种测试。

    invalid inputs--无效输入

    在程序功能输入域之外的测试数据。

    isolation testing--孤立测试

    组件测试(单元测试)策略中的一种,把被测组件从其上下文组件之中孤立出来,通过设计驱动和桩进行测试的

    一种方法。

    第126贴【2004-10-25】:常见测试术语八

    Job--工作

    一个用户定义的要计算机完成的工作单元。

    job control language--工作控制语言

    用于确定工作顺序,描述它们对操作系统要求并控制它们执行的语言。

    LCSAJ--线性代码顺序和跳转(Linear Code Sequence And Jump)

    包含三个部分:可执行语句线性顺序的起始,线性顺序的结束,在线性顺序结束处控制流跳转的目标语句。

    LCSAJ coverage--LCSAJ覆盖

    在组件中被测试执行到的LCSAJ的百分比。

    LCSAJ testing--LCSAJ测试

    根据LCSAJ设计测试用例的一种技术。

    Load Testing--负载测试

    通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。

    logic analysis--逻辑分析

    (1)评价软件设计的关键安全方程式、算法和控制逻辑的方法。(2)评价程序操作的顺序并且检测可能导致灾难的错误。

    logic-coverage testing--逻辑覆盖测试

    参考结构化测试用例设计(structural test case design)

    maintainability--可维护性

    一个软件系统或组件可以被修改的容易程度,这个修改一般是因为缺陷纠正、性能改进或特性增加引起的。

    maintainability testing--可维护性测试

    测试系统是否满足可维护性目标。

    modified condition/decision coverage--修改条件/判定覆盖

    在组件中被测试执行到的修改条件/判定的百分比。

    modified condition/decision testing --修改条件/判定测试

    根据MC/DC设计测试用例的一种技术。

    Monkey Testing--跳跃式测试

    随机性,跳跃式的测试一个系统,以确定一个系统是否会崩溃。

    MTBF--平均失效间隔实际(mean time between failures)

    两次失效之间的平均操作时间。

    MTTF--平均失效时间 (mean time to failure)

    第一次失效之前的平均时间

    MTTR--平均修复时间(mean time to repair)

    两次修复之间的平均时间

    multiple condition coverage--多条件覆盖

    参考分支条件组合覆盖(branch condition combination coverage)

    mutation analysis--变体分析

    一种确定测试用例套完整性的方法,该方法通过判断测试用例套能够区别程序与其变体之间的程度。

    第127贴【2004-10-26】:常见测试术语九

    Negative Testing--逆向测试/反向测试/负面测试

    测试瞄准于使系统不能工作。

    non-functional requirements testing--非功能性需求测试

    与功能不相关的需求测试,如:性能测试、可用性测试等。

    N-switch coverage--N切换覆盖

    在组件中被测试执行到的N转换顺序的百分比。

    N-switch testing--N切换测试

    根据N转换顺序设计测试用例的一种技术,经常用于状态转换测试中。

    N-transitions--N转换

    N+1转换顺序

    operational testing--可操作性测试

    在系统或组件操作的环境中评价它们的表现。

    output domain--输出域

    所有可能输出的集合。

    第128贴【2004-10-27】:常见测试术语十

    partition testing--分类测试

    参考等价划分测试(equivalence partition testing)

    path--路径

    一个组件从入口到出口的一条可执行语句顺序。

    path coverage--路径覆盖

    在组件中被测试执行到的路径的百分比。

    path sensitizing--路径敏感性

    选择一组输入值强制组件走一个给定的路径。

    path testing--路径测试

    根据路径设计测试用例的一种技术,经常用于状态转换测试中。

    performance testing--性能测试

    评价一个产品或组件与性能需求是否符合的测试。

    portability testing--可移植性

    测试瞄准于证明软件可以被移植到指定的硬件或软件平台上。

    Positive Testing--正向测试

    测试瞄准于显示系统能够正常工作。

    precondition--预置条件

    环境或状态条件,组件执行之前必须被填充一个特定的输入值。

    predicate--谓词

    一个逻辑表达式,结果为‘真’或‘假’。

    predicate data use--谓词数据使用

    在谓词中的一个数据使用。

    program instrumenter--程序插装

    参考插装(instrumenter)

    progressive testing--递进测试

    在先前特性回归测试之后对新特性进行测试的一种策略。

    pseudo-random--伪随机

    看似随机的,实际上是根据预先安排的顺序进行的。

    第129贴【2004-10-28】:常见测试术语十一

    QA--质量保证(quality assurance)

    (1)已计划的系统性活动,用于保证一个组件、模块或系统遵从已确立的需求。(2)采取的所有活动以保证一

    个开发组织交付的产品满足性能需求和已确立的标准和过程。

    QC--质量控制(quality control)

    用于获得质量需求的操作技术和过程,如测试活动。

    Race Condition--竞争状态

    并行问题的根源。对一个共享资源的多个访问,至少包含了一个写操作,但是没有一个机制来协调同时发生的访问。

    recovery testing--恢复性测试

    验证系统从失效中恢复能力的测试。

    regression analysis and testing--回归分析和测试

    一个软件验证和确认任务以确定在修改后需要重复测试和分析的范围。

    Regression Testing--回归测试

    在发生修改之后重新测试先前的测试以保证修改的正确性。

    release--发布

    一个批准版本的正式通知和分发。

    reliability--可靠性

    一个系统或组件在规定的条件下在指定的时间内执行其需要功能的能力。

    reliability assessment--可靠性评价

    确定一个已有系统或组件的可靠性级别的过程。

    requirements-based testing--基于需求的测试

    根据软件组件的需求导出测试用例的一种设计方法。

    review--评审

    在产品开发过程中,把产品提交给项目成员、用户、管理者或其它相关人员评价或批准的过程。

    risk--风险

    不期望效果的可能性和严重性的一个度量。

    risk assessment--风险评估

    对风险和风险影响的一个完整的评价。

    第130贴【2004-10-29】:常见测试术语十二

    safety--(生命)安全性

    不会引起人员伤亡、产生疾病、毁坏或损失设备和财产、或者破坏环境。

    safety critical--严格的安全性

    一个条件、事件、操作、过程或项,它的认识、控制或执行对生命安全性的系统来说是非常关键的。

    Sanity Testing--理智测试

    软件主要功能成分的简单测试以保证它是否能进行基本的测试。参考冒烟测试

    SDP--软件开发计划(software development plan)

    用于一个软件产品开发的项目计划。

    security testing--安全性测试

    验证系统是否符合安全性目标的一种测试。

    security.--(信息)安全性

    参考计算机系统安全性(computer system security)

    serviceability testing--可服务性测试

    参考可维护性测试(maintainability testing)

    simple subpath--简单子路径

    控制流的一个子路径,其中没有不必要的部分被执行。

    simulation--模拟

    使用另一个系统来表示一个物理的或抽象的系统的选定行为特性。

    simulation--模拟

    使用一个可执行模型来表示一个对象的行为。

    simulator--模拟器

    软件验证期间的一个设备、软件程序、或系统,当它给定一个控制的输入时,表现的与一个给定的系统类似。

    第131贴【2004-11-1】:常见测试术语十三

    SLA--服务级别协议(service level agreement)

    服务提供商与客户之间的一个协议,用于规定服务提供商应当提供什么服务。

    Smoke Testing--冒烟测试

    对软件主要功能进行快餐式测试。最早来自于硬件测试实践,以确定新的硬件在第一次使用的时候不会着火。

    software development process--软件开发过程

    一个把用户需求转换为软件产品的开发过程。

    software diversity--软件多样性

    一种软件开发技术,其中,由不同的程序员或开发组开发的相同规格的不同程序,目的是为了检测错误、增加可靠性。

    software element--软件元素

    软件开发或维护期间产生或获得的一个可交付的或过程内的文档。

    software engineering--软件工程

    一个应用于软件开发、操作和维护的系统性的、有纪律的、可量化的方法。

    software engineering environment--软件工程环境

    执行一个软件工程工作的硬件、软件和固件。

    software life cycle--软件生命周期

    开始于一个软件产品的构思,结束于该产品不再被使用的这段期间。

    SOP--标准操作过程(standard operating procedures)

    书面的步骤,这对保证生产和处理的控制是必须的。

    source code--源代码

    用一种适合于输入到汇编器、编译器或其它转换设备的计算机指令和数据定义。

    source statement--源语句

    参考语句(statement)

    第132贴【2004-11-2】:常见测试术语十四

    specification--规格

    组件功能的一个描述,格式是:对指定的输入在指定的条件下的输出。

    specified input--指定的输入

    一个输入,根据规格能预知其输出。

    spiral model --螺旋模型

    软件开发过程的一个模型,其中的组成活动,典型的包括需求分析,概要设计,详细设计,编码,集成和测试等活动被迭代的执行直到软件被完成。

    SQL--结构化查询语句(structured query language)

    在一个关系数据库中查询和处理数据的一种语言。

    state--状态

    一个系统、组件或模拟可能存在其中的一个条件或模式。

    state diagram--状态图

    一个图形,描绘一个系统或组件可能假设的状态,并且显示引起或导致一个状态切换到另一个状态的事件或环境。

    state transition--状态转换

    一个系统或组件的两个允许状态之间的切换。

    state transition testing --状态转换测试

    根据状态转换来设计测试用例的一种方法。

    statement--语句

    程序语言的一个实体,是典型的最小可执行单元。

    statement coverage--语句覆盖

    在一个组件中,通过执行一定的测试用例所能达到的语句覆盖百分比。

    statement testing--语句测试

    根据语句覆盖来设计测试用例的一种方法。

    Static Analysis--静态分析

    分析一个程序的执行,但是并不实际执行这个程序。

    第133贴【2004-11-3】:常见测试术语十五

    Static Analyzer--静态分析器

    进行静态分析的工具。

    Static Testing--静态测试

    不通过执行来测试一个系统。

    statistical testing--统计测试

    通过使用对输入统计分布进行分析来构造测试用例的一种测试设计方法。

    stepwise refinement--逐步优化

    一个结构化软件设计技术,数据和处理步骤首先被广泛的定义,然后被逐步的进行了细化。

    storage testing--存储测试

    验证系统是否满足指定存储目标的测试。

    Stress Testing--压力测试

    在规定的规格条件或者超过规定的规格条件下,测试一个系统,以评价其行为。类似负载测试,通常是性能测试

    的一部分。

    structural coverage--结构化覆盖

    根据组件内部的结构度量覆盖率。

    structural test case design--结构化测试用例设计

    根据组件内部结构的分析来设计测试用例的一种方法。

    structural testing--结构化测试

    参考结构化测试用例设计(structural test case design)

    structured basis testing--结构化的基础测试

    根据代码逻辑设计测试用例来获得100%分支覆盖的一种测试用例设计技术。

    structured design--结构化设计

    软件设计的任何遵循一定纪律的方法,它按照特定的规则,例如:模块化,有顶向下设计,数据逐步优化,系统

    结构和处理步骤。

    structured programming--结构化编程

    在结构化程序开发中的任何包含结构化设计和结果的软件开发技术。

    structured walkthrough--结构化走读

    参考走读(walkthrough)

    第134贴【2004-11-4】:常见测试术语十六

    stub--桩

    一个软件模块的框架或特殊目标实现,主要用于开发和测试一个组件,该组件调用或依赖这个模块。

    symbolic evaluation--符号评价

    参考符号执行(symbolic execution)

    symbolic execution--符号执行

    通过符号表达式来执行程序路径的一种静态分析设计技术。其中,程序的执行被用符号来模拟,例如,使用变量

    名而不是实际值,程序的输出被表示成包含这些符号的逻辑或数学表达式。

    symbolic trace--符号轨迹

    一个计算机程序通过符号执行是经过的语句分支结果的一个记录。

    syntax testing--语法分析

    根据输入语法来验证一个系统或组件的测试用例设计技术。

    system analysis--系统分析

    对一个计划的或现实的系统进行的一个系统性调查以确定系统的功能以及系统与其它系统之间的交互。

    system design--系统设计

    一个定义硬件和软件构架、组件、模块、接口和数据的过程以满足指定的规格。

    system integration--系统集成

    一个系统组件的渐增的连接和测试,直到一个完整的系统。

    System Testing--系统测试

    从一个系统的整体而不是个体上来测试一个系统,并且该测试关注的是规格,而不是系统内部的逻辑。

    第135贴【2004-11-7】:常见测试术语十七

    technical requirements testing--技术需求测试

    参考非功能需求测试(non-functional requirements testing)

    test automation--测试自动化

    使用工具来控制测试的执行、结果的比较、测试预置条件的设置、和其它测试控制和报告功能。

    test case--测试用例

    用于特定目标而开发的一组输入、预置条件和预期结果。

    test case design technique--测试用例设计技术

    选择和导出测试用例的技术。

    test case suite--测试用例套

    对被测软件的一个或多个测试用例的集合。

    test comparator--测试比较器

    一个测试工具用于比较软件实际测试产生的结果与测试用例预期的结果。

    test completion criterion--测试完成标准

    一个标准用于确定被计划的测试何时完成。

    test coverage--测试覆盖

    参考覆盖率(Coverage)

    test driver--测试驱动

    一个程序或测试工具用于根据测试套执行软件。

    test environment--测试环境

    测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。

    第136贴【2004-11-8】:常见测试术语十八

    test execution--测试执行

    一个测试用例被被测软件执行,并得到一个结果。

    test execution technique--测试执行技术

    执行测试用例的技术,包括手工、自动化等。

    test generator--测试生成器

    根据特定的测试用例产生测试用例的工具。

    test harness--测试用具

    包含测试驱动和测试比较器的测试工具。

    test log--测试日志

    一个关于测试执行所有相关细节的时间记录。

    test measurement technique--测试度量技术

    度量测试覆盖率的技术。

    Test Plan--测试计划

    一个文档,描述了要进行的测试活动的范围、方法、资源和进度。它确定测试项、被测特性、测试任务、谁执行

    任务,并且任何风险都要冲突计划。

    test procedure--测试规程

    一个文档,提供详细的测试用例执行指令。

    test records--测试记录

    对每个测试,明确的记录被测组件的标识、版本,测试规格,和实际结果

    test report--测试报告

    一个描述系统或组件执行的测试和结果的文档。

    Test Script--测试脚本

    一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。

    Test Specification--测试规格

    一个文档,用于指定一个软件特性、特性组合或所有特性的测试方法、输入、预期结果和执行条件。

    第137贴【2004-11-9】:常见测试术语十九

    test strategy--测试策略

    一个简单的高层文档,用于描述测试的大致方法,目标和方向。

    test suite--测试套

    测试用例和/或测试脚本的一个集合,与一个应用的特定功能或特性相关。

    test target--测试目标

    一组测试完成标准。

    testability--可测试性

    一个系统或组件有利于测试标准建立和确定这些标准是否被满足的测试执行的程度。

    Testing--测试

    IEEE给出的定义是:1)一个执行软件的过程,以验证其满足指定的需求并检测错误。2)一个软件项的分析过程

    以检测已有条件之间的不同,并评价软件项的特性。

    thread testing--线程测试

    自顶向下测试的一个变化版本,其中,递增的组件集成遵循需求子集的实现。

    time sharing--时间共享

    一种操作方式,允许两个或多个用户在相同的计算机系统上同时执行计算机程序。其实现可能通过时间片轮转、

    优先级中断等。

    top-down design--由顶向下设计

    一种设计策略,首先设计最高层的抽象和处理,然后逐步向更低级别进行设计。

    top-down testing--自顶向下测试

    集成测试的一种策略,首先测试最顶层的组件,其它组件使用桩,然后逐步加入较低层的组件进行测试,直到所

    有组件被集成到系统中。

    traceability--可跟踪性

    开发过程的两个或多个产品之间关系可以被建立起来的程度,尤其是产品彼此之间有一个前后处理关系。

    traceability analysis--跟踪性分析

    (1)跟踪概念文档中的软件需求到系统需求;(2)跟踪软件设计描述到软件需求规格,以及软件需求规格到软

    件设计描述;(3)跟踪源代码对应到设计规格,以及设计规格对应到源代码。分析确定它们之间正确性、一致性

    、完整性、精确性的关系。

    traceability matrix--跟踪矩阵

    一个用于记录两个或多个产品之间关系的矩阵。例如,需求跟踪矩阵是跟踪从需求到设计再到编码的实现。

    第138贴【2004-11-10】:常见测试术语二十

    transaction--事务/处理

    (1)一个命令、消息或输入记录,它明确或隐含的调用了一个处理活动,例如更新一个文件。(2)用户和系统

    之间的一次交互。(3)在一个数据库管理系统中,完成一个特定目的的处理单元,如恢复、更新、修改或删除一

    个或多个数据元素。

    transform analysis--事务分析

    系统的结构是根据分析系统需要处理的事务获得的一种分析技术。

    trojan horse--特洛伊木马

    一种攻击计算机系统的方法,典型的方法是提供一个包含具有攻击性隐含代码的有用程序给用户,在用户执行该

    程序的时候,其隐含的代码对系统进行非法访问,并可能产生破坏。

    truth table--真值表

    用于逻辑操作的一个操作表格。

    Unit Testing--单元测试

    测试单个的软件组件,属于白盒测试范畴,其测试基础是软件内部的逻辑。

    Usability Testing--可用性测试

    测试用户使用和学习产品的容易程度。

    validation--确认

    根据用户需要确认软件开发的产品的正确性。

    verification--验证

    评价一个组件或系统以确认给定开发阶段的产品是否满足该阶段开始时设定的标准。

    version--版本

    一个软件项或软件元素的一个初始发布或一个完整的再发布。

    volume testing--容量测试

    使用大容量数据测试系统的一种策略。

    Walkthrough--走读

    一个针对需求、设计或代码的非正式的同行评审,一般由作者发起,由作者的同行参与进行的评审过程。

    waterfall model--瀑布模型

    软件开发过程模型的一种,包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装和检查阶段、操作

    和维护阶段,这些阶段按次序进行,可能有部分重叠,但很少会迭代。

    White Box Testing--白盒测试

    根据软件内部的工作原理分析来进行测试。


    Link URL: http://mytesting.bokee.com/viewdiary.15959906.html
  • 软件测试相关定义

    2008-04-18 23:36:43

    1、软件测试一般要达到一下目标:
       确保产品完成了它所承诺或者公布的功能,并且保证所有用户可以访问到的功能都有明确的书面说明;
       确保产品满足性能和效率的要求;
       确保产品是健壮的和适应用户环境的;

    2、软件测试的原则:
       应尽早的和不断的进行软件测试;
       程序员或软件的设计机构应避免测试自己设计的程序;
       开始测试前应设计合理的测试用例;
       测试用例的设计应该有合法的数据输入,也应该有非法的数据输入;
       程序修改之后要进行回归测试;
       充分注意测试过程中的群集现象;
       妥善保留测试计划、所有测试用例、错误统计和最终分析报告,并作为软件的组成部分之一,为软件的维护提供方便;
       对每一个测试结果做全面检查;
       严格执行测试计划,排除测试的随意性;

    3、白盒测试:通过对程序内部结构的分析、检测来寻找问题;
       黑盒测试:通过软件的外在表现来发现其缺陷和错误;
       灰盒测试:关注输入对于输入正确性,同时也关注内部表现,但他对内部的关注不像白盒测试那样详细、完整,它只是通过一些表征性的现象、事件、标志来判断内部的运行状态;

    4、单元测试:定义:又称模块测试,是针对软件结构中独立的基本单位进行的测试;
                 目的:检测程序单位对《详细设计说明书》的符合程度;
                 依据:《详细设计说明书》、《单元测试计划》;
                 内容:局部数据结构、模块接口、重要执行路径、错误处理、边界测试;

       集成测试:定义:把通过单元测试的模块组装在一起后进行测试,其目的是检查程序单元或部件的接口关系;
                 依据:《概要设计说明书》、《集成测试计划》;
                 内容:在把各个模块组装起来的时候,穿越模块接口之间的数据是否会丢失;一个模块的功能是否会对另一个模块的功能产生不利的影响;各子功能组合起来,是否能达到预期要求的父功能;全局数据结构是否有问题;单个模块的误差累积起来,是否会放大,从而达到不能接受的程度;

       确认测试:定义:在开发过程期间或结束时对系统或部件进行评价,以确定它是否满足特定的需求的过程;
                 目的:验证软件的功能、性能及其他特性是否与用户要求的一致;
                 内容:软件是否符合所有的功能和性能的要求;文档资料是否正确完整;人机界面和其他方面是否令客户满意;

       系统测试:定义:在完成确认测试后,将软件作为计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他元素结合在一起,在实际应用环境下,对计算机系统进行的一系列组装测试和确认测试;
                 内容:恢复测试、安全性测试、强度测试、性能测试等;

       验收测试:定义:确定系统是否符合其验收准则,使客户确定是否能接受此系统或部件的正式测试;
                 依据:《需求规格说明书》、《验收测试计划》

    5、黑盒测试一般主要为了发现以下几类错误:
       是否有不正确或遗漏的功能;
       在接口上,输入的数据是否能被正确的接受,能否输出正确的结果;
       是否有数据结构错误或外部信息访问错误;
       性能上能否满足要求;
       是否有初始化或终止性错误;

    6、黑盒测试方法:等价类划分、边界值分析法、错误推测法、因果图法、场景法、正交试验法、功能图法、判定表驱动法
      
      


      



    Link URL: http://mytesting.bokee.com/viewdiary.15973081.html
  • 测试要点

    2008-04-18 23:36:43

    网络性能测试内容:网络容量测试、网络响应时间测试、网络可靠性测试、网络吞吐量测试、网络配置规模测试、网络瓶颈测试、衰减测试;
    网络应用测试内容:特性测试、功能测试、网络应用负载测试、网络系统响应时间测试、网络系统升级测试:

    Web测试内容:功能测试、性能测试、可用性测试、兼容性测试、安全测试
    功能测试:链接测试、表单测试、Cookies测试、设计语言测试、数据库测试
    性能测试:连接速度测试、负载测试、压力测试
    可用性测试:导航测试、图形界面测试、内容测试、整体界面测试
    兼容性测试:平台测试、浏览器测试
    安全测试:SSL配置测试、登录模块测试、事务完整性测试

    Web测试方法:虚拟用户法、WUS法、对象驱动法

    防火墙测试主要考虑以下的测试点:
    是否支持交换和路由两种工作模式;
    是否支持对http、ftp、smtp等服务的访问控制;
    是否考虑到防火墙的冗余设计;
    是否对日志进行了统计分析;
    是否支持日志的本地或远程数据库存储;
    对非法攻击是否有多种警告方式和警告级别;

    安全测试方法:功能测试、漏洞测试、模拟攻击测试、侦听技术
    安全测试内容:用户认证机制、加密机制、安全防护策略、数据备份与恢复、防病毒系统

    操作系统兼容性:跨平台测试、操作系统不同版本的兼容性测试、操作系统不同语言版的兼容性测试、不同厂家同类型操作系统的兼容性测试;
    软件兼容性测试:操作系统兼容性测试、数据库兼容性测试、中间件兼容性测试、与其他软件的兼容性测试

    安装测试内容:安装手册的评估、安装的自动化程度测试、安装选项和设置的测试、安装的中断测试、安装的顺序测试、多环境安装测试、安装的正确性测试、修复安装测试及卸载测试

    功能易用性测试:业务符合性、功能定制性、业务模块的集成度、约束性、交互性、系统信息与错误提示

    联机帮助的测试:准确性测试、用户的查询、帮助主题的完整性、帮助的风格

    用户文档:联机帮助、样例、示例和模板、包装、广告和宣传,其他
    用户文档测试要点:文档的读者群、文档的术语、文档的正确性、文档的完整性、文档的一致性、文档的易用性、样例与示例、文档的语言、印刷和包装质量


    面向对象测试过程:指定范围、指定深度、指定已创建的被测试模块的基本要求、以基本模型的内容为输入来设计测试用例作为评估标准、生成测试覆盖度量标准、试用测试清单执行静态分析,确保被测模块与基本模型的一致性、执行测试用例、如果覆盖不足以检测所有的活动,就需要分解测试工作,并且使用传统测试用例的方式来警醒,或者终端测试,重新测试传统测试用例;


    Link URL: http://mytesting.bokee.com/viewdiary.15977627.html
  • 系统可靠度

    2008-04-18 23:36:43

    两个部件地可靠度R均为0.8,由这个部件串联构成地系统地可靠度为______;由这个部件并构成地系统可靠度为______。

    串联:0.8×0.8=0.64

    并联:1-(1-0.8)(1-0.8)=0.96



    Link URL: http://mytesting.bokee.com/viewdiary.15984352.html
  • 软件测试试题参考

    2008-04-18 23:36:43

    1、  从软件工程角度来看,软件测试主要分为哪几个阶段?(画出流程图)

    2、  简要列出bug的几种状态

    3、  黑盒测试的定义,白盒测试的定义

    4、  CMM”的含义,分为哪5个等级。

    5、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。
      "一个程序读入3个整数,它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。"
    要求:设三角形的3条边分别为ABC,并且

    1 列出等价类表,格式如下:

    输入条件

    有效等价类

    无效等价类

    (注意:将等价类编号)

    (注意:将等价类编号)

    2 设计测试用例,格式如下:
       用例n:输入【ABC】覆盖等价类……(列出等价类序号),输出结果为……

    6设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:
    有一个处理单价为15角钱的盒装饮料的自动售货机软件。若投入15角硬币,按下可乐雪碧红茶按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

    (1)
    试利用因果图法,建立该软件的因果图;

    (2)
    设计测试该软件的全部测试用例。



    Link URL: http://mytesting.bokee.com/viewdiary.15984371.html
  • 如何从一名测试员转型为管理人员

    2008-04-18 23:36:43

    如果你是测试员或是高级测试员,有志转向管理发展,那么需要加强以下内容,至少要做到几点:

      1. 测试计划的编写(要结合测试的项目,能以此来控制和确定测试所需人员,设备及时间来管理测试时间)

      2. 要熟悉BUG跟踪工具及软件测试流程.(如: TD, Bugzilla, CQ等)

      3. 要熟悉配置管理工具. (如: CVS, VSS等)

      4. 要熟悉自动化工具.(例如:WinRunner, QTP, Robot, RFT, Automation等,能结合录制完的脚本编写代码)

      5. 要熟悉压力及性能测试工具.(例如: LoadRunner, webload, silkperformance等,能结合相关数据,分析出性能瓶颈)

      6. 要熟悉或精通一门语言. (例如: Java, C++)

      7. 要熟悉数据库.(例如: Oracle, DB2, SQLServer, MySQL)

      8. 要熟悉主流操作系统. (例如: HP Unix, IBM AIX, Sun Solaris, Red Hat Linux, SuSE Linux, Windows)

      9. 能用英文流利的和老外交流以及往来Email.

      10. 语言表达能力强,表达问题清晰明了.

      11. 沟通能力强,能和上级/开发经理很好的达成测试相关/BUG事宜.

      12. 学习技术的能力要强,能快速上手一个新的技术.

      13. 乐于与人交流.



    Link URL: http://mytesting.bokee.com/viewdiary.17530741.html
  • 漫谈软件测试工程师与mercury认证

    2008-04-18 23:36:43

    漫谈软件测试工程师与mercury认证--转自http://bbs.51testing.com/thread-32081-1-1.html
    作者: 叶赫华
    如需其他转载,请注明本网站和作者 sinckyzhang@hotmail.com

      自从本人从事软件测试培训以来,接触了太多的软件测试工程师;发觉从业者多数存在以下现象:
      ——刚刚毕业,踏入IT行业,不懂开发或开发经验薄弱,被迫或“亚被迫”从事软件测试工作;这心哪,瓦凉瓦凉的,一是根本不懂这工作是干嘛的,二是这工作不被很多公司重视,于是唏嘘的心里留下一声声叹息,蹒跚的人生步履留下一串串疑问…
      ——从事软件测试工作2年以上,由于公司不正规的测试流程,不标准的测试方法,因此,终日碌碌无为的点击按钮,某日拍脑袋突发奇想,测试出来一个bug,于是兴奋焉…终后没有新思路,于是没有发现新bug,于是不再兴奋;于是这两三年来,无论测试经验,还是测试技术、方法,包括理论,都无长进,于是郁闷甚至极度懊恼这几年来究竟做了些什么,明天又该何去何从呢?仰天长啸,却无语对穹苍…
      ——有过若干年开发经验,也许由于疲惫于终日编码,也许感觉软件测试是个朝阳领域,于是转做测试…但是好景不长,兴奋度持续一段时间,感觉自己的想法和思维方式与现实工作模式严重分歧,所谓天妒英才,空有一身本领,竟无用武之地!于是满腹的经纶化作无言的泪水,内心的豪情壮志也逐渐泯灭!接着开始逐渐适应了眼前的这份高级测试工程师的头衔和薪水,觉得干工作就是那么回事,何必计较那么多?虽未清晰构建余下二三十年的职业蓝图,但是也觉得起码自己比起很多同行,还算不赖;时间如流水般在烟圈与香水中消逝,吾生就是这样终日撞钟,铛——铛——铛——(好响!斑竹,猪头切一半给我,堵耳朵!)…
      如果您作为一名测试工程师,看了上述三种状况,感觉自己不属于任何一种,那么只有两种可能:一是您是超级高手——您聪明绝顶,有着可以大展宏图的工作机会,又有满意的薪资,而且对这一行业无限热爱…反正对您来说,一切都太完美了,无懈可击!二呢,也许您是个漠视一切、目空一切的家伙,天塌下来当被盖的那种,反正什么言论对您都无懈可击!为此,本人建议此两种人不看本文,以免互相拍砖,破坏安定团结的大好局面^-^。

      好啦,气氛活跃至此止,以下是严肃话题。

      如果您是个积极进取、想在年轻时成就一番事业的人,那么请绝对相信这几句话:
      ——行行出状元!
      ——人生能有几回搏!
      ——错过这村,就没这店了!
      为此,有必要说明下这几句俗语在软件测试行业的应用。首先,我们国内的很多软件测试从业者,是对软件开发不太擅长,但是又对软件行业又由衷的热爱,所以做了软件测试。但苦于读书时候没有学习过该方面知识,公司里又不一定有经验丰富的人员给予指导;因此,初涉软件测试的年轻朋友,大多做了半年、一年,感觉自身技能提高并不大,再加上整体行业发展缓慢,和网上的同行一交流,更是感觉软件测试没有希望,自己的前途黯淡无光!无奈只好终日吟唱“我的天是灰色,我的心是蓝色…”常言道,“男怕选错行,女怕嫁错郎!”——当然如今男女平等了,尤其软件测试从业者,男女比例基本上还算对等——那么,是不是软件测试行业真的没前途?软件测试工程师真是低人一等呢?当然不是,而且绝对不是!和软件开发领域相比,测试发展不过短短的10来年,而且主要是近三五年,所以整体行业不成熟也就情有可原。但是换句话说,乱世出英雄!如果你学软件开发,你知道作为一名合格开发工程师需要学习什么,知道开发工程师的待遇如何,知道开发工程发展前景如何;但是测试行业还没有发展到让你足够看清这些东西的阶段,所以在软件行业中对于喜欢挑战性职业的人,那么软件测试绝对是个好的突破口。各种统计数据表明,国内软件测试的人才缺口,未来几年将达到30到40万,所以对于朋友们来说,干这行还是有相当大的发展空间!但是,如何在众多的从业者中独树一帜、成为行业状元呢?这就需要技巧了!
      再说第二方面。记得有句歌词叫“无怨无悔我走我路,走不尽天涯路…”!如今这个年代,各行各业竞争都很激烈,很难再有90年代初猛然蹦出一批暴发户的机会;因此,不管你因为什么选择了软件测试行业,都要无悔的走下去,只要有决心和毅力,终会成就正果!网上有篇文章叫《不做浮躁的人》,说的很好,我想我们确实该脚踏实地的做些事情,提高自己。抱怨这个行业只会让心情更加压抑,投入的做些具体的事情,待到自己有足够能力的时候,那么你就是推动这个行业发展的先驱;如此一举多得的事情,干吗不做呢!做踏实的人,不做抱怨的人,就算我们改变不了这个世界,也不要在这个世界里迷失自我。换句话说,年轻时候不卖力做点事情,老来方悔则一切晚矣,回首这一生,碌碌无为,可怜、可叹…这也是我要说的“人生能有几回博”。
      唱了这么多高调,鼓舞一下大家的气势。那么,究竟如何在国内的软件测试行业现状下找到一条适合自己发展、并能快速提高职业技能的捷径呢?

      我想应该从测试工程师的职业生涯定位谈起。从宏观意义讲,软件测试可以划分为以下三个方面:
      ●软件测试管理:测试流程管理、测试职业管理,测试技能方法管理等
      ●软件测试技术方法:根据软件测试的不同阶段周期、不同测试类型、不同软件类型等,深入研究软件测试的技术及方法
      ●软件测试自动化:自动化测试流程、自动化测试管理、自动化测试工具等
      软件测试大致分为以上三类,每类可细化为更多子方面,例如第二类根据测试类型还可细化为功能测试、性能测试、安全测试等,根据测试方法可细化为黑盒测试、白盒测试、灰盒测试等。因此,软件测试工程师的职业发展方向,也大致可以如此粗略分类,并逐渐细化。这里,之所以将软件测试自动化单独列出来,是考虑到软件测试自动化既包括技术方法方面,又包含管理方面;更重要的是,软件测试自动化是软件测试领域无法逾越的发展阶段,随着应用软件程序规模的不断扩大,业务逻辑的不断复杂,以及从业者相互协作关系的日益重要,在软件的测试活动里适当使用自动化测试是非常必要的;并且,这种思维已经逐渐在国内外众多软件企业的测试领导者头脑中定型,他们也都意识到自动化测试的种种优势,并都或多或少希望购买和培训自动化测试工具。我们接触的很多大中型软件公司,包括外企,甚至早就在内部实施自动化测试,其中以使用mercury loadrunner、quicktestpro以及testdirector等工具的企业用户居多。
      这里我想对喜欢自动化测试或立志成为自动化测试工程师的同行朋友说点个人想法,并结合mercury自动化测试工具,推荐些许学习方法,以供大家参考。
      1)如果你有过开发经验,哪怕一点点,并且一直以来从事的是功能测试工作,那么推荐你学习自动化功能测试工具,并在此方面深入研究下去。该职位待遇一般是本地城市手工测试工程师的两倍左右,如果到达高级自动化测试工程师职位,从事自动化测试设计或测试框架的开发,待遇会更高。Mercury公司的winrunner和quicktestpro,是目前最主流的自动化功能测试工具,学习二者的方法也很简单,只要懂得c语言和VBscript即可。要深入学习,当然还要熟悉自动化功能测试的流程、管理及深层开发(包括测试框架、库函数等)。当前国内的应用软件开发,主流还是c/s与b/s两种架构,前者一般采用vb、vc、delphi、pb或java等开发,而winrunner工具对此类软件支持得比较好,很适合在这样的软件测试活动中采用自动化测试;后者一般是采用.net或j2ee技术开发的基于浏览器类软件,测试该类软件就非quicktestpro莫属了,它是mercury公司专门针对web程序的自动化测试工具。由于自动化功能测试工具品牌多,入门简单,因此,也是众多立志成为自动化测试工程师的首选。
      2)作为一名软件测试从业者,我们知道执行性能测试,使用手工方式是无法想象的,因此借助工具来实现是非常必要的。目前业内存在两种现状:一是很多公司为了节约购买工具的成本或本身不要求软件性能指标而干脆不执行性能测试;二是由于性能测试是一门博大精深的技术工作,起步较高,因此这方面的高手不多,造成很多大中型软件企业或外企严重缺乏性能测试工程师!性能测试工程师待遇,一般是本地手工测试工程师的三倍甚至更多;我们接触的企业客户需求里,很多开价上万的性能测试工程师职位,竟然很难招到。随着软件开发技术越来越高深,业务逻辑越来越复杂,对软件的质量要求同样也会越来越高,软件一定会存在性能缺陷,因此对软件的性能要求也会随之而来;况且,软件的性能指标是软件用户手册里的重要组成部分,从正规测试流程上来说,凡是网络应用软件,不可不做性能测试!但是,从事性能测试的工程师,需要掌握太多的知识,包括计算机网络、数据库、操作系统、服务器等,而且还要有深厚的性能测试计划、设计、分析能力,以及丰富的性能测试经验,这些如果单靠个人的自行摸索,肯定是不太实际的。Mercury公司的loadrunner,是目前国际上性能测试工具的绝对领导者,具有百分之75的市场占有率;在国内,业界同行也都是提起性能测试首先想到loadrunner;因此loadrunner是在软件测试领域里立志成为一名合格的、优秀的性能测试工程师的朋友们的绝对首选。
      3)如果你从来没有过软件开发经验,一直从事的只是手工测试,而且对软件测试的流程管理有着浓厚的兴趣,尤其对于那些从事测试的姑娘们!testdirector都听说吧?它集测试需求、测试用例、测试执行、软件缺陷管理于一身,将软件测试的整个流程统一管理,并支持异地分布式测试资源管理。和众多的软件测试同行接触,我们愈加发现一个问题,那就是我们很多的业界朋友,缺乏完整的、系统的软件测试知识体系,喜欢满足现状,而不去思考如何更加有效的实施软件测试活动,优化软件测试流程。针对这种现状,学习国外优秀的软件测试流程与管理经验,就理所当然了。而testdirector就是当前市场上最优秀的软件测试流程与资源管理的工具,目前本人还未见过一款测试管理工具集成如此众多功能(当然它的升级版quality center也是mercury公司的)。因此,掌握该款工具的使用,是立志成为软件测试管理者的一个非常必要的方面。
      4)其他自动化测试领域,本文暂不讨论,例如白盒测试、特殊类型测试等。

      那么,什么是开拓上述三种自动化测试职业的捷径呢?
      答案很简单,如果你可以抛开世俗观念,考取mercury认证绝对是捷径!
      下面我要向大家论证考取mercury认证的几大理由:
      首先,mercury公司是软件质量保证工具开发商中的绝对领导者。下图是美国gartner公司的最新调查结果,位于坐标第一象限最右上角的就是mercury,图中还有其他我们熟知的几个公司,如IBM rational、compuware等,但是mercury长久以来,一直独占着软件测试工具提供商的领先地位,包括很多在华投资成立软件研发基地的外企,他们多数都是使用mercury测试工具。如果有了这个测试工具供应商的王者,那么,想要学习自动化测试工具,有什么理由不选择mercury呢? 其次,拿本人经验来说,有了mercury工具的使用经验,即便将来所在公司不使用该款工具,那么再学习其他的工具也会相当顺手,不费吹灰之力!为什么呢?举例来说,比如loadrunner的网络协议是本人所接触的性能测试工具中,支持最多的(相信很多人会同意我这个观点),如果将来你打算换用webload、silkperformer(当然它们的局限性要比loadrunner大的多)等性能测试工具,绝对不会比loadrunner还复杂;再比如拿quicktestpro和其他针对web程序的测试工具(如qawizard、XDE Tester等)相比,使用更是完全类似(不了解的人可以到本人blog查看我的文章去亲自对比)。至于testdirector,更是独一无二的功能强大的测试管理工具,没的选择!



      再次,如果你的眼光足够长远,能够看清未来软件测试中自动化测试的重要地位,那么你更应该选择。回想当年的思科认证,刚刚推出时候价格昂贵,但是依然有那么多的人去考。为什么呢?因为有大量的需求!认证通过的人过后都认为这笔投入值得!类比软件测试行业,虽然现在还没到达计算机网络行业发展的那样成熟,但是未来的两三年后,如果有一天到处都是自动化测试的人才需求,到时再临时抱佛脚,相信你不会有什么优势了。任何认证都是初期最有价值的,如果抓住机会在推广初期考取,等到这个认证普遍到一定程度,你已经有了几年的实用经验,所以优势仍在、风采依然!顺便提醒一句,计算机行业发展是相当快的,回首过去这3年,软件测试行业一直是在飞速前进的。如果错过如今这段大好时光,没有及时为自己充电,那么如今你这位软件测试新手,到了3年以后,依然是新手,只是比那时刚毕业的热血青年显得沧桑了一些… 所谓岁月不等人咧,这也是我前边要说的“过了这村就没这店啦”…
      然后,我要说明为什么要考取mercury认证,而不考其他认证。理由很简单,本人一直坚定的认为软件测试是实用性学科,是实践性工作,重理论而不强调理论,不断实践同时积累经验,遵守规范并不断创新!如果你为了眼前一个工作机会而花点小钱,获得一个什么机构颁发的资格认证,尤其那种完全理论性的、满篇题目都是“负载测试与压力测试什么区别”之类的恶心至极的题目的考试,那么恕我直言,你真是鼠目寸光!试问这样的认证有什么用呢?哪个企业的老板会笨到雇用一个纸上谈兵的军师呢?况且你这个军师也是“墙上芦苇,头重脚轻根底浅;山间竹笋,嘴尖皮厚腹中空”!坦诚的说一句,为了应付这样的考试花2个星期背那些题目,都不如下载个试用版loadrunner,对照网上的使用手册练习一下工具的使用!
      最后,我要说一个实际的问题,那就是money了。相比当年的思科认证、微软认证的上万元报名费,mercury认证的三千多、六千多,还是相当便宜的。最直白的说一句,如果你的眼下薪资有3k,花一个月或两过月的薪水买个“国际认证”,那么这件事绝对值得!当然,考取mercury认证的真正核心价值,完全是顺应软件测试自动化的时代潮流,掌握最先进的软件测试自动化技术和管理方法。

    最最后,再为有志于考取mercury认证的同行朋友给予一点点建议。
      如果你是初涉软件测试行业的测试工程师,没有或很少接触过自动化测试,那么可以从mercury认证的CPE(certification product education)开始,该认证是mercury认证的汉化版,通过者可以掌握mercury认证工具的完全使用。
      如果你具有了3个月以上的mercury工具使用经验,英文能力还不错,或者通过了CPE考试,那么可以直接考取CPS(certification product specialist),之后考取CPC(certification product consultant)。这两种考试都是英文,证书由美国mercury总部颁发,后者价值大于前者,考试难度也大于前者。并且,二者认证已经不限于工具本身的使用,而是结合了代表mercury公司作为软件测试行业龙头地位的先进、正规的自动化测试流程,其通过者也相当受大中型软件公司、尤其外企的青睐,当然这一需求也是我们在长期积累的企业客户关系中总结出来的。
      详细mercury认证咨询,请登陆 www.51testing.com 查阅。
      送上最后一句至理名言----“命运掌握在自己的手中”!如果你对一件事物犹豫不决的时候,那么请尝试学习《卡耐基成功之道》里介绍的方法,在纸上分别写下做此事的理由与不做此事的理由,如果此事的可行性是百分之五十一,那么就别再踌躇了,放心大胆的去做吧!时间会证实一切,因为你的确在进行着一件该行业前所未有的划时代式活动;记住,上帝宠爱勤奋的孩子,他会与你并行….(祝福ing)  

    (2005年7月5日于上海无空调的日子)  

      写在后面的话:决定写这篇文章的时候,已经知道没办法避免广告嫌疑了;因为本人就在51testing,而且国内仅此一家代理mercury认证!就算从职业道德上讲,也要维护本公司利益!不反对吧?再者,您真的认为本文就是个华丽的广告而已?^-^这是其一。
      其二,注意我的措辞“如果你能屏弃对认证的世俗观念”,如果不能,对本文进行抨击也没有必要,怎么说我们也是同行!而且,我在文章最初也说了,如果你看了文章觉得让你血压升高,其实根本没必要看完的,对吧^-^
      其三,我在文章强调考取该认证是个在测试行业快速成长和提高的快捷方式,不是必须!
      其四,对于有朋友问的认证后有何用处,我觉得还是有很大好处的。在我们接触的众多企业客户里,还是很多大中型软件企业购买工具,实施自动化,但是想招一位自动化测试专家来在公司实施这件事,还是有很大难度,原因就是这样的人太少了。所以,我觉得如果你能经过该认证对自动化测试方面的系统培训并通过考试,面对此类人才需求,肯定还是有大展宏图的机会的(当然对此没兴趣的人,还是当我废话算了)。


    Link URL: http://mytesting.bokee.com/viewdiary.18034115.html

我的存档

数据统计

  • 访问量: 12280
  • 日志数: 27
  • 建立时间: 2008-04-06
  • 更新时间: 2008-04-18

RSS订阅

Open Toolbar