软件测试概论-考点提要(按章节)_第1页
软件测试概论-考点提要(按章节)_第2页
软件测试概论-考点提要(按章节)_第3页
软件测试概论-考点提要(按章节)_第4页
软件测试概论-考点提要(按章节)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、l 测 试 基 础软件测试:用人工或自动的手段运行或测试某个系统的过程。目的是检验系统是否满足规定的需求,或弄清预期结果和实际结果之间的差别。1、 软件测试的目的:证明(表达软件能够工作) 检测(发现错误) 预防(管 理质量)2、 测试执行:单元测试(UT执行):一个测试用例的测试执行; 集成测试(IT执行):一个测试用例集的测试执行; 系统测试(ST执行):不同测试阶段的测试执行。3、 回归测试的目的:a. 验证错误是否修复;b. 检测对代码的修改是否引入了新的错误。5、 软件测试的主要工作:a. 检视代码,评审开发文档;b. 进行测试设计,写作测试文档(测试计划、测试方案、测试用例等);c

2、. 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;d. 通过测试度量软件质量。6、 软件危机的出现主要表现在:a. 由于缺乏大型软件开发经验和软件开发数据积累,开发工作计划很难制定; b. 开发早期需求分析不够明确,造成开发后期矛盾集中暴露; c. 不遵循开发规范,开发文档不完整,软件难以维护; d. 缺乏严密有效的软件质量检测手段,交付给用户的软件质量差。7、 软件危机的后果:a. 软件质量不高,很难稳定;b. 软件项目延期,进度无法控制;c. 成本增加,无法控制预算。8、 软件危机的根源:a. 根据摩尔定律,硬件发展很快,相应对软件系统的期望越来越高; b. 软件系统复杂

3、性提高,需多人合作; c. 软件开发是人的智力活动,无法用已有的产业工程方法来组织管理。9、 软件生命周期的各个阶段:计划 需求分析 设计 编码 测试 运行 评价10、 设计:概要设计(HLD):在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块; 详细设计(LLD):对每个模块要完成的工作进行具体的描述。11、 软件研发相关要素:人员、过程、工具。12、 软件项目组人员组成:分析人员、设计人员、开发人员、测试人员、配置管理人员、SQA(质量保证人员);13、 软件研发流程类型:瀑布模型、螺旋模型、RUP流程、IPD流程。14、 软件研发中几个重要的过程:需求管理;配置管理;缺

4、陷管理;同行评审。15、 常见的引入缺陷的原因:a. 开发过程缺乏有效的沟通,或者没有进行沟通; b. 软件复杂度越来越高; c. 编程中产生错误; d. 需求不断变更; e. 项目进度的压力; f. 不重视开发文档;g. 软件开发工具本身隐藏的问题。等等 l 软 件 质 量1、 软件质量的定义:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。而质量就是实体基于这些特性满足需求的程度。2、 软件质量的三个层次:a. 符合需求规格;b. 符合用户显示需求; c. 符合用户实际需求。3、 影响软件质量的因素:流程、技术、组织。流程:一组活动(活动是否都是必须的;活动角色之间的关系)过程

5、:一组将输入转化为输出的相关联或相互作用的活动。4、 八项质量管理原则:a. 以顾客为中心;b. 领导作用;c. 全员参与; d. 过程方法;e. 管理的系统方法;f. 持续改进; g. 基于事实的决策方法;h. 互利的供方关系。5、 八项质量管理原则的意义:a. 是质量管理的理论基础; b用高度概括易于理解的语言所表述的质量管理的最基本,最通用的一般性规律; c. 为组织建立质量管理体系提供了理论依据; d. 是组织的领导者有效的实施质量管理工作必须遵循的原则。6、 CMM1:初始级,Inltial,不可预测并且缺乏控制; CMM2:可重复级:Repeatable,可重复以前的主要经验;(关

6、键过程区域:需求管理;软件项目计划;软件项目跟踪和监督;软件子合同管理;软件质量保证;软件配置管理。) CMM3:已定义级:Defined,过程被描述,并得到良好理解;(关键过程区域:组织过程定义;组织过程焦点;培训大纲;集成软件管理;软件产品工程;组际协调;同行评审。)CMM4:已管理级:Managed,过程被测量并受控;(关键过程区域:定量的过程管理;软件质量管理。)CMM5:优化级,Optimizing,关注过程改进。(关键过程区域:缺陷预防;技术变更管理;过程变更管理。)7、 CMM的用途:a. 评估组用来识别组织中的强处和弱处; b. 评价组用来识别选择不同的业务承包商的风险和监督合

