下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章测试基础软件测试的目的:证明(表达软件能够工作)r检测(发现错误)r预防(管理质量)测试执行:单元测试(UT执行):一个测试用例的测试执行;集成测试(IT执行):一个测试用例集的测试执行;系统测试(ST执行):不同测试阶段的测试执行。测试用例(TestCase):指对一项特定的软件产品测试任务的描述,体现测试方案、方法、技术和策略。4.测试和调试的区别:测试调试目的找出存在的错误定位错误,修改程序以修正错误对象文档,代码代码流程有特定流程,有计划性无特定流程,小可设计,无计划性条件从已知条件开始,用预定义过程,有预知结果从未知条件开始,结束过程不可预计b. 5.回归测试的目的:a.验证错
2、误是否修复;检测对代码的修改是否引入了新的错误。b. 软件测试的主要工作:a.检视代码,评审开发文档;进行测试设计,写作测试文档(测试计划、测试方案、测试用例等);执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;通过测试度量软件质量。6. 软件危机的出现主要表现在:a. 由于缺乏大型软件开发经验和软件开发数据积累,开发工作计划很难制定;b. 开发早期需求分析不够明确,造成开发后期矛盾集中暴露;c. 不遵循开发规范,开发文档不完整,软件难以维护;d. 缺乏严密有效的软件质量检测手段,交付给用户的软件质量差。8.软件危机的后果:a.软件质重/、局,很难稳定;b. 软件项目延期,进度
3、无法控制;c. 成本增加,无法控制预算。9.软件危机的根源:a. 根据摩尔定律,硬件发展很快,相应对软件系统的期望越来越高;b. 软件系统复杂性提高,需多人合作;c. 软件开发是人的智力活动,无法用已有的产业工程方法来组织管理。10.软件生命周期的各个阶段:计划r需求分析r设计r编码r测试r运行r评价11. 设计:概要设计(HL。:在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;详细设计(LLD):对每个模块要完成的工作进行具体的描述。12. 软件研发三要素:人员、过程、工具13. 软件项目组人员组成:分析人员、设计人员、开发人员、测试人员、配置管理人员、SQA(质量保证人
4、员)14. 软件研发流程类型:瀑布模型:无风险控制能力,适合需求变化较小的情况。螺旋模型:基于风险管理的模型,高风险的优先考虑,对风险管理人员的要求较高。RVP流程:面向对象的,通用的(4大阶段,6大工作流,8项迭代)。特点:1)基于风险2)用例集驱动3)以架构为中心4)迭代和增量IPD流程:1)产品结构重整(资源重整)2)公共模块共用15. 软件研发中几个重要的过程:需求管理、配置管理、缺陷管理、同行评审。16. 常见的引入缺陷的原因:a.开发过程缺乏有效的沟通,或者没有进行沟通;b.软件复杂度越来越高;c.编程中广生错误;d.需求不断变更;e.项目进度的压力;f.不重视开发文档;g.软件开
5、发工具本身隐藏的问题。等等17. 缺陷类型:遗漏、错误、额外的实现。第二章软件质量1、2b.3、软件质量的定义:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。而质量就是实体基于这些特性满足需求的程度。软件质量的三个层次:符合用户显示需求;c.影响软件质量的因素:a.符合需求规格;4、符合用户实际需求。流程、技术、组织。流程:一组活动(活动是否都是必须的,活动角色之间的关系)过程:一组将输入转化为输出的相关联或相互作用的活动。八项质量管理原则:d.a.5、g.八项质量管理原则的意义:bc.d.6、CMM1CMM2:以顾客为中心;b.领导作用;c.全员参与;过程方法;e.管理的系统方
6、法;f.持续改进;基于事实的决策方法;h.互利的供方关系。a.是质量管理的理论基础;用高度概括易于理解的语言所表述的质量管理的最基本,最通用的一般性规律;为组织建立质量管理体系提供了理论依据;是组织的领导者有效的实施质量管理工作必须遵循的原则。,不可预测并且缺乏控制;CMM3:初始级,Initial可重复级:Repeatable,可重复以前的主要经验;(关键过程区域:需求管理;软件项目计划;软件项目跟踪和监督;软件子合同管理;软件质量保证;软件配置管理。)已定义级:Defined,过程被描述,并得到良好理解;(关键过程区域:组织过程定义;组织过程焦点;培训大纲;集成软件管理;软件产品工程;组际
7、协调;同行评审。)CMM4已管理级:Managed,过程被测量并受控;(关键过程区域:定量的过程管理;软件质量管理。)CMM5优化级,Optimizing,关注过程改进。b. (关键过程区域:缺陷预防;技术变更管理;过程变更管理。)7、CMM的用途:a.评估组用来识别组织中的强处和弱处;评价组用来识别选择不同的业务承包商的风险和监督合同;管理者用来了解其组织的能力,并了解为了提高其能力成熟度而进行软件过程改进所需进行的活动;技术人员和过程改进组用来作为指南,指导他们在组织中定义和改进软件过程。8、ISO9001和CMM勺关系:相似点:强调管理、过程、规范化和文档化;不同点:CMM巴焦点对准软件
8、;ISO9001的范围包括:硬件、软件、流程性材料和服务;两者关系:CMM教与ISO9001强相关;CMM勺每个关键过程域至少按某种解释与ISO9001弱相关。9、六西格玛的实施方式:Define:定义-提出问题,确定目标Measure:测量-收集资料,寻找原因Analyse:分析-研究资料,确定原因Improve:改进-优化解决方案Control:控制-推行控制系统10、软件质量模型:功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。包括:适合性;准确性;互操作性;保密安全性;功能性的依从性。可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。包括:成熟
9、性;容错性;易恢复性;可靠性的依从性。易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。包括:易理解性;易学性;易操作性;吸引性;易用性的依从性。效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。包括:时间特性;资源利用性;效率依从性。维护性:软件产品可被修改的能力。修改可能包括修正、改进或软件对环境、需求和功能规格说明变化的适应。包括:易分析性;易改变性;稳定性;易测试性;维护性的依从性。可移植性:软件产品从一种环境迁移到另外一种环境的能力。包括:适应性;易安装性;共存性;易替换性;可移植性的依从性。11、SQA与测试的关系:测试从技术的角度来保证
10、软件质量SQA从流程的角度保障软件质量组织用来保障SQAO测试的活动12、SQA的主要工作范围:指导并监督项目按照过程实施;-对项目进行度量、分析,增加项目的可视性;-审核工作产品,评价工作产品和过程质量目标的复合度;-进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进。13、度量:对事物属性的量化表示;软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构建或生命周期过程具有的某个给定属性的度的一个定量测量。目的:提高软件生产率,缩短产品研发周期,降低研发成本、维护成本;-提高软件产品质量,提高用户满意度;-为组织持续改进提供量化的指标和反馈。14、软件度量的作用:
11、1)理解;预测;评估;改进。2)分类:规模;工作量;进度;质量15、如何将度量的知识应用于实际工作中:建立测试工作的度量数据,目的是作为预测和改进的基础a. 熟悉需求:进度、工作量、规模;b. 设计用例:工作效率、覆盖率;c. 执行用例:工作效率、缺陷密度;)第三章测试方法1、什么是白盒测试:-白盒测试是依据被测软件,分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况;-白盒测试是基于程序结构的逻辑驱动测试;-白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。2、为什么进行白盒测试:-一般在测试前期进行,通过达到
12、一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问、难题能基本得到消除;-能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证;-发现问题后解决问题的成本较低。3、白盒测试的常用技术:,静态分析:控制流分析、数据流分析、信息流分析等;-动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等。4、控制流相关概念:程序元素、控制流关系、控制流图、控制流矩阵。(步骤:5)5、控制流分析能发现的问题:1)转向并不存在的标号;2)没有用的语句标号;3)从程序入口进入后无法达到的语句;4)不能达到停机语句的语句。6、数据流相关概念:数据的定义;数据的引用。(步骤:3)7、数据流分析的
13、作用:分析代码中关于数据定义和引用方面的错误;进行代码优化。(赋值语句运算效率高)8、信息流分析:输入变量和语句关系;语句和输出变量关系;输入和输出变量管理。(步骤:4)9、覆盖率工具的作用:-分析被测试代码控制结构,决定插装位置;-实施插装;-将插装代码重新编译;-执行被测对象,根据插装的监控哨信息统计覆盖率。10、白盒测试的特点:-测试人员需要了解软件的实现;-可以检测代码中的每条分支和路径;-揭示隐藏在代码中的错误;-对代码的测试比较彻底;11、12、13、14、15、16、17、18、19、20、21-实现代码结构上的优化;-白盒测试投入较大,成本高;-白盒测试不验证规格的正确性。什么
14、是黑盒测试:-黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现;-黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。-黑盒测试又可以被称为基于规格的测试。常见的黑盒测试类型:功能性测试;容量测试;负载测试;恢复性测试。常见的黑盒测试方法:等价类、边界值、因果图、判定表、状态迁移、正交分解、错误猜测、输入/输出域覆盖、系统测试的时候,如果没有SRS时,有两类BUE法发现:1)需求遗漏;2)需求偏差黑盒测试的优点:-对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高;-测试人员不需要了解实现的细节,包括特定的编程语言;-从用户的视角
15、进行测试,很容易被大家理解和接受;-有助于暴露任何规格不一致或有歧义的问题。黑盒测试的缺点:-没有清晰的和简明的规格,测试用例很难设计;-不能控制内部执行路径,会有很多内部程序路径没有被测试到;-不能直接针对特定的程序段,这些程序可能非常复杂(因此可能隐藏更多的问题)。动态和静态测试的分类依据在于:被测对象是否运行起来。手工静态分析一一同行评审:正规检视;技术评审;走查。评审对象:计划、需求文档、设计图、代码等。自动化静态分析:静态验证;语法分析器;符号执行器。自动化测试应该考虑的因素:1)测试进度要求2)人力资源要求3)版本稳定度4)版本应用情况5)可自动化率6)版本规模自动化测试的误区:1
16、)自动化不能取代手工测试。2)手工测试都做不好,或者经验积累不够,就尝试自动化,很难成功。3)自动化只能保证测试执行效率,确保已有的问题不会再发生,自动化测试不能发现大量新缺陷。4)进行了自动化测试的软件不一定就是安全的,质量有保证的。所以手工测试是自动化测试的一个基础22、自动化五大等级:1)录制和回放2)脚本3)自动化框架脚本4)数据驱动5)关键字驱动?自动化测试的限制(板书):-自动化测试不具备想象力,不能够检查脚本中给定的观察点之外的错误;-自动化测试只能提高测试效率,不能提高测试效果,不能发现比人工测试更多的问题;如被测对象不稳定,存在变动性的话不适合开展自动化测试,否则脚本的编写和
17、维护所耗费的时间可能远大于人工测试;-只有手工测试积累到一定程度(提供更多的观察点),才能做好自动化测试。第四章测试过程1、各阶段测试的目的:1)单元测试:检测软件模块对详细设计说明书的符合程度2)集成测试:检测软件模块对概要设计说明书的符合程度3)系统测试:通过与需要规格说明书作比较,发现软件与系统定义不符或与之矛盾的地方。2、单元、集成、系统测试的比较:测试类型目的考察范围评估基准测试方法单元测试消除局部模块的逻辑和功能上的错误和缺陷(消除单元、模块内部的逻辑和功能上的错误与缺陷)单元内部的数据结构、逻辑控制、异常处理等逻辑覆盖率大量米用白盒测试力法集成测试找出与软件设计相关的程序结构,模
18、块调用关系,模块间接口方面的问题(找出与软件架构设计相关的程序结构,单元/子模块间的调用关系,单元/子模块问接口方米那的问题)接口和接口数据传递关系、模块组合后的整体功能接口覆盖率结合使用白盒与黑盒测试方法,较多采用黑盒方法构造测试用例(也有说法叫灰盒测试方法)系统测试对整个系统进行一系列的整体、有效性测试(对系统规格中的功能与性能进行一系列的有效性测试)整个系统对需求的符合度测试用例对需求规格的覆盖率黑盒测试3、回归测试策略:完全重复测试;选择性重复测试(覆盖修改法;周边影响法;指标达成方法;选择重要级别高的测试用例)4、回归测试流程:1)在测试策略制定阶段,制定回归测试策略2)确定需要回归
19、测试的版本3)回归测试版本发布,按照回归测试策略执行回归测试4)回归测试通过,关闭缺陷跟踪单(问题单)5)回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再次提交测试人员回归测试5、有用户参与的其他一些测试:验收测试、a测试、6测试6、a测试与6测试的比较:Alpha测试Beta测试比较测试环境开发环境或者模拟实际操作的环境卜实际使用环境测试人员可以是终端用户也可以是企业内部的用户终端用户(包括潜在用户)开发人员是否在场有开发人员在场,实际上是一种受控的测试。开发人员通常不在测试现场,测试情况通常不受控。关注点Alpha测试关注软件产品的FLURPS即功能、局域化、可使用性、可靠
20、性、性能和支持),尤其注重产品的界面和特色。Beta测试着重关注产品的支持性,包括文档、客户培训和支持产品的生产能力。共同点1. 都希望从实际终端用户的使用角度来对软件的功能和性能进行测试,以发现可能只有终端用户才能发现的错误;2. 都不能由测试人员和程序员完成;7、主要的测试文档:测试计划;测试方案;测试用例;测试规程;测试报告;测试日报8、验证与确认V&V:验证(VERIFICATION强调过程;确认(VALIDATION强调结果。9、V&V模型优点:实现了测试设计和测试执行相分离;-揭示了软件测试活动分层和分阶段的本质特性:测试执行的顺序与开发活动相反10、V&V
21、模型:11、系统测试分为几个阶段,每个阶段的输入/输出是什么?系统测试阶段输入输出系统测试计划阶段1. 软件开发计划2. 软件测试计划3. 需求规格说明书系统测试计划设计阶段1. 系统测试计划2. 需求规格说明书系统测试方案实现阶段1. 系统测试计划2. 系统测试方案3. 需求规格说明书1. 系统测试用例2. 系统测试规程3. 系统测试预测试项执行阶段1. 系统测试计划2. 系统测试方案3. 系统测试用例4. 系统测试规程5. 系统测试预测试项6. 集成测试报告1. 系统预测试报告2. 系统测试报告3. 缺陷报告4. 测试日报计划阶段1.软件测试计划集成测试计划集成测试2.概要设计说明书设计阶
22、段1. 概要设计说明书2. 集成测试计划集成测试方案实现阶段1. 概要设计说明书2. 集成测试计划3. 集成测试方案1. 集成测试用例2. 集成测试规程执行阶段1. 集成测试计划2. 集成测试方案3. 集成测试用例4. 集成测试规程1. 集成测试报告2. 缺陷报告单元测试计划阶段1. 软件测试计划2. 详细设计说明书单元测试计划设计阶段1. 详细设计说明书2. 单元测试计划单元测试方案实现阶段1. 详细设计说明书2. 单元测试计划3. 单元测试方案1. 单元测试用例2. 单元测试规程执行阶段1. 单元测试计划2. 单元测试方案3. 单元测试用例4. 单元测试规程1. 单元测试报告2. 缺陷报告
23、第五章单元测试1、单元的基本届性:1)明确的功能2)可定义的规格3)与其他单元接口的活晰划分2、单元测试的目的:在于发现各模块内部可能存在的各种错误,主要是基于白盒测试。a)验证代码是与设计相符合的;b)发现设计和需求中存在的错误;c)发现在编码过程中引入的错误。(和设计不相符或和设计相符,但是由于编码疏漏引起)3、单元测试关注的重点:出错处理、单元接口、局部数据结构、独立路径、边界条件4、单元测试的主要关注点:1)参数的届性、顺序、个数是否与LLD一致2)不能修改只做输入用的形参,否则可能导致数据的错误修改3)约束条件是否通过形参来传送5、驱动和桩的功能:1)驱动单元:被测函数的主函数,能接
24、受输入数据,输出实际测试结果2)桩单元:用来代替所测单元调用的子单元6、单元测试策略:孤立的测试策略、自顶向下、自底向上的单元测试策略1)孤立的测试策略:-方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块。每个模块进行独立的单元测试。-优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方法是纯粹的单元测试。-缺点:桩函数和驱动函数工作量很大,效率低。2)自顶向下的单元测试策略:-方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行测试,使用上面已测试的单元做驱动模块。如此类推直到测试完所有模块。-优点:可以节省驱动函数的开发工作量,
25、测试效率较高。-缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。3)自底向上的单元测试策略:-方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被测试过的模块做桩模块。以此类推,直到测试完所有模块。-优点:可以节省桩函数的开发工作量,测试效率较高。-缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产生很大的影响。5、单元测试的四个阶段:测试计划:完成单元测试计划;-测试设计:完成单元测试方案;-测试实现:完成单元测试用例、单元测试规程、单元测试脚本及数据文件;-测试执行:
26、执行单元测试用例,修改发现的问题并进行回归测试,提交单元测试报告。单元测试:桩&驱动举例:无论是单元测试还是集成测试都涉及到以下三个函数:主控函数:intctrl(intx,inty)加法函数:intadd(intx,inty)减法函数:intsub(intx,inty)注意:进行单元测试时,设计用例时依据的是LLD;进行集成测试时,设计测试用例依据的是HLD下面给出来的是需要测试的实际的代码。intctrl(intx,inty)inttemp=0;if(x>=y)temp=add(x,y);elsetemp=sub(x,y);returntemp;intadd(intx,int
27、y)return(x+y);intsub(intx,inty)return(x-y);自顶向下单元测试策略不同测试步骤中的驱动可以写到一起,也可以分开写,这里是写到一起了。?测试ctrl函数需要写一个驱动和两个桩。?驱动函数voiddriver()intret=0;ret=ctrl(2,1);/x>yif(ret=3)printf("testcaseJISUAN_UT_CTRL_001pass”);elseprintf("testcaseJISUAN_UT_CTRL_001fail”);ret=ctrl(1,1);/x=yif(ret=2)printf("t
28、estcaseJISUAN_UT_CTRL_002pass”);elseprintf("testcaseJISUAN_UT_CTRL_002fail”);ret=ctrl(1,2);/x<yif(ret=-1)printf("testcaseJISUAN_UT_CTRL_003pass”);elseprintf("testcaseJISUAN_UT_CTRL_003fail”);?桩函数intstub_add(intx,inty)if(x=2&&y=1)return3;if(x=1&&y=1)return2;return999
29、999;?修改代码为了让桩能体现在测试过程中,需要修改intctrl(intx,inty)inttemp=0;if(x>=y)temp=stub_add(x,y);elsetemp=stub_sub(x,y);returntemp;?测试add函数intstub_sub(intx,inty)if(x=1&&y=2)return-1;return999999;ctrl函数:同测试ctrl函数时的驱动?驱动函数桩函数同测试ctrl函数时sub函数对应的桩?修改代码intctrl(intx,inty)(inttemp=0;if(x>=y)(temp=add(x,y);if
30、(x=2&&y=1&&temp=3)printf("testcaseJISUAN_UT_ADD_001pass”);elseprintf("testcaseJISUAN_UT_ADD_001fail”);if(x=1&&y=1&&temp=2)printf("testcaseJISUAN_UT_ADD_002pass”);elseprintf("testcaseJISUAN_UT_ADD_002fail”);elsetemp=stub_sub(x,y);returntemp;测试sub函数?
31、驱动函数同测试ctrl函数时的驱动?桩函数无?修改代码intctrl(intx,inty)(inttemp=0;if(x>=y)temp=add(x,y);else(temp=sub(x,y);if(x=1&&y=2&&temp=-1)printf("testcaseJISUAN_UT_SUB_001pass”);elseprintf("testcaseJISUAN_UT_SUB_001fail”);returntemp;第六章集成测试集成测试的目的:确保各组件组合在一起后能够按照既定意图写作运行,并确保增量的行为正确(属于灰盒测试)1
32、)验证接口是否与设计相符2)发现设计和需求中存在的错误1. 集成测试关注的重点:单元间的接口、集成后的功能2. 集成测试的层次:模块内集成、子系统内集成、子系统间集成3. 集成测试策略:1)大爆炸集成2)自顶向下集成3)自底向上集成4)三明治(混合式)集成5)基干集成6)分层集成7)基于功能的集成8)基于消息的集成9)基于进度的集成10)基于风险的集成5.各种集成测试策略的优缺点:优点缺点适用范围大爆炸集成1. 只要极少数的驱动和桩2. 可并行工作,人力、物力资源利用率较高1. 一次运行成功的可能性不大2. 定位和修改错误比较困难3. 会有很多接口错误进入到系统测试1. 维护型项目(增强型)2
33、. 每个函数都经过了充分单元测试的小规模系统(特别是接口函数)自顶向下1. 较早验证了主要的控制点和判断点2. 选用按深度方向组装的1. 桩的开发和维护成本大2. 底层组件行为的验证被推退了1. 产品控制结构比较清晰和稳定2. 产品高层接口变化较方式,可首先头现和验证一个完整的软件功能3. 功能可行性较早得到证实(带来信心)4. 最多只需一个驱动,减少驱动开发费用5. 支持故障隔离3.底层组件的测试不充分小3. 产品底层接口未定义或经常可能被修改4. 产品控制组件具有较大的技术风险,需要尽早被验证5. 希望尽早看到产品的系统功能行为自底向上1. 允许对底层组件行为的早期验证2. 工作初期可以并
34、行进行集成3. 减少了桩的工作量4. 支持故障隔离1. 驱动的开发和维护成本高2. 对高层的验证被推退到了最后,设计上的错误不能被及时发现1. 底层接口比较稳定、变动较少的产品2. 高层接口变化较频繁的产品3. 底层组件较早被完成的产品三明治集成集合了自顶向下和自底向上策略的优点中间层在被集成前测试不充分大部分软件开发项目基干集成具有二明治集成的优点1. 必须对系统的结构和相互依存性进行仔细分析2. 必须开发驱动和桩3. 有些接口可能测试不充分大型复杂项目基于功能集成/基于消息集成1. 可尽快看到关键功能的实现,并验证正确性2. 进度上要短3. 可减少驱动的开发1. 对有些接口测试不充分,会丢
35、失许多接口错误2. 可能会有较大的冗余测试基于进度集成1. 具有比较局的并行度2. 能有效缩短项目开发的进度1. 许多接口要到后期才能验证,无法发现有效的接口问题2. 桩和驱动开发工作量大3. 由于进度,组件很不稳定且会不断变动,导致测试的重复和浪费进度优先级局于质里的项目基于风险集成最具有风险的组件最早进行验证,有助于系统的快速稳定需要对各组件的风险有一个清晰的分析1. 第七章系统测试系统测试目的:1)通过与需求做比较,发现与系统定义不符合或与之矛盾的地方2. 2)系统测试的用例应根据需求分析说明书来设计,并在实际使用环境下运行系统测试对象1)软硬件集合在一起的系统3. 2)验证时应尽可能模
36、拟实际的运行环境与条件系统测试常用类型:功能、性能、压力、容量、安全性、GUI、可用性、安装、配置、4. 异常(恢复性)、备份、健壮性、文档、在线帮助、网络、稳定性测试功能测试:1)概念:根据产品的SRS和测试需求列表,验证产品的功能实现是否符合产品的需求规格2)目标:为了发现以下几类错误a)是否有不正确或遗漏了的功能b)功能实现是否满足用户需求和系统设计的隐藏需求c)输入能否正确接受?能否正确输出结果?5. 性能测试:1)概念:用来测试软件在集成系统中的运行性能2)目标:度量系统相对于预定义目标的差距3)工具:LoadRunner、WebLoadSilkPerformer6. 4)重要性:a
37、)性能是质量的重要组成部分b)给用户树立良好形象c)节省成本的重要手段性能测试的关键:有效的协调、正确的模型、瓶颈的定位、合理的建议性能需求五大特性:需求行、代表性、完整性、可测试性、可用性压力测试:关注稳定性和破坏性1)目的:调查系统在其资源超负荷的情况下的表现2)目标:通过极限测试方法,发现系统在极限或恶劣环境中自我保护能力,主要验证系统的可靠性。7. 容量测试:1)目的:使系统承受超额的数据容量来发现它是否能够正确处理8. 2)关注点:a)整体的业务流量(一般关注静态容量)b)数据库的容量c)最大文件数目d)最大事务数安全性测试:口令认证、加解密技术、权限管理、安全日志9. GUI测试:
38、1)关注点:界面实现与界面设计的吻合情况、确认界面处理的正确性2)对象:简单界面元素、组合类界面元素、完整界面(窗口)10. 3)内容:外观、界面元素行为、布局、友好功能可用性测试:关注点:1)过分复杂的功能或指令2)困难的安装过程3)错误信息过于简单4)用户被迫去记住太多的信息11. 5)语法、格式和定义不一致配置测试:概念:测试系统在各种软硬件配置、不同的参数配置下系统具有的功能和性能12. 目标:验证全部配置的可操作性和有效性,特别需要对最大配置、最小配置或特殊配置进行测试异常测试:概念:又叫系统容错和可恢复性测试,通过人工干预手段使系统产生软、硬件异常,通过验证系统异常前后的功能和运行
39、状态,达到检验系统的容错、排错和恢复的能力。它是系统可靠性评价的重要手段。容错处理:系统自动处理、人工干预处理系统可靠性指标:平均失效时间间隔(MTBF、平均恢复时间(MTTR系统可靠性设计技术:13. 1)避开错误2)容错技术:结构冗余(动、静态)、信息冗余、时间冗余、硬件冗余、附加冗余技术健壮性测试:RobustnessTesting14. 用于测试系统在出现故障时,是否能够自动恢复或忽略故障继续运行网络测试:概念:在网络环境下和其他设备对接,进行系统功能、性能与指标方面的测试,保证设备对接正常。内容:考察系统的处理能力、系统兼容性、系统稳定可靠性及用户使用等方面。1)一致性测试:检测系统
40、与协议规范符合程度2)性能测试:检测协议实体或系统的性能指标3)互操作性测试:15. 4)坚固性测试:检测协议实体或系统在各种恶劣环境下运行的能力系统稳定性测试:目的是评价系统在一定负荷情况下、长时间的运行情况。第八章测试覆盖率1. 覆盖率概念:-覆盖率是用来度量测试完整性的一个手段。覆盖率是测试技术有效性的一个度量。覆盖率=(至少被执行一次的item数)/item的总数;-覆盖率大体可以划分为两大类:逻辑覆盖和功能覆盖;-测试用例设计不能一味追求覆盖率,因为测试成本虽覆盖率的增加而增加。2. 逻辑覆盖主要类型:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、路径覆盖。语句覆盖率:(Statem
41、entCoverage),在测试时运行被测程序后,程序中被执行到的可执行语句的比率;语句覆盖率=(至少被执行一次的语句数量)/(可执行的语句总数)分支覆盖率:(BranchCoverage)也叫判定覆盖(DecisionCoverage),它的含义是:在测试时运行被测程序后,程序中所有判断语句的取真分支和取假分支被执行到的比率;判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)条件覆盖率:(ConditionCoverage)的含义是,在测试时运行被测程序后,所有判断语句中每个条件的可能取值(真值和假值)出现过的比率;条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数
42、)3. -BranchConditionCoverageDecisionConditionCoverage),它的含义是,在测试时运行被测程序后,所有判断语句中每个条件的所有可能值(为真为假)和每个判断本身的判定结果(为真为假)出现4. 的比率;分支条件覆盖率=(条件操作树枝或判定结果至少被评价一次的数量)/(条件操作数值总数+判定结果总数)路径覆盖率:(PathCoverage)的含义是,在测试时运行被测程序后,程序中所有可能的路径被执行过的比率;路径覆盖率=(至少被执行到一次的路径数)/(总的路径数)其他覆盖率:功能覆盖率;面向对象的覆盖率;函数覆盖;指令块覆盖;判定路径覆盖。第九章测试用
43、例举例测试用例编号BOSS_ST_MARKETING_NEW_01P重要级别P局(还有“较局、中、较低、低”几个等级)测试项目新增营销记录测试标题新增10元的营销记录用例类型P基本事件(对应还有“备选事件”、“异常事件”)用例设计者songfun设计日期2005-04-25对应需求编号REQ_MARKETING_NEW_01对应UIMarketing.htm对应UCUC_MARKETING_NEW_01版本号Buildv0.1对应开发人员Frank预置条件操作员登录营销管理系统测试方法等价类划分(对应还有“错误猜测法”、“边界值分析”等)输入用户名:51testing性别:男金额:10元描述:
44、aaaaaaa操作步骤 .进入【营销下发】页面; .点击增加按钮; .输入相应数据; .点击确定按钮; .在后台数据库(test/testtestDB)输入查询语句验证:select*fromMarketingTabwhereID='1001'预期输出1. 执行步骤后,贝面弹出添加成功提示信息框;2. 执行步骤后查询数据库,记录确实添加成功且数据无误1. 第十章测试经验和误区软件测试的误区:1)测试和调试是一样的2)测试组应当为保证质量负责3)过分依赖BETAI试4)把测试作为新员工的一个过渡工作5)把不合格的开发人员安排做测试6)关注于测试的执行而忽略测试的设计7)自动化测试
45、是万能的8)测试是可以穷尽的9)测试是为了证明软件的正确性2. 10)测试是枯燥乏味,缺乏创造力的工作软件测试的10大原则:1)测试是一个持续改进的过程,而不是一个阶段2)测试必须被计划、被控制、并且被提供时间和资源3)测试应当分级别4)测试应当有重点5)测试不是为了证明程序的正确性,而是为了证明程序不能工作6)测试是不可能穷尽的,当测试出口条件满足时就可以停止测试7)测试是开发的朋友,不是敌人8)测试人员应当站在公正的立场上进行测试,如实的记录和报告缺陷9)自动化测试能解决一部分问题,但不是全部3. 10)测试不能仅仅包括功能性的验证,还应当包含性能、可靠性、可维护型、安全性等方面的验证软件
46、测试的10个最佳实践:1)尽早的、频繁的进行测试-降低成本、提高质量2)尽早的产生一个综合的主测试计划3)对质量要求较高的产品或大型复杂的产品成立独立的测试组4)在每个开发阶段,使用测试和评价的结果作为是否可以通过的标准5)开发和维护一个测试需求和目标的风险优先级列表6)把测试作为产品的一部分等同起来,使用相同的评价标准和过程7)提供集成化的测试工具和测试技术支持8)加强测试度量工作和缺陷分析工作,不断地改进测试9)加强测试的培训并且为测试人员提供技能发展的通道10)加强沟通和交流,让项目组内所有人员都了解测试的重要性和测试的工作1. a)同行评审同行评审:(PeerReview)是一种通过作
47、者的同行来确认缺陷和需要变更区域的检查方法。需要进行同行评审的特定产品在定义项目软件过程的时候被确定并且作为软件开发计划的一部分被安排了进度。2. -需要前期准备、计划和时间进度表-越早越好同行评审的作用:早期发现缺陷;去除缺陷;降低成本;提高质量。3. 同行评审的类型:正规检视:(Inspection)最严格,要求有规范的流程,参加者经过正式培训;-技术评审:(TechniqueReview)以技术方案的比较、裁决为目的,严格程度介于正规检视和走读之间;走读:(WalkThrough)最(自由)松散的形式,无流程要求,有评审团队,评审流程无要求。4. 通用评审流程步骤(正规检视流程):计划阶
48、段:-项目负责人指定组织者;作者自检工作产品;组织者规划本次评审;-检查入口准则:是否符合文档标准?是否已用工具检查?代码<=500行;文档<=40页;-准备评审包:工作产品(HL。;参考资料(SRS检查一致性);评审表(ReviewForm);查检表(Checklist)。-指定评审专家(3-6人);-组织者将评审包、评审通知单发给相关人员。介绍会议:-被评审对象采用新技术、新方法;被评审对象第一次被评审(作者介绍被审对象以及相关技术)-评审专家第一次参加评审(评审者介绍评审流程)-介绍会议的召开距接到评审通知的时间大于5小时;-介绍会议的时间不超过1小时,30-60间为宜,关注
49、讲解。3. 准备阶段:(最重要、发现缺陷最多),评审专家个人独立完成工作广品的审视,提出缺陷;-准备时间大于会议时间,且应于会议前2天开始;4. -评审者:收到组织者发来的评审包;审核工作产品、发现缺陷;填写评审表单;反馈评审表单给组织者;组织者:检查评审表单;裁决是否需要增加评审评审投入(增加准备时间;增加评审专家人数;更换评审专家)会议阶段(2小时内;只提出问题,不关注解决):-组织者召开评审会议;-讲解员讲解工作产品;(尽量不要由作者兼任)-大家共同确认问题(评审表单中记录的问题;会上发现的问题;当争执不下时组织者应做出裁决)-对已确认的问题进行分类;-作者决定是否召开第三小时会议;-记
50、录员记录所有的问题及分类,并发给组织者;(记录员尽量不要由作者和组织者担任)-组织者更新评审表单。第三小时会议-有争议的问题继续讨论,给出决议;-讨论解决问题方案;-组织者更新评审表单。5. 返工:发回作者修改;跟踪:-汇总所有需要的数据到评审表单发给相关评审专家;(2组织者)-组织评审专家确认各缺陷得到了修改,并且没有引入新的缺陷;-协助组织者确认相关问题得到了正确修改并且没有引入新的缺陷;-确认评审表单中各相关度量数据正确(发现缺陷数;评审投入时间;评审专家人数等)(评审专家2)a)配置&需求管理1、配置管理的目的和意义:目的:a.可视性:用户/买方/卖方详细知道工作内容;管理层能
51、够知道产品特性;所有的项目参与者在同一平台下交流;了解现在和计划的配置;管理层可看到变更的影响;管理层可选择参与的节点;目标:项目:减少返工,减少工作量;意义:L公司:节约成本,积累项目财富;可视性提高;项目可跟踪性高;2、配置、基线、版本各自定义及关系:配置:是软件生命周期个阶段产生的程序、数据、文件、环境的集合;配置项:是软件生命周期个阶段产生的程序、数据、文件、环境基线:配置项在其生命周期的不同时间点上通过评审而进入正式受控的一种状态,而这个过程被称为“基线化”;版本:是表示一个配置项具有一组定义的功能的一种标识;3、变更控制的流程(各种角色、职责输出):-项目成员、客户代表、市场人员提
52、交CR-CMO将CR状态表示为已提交,并将CR艮据条件进行判断,把不需要CCBS行审核的、决定采纳的CR直接进行签发;把不需要CCB进行审核的、不决定采纳的CR直接关闭(4CMO将CR状态标识为已拒绝);将需要CC阶审的CR提交给CCB进行评估;-CCB召开会议对CR进行评估-CMO#CR状态标识为已接受,将CR于要修改的配置项发给项目组成员并开放CI的配置库权限-项目组成员执行更改并进行验证-CCB召开会议对修改进行审核,如果通过将CR状态表示为已验证,发给CMO否则直接关闭,并给出提交人反馈信息4、配置管理中测试工程师的职责:-测试工程师将自己创建的与测试相关配置项(比如软件测试计划、软件
53、测试方案、软件测试用例、软件测试日报、软件测试报告等)加入配置库中;-测试工程师根据变更请求,对已经基线化的配置项进行Check-Out、修改、Check-In操作。比如,在测试执行之前,需要更新测试用例,此时需要经过CMO勺授权,然后由测试人员对相应的配置项(测试用例文件)Check-Out、修改、Check-In5、需求跟踪涉及到的配置项TaskOutput6、配置项的跟踪矩阵Input缺陷管理1、缺陷管理的目的:保证信息的一致性;保证缺陷得到有效跟踪,解决;-获取正确的Bug信息,用作缺陷分析和产品度量。2、缺陷的相关属性:缺陷发现人(DefectReporter);-缺陷发现时间(De
54、fectedonDate);-缺陷状态(Status);-缺陷严重程度(Sewrity);-缺陷所属版本(DefectedinVersion);-优先级(Priority)-缺陷修改日期(FixedonDate);-再现性(Reproducible);-回归测试(Regression);3、缺陷管理流程:(参考缺陷管理作业)4、缺陷跟踪单写作准则(5C)-Correct(准确),每个组成部分的描述准确,不会引起误会;-Clear(清晰),每个组成部分的描述清晰,易于理解;-Concise(简洁),只包含必不可少的信息,不包括任何多余的内容;-Complete(完整),包含复现该缺陷的完整步骤和
55、其他本质信息;-Consistent(一致),按照一致的格式书写全部缺陷报告。5、缺陷跟踪单基本内容:(其他相关属性);简单描述;详细描述;相关附件。i. 6、QC中缺陷管理流程:(实际流程应参考各公司内部流程或者书本)Qatester提交一个状态为new的新缺陷后assignedtoPMPM魇看该缺陷,并判断是否为缺陷需要修改:ii. n在comments中记录否决意见后closed;y在comments中记录相关意见后将该缺陷指派给相关开发人员,并将status置为open/reopenDeveloper打开缺陷模块,看到指派给自己的缺陷后确定是否修改:n在comments中记录意见后re
56、jectedtoPM2y修改该缺陷,并将status置为fixed指给PMPM务该缺陷指派给Qatester进行回归测试Qatester看到指派给自己的fixed的缺陷后,进行回归测试,通过?yclosed;nrejected给PM2SQLSERVER?数据定义语言(DDL?Createtable创建数据库的表?Createindex创建数据库表的索引?Droptable删除数据库表?Dropindex删除数据库表的索引?Truncatetable删除表的所有行?Altertable修改表:增加表列、重定义表列、更改存储分配等?Altertableaddconstraint在已有的表上增加约束?数据操作语言DML?Insert增加数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年城市公共照明建设合同
- 2024年大数据中心共建及数据处理服务合同
- 2024年度河北省高校教师资格证之高等教育心理学综合检测试卷B卷含答案
- 绿色建筑施工总承包方案
- 冷链物流食材退换货实施方案
- 幼儿园安全接送管理方案
- 2024年城市配送运输合同
- 2024至2030年中国意大利香肠香料行业投资前景及策略咨询研究报告
- 2024年个人承包工程合同范例
- 2024至2030年盘式片烧蚀机项目投资价值分析报告
- 淡雅古典诗词中国风PPT模板
- (完整版)初中数学中考考试大纲
- 施工方案-悬挑平台施工方案
- 基于学科核心素养下提升小学生英语语言能力的路径研究
- 纯燃高炉煤气锅炉吸热特点及运行
- 标准电线平方数和直径一览表
- 工程参建各方责任主体开展质量安全提升行动责任清单
- ISO9000质量管理体系(收藏)
- 1.水轮发电机结构及工作原理介绍
- 英语朗读技巧
- 食堂供餐招标评分表
评论
0/150
提交评论