1、软件测试技术交流深圳市中兴通讯股份有限公司2003年2月软件测试软件测试的重要性和必要性软件测试的重要性和必要性软件测试的目的和原则软件测试的目的和原则软件测试的基本概念软件测试的基本概念软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具 1.1 软件测试软件测试保证软件质量的重要手段保证软件质量的重要手段系统的、严密的软件测试能最大限度的发现软系统的、严密的软件测试能最大限度的发现软件中的错误,从而件中的错误,从而通过软件测试可以通过软件测试可以、容量、容量、约束、限制约束、限制等指标是否满足规定的需求等指标是否满足规定的
2、需求软件可靠性测试可得到软件可靠性指标软件可靠性测试可得到软件可靠性指标软件测试为软件质量定量评定提供依据软件测试为软件质量定量评定提供依据高层次的软件测试可以发现系统级错误高层次的软件测试可以发现系统级错误 软件测试的重要性和必要性 软件测试的重要性和必要性1.2 软件测试局限性软件测试局限性被测系统存在故障敏感性和巧合被测系统存在故障敏感性和巧合正确性正确性获得预期结果困难,甚至不可能获得预期结果困难,甚至不可能测试本身也可能存在错误测试本身也可能存在错误 1.2 软件测试局限性软件测试局限性(续续)完全的软件测试是不现实的完全的软件测试是不现实的软件测试不能保证发现软件中所软件测试不能保
3、证发现软件中所有的错误有的错误软件测试不能取代其它质量保证软件测试不能取代其它质量保证手段手段软件测试:软件测试:软件测试的重要性和必要性软件测试的重要性和必要性软件测试的重要性和必要性软件测试的目的和原则软件测试的目的和原则软件测试的基本概念软件测试的基本概念软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具软件测试 软件测试的目的和原则2.1 软件测试的目的软件测试的目的 软件测试的目的和原则2.2 软件测试目的软件测试目的 软件测试的目的和原则2.3 简而言之,软件测试的最终目的是:简而言之,软件测试的最终目的是:软件
4、测试的目的和原则2.4 2.4 软件测试原则之一软件测试原则之一 :Good-enough 软件测试的目的和原则2.5 2.5 软件测试原则之二:软件测试原则之二:bugbug的的80%原则原则一般情况下,在分析、设计、实验阶段的一般情况下,在分析、设计、实验阶段的复审和测试工作能够发现和避免的复审和测试工作能够发现和避免的bugbug,而系统的软件测试能够找出其余,而系统的软件测试能够找出其余bugbug中中的。最后约的。最后约5%5%的的bugbug只有在用户大范只有在用户大范围、长时间的使用后才会暴露出来。围、长时间的使用后才会暴露出来。软件测试的目的和原则2.6 软件测试的其他原则软件
5、测试的其他原则一一段程序中存在错误的概率与在这段程序中已段程序中存在错误的概率与在这段程序中已发现的错误数成比例发现的错误数成比例。软件测试的目的和原则2.6 软件测试的其他原则(续)软件测试的其他原则(续)软件测试的目的和原则2.7 软件测试的完成准则软件测试的完成准则完成测试计划规定的测试项完成测试计划规定的测试项使用规定的测试用例设计方法使用规定的测试用例设计方法查出一定数目的错误查出一定数目的错误标出单位时间查出的错误量,进行曲线分析标出单位时间查出的错误量,进行曲线分析某一测量值达到预期目标(如可靠性测试)某一测量值达到预期目标(如可靠性测试)考查测试充分性考查测试充分性软件测试的重
6、要性和必要性软件测试的重要性和必要性软件测试的目的和原则软件测试的目的和原则软件测试的基本概念软件测试的基本概念软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具软件测试 软件测试的基本概念3.1 什么是软件测试什么是软件测试 GB/T 11457-1995 的定义的定义 由人工或自动方法来执行或评价系统或系由人工或自动方法来执行或评价系统或系统部件的过程统部件的过程,以验证它是否满足规定的需以验证它是否满足规定的需求求;或识别出期望的结果和实际结果之间或识别出期望的结果和实际结果之间的差别的差别.该定义也就是该定义也就是I
7、EEE 1983IEEE 1983中软件测试的定义中软件测试的定义 软件测试的基本概念3.2 软件测试认识的变迁和发展软件测试认识的变迁和发展历史上的一些历史上的一些错误认识=测试和调试没有什么区别,除了支持调试外,测试没测试和调试没有什么区别,除了支持调试外,测试没有别的目的有别的目的 (错误错误)=测试的目的在于证明软件正确测试的目的在于证明软件正确(错误错误)当前软件测试工作中的认识当前软件测试工作中的认识=测试的目的在于证明软件错误测试的目的在于证明软件错误(实际实际)=测试的目的不是证明任何事情,仅是为了将已察觉的测试的目的不是证明任何事情,仅是为了将已察觉的故障的风险程度减小到一个
8、可接受的值故障的风险程度减小到一个可接受的值 (度量度量)=测试是检验软件是否满足规定的需求测试是检验软件是否满足规定的需求 (全面全面)3.2 软件测试认识的变迁和发展(续)软件测试认识的变迁和发展(续)软件测试的发展方向软件测试的发展方向=测试不是一种行为,它是不需要更多的测试工作测试不是一种行为,它是不需要更多的测试工作即可以产生低风险的软件的一种认识上的训练即可以产生低风险的软件的一种认识上的训练(预防)(预防).软件测试的基本概念 3.3 什么是什么是“错误错误”?软件测试的基本概念 软件测试的基本概念3.3 什么是什么是“错误错误”?(续)?(续)软件测试的基本概念3.4 测试是需
9、要设计的测试是需要设计的测试是一项具有很大创造性的工作,其工测试是一项具有很大创造性的工作,其工作量一点也不比代码设计小作量一点也不比代码设计小 测试是需要设计的,一个好的测试计划或测试是需要设计的,一个好的测试计划或方案往往能达到事半功倍的效果方案往往能达到事半功倍的效果 测试设计即利用测试工具提供的脚本语言测试设计即利用测试工具提供的脚本语言进行测试用例设计进行测试用例设计 测试设计可以是自动的,半自动的或手工测试设计可以是自动的,半自动的或手工编写编写 软件测试的基本概念3.5 测试和调试是不同的测试和调试是不同的测试是查找潜在的错误,调试是定位已知的错测试是查找潜在的错误,调试是定位已
10、知的错误误测试贯穿于整个软件生存期,调试主要是在软测试贯穿于整个软件生存期,调试主要是在软件开发过程中件开发过程中测试是发现问题,调试解决问题测试是发现问题,调试解决问题测试与调试不能相互替代,但可相互支持,相测试与调试不能相互替代,但可相互支持,相辅相成辅相成 软件测试的基本概念3.6 软件的生命周期软件的生命周期V字模型字模型用户需求定义需求分析预设计详细设计代码单元测试集成测试确认测试系统测试 软件测试的基本概念3.7 软件软件测试的分类测试的分类按功能分类按功能分类 白盒测试(白盒测试(White box testing)黑盒测试(黑盒测试(Black box testing)按测试阶
11、段分类按测试阶段分类 单元测试(单元测试(Unit testing)集成测试(集成测试(Integrated testing)确认测试(确认测试(Validation testing)系统测试(系统测试(System testing)按运行状态分类按运行状态分类 动态测试(动态测试(Dynamic testing)静态测试(静态测试(Static testing)软件测试的基本概念3.8 软件软件测试的流程测试的流程 3.9 软件测试的工程化软件测试的工程化软件生命周期软件测试方法软件测试规程软件测试文档软件测试工具 软件测试的基本概念软件测试的重要性和必要性软件测试的重要性和必要性软件测试的
12、目的和原则软件测试的目的和原则软件测试的基本概念软件测试的基本概念软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具软件测试 软件测试基本技术和策略4.1 软件测试的总体方略与软件设计的各阶段相对应,从单元测试 开始,然后集成测试、确认测试、系统测 试主要测试技术:静态分析、动态测试、覆盖测试主要方法:白盒法、黑盒法 软件测试基本技术和策略4.1 软件测试的总体方略(续)软件测试基本技术和策略静态测试概念静态测试概念不运行被测程序不运行被测程序检查软件是否易维护,是否符合编程标准检查软件是否易维护,是否符合编程标准软件工程度
13、量(指标测试),如复杂度等软件工程度量(指标测试),如复杂度等代码统计代码统计静态测试具体技术静态测试具体技术人工审查:人工审查:如代码走查、代码审议、技术评如代码走查、代码审议、技术评 审、桌面检查等审、桌面检查等自动静态分析:自动静态分析:使用软件测试工具自动地完成使用软件测试工具自动地完成4.2 静态测试 4.3.1 动态测试的基本概念动态测试的基本概念利用计算机运行被测程序利用计算机运行被测程序取得程序运行的真实情况,主要测试软件取得程序运行的真实情况,主要测试软件的的功能、覆盖率、运行时间功能、覆盖率、运行时间等等动态测试的关键在于动态测试的关键在于测试用例设计测试用例设计使用的方法
14、主要有黑盒法和白盒法使用的方法主要有黑盒法和白盒法4.3 动态测试 软件测试基本技术和策略 软件测试基本技术和策略4.3 动态测试4.3.2 测试用例(测试用例(Test Case)动态测试是由一个一个的动态测试是由一个一个的测试用例测试用例来完成的来完成的测试用例通常是一段用测试用例通常是一段用脚本语言(脚本语言(Script language)编写的小程序,该程序定义了编写的小程序,该程序定义了被测对被测对象、测试条件、输入参数、期望输出参数、桩象、测试条件、输入参数、期望输出参数、桩调用及其顺序调用及其顺序等等测试用例与被测程序一起运行才能生效测试用例与被测程序一起运行才能生效 4.3.
15、3 黑盒测试和白盒测试黑盒测试和白盒测试黑盒测试像中医:使用望、闻、问、切黑盒测试像中医:使用望、闻、问、切白盒测试像西医:使用白盒测试像西医:使用X光、光、CT扫描扫描目的都是发现病人的病症目的都是发现病人的病症PINOUT白盒测试:黑盒测试:软件测试基本技术和策略 4.3.4 黑盒测试黑盒测试:软件测试基本技术和策略 4.3.4 黑盒测试(续)黑盒测试(续)软件测试基本技术和策略ALAC测试 软件中有许多错误客户遇到的错误只占很小比例针对客户最容易遇到的错误进行测试,以便改进测试的有效性软件测试基本技术和策略IBM对典型软件的一项研究对典型软件的一项研究1、客户所看到的、客户所看到的57%
16、以上的故障是由占错以上的故障是由占错误总数误总数2%以下的错误引起的以下的错误引起的2、超过总数、超过总数61%的错误只引起低于的错误只引起低于3%的的客户将会经历的故障。客户将会经历的故障。3、不同的错误在引起的故障率上存在高达、不同的错误在引起的故障率上存在高达四个数量级的巨大差异四个数量级的巨大差异-一些错误运一些错误运行几个小时就表现出来,而其他一些数行几个小时就表现出来,而其他一些数年之后才出现。年之后才出现。软件测试基本技术和策略4.3.5 白盒测试白盒测试软件测试基本技术和策略4.3.5 白盒测试(续)白盒测试(续)软件测试基本技术和策略4.4.1 什么是单元什么是单元测试测试4
17、.4 单元测试软件测试基本技术和策略4.3.2 单元单元测试的步骤测试的步骤软件测试基本技术和策略测试计划测试计划测试用例测试用例测试执行测试执行分析测试结果分析测试结果生成测试报告生成测试报告4.4.3 单元单元测试的内容测试的内容软件测试基本技术和策略模块覆盖条件边界条件出错处理模块接口局部数据结构4.4.4 单元单元测试的配制测试的配制软件测试基本技术和策略驱动程序被测模块桩模块#2桩模块#1桩模块#3测试用例测试结果4.4.4 单元单元测试的配制(续)测试的配制(续)软件测试基本技术和策略 概念概念4.5 集成测试软件测试基本技术和策略软件测试基本技术和策略4.6.1 什么是确认测试(
18、什么是确认测试(Validation testing)4.6 确认测试 软件测试基本技术和策略4.6.2 如何实施确认测试如何实施确认测试 软件测试基本技术和策略4.6.2 如何实施确认测试(续)如何实施确认测试(续)软件测试基本技术和策略4.7.1 系统测试(系统测试(System testing)4.7 系统测试 软件测试基本技术和策略4.7.2 系统测试的特点系统测试的特点 软件测试基本技术和策略4.8.1覆盖率测试覆盖率测试的基本概念的基本概念4.8 覆盖率测试 软件测试基本技术和策略4.8.2 覆盖种类覆盖种类 语句覆盖:语句覆盖:分支覆盖:分支覆盖:条件覆盖:条件覆盖:条件组合覆盖
19、:条件组合覆盖:软件测试基本技术和策略4.8.3 覆盖测试的基本技术覆盖测试的基本技术插装插装 软件测试基本技术和策略 软件测试基本技术和策略4.9 测试策略之一:重视需求测试测试策略之一:重视需求测试什么是需求什么是需求(Requirement)?)?A definition of the system should do 需求又称需求又称外部叙述外部叙述、功能描述功能描述、系统需求定义系统需求定义、逻辑说明逻辑说明等等 软件的测试、验证和确认只有当具备软件需求分析时软件的测试、验证和确认只有当具备软件需求分析时 才有意义。因此保证才有意义。因此保证是非常重要的是非常重要的需求测试,即基于需
20、求的测试需求测试,即基于需求的测试(Requirements Based Testing)指在系统尚处于指在系统尚处于时就进行测试时就进行测试在软件生命周期的初级阶段进行测试,可以尽早地发现在软件生命周期的初级阶段进行测试,可以尽早地发现 错误错误软件测试基本技术和策略 詹姆斯马丁的研究:詹姆斯马丁的研究:测试所发现的错误中,超过测试所发现的错误中,超过50%的错误其根源在于错误的的错误其根源在于错误的 或不恰当的需求定义上或不恰当的需求定义上R e q u ire m e n ts5 6%D e s ig n2 7%Oth e r1 0%C o d e7%软件测试基本技术和策略同时,研究结果
21、表明同时,研究结果表明80%以上的用于定位软件错误的费用以上的用于定位软件错误的费用 是基于软件系统需求定义的错误是基于软件系统需求定义的错误Distribution of Effort to Fix BugsRequi rem ent s82%Desi gn13%O t her4%Code1%软件测试基本技术和策略软件测试基本技术和策略4.10 测试策略之二:选择合适的测试工具测试策略之二:选择合适的测试工具工欲善其事,必先利其器工欲善其事,必先利其器根据测试需要和工具的特长进行选择根据测试需要和工具的特长进行选择Caliber-RBTCaliber-RBT:需求测试:需求测试Cantata
22、/Cantata+Cantata/Cantata+:单元测试、集成测试:单元测试、集成测试McCabeMcCabe:结构化测试、白盒测试:结构化测试、白盒测试Trace32Trace32:实时在线测试:实时在线测试.软件测试的重要性软件测试的重要性软件测试的基本概念软件测试的基本概念软件测试的工作内容软件测试的工作内容软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具软件测试软件测试阶段单元单元单元单元单元测试单元测试单元测试单元测试组装测试确认测试系统测试已测单元组装的软件确认的软件设计信息软件需求其它系统元素5.1软件测
23、试阶段图软件测试阶段图 5.2 单元测试单元测试特点特点a.a.相当于硬件设备板级部件的检验,是发现相当于硬件设备板级部件的检验,是发现 和改正错误都较容易的阶段和改正错误都较容易的阶段b.b.对详细设计说明书负责对详细设计说明书负责c.c.有条件进行较细致的白盒测试有条件进行较细致的白盒测试组织组织 在开发组内,可交叉进行。在开发组内,可交叉进行。软件测试阶段 5.2 单元测试单元测试(续)续)内容内容 a.a.功能测试功能测试 b.b.重要的执行路径测试重要的执行路径测试 c.c.局部数据结构局部数据结构 d.d.错误处理测试错误处理测试 e.e.影响上述各条的边界条件影响上述各条的边界条
24、件 f.f.语句覆盖测试,分支覆盖测试语句覆盖测试,分支覆盖测试软件测试阶段 5.2 单元测试单元测试(续)续)要求要求 a.a.语句覆盖语句覆盖100%100%b.b.分支覆盖分支覆盖 c.c.软件特性覆盖软件特性覆盖方法方法 a.a.黑盒(功能、边界、随机)黑盒(功能、边界、随机)b.b.白盒(控制流白盒(控制流/数据流)数据流)c.c.使用驱动使用驱动/桩程序桩程序 d.d.某些工具支持某些工具支持软件测试阶段 5.3 组组装测试装测试特点特点 a.a.相当于硬件设备的功能模块测试相当于硬件设备的功能模块测试 b.b.对概要设计说明书负责对概要设计说明书负责 c.c.是发现和改正模块接口
25、错误的重要阶是发现和改正模块接口错误的重要阶段段 d.d.是验证系统功能增长正确性的阶段是验证系统功能增长正确性的阶段组织组织 一般在开发小组内部进行一般在开发小组内部进行软件测试阶段 5.3 组装测试(续)组装测试(续)内容内容a.a.单元间的接口测试单元间的接口测试b.b.部件的功能测试部件的功能测试c.c.全局数据结构测试全局数据结构测试d.d.部件的运行时间、运行空间、计算精度测试部件的运行时间、运行空间、计算精度测试e.e.边界和在人为条件下的性能边界和在人为条件下的性能软件测试阶段 5.4 确认确认测试测试特点特点 a.a.对软件需求规格说明负责对软件需求规格说明负责 b.b.对完
26、整软件功能和性能的总体测试对完整软件功能和性能的总体测试 c.c.相当于硬件设备成品检验相当于硬件设备成品检验组织组织 独立测试方式独立测试方式软件测试阶段 5.4 确认确认测试(续)测试(续)内容内容*功能测试功能测试 -安全性测试安全性测试*性能测试性能测试 -恢复性测试恢复性测试*界面测试界面测试 -边界测试边界测试强度测试强度测试 -功能多余物功能多余物测试测试余量测试余量测试 -安装性测试安装性测试可靠性测试软件测试阶段 5.4 确认确认测试(续)测试(续)要求要求 a.a.有用户参加确认测试有用户参加确认测试 b.b.采用独立测试方式采用独立测试方式 c.c.测试环境符合要求测试环
27、境符合要求方法方法 a.a.功能特性分析及确定测试特性功能特性分析及确定测试特性 b.b.黑盒测试方法、状态黑盒测试方法、状态/转换测试等一般方法转换测试等一般方法 c.c.仿真仿真/模拟测试模拟测试软件测试阶段 5.5 系统测试系统测试特点特点 a.a.对系统对系统/子系统任务书负责子系统任务书负责 b.b.是软件加入真实系统的阶段是软件加入真实系统的阶段 c.c.强调测试软件在大系统中的表现强调测试软件在大系统中的表现 d.d.测试的内容和整个系统构成密切相测试的内容和整个系统构成密切相关关组织组织 由上级系统组织,软件开发和测试人员由上级系统组织,软件开发和测试人员协助、参加协助、参加软
28、件测试阶段 5.5 系统测试(续)系统测试(续)U内容(从软件角度)内容(从软件角度)*系统功能测试系统功能测试 -系统安全性测试系统安全性测试*系统性能测试系统性能测试 -系统恢复性测试系统恢复性测试*系统接口测试系统接口测试 -系统边界测试系统边界测试系统强度测试系统强度测试 -系统敏感性测试系统敏感性测试系统余量测试系统余量测试 系统可靠性测试系统可靠性测试软件测试阶段 5.5 系统测试(续)系统测试(续)要求要求 a.a.加强技术状态管理加强技术状态管理(软件配置管理软件配置管理)b.b.加强测试环境数据记录加强测试环境数据记录 c.c.符合系统有关规定符合系统有关规定 d.d.从软件
29、测试角度给出一些系统运行实例从软件测试角度给出一些系统运行实例方法方法 a.a.运行测试运行测试 b.b.情景测试情景测试 c.c.半实物仿真试验半实物仿真试验 d.d.系统综合匹配试验系统综合匹配试验软件测试阶段 5.6 回归测试回归测试软件更动后重新进行的测试软件更动后重新进行的测试中心在决定哪些测试必须被重复中心在决定哪些测试必须被重复关键是保证测试工作的可重现性关键是保证测试工作的可重现性编程编程 测试测试 发现错误发现错误 更动更动 回归测回归测试试软件测试阶段 5.6 回归测试方法回归测试方法重复原先所有的测试重复原先所有的测试确定并运行标准测试集确定并运行标准测试集进行系统级功能
30、测试进行系统级功能测试测试新功能,并人工判别需重复的测试测试新功能,并人工判别需重复的测试使用回归测试辅助工具使用回归测试辅助工具=捕获和释放工具捕获和释放工具=测试用例管理工具测试用例管理工具/测试管理工具测试管理工具软件测试阶段软件测试的基本概念软件测试的基本概念软件测试的重要性软件测试的重要性软件测试的工作内容软件测试的工作内容软件测试的技术和策略软件测试的技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具软件测试 6.1 软件测试的基本流程软件测试的基本流程软件测试流程制订测试计划产生测试用例集执行测试评价测试工作和被测软件 6.2 制订测试计划制订测试
31、计划输入输入:软件需求规格说明、用户手册、操软件需求规格说明、用户手册、操作手册、运行环境资料作手册、运行环境资料。任务任务:确定测试活动的范围,测试方法、确定测试活动的范围,测试方法、进度、资源、功能验证的实施步骤,各级进度、资源、功能验证的实施步骤,各级测试的详细规程、软件验收标准、测试报测试的详细规程、软件验收标准、测试报告和处理方法。告和处理方法。输出输出:软件测试计划、测试支持资源需求软件测试计划、测试支持资源需求(工具(工具/环境)。环境)。软件测试流程 6.3 产生测试用例集产生测试用例集输入输入:软件测试计划、软件结构设计文档、软件测试计划、软件结构设计文档、测试支持资源需求。
32、测试支持资源需求。任务任务:根据被测试特性,设计测试用例集根据被测试特性,设计测试用例集结构,为每一测试用例决定软件输入输出结构,为每一测试用例决定软件输入输出和控制方式(人工、半自动、自动)并控和控制方式(人工、半自动、自动)并控制相应的测试规程、获得并验证所需要的制相应的测试规程、获得并验证所需要的测试数据。测试数据。输出输出:测试设计说明、测试规程说明、测测试设计说明、测试规程说明、测试用例说明(也可以合并为测试说明)。试用例说明(也可以合并为测试说明)。软件测试流程 6.4 执行测试执行测试输入输入:测试设计说明、测试规程说明、测试用测试设计说明、测试规程说明、测试用例说明、软件数据结
33、构描述、测试项、测试支例说明、软件数据结构描述、测试项、测试支持资源。持资源。任务任务:按测试规程执行测试用例,决定测试通按测试规程执行测试用例,决定测试通过或失败,如果通过则进行评价,否则根据错过或失败,如果通过则进行评价,否则根据错误情况重新运行测试或修改软件设计、编码或误情况重新运行测试或修改软件设计、编码或文件的有关部分,然后再重新进行测试。文件的有关部分,然后再重新进行测试。输出输出:测试结果描述、错误描述、其它执行信测试结果描述、错误描述、其它执行信息、修订后的测试说明。息、修订后的测试说明。软件测试流程 6.5 评价测试工作和被测软件评价测试工作和被测软件输入输入:测试结果描述、
34、错误描述、其它执测试结果描述、错误描述、其它执行信息、修订后的测试说明。行信息、修订后的测试说明。任务任务:依照评价准则,评价测试工作和被依照评价准则,评价测试工作和被测软件,当发现测试工作不足时,应修订测软件,当发现测试工作不足时,应修订测试计划,重复制定计划开始的工作,直测试计划,重复制定计划开始的工作,直到测试完备时止到测试完备时止。输出输出:测试总结报告。测试总结报告。软件测试流程软件测试的基本概念软件测试的基本概念软件测试的重要性软件测试的重要性软件测试的工作内容软件测试的工作内容软件测试的技术和策略软件测试的技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件
35、测试工具软件测试白盒测试工具白盒测试工具DevPartner Studio自动错误检查工具自动错误检查工具BoundsChecker(VC)SmartCheck(VB)CodeReview(VB)Jcheck(Java)自动代码覆盖分析自动代码覆盖分析TrueCoverage(VC+/VB/Java)自动性能分析和优化自动性能分析和优化TrueTime软件测试工具白盒测试工具白盒测试工具Pure自动错误检查工具自动错误检查工具Purify(C/C+/Fortran)自动代码覆盖分析自动代码覆盖分析PureCoverage(C/C+/Fortran)自动性能分析和优化自动性能分析和优化Quant
36、ify(C/C+/Fortran)软件测试工具黑盒测试工具黑盒测试工具QACenterQADirector测试的组织与管理工具测试的组织与管理工具TrackRecord缺陷跟踪管理工具缺陷跟踪管理工具QARun应用的功能测试工具应用的功能测试工具QALoad强度测试工具强度测试工具WebCheckWeb站点质量分析工具站点质量分析工具EcoTools性能监测工具性能监测工具软件测试工具黑盒测试工具黑盒测试工具RationalTestManager测试管理工具测试管理工具Robot功能、回归、冒烟测试工具功能、回归、冒烟测试工具LoadTest强度测试工具强度测试工具Visual TestWindows应用功能测试工具应用功能测试工具ClearQuest缺陷跟踪和变更管理工具缺陷跟踪和变更管理工具软件测试工具嵌入式软件测试工具嵌入式软件测试工具LogiScopeCodeTestCantata软件测试工具谢谢大家!