7、同; c. 管理者用来了解其组织的能力,并了解为了提高其能力成熟度而进行软件过程改进所需进行的活动; d. 技术人员和过程改进组用来作为指南,指导他们在组织中定义和改进软件过程。8、 ISO9001和CMM的关系: 相似点:强调管理、过程、规范化和文档化; 不同点:CMM把焦点对准软件;ISO9001的范围包括:硬件、软件、流程性材料和服务; 两者关系:CMM2级与ISO9001强相关;CMM的每个关键过程域至少按某种解释与ISO9001弱相关。9、 软件质量模型: 功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。包括:适合性;准确性;互操作性;保密安全性;功能性

8、的依从性。 可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。包括:成熟性;容错性;易恢复性;可靠性的依从性。 易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。包括:易理解性;易学性;易操作性;吸引性;易用性的依从性。 效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。包括:时间特性;资源利用性;效率依从性。 维护性:软件产品可被修改的能力。修改可能包括修正、改进或软件对环境、需求和功能规格说明变化的适应。包括:易分析性;易改变性;稳定性;易测试性;维护性的依从性。 可移植性:软件产品从一种环境迁移到另外一种环境的能力。包括:适应性;

9、易安装性;共存性;易替换性;可移植性的依从性。10、 软件质量活动:软件质量保证(SQA)和测试;SQA从流程方面保证软件的质量、测试从技术方面保证软件的质量、只进行SQA或者只进行测试活动不一定能产生好的软件质量。11、 SQA的主要工作范围: 指导并监督项目按照过程实施; 对项目进行度量、分析,增加项目的可视性; 审核工作产品,评价工作产品和过程质量目标的复合度; 进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进。12、 度量:对事物属性的量化表示;软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构建或生命周期过程具有的某个给定属性的度的一个定量测量。目的:

10、 提高软件生产率,缩短产品研发周期,降低研发成本、维护成本; 提高软件产品质量,提高用户满意度; 为组织持续改进提供量化的指标和反馈。13、 软件度量的作用:理解;预测;评估;改进。分类:规模;工作量;进度;质量 如何将度量的知识应用于实际工作中:建立测试工作的度量数据,目的是作为预测和改进的基础(a. 熟悉需求:进度、工作量、规模;b. 设计用例:工作效率、覆盖率;c. 执行用例:工作效率、缺陷密度;)l 测 试 方 法1、 什么是白盒测试: 白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况; 白盒测试是基于程序结构的

11、逻辑驱动测试; 白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。2、 为什么进行白盒测试: 一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问难题能基本得到消除; 能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证; 发现问题后解决问题的成本较低。3、 白盒测试的常用技术: 静态分析:控制流分析、数据流分析、信息流分析等; 动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等。4、 控制流相关概念:程序元素、控制流关系、控制流图、控制流矩阵。(步骤:5)5、 控制流分析能发现的问题:转向并不存在的标号;没有

12、用的语句标号;从程序入口进入后无法达到的语句;不能达到停机语句的语句。6、 数据流相关概念:数据的定义;数据的引用。(步骤:3)7、 数据流分析的左右:分析代码中关于数据定义和引用方面的错误;进行代码优化。(赋值语句运算效率高)8、 信息流分析:输入变量和语句关系;语句和输出变量关系;输入和输出变量管 理。(步骤:4)9、 覆盖率工具的作用: 分析被测试代码控制结构,决定插装位置(分支的入口和出口); 实施插装; 将插装代码重新编译; 执行被测对象,根据插装的监控哨信息统计覆盖率。10、 白盒测试的特点: 测试人员需要了解软件的实现; 可以检测代码中的每条分支和路径; 解释隐藏在代码中的错误;

13、 对代码的测试比较彻底; 实现代码结构上的优化; 白盒测试投入较大,成本高; 白盒测试不验证规格的正确性。11、 什么是黑盒测试: 黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现; 黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。 黑盒测试又可以被称为基于规格的测试。12、 常见的黑盒测试类型:功能性测试;容量测试;负载测试;恢复性测试。13、 系统测试的时候,如果没有SRS时,有两类BUG无法发现:需求遗漏;需求偏差。14、 黑盒测试的优点:对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高; 测试人员不需要了解实现的细节

