版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、87/87第一章 测试基础软件测试的目的:证明(表达软件能够工作) 检测(发觉错误) 预防(管理质量)测试执行:单元测试(UT执行):一个测试用例的测试执行;集成测试(IT执行):一个测试用例集的测试执行;系统测试(ST执行):不同测试时期的测试执行。测试用例(Test Case):指对一项特定的软件产品测试任务的描述,体现测试方案、方法、技术和策略。测试和调试的区不: 测试调试目的找出存在的错误定位错误,修改程序以修正错误对象文档,代码代码流程有特定流程,有打算性无特定流程,不可设计,无打算性条件从已知条件开始,用预定义过程,有预知结果从未知条件开始,结束过程不可可能回归测试的目的:a. 验
2、证错误是否修复;b. 检测对代码的修改是否引入了新的错误。软件测试的要紧工作:a. 检视代码,评审开发文档;b. 进行测试设计,写作测试文档(测试打算、测试方案、测试用例等);c. 执行测试,发觉软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;d. 通过测试度量软件质量。软件危机的出现要紧表现在:a. 由于缺乏大型软件开发经验和软件开发数据积存,开发工作打算专门难制定;b. 开发早期需求分析不够明确,造成开发后期矛盾集中暴露;c. 不遵循开发规范,开发文档不完整,软件难以维护;d. 缺乏严密有效的软件质量检测手段,交付给用户的软件质量差。软件危机的后果:a. 软件质量不高,专门难稳定;b.
3、软件项目延期,进度无法操纵;c. 成本增加,无法操纵预算。软件危机的根源:a. 依照摩尔定律,硬件进展专门快,相应对软件系统的期望越来越高;b. 软件系统复杂性提高,需多人合作;c. 软件开发是人的智力活动,无法用已有的产业工程方法来组织治理。软件生命周期的各个时期:打算 需求分析 设计 编码 测试 运行 评价 设计: 概要设计(HLD):在设计时期把各项需求转换成相应的体系结构,每一部分是功能明确的模块;详细设计(LLD):对每个模块要完成的工作进行具体的描述。软件研发三要素:人员、过程、工具软件项目组人员组成:分析人员、设计人员、开发人员、测试人员、配置治理 人员、SQA(质量保证人员)软
4、件研发流程类型:瀑布模型:无风险操纵能力,适合需求变化较小的情况。螺旋模型:基于风险治理的模型,高风险的优先考虑,对风险治理人员的要求较高。RVP流程:面向对象的,通用的(4大时期,6大工作流,8项迭代)。特点:基于风险用例集驱动以架构为中心迭代和增量IPD流程: 1) 产品结构重整(资源重整) 2) 公共模块共用软件研发中几个重要的过程:需求治理、配置治理、缺陷治理、同行评审。常见的引入缺陷的缘故:a. 开发过程缺乏有效的沟通,或者没有进行沟通; b. 软件复杂度越来越高; c. 编程中产生错误; d. 需求不断变更; e. 项目进度的压力; f. 不重视开发文档;g. 软件开发工具本身隐藏
5、的问题。等等 缺陷类型:遗漏、错误、额外的实现。第二章 软件质量1、 软件质量的定义:一个实体的所有特性,基于这些特性能够满足明显的或隐含的需求。而质量确实是实体基于这些特性满足需求的程度。2、 软件质量的三个层次:a. 符合需求规格;b. 符合用户显示需求; c. 符合用户实际需求。3、 阻碍软件质量的因素:流程、技术、组织。流程:一组活动(活动是否差不多上必须的,活动角色之间的关系)。过程:一组将输入转化为输出的相关联或相互作用的活动。 八项质量治理原则:a. 以顾客为中心;b. 领导作用;c. 全员参与; d. 过程方法;e. 治理的系统方法;f. 持续改进; g. 基于事实的决策方法;
6、h. 互利的供方关系。5、 八项质量治理原则的意义:a. 是质量治理的理论基础; b用高度概括易于理解的语言所表述的质量治理的最差不多,最通用的一般性规律; c. 为组织建立质量治理体系提供了理论依据; d. 是组织的领导者有效的实施质量治理工作必须遵循的原则。6、 CMM1:初始级,Inltial,不可预测同时缺乏操纵; CMM2:可重复级:Repeatable,可重复往常的要紧经验;(关键过程区域:需求治理;软件项目打算;软件项目跟踪和监督;软件子合同治理;软件质量保证;软件配置治理。) CMM3:已定义级:Defined,过程被描述,并得到良好理解;(关键过程区域:组织过程定义;组织过程
7、焦点;培训大纲;集成软件治理;软件产品工程;组际协调;同行评审。)CMM4:已治理级:Managed,过程被测量并受控;(关键过程区域:定量的过程治理;软件质量治理。)CMM5:优化级,Optimizing,关注过程改进。(关键过程区域:缺陷预防;技术变更治理;过程变更治理。)7、 CMM的用途:a. 评估组用来识不组织中的强处和弱处; b. 评价组用来识不选择不同的业务承包商的风险和监督合同; c. 治理者用来了解其组织的能力,并了解为了提高其能力成熟度而进行软件过程改进所需进行的活动; d. 技术人员和过程改进组用来作为指南,指导他们在组织中定义和改进软件过程。8、 ISO9001和CMM
8、的关系: 相似点:强调治理、过程、规范化和文档化; 不同点:CMM把焦点对准软件;ISO9001的范围包括:硬件、软件、流程性材料和服务; 两者关系:CMM2级与ISO9001强相关;CMM的每个关键过程域至少按某种解释与ISO9001弱相关。9、六西格玛的实施方式:Define: 定义提出问题,确定目标 Measure:测量收集资料,查找缘故 Analyse:分析研究资料,确定缘故 Improve:改进优化解决方案 Control:操纵推行操纵系统10、软件质量模型: 功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。包括:适合性;准确性;互操作性;保密安全性;功
9、能性的依从性。 可靠性:在指定条件下使用时,软件产品维持规定的性能级不的能力。包括:成熟性;容错性;易恢复性;可靠性的依从性。 易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。包括:易理解性;易学性;易操作性;吸引性;易用性的依从性。 效 率:在规定条件下,相关于所用资源的数量,软件产品可提供适当性能的能力。包括:时刻特性;资源利用性;效率依从性。 维护性:软件产品可被修改的能力。修改可能包括修正、改进或软件对环境、需求和功能规格讲明变化的适应。包括:易分析性;易改变性;稳定性;易测试性;维护性的依从性。 可移植性:软件产品从一种环境迁移到另外一种环境的能力。包括:适应
10、性;易安装性;共存性;易替换性;可移植性的依从性。11、 SQA与测试的关系:测试从技术的角度来保证软件质量SQA从流程的角度保障软件质量组织用来保障SQA和测试的活动12、 SQA的要紧工作范围: 指导并监督项目按照过程实施; 对项目进行度量、分析,增加项目的可视性; 审核工作产品,评价工作产品和过程质量目标的复合度; 进行缺陷分析,缺陷预防活动,发觉过程的缺陷,提供决策参考,促进过程改进。13、 度量:对事物属性的量化表示;软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构建或生命周期过程具有的某个给定属性的度的一个定量测量。目的: 提高软件生产率,缩短产品研发周期,降低研发成本
11、、维护成本; 提高软件产品质量,提高用户中意度; 为组织持续改进提供量化的指标和反馈。14、 软件度量的作用:1) 理解;预测;评估;改进。2) 分类:规模;工作量;进度;质量 15、如何将度量的知识应用于实际工作中:建立测试工作的度量数据,目的是作为预测和改进的基础a. 熟悉需求:进度、工作量、规模;b. 设计用例:工作效率、覆盖率;c. 执行用例:工作效率、缺陷密度;)第三章 测试方法1、 什么是白盒测试: 白盒测试是依据被测软件,分析程序内部构造,并依照内部构造设计用例,来对内部操纵流程进行测试,可完全不顾程序的整体功能实现情况; 白盒测试是基于程序结构的逻辑驱动测试; 白盒测试又能够被
12、称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。2、 什么缘故进行白盒测试: 一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑操纵结构上的问、难题能差不多得到消除; 能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证; 发觉问题后解决问题的成本较低。3、 白盒测试的常用技术: 静态分析:操纵流分析、数据流分析、信息流分析等; 动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等。操纵流相关概念:程序元素、操纵流关系、操纵流图、操纵流矩阵。(步骤:5)操纵流分析能发觉的问题:转向并不存在的标号;没有用的语句标号;从程序入口进入后无法达到
13、的语句;不能达到停机语句的语句。数据流相关概念:数据的定义;数据的引用。(步骤:3)数据流分析的作用:分析代码中关于数据定义和引用方面的错误;进行代码优化。(赋值语句运算效率高)信息流分析:输入变量和语句关系;语句和输出变量关系;输入和输出变量管理。(步骤:4)覆盖率工具的作用: 分析被测试代码操纵结构,决定插装位置; 实施插装; 将插装代码重新编译; 执行被测对象,依照插装的监控哨信息统计覆盖率。白盒测试的特点: 测试人员需要了解软件的实现; 能够检测代码中的每条分支和路径; 揭示隐藏在代码中的错误; 对代码的测试比较完全; 实现代码结构上的优化; 白盒测试投入较大,成本高; 白盒测试不验证
14、规格的正确性。什么是黑盒测试: 黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现; 黑盒测试针对的被测对象能够是一个系统、一个子系统、一个模块、一个子模块、一个函数等。 黑盒测试又能够被称为基于规格的测试。常见的黑盒测试类型:功能性测试;容量测试;负载测试;恢复性测试。常见的黑盒测试方法:等价类、边界值、因果图、判定表、状态迁移、正 交分解、错误推测、输入/输出域覆盖、系统测试的时候,假如没有SRS时,有两类BUG无法发觉:1)需求遗漏;2)需求偏差 黑盒测试的优点: 关于更大的代码单元来讲(子系统甚至系统级)比白盒测试效率要高; 测试人员不需要了解实现的细节,包括特定的
15、编程语言; 从用户的视角进行测试,专门容易被大伙儿理解和同意; 有助于暴露任何规格不一致或有歧义的问题。黑盒测试的缺点: 没有清晰的和简明的规格,测试用例专门难设计; 不能操纵内部执行路径,会有专门多内部程序路径没有被测试到; 不能直接针对特定的程序段,这些程序可能特不复杂(因此可能隐藏更多的问题)。动态和静态测试的分类依据在于:被测对象是否运行起来。手工静态分析同行评审:正规检视;技术评审;走查。评审对象:打算、需求文档、设计图、代码等。自动化静态分析:静态验证;语法分析器;符号执行器。自动化测试应该考虑的因素:测试进度要求人力资源要求版本稳定度版本应用情况可自动化率版本规模自动化测试的误区
16、:自动化不能取代手工测试。手工测试都做不行,或者经验积存不够,就尝试自动化,专门难成功。自动化只能保证测试执行效率,确保已有的问题可不能再发生,自动化 测试不能发觉大量新缺陷。进行了自动化测试的软件不一定确实是安全的,质量有保证的。因此手工测试是自动化测试的一个基础自动化五大等级:录制和回放脚本自动化框架脚本数据驱动关键字驱动 自动化测试的限制(板书): 自动化测试不具备想象力,不能够检查脚本中给定的观看点之外的错误; 自动化测试只能提高测试效率,不能提高测试效果,不能发觉比人工测试更多的问题;如被测对象不稳定,存在变动性的话不适合开展自动化测试,否则脚本的编写和维护所耗费的时刻可能远大于人工
17、测试; 只有手工测试积存到一定程度(提供更多的观看点),才能做好自动化测试。第四章 测试过程各时期测试的目的:单元测试:检测软件模块对详细设计讲明书的符合程度集成测试:检测软件模块对概要设计讲明书的符合程度系统测试:通过与需要规格讲明书作比较,发觉软件与系统定义不符或与之矛盾的地点。单元、集成、系统测试的比较:测试类型目的考察范围评估基准测试方法单元测试消除局部模块的逻辑和功能上的错误和缺陷(消除单元、模块内部的逻辑和功能上的错误与缺陷)单元内部的数据结构、逻辑操纵、异常处理等逻辑覆盖率大量采纳白盒测试方法集成测试找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题(找出与软件架构
18、设计相关的程序结构,单元/子模块间的调用关系,单元/子模块间接口方米那的问题)接口和接口数据传递关系、模块组合后的整体功能接口覆盖率结合使用白盒与黑盒测试方法,较多采纳黑盒方法构造测试用例(也有讲法叫灰盒测试方法)系统测试对整个系统进行一系列的整体、有效性测试(对系统规格中的功能与性能进行一系列的有效性测试)整个系统对需求的符合度测试用例对需求规格的覆盖率黑盒测试回归测试策略:完全重复测试;选择性重复测试(覆盖修改法;周边阻碍法; 指标达成方法;选择重要级不高的测试用例)回归测试流程:在测试策略制定时期,制定回归测试策略确定需要回归测试的版本回归测试版本公布,按照回归测试策略执行回归测试回归测
19、试通过,关闭缺陷跟踪单(问题单)回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再 次提交测试人员回归测试有用户参与的其他一些测试:验收测试、测试、测试测试与测试的比较:Alpha测试Beta测试比较测试环境开发环境或者模拟实际操作的环境下实际使用环境测试人员能够是终端用户也能够是企业内部的用户终端用户(包括潜在用户)开发人员是否在场有开发人员在场,实际上是一种受控的测试。开发人员通常不在测试现场,测试情况通常不受控。关注点Alpha测试关注软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持),尤其注重产品的界面和特色。Beta测试着重关注产品的支持性,包括文档
20、、客户培训和支持产品的生产能力。共同点1.都希望从实际终端用户的使用角度来对软件的功能和性能进行测试,以发觉可能只有终端用户才能发觉的错误;2.都不能由测试人员和程序员完成;要紧的测试文档:测试打算;测试方案;测试用例;测试规程;测试报告;测 试日报验证与确认V&V:验证(VERIFICATION)强调过程;确认(VALIDATION)强调 结果。V&V模型优点: 实现了测试设计和测试执行相分离; 揭示了软件测试活动分层和分时期的本质特性:测试执行的顺序与开发活动相反 V&V模型: 系统测试执行系统测试执行集成测试执行单元测试执行代码审查需求分析SRS评审SRS基线化概要设计HLD评审HLD基
21、线化详细设计LLD评审LLD基线化CODE系统测试打算系统测试方案设计系统测试用例设计集成测试打算集成测试方案设计集成测试用例设计单元测试打算单元测试方案设计单元测试用例设计11、 系统测试分为几个时期,每个时期的输入 /输出是什么?系统测试时期输入输出系统测试打算时期1.软件开发打算2.软件测试打算3.需求规格讲明书系统测试打算设计时期1.系统测试打算2.需求规格讲明书系统测试方案实现时期1.系统测试打算2.系统测试方案3.需求规格讲明书1.系统测试用例2.系统测试规程3.系统测试预测试项执行时期1.系统测试打算2.系统测试方案3.系统测试用例4.系统测试规程5.系统测试预测试项 6.集成测
22、试报告1.系统预测试报告2.系统测试报告3.缺陷报告4.测试日报集成测试打算时期1.软件测试打算2.概要设计讲明书集成测试打算设计时期1.概要设计讲明书2.集成测试打算集成测试方案实现时期1.概要设计讲明书2.集成测试打算3.集成测试方案1.集成测试用例2.集成测试规程执行时期1.集成测试打算2.集成测试方案3.集成测试用例4.集成测试规程1.集成测试报告2.缺陷报告单元测试打算时期1.软件测试打算2.详细设计讲明书单元测试打算设计时期1.详细设计讲明书2.单元测试打算单元测试方案实现时期1.详细设计讲明书2.单元测试打算3.单元测试方案1.单元测试用例2.单元测试规程执行时期1.单元测试打算
23、2.单元测试方案3.单元测试用例4.单元测试规程1.单元测试报告2.缺陷报告第五章 单元测试1、 单元的差不多属性:明确的功能可定义的规格与其他单元接口的清晰划分2、 单元测试的目的:在于发觉各模块内部可能存在的各种错误,要紧是基于白盒测试。验证代码是与设计相符合的;发觉设计和需求中存在的错误;发觉在编码过程中引入的错误。(和设计不相符或和设计相符,然而由于编码疏漏引起)3、 单元测试关注的重点:出错处理体现软件的成熟性和容错性、单元接口、局部数据结构、独立路径、边界条件体现软件的成熟性和容错性 4、 单元测试的要紧关注点:参数的属性、顺序、个数是否与LLD一致不能修改只做输入用的形参,否则可
24、能导致数据的错误修改约束条件是否通过形参来传送驱动和桩的功能:驱动单元:被测函数的主函数,能同意输入数据,输出实际测试结果桩单元:用来代替所测单元调用的子单元单元测试策略:孤立的测试策略、自顶向下、自底向上的单元测试策略1) 孤立的测试策略: 方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块。每个模块进行独立的单元测试。 优点:该方法是最简单,最容易操作的。能够达到高的结构覆盖率。该方法是纯粹的单元测试。 缺点:桩函数和驱动函数工作量专门大,效率低。2) 自顶向下的单元测试策略: 方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行测试,使用上
25、面已测试的单元做驱动模块。如此类推直到测试完所有模块。 优点:能够节约驱动函数的开发工作量,测试效率较高。 缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,同时开发和维护的成本将增加。3) 自底向上的单元测试策略: 方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被测试过的模块做桩模块。以此类推,直到测试完所有模块。 优点:能够节约桩函数的开发工作量,测试效率较高。 缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产生专门大的阻碍。5、 单元测试的四个时期: 测试打算:完成单元测试打算; 测试设计
26、:完成单元测试方案; 测试实现:完成单元测试用例、单元测试规程、单元测试脚本及数据文件; 测试执行:执行单元测试用例,修改发觉的问题并进行回归测试,提交单元测试报告。单元测试:桩&驱动举例:不管是单元测试依旧集成测试都涉及到以下三个函数:主控函数:int ctrl(int x, int y)加法函数:int add(int x, int y)减法函数:int sub(int x, int y)注意:进行单元测试时,设计用例时依据的是LLD;进行集成测试时,设计测试用例依据的是HLD。下面给出来的是需要测试的实际的代码。int ctrl(int x, int y)int temp=0;if(x=
27、y) temp=add(x, y);else temp=sub(x, y);return temp;int add(int x, int y) return(x+y);int sub(int x, int y) return(x-y);自顶向下单元测试策略不同测试步骤中的驱动能够写到一起,也能够分开写,那个地点是写到一起了。测试ctrl函数需要写一个驱动和两个桩。驱动函数void driver()int ret=0;ret=ctrl(2,1); /xyif(ret=3) printf(“testcase JISUAN_UT_CTRL_001 pass”);else printf(“testca
28、se JISUAN_UT_CTRL_001 fail”);ret=ctrl(1,1); /x=yif(ret=2) printf(“testcase JISUAN_UT_CTRL_002 pass”);else printf(“testcase JISUAN_UT_CTRL_002 fail”);ret=ctrl(1,2); /x=y) temp=stub_add(x, y);else temp=stub_sub(x, y);return temp;测试add函数 驱动函数同测试ctrl函数时的驱动桩函数同测试ctrl函数时sub函数对应的桩修改代码int ctrl(int x, int y)
29、 int temp=0;if(x=y) temp=add(x, y); if(x=2 & y=1 & temp=3) printf(“testcase JISUAN_UT_ADD_001 pass”); else printf(“testcase JISUAN_UT_ADD_001 fail”); if(x=1 & y=1 & temp=2) printf(“testcase JISUAN_UT_ADD_002 pass”); else printf(“testcase JISUAN_UT_ADD_002 fail”);else temp=stub_sub(x, y);return temp;
30、测试sub函数驱动函数同测试ctrl函数时的驱动桩函数无修改代码int ctrl(int x, int y) int temp=0;if(x=y) temp=add(x, y);else temp=sub(x, y); if(x=1&y=2 & temp=-1) printf(“testcase JISUAN_UT_SUB_001 pass”); else printf(“testcase JISUAN_UT_SUB_001 fail”);return temp; 第六章 集成测试集成测试的目的:确保各组件组合在一起后能够按照既定意图写作运行,并确保增量的行为正确(属于灰盒测试)验证接口是否与
31、设计相符发觉设计和需求中存在的错误集成测试关注的重点:单元间的接口、集成后的功能集成测试的层次:模块内集成、子系统内集成、子系统间集成集成测试策略:大爆炸集成自顶向下集成自底向上集成三明治(混合式)集成重要基干集成重要分层集成基于功能的集成基于消息的集成实际中应用较多基于进度的集成实际中应用较多基于风险的集成各种集成测试策略的优缺点:优点缺点适用范围大爆炸集成1.只要极少数的驱动和桩2.可并行工作,人力、物力资源利用率较高1.一次运行成功的可能性不大2.定位和修改错误比较困难3.会有专门多接口错误进入到系统测试1.维护型项目(增强型)2.每个函数都通过了充分单元测试的小规模系统(特不是接口函数
32、)自顶向下1.较早验证了要紧的操纵点和推断点2.选用按深度方向组装的方式,可首先实现和验证一个完整的软件功能3.功能可行性较早得到证实(带来信心)4.最多只需一个驱动,减少驱动开发费用5.支持故障隔离1.桩的开发和维护成本大2.底层组件行为的验证被推迟了3.底层组件的测试不充分1.产品操纵结构比较清晰和稳定2.产品高层接口变化较小3.产品底层接口未定义或经常可能被修改4.产品操纵组件具有较大的技术风险,需要尽早被验证5.希望尽早看到产品的系统功能行为自底向上1.同意对底层组件行为的早期验证2.工作初期能够并行进行集成3.减少了桩的工作量4.支持故障隔离1.驱动的开发和维护成本高2.对高层的验证
33、被推迟到了最后,设计上的错误不能被及时发觉1.底层接口比较稳定、变动较少的产品2.高层接口变化较频繁的产品3.底层组件较早被完成的产品三明治集成集合了自顶向下和自底向上策略的优点中间层在被集成前测试不充分大部分软件开发项目基干集成具有三明治集成的优点1.必须对系统的结构和相互依存性进行认真分析2.必须开发驱动和桩3.有些接口可能测试不充分大型复杂项目基于功能集成/基于消息集成1.可尽快看到关键功能的实现,并验证正确性2.进度上要短3.可减少驱动的开发1.对有些接口测试不充分,会丢失许多接口错误2.可能会有较大的冗余测试基于进度集成1.具有比较高的并行度2.能有效缩短项目开发的进度1.许多接口要
34、到后期才能验证,无法发觉有效的接口问题2.桩和驱动开发工作量大3.由于进度,组件专门不稳定且会不断变动,导致测试的重复和白费进度优先级高于质量的项目基于风险集成最具有风险的组件最早进行验证,有助于系统的快速稳定需要对各组件的风险有一个清晰的分析第七章 系统测试系统测试目的:通过与需求做比较,发觉与系统定义不符合或与之矛盾的地点系统测试的用例应依照需求分析讲明书来设计,并在实际使用环境下运行系统测试对象软硬件集合在一起的系统验证时应尽可能模拟实际的运行环境与条件系统测试常用类型:功能、性能、压力、容量、安全性、GUI、可用性、安装、配置、异常(恢复性)、备份、健壮性、文档、在线关心、网络、稳定性
35、测试功能测试:概念:依照产品的SRS和测试需求列表,验证产品的功能实现是否符合产品的需求规格目标:为了发觉以下几类错误是否有不正确或遗漏了的功能功能实现是否满足用户需求和系统设计的隐藏需求输入能否正确同意?能否正确输出结果?性能测试:概念:用来测试软件在集成系统中的运行性能目标:度量系统相关于预定义目标的差距工具:LoadRunner、WebLoad、SilkPerformer重要性:a) 性能是质量的重要组成部分b) 给用户树立良好形象c) 节约成本的重要手段性能测试的关键:有效的协调、正确的模型、瓶颈的定位、合理的建议性能需求五大特性:需求行、代表性、完整性、可测试性、可用性压力测试:关注
36、稳定性和破坏性目的:调查系统在其资源超负荷的情况下的表现目标:通过极限测试方法,发觉系统在极限或恶劣环境中自我爱护能力,要紧验证系统的可靠性。容量测试:目的:使系统承受超额的数据容量来发觉它是否能够正确处理关注点:a) 整体的业务流量(一般关注静态容量) b) 数据库的容量 c) 最大文件数目 d) 最大事务数安全性测试:口令认证、加解密技术、权限治理、安全日志GUI测试:关注点:界面实现与界面设计的吻合情况、确认界面处理的正确性对象:简单界面元素、组合类界面元素、完整界面(窗口)内容:外观、界面元素行为、布局、友好功能可用性测试:关注点:过分复杂的功能或指令困难的安装过程错误信息过于简单用户
37、被迫去记住太多的信息语法、格式和定义不一致配置测试:概念:测试系统在各种软硬件配置、不同的参数配置下系统具有的功能和性能目标:验证全部配置的可操作性和有效性,特不需要对最大配置、最小配置或专门配置进行测试异常测试:概念:又叫系统容错和可恢复性测试,通过人工干预手段使系统产生软、硬件异常,通过验证系统异常前后的功能和运行状态,达到检验系统的容错、排错和恢复的能力。它是系统可靠性评价的重要手段。容错处理:系统自动处理、人工干预处理系统可靠性指标:平均失效时刻间隔(MTBF)、平均恢复时刻(MTTR)系统可靠性设计技术:避开错误容错技术:结构冗余(动、静态)、信息冗余、时刻冗余、硬件冗余、附加冗余技
38、术健壮性测试:Robustness Testing用于测试系统在出现故障时,是否能够自动恢复或忽略故障接着运行网络测试:概念:在网络环境下和其他设备对接,进行系统功能、性能与指标方面的测试,保证设备对接正常。内容:考察系统的处理能力、系统兼容性、系统稳定可靠性及用户使用等方面。一致性测试:检测系统与协议规范符合程度性能测试:检测协议实体或系统的性能指标互操作性测试:牢固性测试:检测协议实体或系统在各种恶劣环境下运行的能力系统稳定性测试:目的是评价系统在一定负荷情况下、长时刻的运行情况。第八章 测试覆盖率覆盖率概念: 覆盖率是用来度量测试完整性的一个手段。覆盖率是测试技术有效性的一个度量。覆盖率
39、=(至少被执行一次的item数)/item的总数; 覆盖率大体能够划分为两大类:逻辑覆盖和功能覆盖; 测试用例设计不能一味追求覆盖率,因为测试成本虽覆盖率的增加而增加。逻辑覆盖要紧类型:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、路径覆盖。语句覆盖率:(Statement Coverage),在测试时运行被测程序后,程序中被执行到的可执行语句的比率; 语句覆盖率 = (至少被执行一次的语句数量)/(可执行的语句总数)分支覆盖率:(Branch Coverage)也叫判定覆盖(Decision Coverage),它的含义是:在测试时运行被测程序后,程序中所有推断语句的取真分支和取假分支被执行
40、到的比率;判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)条件覆盖率:(Condition Coverage)的含义是,在测试时运行被测程序后,所有推断语句中每个条件的可能取值(真值和假值)出现过的比率;条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数)分支-条件覆盖率:(Branch Condition Coverage)也叫判定条件覆盖(Decision Condition Coverage),它的含义是,在测试时运行被测程序后,所有推断语句中每个条件的所有可能值(为真为假)和每个推断本身的判定结果(为真为假)出现的比率;分支条件覆盖率=(条件操作树枝或判定结
41、果至少被评价一次的数量)/(条件操作数值总数+判定结果总数)路径覆盖率:(Path Coverage)的含义是,在测试时运行被测程序后,程序中所有可能的路径被执行过的比率;路径覆盖率=(至少被执行到一次的路径数)/(总的路径数)其他覆盖率:功能覆盖率;面向对象的覆盖率;函数覆盖;指令块覆盖;判定路径覆盖。第九章 测试用例举例测试用例编号BOSS_ ST_ MARKETING_NEW_01P重要级不高(还有“较高、中、较低、低”几个等级)测试项目新增营销记录测试标题新增10元的营销记录用例类型差不多事件(对应还有“备选事件”、“异常事件”)用例设计者songfun设计日期2005-04-25对应
42、需求编号REQ_ MARKETING_NEW_01对应UIMarketing.htm对应UCUC_ MARKETING_NEW_01版本号Build v0.1对应开发人员Frank预置条件操作员登录营销治理系统测试方法等价类划分(对应还有“错误推测法”、“边界值分析”等)输 入用户名:51testing 性不:男 金额:10元 描述:aaaaaaa操作步骤进入【营销下发】页面;点击增加按钮;输入相应数据;点击确定按钮;在后台数据库(test/testtestDB)输入查询语句验证:select * from MarketingTab where ID=1001预期输出执行步骤后,页面弹出添加成
43、功提示信息框;执行步骤后查询数据库,记录确实添加成功且数据无误第十章 测试经验和误区软件测试的误区:测试和调试是一样的测试组应当为保证质量负责过分依靠BETA测试把测试作为新职员的一个过渡工作把不合格的开发人员安排做测试关注于测试的执行而忽略测试的设计自动化测试是万能的测试是能够穷尽的测试是为了证明软件的正确性测试是枯燥乏味,缺乏制造力的工作软件测试的10大原则:测试是一个持续改进的过程,而不是一个时期测试必须被打算、被操纵、同时被提供时刻和资源测试应当分级不测试应当有重点测试不是为了证明程序的正确性,而是为了证明程序不能工作测试是不可能穷尽的,当测试出口条件满足时就能够停止测试测试是开发的朋
44、友,不是敌人测试人员应当站在公正的立场上进行测试,如实的记录和报告缺陷自动化测试能解决一部分问题,但不是全部测试不能仅仅包括功能性的验证,还应当包含性能、可靠性、可维护型、安全性等方面的验证软件测试的10个最佳实践:尽早的、频繁的进行测试降低成本、提高质量尽早的产生一个综合的主测试打算对质量要求较高的产品或大型复杂的产品成立独立的测试组在每个开发时期,使用测试和评价的结果作为是否能够通过的标准开发和维护一个测试需求和目标的风险优先级列表把测试作为产品的一部分等同起来,使用相同的评价标准和过程提供集成化的测试工具和测试技术支持加强测试度量工作和缺陷分析工作,不断地改进测试加强测试的培训同时为测试
45、人员提供技能进展的通道加强沟通和交流,让项目组内所有人员都了解测试的重要性和测试的工作a) 同 行 评 审同行评审:(Peer Review)是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。需要进行同行评审的特定产品在定义项目软件过程的时候被确定同时作为软件开发打算的一部分被安排了进度。 需要前期预备、打算和时刻进度表 越早越好同行评审的作用: 早期发觉缺陷; 去除缺陷; 降低成本; 提高质量。同行评审的类型: 正规检视:(Inspection)最严格,要求有规范的流程,参加者通过正式培训; 技术评审:(Technique Review)以技术方案的比较、裁决为目的,严格程度介于正规检
46、视和走读之间; 走 读:(Walk Through)最(自由)松散的形式,无流程要求,有评审团队,评审流程无要求。通用评审流程步骤(正规检视流程):YYY出 口5.第三小时会议6.返工时期N7.跟踪时期第三小时会议?入口准则N介绍会议?1.打算时期2.介绍会议3.预备时期4.Review会议打算时期: 项目负责人指定组织者;作者自检工作产品; 组织者规划本次评审; 检查入口准则:是否符合文档标准?是否已用工具检查?代码=500行; 文档=40页; 预备评审包:工作产品(HLD);参考资料(SRS-检查一致性);评审表(Review Form);查检表(Checklist)。 指定评审专家(3-
47、6人); 组织者将评审包、评审通知单发给相关人员。介绍会议: 被评审对象采纳新技术、新方法; 被评审对象第一次被评审 (作者介绍被审对象以及相关技术) 评审专家第一次参加评审 (评审者介绍评审流程) 介绍会议的召开距接到评审通知的时刻大于5小时; 介绍会议的时刻不超过1小时,30-60间为宜,关注讲解。预备时期:(最重要、发觉缺陷最多) 评审专家个人独立完成工作产品的审视,提出缺陷; 预备时刻 大于 会议时刻,且应于会议前2天开始; 评审者:收到组织者发来的评审包;审核工作产品、发觉缺陷;填写评审表单;反馈评审表单给组织者; 组织者:检查评审表单;裁决是否需要增加评审评审投入(增加预备时刻;增
48、加评审专家人数;更换评审专家)会议时期(2小时内;只提出问题,不关注解决): 组织者召开评审会议; 讲解员讲解工作产品;(尽量不要由作者兼任) 大伙儿共同确认问题(评审表单中记录的问题;会上发觉的问题;当争吵不下时组织者应做出裁决) 对已确认的问题进行分类; 作者决定是否召开第三小时会议; 记录员记录所有的问题及分类,并发给组织者;(记录员尽量不要由作者和组织者担任) 组织者更新评审表单。第三小时会议 有争议的问题接着讨论,给出决议; 讨论解决问题方案; 组织者更新评审表单。返 工:发回作者修改;跟 踪: 汇总所有需要的数据到评审表单发给相关评审专家;(2组织者) 组织评审专家确认各缺陷得到了
49、修改,同时没有引入新的缺陷; 协助组织者确认相关问题得到了正确修改同时没有引入新的缺陷; 确认评审表单中各相关度量数据正确(发觉缺陷数;评审投入时刻;评审专家人数等)(评审专家2)配 置 & 需 求 管 理1、 配置治理的目的和意义:目的:a. 可视性:用户/买方/卖方详细明白工作内容; b. 治理层能够明白产品特性; c. 所有的项目参与者在同一平台下交流; d. 了解现在和打算的配置; e. 治理层可看到变更的阻碍; f. 治理层可选择参与的节点;目标: 项目:减少返工,减少工作量;意义: 公司:节约成本,积存项目财宝; 可视性提高; 项目可跟踪性高; 配置、基线、版本各自定义及关系:配
50、置:是软件生命周期个时期产生的程序、数据、文件、环境的集合;配置项:是软件生命周期个时期产生的程序、数据、文件、环境基 线:配置项在其生命周期的不同时刻点上通过评审而进入正式受控的一种状态,而那个过程被称为“基线化”;版 本:是表示一个配置项具有一组定义的功能的一种标识; 变更操纵的流程(各种角色、职责输出): 项目成员、客户代表、市场人员提交CR CMO将CR状态表示为已提交,并将CR依照条件进行推断,把不需要CCB进行审核的、决定采纳的CR直接进行签发;把不需要CCB进行审核的、不决定采纳的CR直接关闭(4 CMO将CR状态标识为已拒绝);将需要CCB评审的CR提交给CCB进行评估; CC
51、B召开会议对CR进行评估 CMO将CR状态标识为已同意,将CR于要修改的配置项发给项目组成员并开放CI的配置库权限 项目组成员执行更改并进行验证 CCB召开会议对修改进行审核,假如通过将CR状态表示为已验证,发给CMO,否则直接关闭,并给出提交人反馈信息4、 配置治理中测试工程师的职责: 测试工程师将自己创建的与测试相关配置项(比如软件测试打算、软件测试方案、软件测试用例、软件测试日报、软件测试报告等)加入配置库中; 测试工程师依照变更请求,对差不多基线化的配置项进行Check-Out、修改、Check-In操作。比如,在测试执行之前,需要更新测试用例,现在需要通过CMO的授权,然后由测试人员
52、对相应的配置项(测试用例文件)Check-Out、修改、Check-In5、 需求跟踪涉及到的配置项分配需求分配需求SRSHLDLLDCODEST文档IT文档UT文档6、 配置项的跟踪矩阵SOW or ARRTM Form初始化RTMSOW or ARRTM Form初始化RTM初始的RTM预备基线化的文档、代码关于差不多基线化的SRS、设计文档、代码、测试文档等的CRS更新后的RTM更新RTM缺 陷 管 理 缺陷治理的目的: 保证信息的一致性;保证缺陷得到有效跟踪,解决; 猎取正确的Bug信息,用作缺陷分析和产品度量。缺陷的相关属性: 缺陷发觉人(Defect Reporter); 缺陷发觉
53、时刻(Defected on Date); 缺陷状态(Status); 缺陷严峻程度(Sewrity); 缺陷所属版本(Defected in Version); 优先级(Priority) 缺陷修改日期(Fixed on Date); 再现性(Reproducible); 回归测试(Regression);缺陷治理流程:(参考缺陷治理作业)缺陷跟踪单写作准则(5C) Correct(准确),每个组成部分的描述准确,可不能引起误会; Clear(清晰),每个组成部分的描述清晰,易于理解; Concise(简洁),只包含必不可少的信息,不包括任何多余的内容; Complete(完整),包含复现该
54、缺陷的完整步骤和其他本质信息; Consistent(一致),按照一致的格式书写全部缺陷报告。5、 缺陷跟踪单差不多内容:(其他相关属性);简单描述;详细描述;相关附件。6、 QC中缺陷治理流程:(实际流程应参考各公司内部流程或者书本)Qatester提交一个状态为new的新缺陷后assigned to PM PM查看该缺陷,并推断是否为缺陷需要修改 :n 在comments中记录否决意见后closed; y 在comments中记录相关意见后将该缺陷指派给相关开发人员,并将status置为open/reopenDeveloper打开缺陷模块,看到指派给自己的缺陷后确定是否修改: n 在com
55、ments中记录意见后rejected to PM2 y 修改该缺陷,并将status置为fixed指给PMPM将该缺陷指派给Qatester进行回归测试Qatester看到指派给自己的fixed的缺陷后,进行回归测试,通过? y closed; n rejected给PM2SQL SERVER数据定义语言(DDL) Create table 创建数据库的表 Create index 创建数据库表的索引 Drop table 删除数据库表 Drop index 删除数据库表的索引 Truncate table 删除表的所有行 Alter table 修改表:增加表列、重定义表列、更改存储分配等
56、 Alter table add constraint 在已有的表上增加约束数据操作语言DML Insert 增加数据行 Delete 从表里删除行 Update 更改表中数据 Select 从表或视图中检索数据行数据操纵语言DCL Grant 将权限或角色授予用户或其他角色 Revoke 从用户或数据库角色回收权限 Set role 禁止或同意一个角色数据库事务操纵 Commit work 把当前事务所作的更改永久化(写入磁盘) Rollback 作废上次提交以来的所有更改Where语句中的通配符:Select * from objects where object_namelike sql
57、#_m_il escape #字符类型转换: 例:convert(varchar(5),varage)汇总函数 平均值avg 总和sum 最小值min 最大值max 计数count Count(*)和count (distinct )Insert语句 Insert into 表名(列名1,n)value (值1,n) Insert into student values (20051115,黄飞鸿,男,21,cs) Insert into student(sname,sno,sdept) value(刘德华,20055567,cs) 未指明的字段内容为null Insert into 表名(列
58、名1,n)select 语句;如: Insert into student2(sno,sname,sdept) select sno,sname,sdeptfrom student1 前提是两个表的结构相同Update语句Update 表名set 列名1=表达式1,列名2=表达式2. Where 条件Update student set sdept= MAwhere sno= 95001所有学生年龄加1Update student set sage = sage+1该语句只对单个表操作,不能同时对多表操作该语句仅当事务提交(commit)后才生效;也可通过事务回滚rollback来作废操作在SQL Server 2000中有5种约束:主键约束(primary key constraint)唯一性约束(unique constraint)检查约束(check constraint)缺省约束(default constraint)外部键约束(foreign key constraint)课程实例:创建表订单Acreate table 订单A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭装修工程合同签订注意事项
- 室内装潢工程监理合同示范
- 广州市劳动合同范本样式
- 罗麦命运是培训
- 房屋买卖合同协议书的签订要点
- 2024年合同承包的英文
- 12盘古开天地 公开课一等奖创新教学设计-2
- 年产xx打印色带项目建议书
- 年产xxx牙齿轮项目投资分析报告
- 条形板项目可行性研究报告
- 廉租住房分配实施方案
- 食品添加剂E编码中英文对照表
- 篮球场改造工程施工组织设计方案
- 小学生飞机知识科普课件
- 利乐TBA9培训演示文稿课件
- 《雪花的快乐》 完整版课件
- 创建三甲医院实施方案(4篇)
- 康熙字典9画五行属金的字加解释
- 生态学(第四章群落演替)课件
- 预应力混凝土铁路桥简支梁产品生产许可证实施细则培训考题(含答案)
- 小学生自我介绍竖版
评论
0/150
提交评论