发布新日志

  • 软件测试术语

    2007-06-06 13:45:16

    Unit testing(单元测试),指一段代码的基本测试,其实际大小是未定的,通常是一个函数或子程序,一般由开发者执行。
    Integration testing(集成测试),被测试系统的所有组件都集成在一起,找出被测试系统组件之间关系和接口中的错误。该测试一般在单元测试之后进行。
    Acceptance testing(验收测试),系统开发生命周期方法论的一个阶段,这时相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。这是管理性和防御性控制。
    Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。
    Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。
    Black box testing(黑盒测试),指测试人员不关心程序具体如何实现的一种测试方法。根据软件的规格对软件进行各种输入和观察软件的各种输出结果来发现软件的缺陷的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。
    White box testing(白盒测试),根据软件内部的工作原理分析来进行测试,基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
    Automated Testing(自动化测试),使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。
    Bug (错误),有时称作defect(缺陷)或error(错误),软件程序中存在的编程错误,可能会带来不必要的副作用,软件的功能和特性与设计规格说明书或用户需求不一致的方面。软件缺陷表现特征为:软件未达到产品说明书标明的功能;软件出现产品说明书指明不会出现的错误;软件功能超出产品说明书指明的范围;虽然产品说明书未指出但是软件应达到的目标;软件测试人员或用户认为软件难以理解,不易使用,运行速度缓慢等问题。 Bug report(错误报告),也称为“Bug record(错误记录)”,记录发现的软件错误信息的文档,通常包括错误描述、复现步骤、抓取的错误图像和注释等。
    Bug tracking system(错误跟踪系统,BTS),也称为“Defect tracking system,DTS”,管理软件测试缺陷的专用数据库系统,可以高效率地完成软件缺陷的报告、验证、修改、查询、统计、存储等任务。尤其适用于大型多语言软件的测试管理
    Exception(异常/例外),一个引起正常程序执行挂起的事件。
    Crash(崩溃),计算机系统或组件突然并完全的丧失功能,例如软件或系统突然退出或没有任何反应(死机)。
    Build(工作版本),软件开发过程中用于内部测试的功能和性能等不完善的软件版本。工作版本既可以是系统的可操作版本,也可以是展示要在最终产品中提供的部分功能的部分系统。
    Functional testing (功能测试),也称为behavīoral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
    Load testing(负载测试),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
    Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。
    Pilot testing(引导测试),软件开发中,验证系统在真实硬件和客户基础上处理典型操作的能力。在软件外包测试中,引导测试通常是客户检查软件测试公司测试能力的一种形式,只有通过了客户特定的引导测试,软件测试公司才能接受客户真实软件项目的软件测试。
    Portability testing(可移植性测试),测试软件是否可以被成功移植到指定的硬件或软件平台上。
    Compatibility Testing(兼容性测试),也称“Configuration testing(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。
    Installing testing(安装测试),确保该软件在正常情况和异常情况的不同条件下,例如,进行首次安装、升级、完整的或自定义的安装都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。核实软件在安装后可立即正常运行。安装测试包括测试安装代码以及安装手册。安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。
    International testing(国际化测试),国际化测试的目的是测试软件的国际化支持能力,发现软件的国际化的潜在问题,保证软件在世界不同区域中都能正常运行。国际化测试使用每种可能的国际输入类型,针对任何区域性或区域设置检查产品的功能是否正常,软件国际化测试的重点在于执行国际字符串的输入/输出功能。国际化测试数据必须包含东亚语言、德语、复杂脚本字符和英语(可选)的混合字符。
    Localizability testing(本地化能力测试),本地化能力是指不需要重新设计或修改代码,将程序的用户界面翻译成任何目标语言的能力。为了降低本地化能力测试的成本,提高测试效率,本地化能力侧是通常在软件的伪本地化版本上进行。本地化能力测试中发现的典型错误包括:字符的硬编码(即软件中需要本地化的字符写在了代码内部),对需要本地化的字符长度设置了国定值,在软件运行时以控件位置定位,图标和位图中包含了需要本地化的文本,软件的用户界面与文档术语不一致等。
    Localization testing(本地化测试),本地化测试的对象是软件的本地化版本。本地化测试的目的是测试特定目标区域设置的软件本地化质量。本地化测试的环境是在本地化的操作系统上安装本地化的软件。从测试方法上可以分为基本功能测试,安装/卸载测试,当地区域的软硬件兼容性测试。测试的内容主要包括软件本地化后的界面布局和软件翻译的语言质量,包含软件、文档和联机帮助等部分。
    Ad hoc testing (随机测试),没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
    Smoke testing(冒烟测试),冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。参考“Sanity testing(健全测试)”。
    Sanity testing(健全测试),软件主要功能成分的简单测试以保证它是否能进行基本的测试。
    User interface(用户界面,UI),广义是指使用户可以和计算机进行交互的硬件和/或软件。狭义是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。
    User interface testing (用户界面测试),指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。
    Static testing(静态测试),不通过执行来测试一个系统。如代码检查,文档检查和评审等。
    Regression testing(回归测试),在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再现。
    Capture/Replay Tool (捕获/回放工具),一种测试工具,能够捕获在测试过程中传递给软件的输入,并且能够在以后的时间中,重复这个执行的过程。这类工具一般在GUI测试中用的较多。
    Debug(调试),开发人员确定引起错误的根本原因和确定可能的修复措施的过程。一般发生在子系统或单元模块编码完成时,或者根据测试错误报告指出错误以后,开发人员需要执行调试过程来解决已存在的错误。
    Deployment(部署),也称为shipment(发布),对内部IT系统而言,指它的第一个版本通过彻底的测试、形成产品、交付给付款客户的阶段。 Dynamic testing(动态测试),通过执行软件的手段来测试软件。
    Garbage characters(乱码字符),程序界面中显示的无意义的字符,例如,程序对双字节字符集的字符不支持时,这些字符不能正确显示。
    GB 18030 testing(GB 18030测试),软件支持GB 18030字符集标准能力的测试,包括GB 18030字符的输入、输出、显示、存储的支持程度。
    Priority(优先权),从商业角度出发是指错误的重要性,尤其是从客户和用户的角度出发,是指错误对于系统的可行性和可接受性的影响。与“Severity(严重性)”相对照。
    Severity(严重性),错误对被测系统的影响程度,在终端用户条件下发生的可能性,软件错误妨碍系统使用的程度。
    Quality assurance(质量保证QA),采取相关活动,以保证一个开发组织交付的产品满足性能需求和已确立的标准和过程。
    Review(评审),在产品开发过程中,把产品提交给项目成员、用户、管理者或其它相关人员评价或批准的过程。
    Screen shot(抓屏、截图),软件测试中,将软件界面中的错误(窗口、菜单、对话框等)的全部或一部分,使用专用工具存储成图像文件,以便于后续处理。
    Software life cycle(软件生命周期),开始于一个软件产品的构思,结束于该产品不再被使用的这段期间。
    Structured query language(结构化查询语句,SQL),在一个关系数据库中查询和处理数据的一种语言。
    TBD(To be determined,待定),在测试文档中标是一项进行中的尚未最终确定的工作。
    Test(测试),执行软件以验证其满足指定的需求并检测错误的过程。检测已有条件之间的不同,并评价软件项的特性软件项的分析过程。软件工程过程的一个活动,它将软件在预定的条件下运行以判断软件是否符合预期结果。
    Test case(测试用例),为特定目标而开发的一组测试输入、执行条件和预期结果,其目标可以是测试某个程序路径或核实是否满足某个特定的需求。
    Testing coverage(测试覆盖),指测试系统覆盖被测试系统的程度,一项给定测试或一组测试对某个给定系统或构件的所有指定测试用例进行处理所达到的程度。
    Testing environment(测试环境),进行测试的环境,包括测试平台、测试基础设施、测试实验室和其他设施。
    Testing item(测试项),作为测试对象的工作版本。
    Testing plan(测试计划),描述了要进行的测试活动的范围、方法、资源和进度的文档。它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险。
    Testing procedure(测试过程),指设置、执行给定测试用例并对测试结果进行评估的一系列详细步骤。
    Testing scrīpt(测试脚本),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。
    Testing suite(测试包),一组测试用里的执行框架;一种组织测试用例的方法。在测试包里,测试用例可以组合起来创造出独特的测试条件。
  • 如何配置软件测试环境

    2007-06-06 13:38:43

    配置测试环境是测试实施的一个重要阶段,测试环境适合与否会严重影响测试结果的真实性和正确性。测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备,以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库其他应用软件构成的环境。在实际测试中,软件环境又可分为主测试环境和辅测试环境。主测试环境是测试软件功能、安全可靠性、性能、易用性等大多数指标的主要环境。一般来说,配置主测试环境可遵循下列原则: 51Testing软件测试网7NUU$o D.u-pY p

    :w*qM2Ka121932
      1.符合软件运行的最低要求。测试环境首先要保证能支撑软件正常运行。

    2.选用比较普及的操作系统和软件平台。例如,一个软件若声称支持“Windows9X/ME/NT Workstation/2000 professional”“MS Office 97/2000/XP”,一般我们会采用如“Windows 2000professional+MS Office 2000”的流行环境。

    3.营造相对简单、独立的测试环境。除了操作系统,测试机上只安装软件运行和测试必需的软件,以免不相关的软件影响测试实施。

    4.无毒的环境。利用有效的正版杀毒软件检测软件环境,保证测试环境中没有病毒。

      辅测试环境常常用来满足不同的测试需求或特殊测试项目:

      兼容性测试:在满足软件运行要求的范围内,可选择一些典型的操作系统和常用应用软件对其安装卸载和主要功能进行验证。   

      模拟真实环境测试:有些软件,特别是面向大众的商品化软件,在测试时常常需要考察在真实环境中的表现。如测试杀毒软件的扫描速度时,硬盘上布置的不同类型文件的比例要尽量接近真实环境,这样测试出来的数据才有实际意义。

      横向对比测试:利用辅测试环境克隆出完全一致的测试环境,从而保证各个被测软件平等对比。

  • WEB测试资料

    2007-06-06 13:29:45

     

    关于web测试
    1页面部分
    (1) 页面清单是否完整(是否已经将所需要的页面全部都列出来了)
    (2) 页面是否显示(在不同分辨率下页面是否存在,在不同浏览器版本中页面是是否显示)
    (3) 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)
    (4) 页面特殊效果(如特殊字体效果、动画效果)是否显示
    (5) 页面特殊效果显示是否正确

    2 页面元素部分
    (1)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)
    (2)素是否显示(元素是否存在)
    (3)页面元素是否显示正确(主要针对文字、图形、签章)
    (4)页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等)
    (5) 页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连接)
    (6) 页面元素的容错性列表(如输入框、时间列表或日历)
    (7) 页面元素的容错性是否存在
    (8) 页面元素的容错性是否正确

    3 功能部分
    (1) 数据初始化是否执行
    (2) 数据初始化是否正确
    (3) 数据处理功能是否执行
    (4) 数据处理功能是否正确
    (5) 数据保存是否执行
    (6) 数据保存是否正确
    (7) 是否对
    其他功能有影响
    (8) 如果影响其他功能,系统能否作出正确的反应
    (9) 其他错误
    (10) 对模块的具体功能进行测试时可以列出功能模块的所有功能,进行排列组合,测试所有情况
    如:某一功能模块具有最基本的增删改查功能,则需要进行以下测试
    单项
    功能测试(增加、修改、查询、删除)
    增加——>增加——>增加 (连续增加测试)
    增加——>删除
    增加——>删除——>增加 (新增加的内容与删除内容一致)
    增加——>修改——>删除
    修改——>修改——>修改 (连续修改测试)
    修改——>增加 (新增加的内容与修改前内容一致)
    修改——>删除
    修改——>删除——>增加 (新增加的内容与删除内容一致)
    删除——>删除——>删除 (连续删除测试)
    (11)查询功能分为两种情况,验证操作结果。
    一、打开页面时自动显示结果,则不特别强调;
    二、需要手工操作进行查询,则每次在其他功能完成后进行。
    4 提示信息
    (1) 成功、失败提示
    (2) 操作结果提示
    (3) 确认提示
    (4) 危险操作、重要操作提示
    (5) 返回页面 提示后显示的页面
    5 容错性
    注意以下几种情况
    (1) 为空、非空
    (2) 唯一性
    (3 )字长、格式
    (4) 数字、邮政编码、金额、电话、电子邮件、ID号、密码
    (5) 日期、时间
    (6) 特殊字符 (对
    数据库)英文单、双引号,&符号
    6 权限部分
    功能权限: 指定用户可以使用那些功能,不能使用那些功能
    数据权限: 指定用户可以处理那些数据,不可以处理那些数据。可
    以合并到功能测试
    操作权限: 在逻辑关系上,操作前后顺序、数据处理情况。可以合
    并到功能测试
    权限变化: 可以合并到功能测试

    (1) 功能权限是否存在
    (2 )功能权限是否正确
    (3) 数据权限是否存在
    (4) 数据权限是否正确
    (5)操作权限是否存在
    (6) 操作权限是否正确
    (7) 引起权限变化的功能列表
    (8) 功能权限变化还是数据权限变化,或两者兼有
    (9) 权限变化是否正确

    7 键盘操作
    (1) Tab键的使用
    (2) 上下方向键的使用
    (3) Enter键的使用
    (4) 系统设定快捷键的使用(如果设置有快捷键)

    8 测试中还应注意的其他事项
    (6) 完整性:是否是一个整体,没有功能缺损
    (7) 易用性:使用是否方便
    (8) 一致性:类似的问题用类似的方法处理
    (9) 提示信息:提示信息是否完整、正确、详细
    (10) 帮助信息:是否提供帮助信息,帮助信息的表现形式(页面文字、提示信息、帮助文件),帮助信息是否正确、详细
    (11) 兼容性:包括
    操作系统兼容和应用软件兼容,可能还包括硬件兼容
    (12) 可扩展性:是否由升级的余地,是否保留了接口
    (13) 稳定性:运行所需的软硬件配置,占用资源情况,出现问题时的容错性,对数据的保护
    (14) 运行速度:运行的快慢,带宽占用情况

    有几点:
    1.功能点测试:是否满足需求所要求的功能
    2.字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.
    3.字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.
    4.标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.
    5.中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.
    6.信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.
    7.界面测试:界面的正确性、一致性、友好性、易用性。

    用户界面测试是从最终的使用者用户的角度来看软件,软件难以理解,不易使用就是软件缺陷。可以从以下几个方面重点来检查用户界面:
    1.易用性检查:确保软件易于理解,方便使用。
    2.一致性检查:
    a.注意系统页面的风格是否一致,如字的大小、颜色、字体要相同。
    b.提示信息的表达方式是否一致。
    c.按钮排列顺序是否一致。
    d.back, cancel等按钮跳转页面处理是否一致。
    e.各字段的名称,位置、长度、类型是否和设计文档要求一致,如Employee No和LoginName不一致。
    3.正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确。
    4.友好性检查:
    a.提示信息是否友好.
    b.系统应该在用户执行错误的操作之前提出警告,提示信息.
    c.页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性。
    5.合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理。
    6.检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业。
    7.页面最大化检查:测试最大化/最小化/还原时页面是否做了对应的处理。

     

  • 面试经验

    2007-06-06 13:15:17

    最近在坛子上看到不少人在谈论面试技巧,面试经历,我也想用自己4年工作经验以及结合自己的面试经历。4年的软件测试工作一直都在一个公司发展。不过中途确实想离开过,但是介于种种因素,我没有离开目前的公司。在这几年间也参加过几个公司的面试,这边谈谈我对面试的想法。

       先谈欧美企业,因为是我最想去的企业,所以来谈谈,南京我参加过3个外企的面试,都没有成功,主要原因在于英文和编成能力。我是从事通讯行业的,这个行业的软件测试也分白盒,黑盒,对于黑盒我建议别去,原因很简单,可能你去学不到什么东西,除了欧美企业的管理经验。欧美企业分工非常明确,每个人只会做一小块东西,所以做黑盒测试就和井底之蛙一样,很少有机会学到东西。测试工具完全由测试工具开发部门开发,只要操作下就好了。欧美企业的百盒测试,对测试工程师要求很高,基本百盒测试工程师要比程序员的水平还要高。不过如果真的能应聘成功,待遇也会比程序员高不少。欧美企业很看重应聘者的动脑能力,以及英文能力。当然目前国内有不少欧美企业已经完全国内化,从上到下都是中国人,说汉语,这样的企业不是我的目标,我喜欢刚到国内发展的欧美企业,有活力,很潜力。

       台企,最大的印象就是台企希望面试者如果被应聘成功,马上就能到公司进入工作状态,创造价值,一般培训时间短,希望从被应聘者身上得到更多应聘者所在公司的信息,所以对于到台企面试的朋友来说,记住,别什么都说,对于重要信息和技能要留些,等真的录用后,再有条件的告知。

       国企,国企最大的特点就是官僚思想严重,面试你的人一般先是公司的高层,也许什么都不懂,但是因为他所在位置,他总要显示出他对技术能精通,同时还要把他们的公司大夸一遍,他面试结束后总还会再找几个测试部门的人员再问些问题。但是问问题总会露馅,发现很多测试人员很多基础知识自己也不是很明确,可能是手机行业大部分都是黑盒测试,有些人技术文档可能很少接触的原因吧,我肯定的回答他们,他们开始对他们自己开始怀疑,也不好意思问我什么了。

       最后就是私营小公司,没有去这样的公司面试过,所以没有太多经验可谈,小公司可以作为刚入行的工作积累。

       对于测试我觉得最主要的是有测试的能力,当你去参加一次软件测试工程师职位面试前,你应该先问问自己是否适合做测试。其次就是对测试有概念性的了解。你应该用你自己的方式让面试考官知道你熟悉如何测试,让他清楚你适合这份工作。对于测试工具,目前的测试工具很多,工具只是一种媒介,就像word,excel一样,一个不会使用的人,到会使用这个过程不难,到熟练使用,也是多操作的结果。所以一个好的用人单位不会对此部分非常看重。我觉得大家只要知道每个测试工具的用途,和会使用一种测试工具就可以了。

        本文只是个人亲身经历的感受,不代表整个测试行业企业的划分。欢迎大家一起交流。

  • 什么是测试

    2007-06-06 13:00:28

    也许有的人会说,测试就是找bug。我想这样的描述太简单了,测试的目的是为了发现bug,但是为了实现这个目的需要的是一个测试的过程。 有很多介绍测试的文章,大家从中学到了测试的各种方法,但是请不要忽视测试的过程。作为一个黑盒测试,比如手机测试,一个测试人员可能在项目初期很容易发现bug,尤其对一个刚入行的新人来说,可能觉得测试好简单,就是玩玩手机,所谓的测试用例也很简单,随便写写就好了。其实并不是这样的,在项目测试真正开展前期会有个相当重要的测试准备阶段,它包括从对所测试项目的全面分析,制定可行的测试计划,测试人员和时间的安排,以及测试环境的组建。要保证项目 bug基本为0就需要全面的测试覆盖,单纯的想到什么测试什么的方法,只能到项目后期给项目带来很多隐患。我以前就是这样,刚入行,觉得测试很容易,对模块测试也没有什么安排,今天测这个模块,明天觉得没有意思了就测试别的,导致测试无法全面覆盖,到了项目最后的时候总是要加班,越测发现问题越多。所以我想说测试的过程很重要,好的过程决定了结果!同时在这边对那些还在黑盒测试中迷茫的同行说,测试是一门学问,请别忽视每个学习和提高自己的机会!测试的人要求软件完美,而达到完美是一个艰苦的过程!
  • 测试工程师素质

    2007-06-06 11:58:25

    今天无意中在坛子上看到了“软件测试从这里开始”,细心阅读,体会作者对软件测试工作的经验总结。

    “寻找最小最重要的用例集合成为我们精简测试复杂性的一条必经之道。”

    目前在测试中,老板总觉得不断的扩展测试用例可以增加测试的可靠性,但是很多测试用例已显得冗杂,作为软件测试工程师,在编写测试用例的时候应该多思考,在保证测试的完整性的前提下,应该尽量用一个测试用例完成多个测试点。如果1天可以完成100个测试用例,那如果100个测试用例可以集合为50个测试用例,同样可以完成这100个测试用例的完整度,那么1天的工作效率即可提高100%。

    “测试工程师素质:

    沟通能力、自信心、幽默感、记忆力<挖掘以往错误 >、耐心、怀疑精神、自我督促、洞察力<发现重点>;
    广泛的经验;
    表达能力、问题描述能力;
    会提问,会寻求 Help;
    逻辑思维能力;
    团队协作能力;
    处理日常事务的能力和处理突发事件的能力”

    我觉得作为一个测试人员最重要的几个素质为:

    • 逻辑思维能力。这点很重要,尤其对测试工程师来说,好的逻辑思维能力可以对测试有个好的计划构架。快速定位测试的重点,快速找到不易发现的bug
    • 怀疑精神。如果你什么都相信是对的,还作测试干吗?
    • 学习能力。这点我想很多工作都需要,尤其对测试的初学者,学习能力的好坏决定入门的速度

    其他的能力我想在具备以上3个能力前提下,都能在工作中不断培养提高。

    “顾客反馈与测试合为一体 ,交付的产品质量更高。测试人员进行根本原因的分析,我
    们会问比如“我们怎么会遗漏了这个 BUG 呢?”或者“我们将来如何防止这类 BUG?”这
    些问题,我们的工作就是使顾客满意。”

    如果说软件开发人员的顾客是软件测试人员,那么软件测试人员的顾客那真的就是产品最终的用户了。正是希望用户使用产品不会发现问题,才在软件开发到销售间,增加了软件测试的环节,所以对于如何提高产品质量,是软件测试一直研究的问题。虽然说软件发布后出现问题,不只是测试人员的问题,但是如何提高软件的成熟度,是软件测试人员要思考的。一个软件不可能没有bug,即使发布以后,但是有bug的软件不代表bug可以在使用中出现,因为有些代码的bug,可能程序永远都跑不到,但是从测试角度上说,这个产品仍然有bug,所以我们要做的就是尽量软件发布后无影响用户使用的bug出现。

  • 测试与开发的关系

    2007-06-05 14:18:10

    测试到底和开发处在怎么样的一个关系下才能够较好的产生测试应该达到的效果呢?

    测试部门独立于开发部门。这种模式可能源于传统制造行业的QC和生产部门的分开。其目的是为了保证测试过程和测试结果的客观性和有效性。这种模式相当于把测试和开发分成两个泾渭分明的活动,并没有过多的考虑两种活动之间的互为补益。在这种模式下,很可能演变成测试和开发之间的对立,或者增加测试和开发之间的沟通成本。

    边测试,边开发。这是XP的轻量级开发过程所倡导的,现在的测试驱动开发理论就是符合了这种模式。采用先设计测试,再进行开发,当开发的软件通过了所有的测试,软件就完成了。这种方式其实并没有规避自己测试自己代码所产生的局限性问题,只是将思维的顺序作了些改变,降低了思维定式对软件开发产生缺陷的影响。

    测试部门属于研发中心,但独立于项目组。这种模式保证了测试与项目组之间的最终目标的一致性(高质量的软件产品),能有效的降低沟通成本,又能保证测试人员有一定的独立性,不会过分的受产品经理的控制,避免测试失效现象产生。但在这种情况下,相比两个部门独立,测试的结果有可能不会被项目组所重视,需要频繁的进行协调,才能及时处理缺陷。
473/3<123

数据统计

  • 访问量: 22147
  • 日志数: 47
  • 建立时间: 2007-06-05
  • 更新时间: 2007-09-29

RSS订阅

Open Toolbar