14、,包括特定的编程语言; 从用户的视角进行测试,很容易被大家理解和接受; 有助于暴露任何规格不一致或有歧义的问题。15、 黑盒测试的缺点: 没有清晰的和简明的规格,测试用例是很难设计的; 不能控制内部执行路径,会有很多内部程序路径没有被测试到;不能直接针对特定的程序段,这些程序可能非常复杂(因此可能隐藏更多的问题)。16、 动态和静态测试的分类依据在于:被测对象是否运行起来。17、 手工静态分析同行评审:正规检视;技术评审;走查。评审对象:计 划、需求文档、设计图、代码等。18、 自动化静态分析:静态验证;语法分析器;符号执行器。 自动化测试的限制(板书): 自动化测试不具备想象力,不能够检查脚

15、本中给定的观察点之外的错误; 自动化测试只能提高测试效率,不能提高测试效果,不能发现比人工测试更多的问题;如被测对象不稳定,存在变动性的话不适合开展自动化测试,否则脚本的编写和维护所耗费的时间可能远大于人工测试; 只有手工测试积累到一定程度(提供更多的观察点),才能做好自动化测试。l V&V模型(测试过程)1、 验证与确认V&V:验证(VERIFICATION)强调过程;确认(VALIDATION)强调 结果。2、 V&V告诉我们: 尽早测试(尽早准备、尽早执行); 全面测试(文档、代码) 全过程测试(测试参与到开发过程中、对测试过程全称跟踪) 测试是独立的、迭代的。系统测试执行集成测试执行单

16、元测试执行代码审查需求分析SRS评审SRS基线化概要设计HLD评审HLD基线化详细设计LLD评审LLD基线化CODE系统测试计划系统测试方案设计系统测试用例设计集成测试计划集成测试方案设计集成测试用例设计单元测试计划单元测试方案设计单元测试用例设计3、 单元、集成、系统测试的比较:测试方法不同;考察范围不同;评估基准不同。4、 回归测试策略:完全重复测试;选择性重复测试(覆盖修改法;周边影响法; 指标达成方法;选择重要级别高的测试用例)5、 其他测试阶段:验收测试;a(ALPHA)测试;B(BETA)测试。6、 主要的测试文档:测试计划;测试方案;测试用例;测试规程;测试报告;测 试日报。l

17、单 元 测 试1、 单元测试的目的:在于发现各模块内部可能存在的各种错误主要是基于白盒测试。 验证代码是与设计相符合的; 发现设计和需求中存在的错误; 发现在编码过程中引入的错误。(和设计不相符 / 和设计相符,但是由于编码疏漏引起)2、 孤立的测试策略: 方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块。每个模块进行独立的单元测试。 优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方法是纯粹的单元测试。 缺点:桩函数和驱动函数工作量很大,效率低。3、 自顶向下的单元测试策略: 方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行

18、测试,使用上面已测试的单元做驱动模块。如此类推直到测试完所有模块。 优点:可以节省驱动函数的开发工作量,测试效率较高。 缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。4、 自底向上的单元测试策略: 方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被测试过的模块做桩模块。以此类推,直到测试完所有模块。 优点:可以节省桩函数的开发工作量,测试效率较高。 缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产生很大的影响。5、 单元测试的四个阶段: 测试计划:完成单元测试计划;

19、 测试设计:完成单元测试方案; 测试实现:完成单元测试用例、单元测试规程、单元测试脚本及数据文件; 测试执行:执行单元测试用例,修改发现的问题并进行回归测试,提交单元测试报告。 单元测试:桩&驱动举例:无论是单元测试还是集成测试都涉及到以下三个函数:主控函数: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

20、;if(x=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(

21、“testcase 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

22、 x, int y) 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);re

23、turn temp; 测试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; l 测 试 覆 盖 率2、 覆盖率概念: 覆盖率是用来度量测试完整性的一个手段。覆盖率是测试技术有效性

24、的一个度量。覆盖率=(至少被执行一次的item数)/item的总数; 覆盖率大体可以划分为两大类:逻辑覆盖和功能覆盖; 测试用例设计不能一味追求覆盖率,因为测试成本虽覆盖率的增加而增加。3、 逻辑覆盖主要类型:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、路径覆盖。4、 语句覆盖率:(Statement Coverage),在测试时运行被测程序后,程序中被执行到的可执行语句的比率; 语句覆盖率 = (至少被执行一次的语句数量)/(可执行的语句总数)5、 分支覆盖率:(Branch Coverage)也叫判定覆盖(Decision Coverage),它的含义是:在测试时运行被测程序后,程序中所

25、有判断语句的取真分支和取假分支被执行到的比率;判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)6、 条件覆盖率:(Condition Coverage)的含义是,在测试时运行被测程序后,所有判断语句中每个条件的可能取值(真值和假值)出现过的比率;条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数)7、 分支-条件覆盖率:(Branch Condition Coverage)也叫判定条件覆盖(Decision Condition Coverage),它的含义是,在测试时运行被测程序后,所有判断语句中每个条件的所有可能值(为真为假)和每个判断本身的判定结果(为真为假)出

26、现的比率;分支条件覆盖率=(条件操作树枝或判定结果至少被评价一次的数量)/(条件操作数值总数+判定结果总数)8、 路径覆盖率:(Path Coverage)的含义是,在测试时运行被测程序后,程序中所有可能的路径被执行过的比率;路径覆盖率=(至少被执行到一次的路径数)/(总的路径数)9、 其他覆盖率:功能覆盖率;面向对象的覆盖率;函数覆盖;指令块覆盖;判定路径覆盖。l 测 试 用 例 举 例测试用例编号BOSS_ ST_ MARKETING_NEW_01P重要级别高(还有“较高、中、较低、低”几个等级)测试项目新增营销记录测试标题新增10元的营销记录用例类型基本事件(对应还有“备选事件”、“异常

27、事件”)用例设计者songfun设计日期2005-04-25对应需求编号REQ_ MARKETING_NEW_01对应UIMarketing.htm对应UCUC_ MARKETING_NEW_01版本号Build v0.1对应开发人员Frank预置条件操作员登录营销管理系统测试方法等价类划分(对应还有“错误猜测法”、“边界值分析”等)输 入用户名:51testing 性别:男 金额:10元 描述:aaaaaaa操作步骤. 进入【营销下发】页面;. 点击增加按钮;. 输入相应数据;. 点击确定按钮;. 在后台数据库(test/testtestDB)输入查询语句验证:select * from M

28、arketingTab where ID=1001预期输出1. 执行步骤后,页面弹出添加成功提示信息框;2. 执行步骤后查询数据库,记录确实添加成功且数据无误l 同 行 评 审1、 同行评审:(Peer Review)是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。需要进行同行评审的特定产品在定义项目软件过程的时候被确定并且作为软件开发计划的一部分被安排了进度。 需要前期准备、计划和时间进度表 越早越好3、 同行评审的作用: 早期发现缺陷; 去除缺陷; 降低成本; 提高质量。4、 同行评审的类型: 正规检视:(Inspection)最严格,要求有规范的流程,参加者经过正式培训; 技术评

29、审:(Technique Review)以技术方案的比较、裁决为目的,严格程度介于正规检视和走读之间; 走 读:(Walk Through)最(自由)松散的形式,无流程要求,有评审团队,评审流程无要求。5、 通用评审流程步骤(正规检视流程):YY出 口5.第三小时会议6.返工阶段N7.跟踪阶段第三小时会议?入口准则N介绍会议?1.计划阶段2.介绍会议3.准备阶段4.Review会议6、 计划阶段: 项目负责人指定组织者;作者自检工作产品; 组织者规划本次评审; 检查入口准则:是否符合文档标准?是否已用工具检查?代码=500行; 文档=40页; 准备评审包:工作产品(HLD);参考资料(SRS-

30、检查一致性);评审表(Review Form);查检表(Checklist)。 指定评审专家(3-6人); 组织者将评审包、评审通知单发给相关人员。7、 介绍会议: 被评审对象采用新技术、新方法; 被评审对象第一次被评审 (作者介绍被审对象以及相关技术) 评审专家第一次参加评审 (评审者介绍评审流程) 介绍会议的召开距接到评审通知的时间大于5小时; 介绍会议的时间不超过1小时,30-60间为宜,关注讲解。8、 准备阶段:(最重要、发现缺陷最多) 评审专家个人独立完成工作产品的审视,提出缺陷; 准备时间 大于 会议时间,且应于会议前2天开始; 评审者:收到组织者发来的评审包;审核工作产品、发现缺

31、陷;填写评审表单;反馈评审表单给组织者; 组织者:检查评审表单;裁决是否需要增加评审评审投入(增加准备时间;增加评审专家人数;更换评审专家)9、 会议阶段(2小时内;只提出问题,不关注解决): 组织者召开评审会议; 讲解员讲解工作产品;(尽量不要由作者兼任) 大家共同确认问题(评审表单中记录的问题;会上发现的问题;当争执不下时组织者应做出裁决) 对已确认的问题进行分类; 作者决定是否召开第三小时会议; 记录员记录所有的问题及分类,并发给组织者;(记录员尽量不要由作者和组织者担任) 组织者更新评审表单。10、 第三小时会议 有争议的问题继续讨论,给出决议; 讨论解决问题方案; 组织者更新评审表单

32、。11、 返 工:发回作者修改;12、 跟 踪: 汇总所有需要的数据到评审表单发给相关评审专家;(2组织者) 组织评审专家确认各缺陷得到了修改,并且没有引入新的缺陷; 协助组织者确认相关问题得到了正确修改并且没有引入新的缺陷; 确认评审表单中各相关度量数据正确(发现缺陷数;评审投入时间;评审专家人数等)(评审专家2)l 配 置 & 需 求 管 理1、 配置管理的目的和意义:目的:a. 可视性:用户/买方/卖方详细知道工作内容; b. 管理层能够知道产品特性; c. 所有的项目参与者在同一平台下交流; d. 了解现在和计划的配置; e. 管理层可看到变更的影响; f. 管理层可选择参与的节点;目

33、标: 项目:减少返工,减少工作量;意义: 公司:节约成本,积累项目财富; 可视性提高; 项目可跟踪性高;2、 配置、基线、版本各自定义及关系:配 置:是软件生命周期个阶段产生的程序、数据、文件、环境的集合;配置项:是软件生命周期个阶段产生的程序、数据、文件、环境基 线:配置项在其生命周期的不同时间点上通过评审而进入正式受控的一种状态,而这个过程被称为“基线化”;版 本:是表示一个配置项具有一组定义的功能的一种标识;3、 变更控制的流程(各种角色、职责输出): 项目成员、客户代表、市场人员提交CR CMO将CR状态表示为已提交,并将CR根据条件进行判断,把不需要CCB进行审核的、决定采纳的CR直

34、接进行签发;把不需要CCB进行审核的、不决定采纳的CR直接关闭(4 CMO将CR状态标识为已拒绝);将需要CCB评审的CR提交给CCB进行评估; CCB召开会议对CR进行评估 CMO将CR状态标识为已接受,将CR于要修改的配置项发给项目组成员并开放CI的配置库权限 项目组成员执行更改并进行验证 CCB召开会议对修改进行审核,如果通过将CR状态表示为已验证,发给CMO,否则直接关闭,并给出提交人反馈信息4、 配置管理中测试工程师的职责: 测试工程师将自己创建的与测试相关配置项(比如软件测试计划、软件测试方案、软件测试用例、软件测试日报、软件测试报告等)加入配置库中; 测试工程师根据变更请求,对已

35、经基线化的配置项进行Check-Out、修改、Check-In操作。比如,在测试执行之前,需要更新测试用例,此时需要经过CMO的授权,然后由测试人员对相应的配置项(测试用例文件)Check-Out、修改、Check-In5、 需求跟踪涉及到的配置项分配需求SRSHLDLLDCODEST文档IT文档UT文档6、 配置项的跟踪矩阵SOW or ARRTM Form初始化RTM初始的RTM准备基线化的文档、代码对于已经基线化的SRS、设计文档、代码、测试文档等的CRS更新后的RTM更新RTMInputTaskOutputl 缺 陷 管 理1、 缺陷管理的目的: 保证信息的一致性;保证缺陷得到有效跟踪

36、,解决; 获取正确的Bug信息,用作缺陷分析和产品度量。2、 缺陷的相关属性: 缺陷发现人(Defect Reporter); 缺陷发现时间(Defected on Date); 缺陷状态(Status); 缺陷严重程度(Sewrity); 缺陷所属版本(Defected in Version); 优先级(Priority) 缺陷修改日期(Fixed on Date); 再现性(Reproducible); 回归测试(Regression);3、 缺陷管理流程:(参考缺陷管理作业)4、 缺陷跟踪单写作准则(5C) Correct(准确),每个组成部分的描述准确,不会引起误会; Clear(清晰

37、),每个组成部分的描述清晰,易于理解; Concise(简洁),只包含必不可少的信息,不包括任何多余的内容; Complete(完整),包含复现该缺陷的完整步骤和其他本质信息; Consistent(一致),按照一致的格式书写全部缺陷报告。5、 缺陷跟踪单基本内容:(其他相关属性);简单描述;详细描述;相关附件。6、 QC中缺陷管理流程:(实际流程应参考各公司内部流程或者书本)1. Qatester提交一个状态为new的新缺陷后assigned to PM 2. PM查看该缺陷,并判断是否为缺陷需要修改 :n 在comments中记录否决意见后closed; y 在comments中记录相关意

38、见后将该缺陷指派给相关开发人员,并将status置为open/reopen3. Developer打开缺陷模块,看到指派给自己的缺陷后确定是否修改: n 在comments中记录意见后rejected to PM2 y 修改该缺陷,并将status置为fixed指给PM4. PM将该缺陷指派给Qatester进行回归测试5. Qatester看到指派给自己的fixed的缺陷后,进行回归测试,通过? y closed; n rejected给PM2l SQL SERVER 数据定义语言(DDL) Create table 创建数据库的表 Create index 创建数据库表的索引 Drop t

39、able 删除数据库表 Drop index 删除数据库表的索引 Truncate table 删除表的所有行 Alter table 修改表:增加表列、重定义表列、更改存储分配等 Alter table add constraint 在已有的表上增加约束 数据操作语言DML Insert 增加数据行 Delete 从表里删除行 Update 更改表中数据 Select 从表或视图中检索数据行 数据控制语言DCL Grant 将权限或角色授予用户或其他角色 Revoke 从用户或数据库角色回收权限 Set role 禁止或允许一个角色 数据库事务控制 Commit work 把当前事务所作的更

40、改永久化(写入磁盘) Rollback 作废上次提交以来的所有更改 Where语句中的通配符:Select * from objects where object_namelike sql#_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,黄飞鸿,男,

41、21,cs) Insert into student(sname,sno,sdept) value(刘德华,20055567,cs) 未指明的字段内容为null Insert into 表名(列名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所有学生年龄加

42、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(订单编号 int not null, 下单日期

43、 datetime not null, 客户编号 int not null)select * from 订单A-首先添加订单名称,varchar(20),nullalter table 订单Aadd 订单名称 varchar(20) nullselect * from 订单A-之后删除订单名称字段alter table 订单Adrop column 订单名称select * from 订单A-然后同时添加订单名称,varchar(20),null和定购数量,int,nullalter table 订单Aadd 订单名称 varchar(20) null,订购数量 int nullselect

44、* from 订单A-然后尝试同时修改订单名称的字段长度为50,定购数量数据类型为numeric* 不能同时修改*alter table 订单Aalter column 订单名称 varchar(50) nullselect * from 订单Aalter column 订单名称 varchar(50) null 订购数量 numeric -最后同时删除订单名称和定购数量alter table 订单Adrop column 订单名称,订购数量select * from 订单A-向已有表订单A的订单编号字段添加主键约束alter table 订单Aadd constraint 订单编号_k pr

45、imary key (订单编号)select * from 订单A-创建定购项目表,并同时添加项目编号字段为主键create table 订购项目(订单编号 int not null, 项目编号 int not null, 书籍编号 int not null, 数量 int not null, primary key (项目编号)select * from 订购项目-向已有表定购项目添加新字段项目名称和客户名称,并设置项目名称字段为唯一键alter table 订购项目add 项目名称 varchar(20),客户名称 varchar(20)constraint 项目名称_u unique (

46、项目名称)select * from 订购项目-在现有表定购项目上设置客户名称为唯一键alter table 订购项目add constraint 客户名称_u unique (客户名称)-设置数量字段必须在10到100之间alter table 订购项目add constraint chk_数量 check (数量 between 10 and 100)insert into 订购项目 values(1,2,3,4,张三,李四) -检测数量字段的约束条件是否成立create table sincky(myid int identity(10,1) not null, -通过函数实现自动增量y

47、ourid varchar(10)-添加定购地点字段,默认值是上海alter table 订购项目add 订购地点 varchar(50) null default 上海 -设置缺省约束create table 书籍(书籍编号 int not null primary key, 书籍名称 varchar(50) null, 价格 smallmoney null, 出版公司 char(20)alter table 订购项目add constraint 订单项目_f foreign key (书籍编号) references 书籍(书籍编号)存储过程:if exists (select * from sysobjects where name=sinckypro and type=p)drop procedure sinckyprogocreate procedure sinckyprovarname var

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论