集成测试Word文档下载推荐.docx
《集成测试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《集成测试Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
程序在某些局部反映不出来的问题,有可能在全局上会暴露出来,影响功能的实现。
此外,在某些开发模式中,如迭代式开发,设计和实现是迭代进行的。
在这种情况下,集成测试的意义还在于它能间接地验证概要设计是否具有可行性。
集成测试的目的是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。
它所测试的内容包括单元间的接口以及集成后的功能。
使用黑盒测试方法测试集成的功能。
并且对以前的集成进行回归测试。
一、集成测试过程
二、单元测试工作内容及其流程
三、集成测试需求获取
集成测试需求所确定的是对某一集成工作版本的测试的内容,即测试的具体对象。
集成测试需求主要来源于设计模型(DesignModel)和集成构件计划(IntegrationBuildPlan)。
集成测试着重于集成版本的外部接口的行为。
因此,测试需求须具有可观测、可测评性。
1.集成工作版本应分析其类协作与消息序列,从而找出该工作版本的外部接口。
2.由集成工作版本的外部接口确定集成测试用例。
3.测试用例应覆盖工作版本每一外部接口的所有消息流序列。
注意:
一个外部接口和测试用例的关系是多对多,部分集成工作版本的测试需求可映射到系统测试需求,因此对这些集成测试用例可采用重用系统测试用例技术。
四、集成测试工作机制
软件集成测试工作由产品评测部担任。
需要项目组相关角色配合完成。
如图示:
软件评测部:
软件项目组:
集成测试工作内容及其流程工作流程:
五、集成测试产生的工件清单
1、软件集成测试计划
2、集成测试用例
3、测试过程
4、测试脚本
5、测试日志
6、测试评估摘要
六、集成测试常用方案选型
集成测试的实施方案有很多种,如自底向上集成测试、自顶向下集成测试、Big-Bang集成测试、三明治集成测试、核心集成测试、分层集成测试、基于使用的集成测试等。
在此,笔者将重点讨论其中一些经实践检验和一些证实有效的集成测试方案。
·
自底向上集成测试
自底向上的集成(Bottom-UpIntegration)方式是最常使用的方法。
其他集成方法都或多或少地继承、吸收了这种集成方式的思想。
自底向上集成方式从程序模块结构中最底层的模块开始组装和测试。
因为模块是自底向上进行组装的,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)事前已经完成组装并经过测试,所以不再需要编制桩模块(一种能模拟真实模块,给待测模块提供调用接口或数据的测试用软件模块)。
自底向上集成测试的步骤大致如下:
步骤一:
按照概要设计规格说明,明确有哪些被测模块。
在熟悉被测模块性质的基础上对被测模块进行分层,在同一层次上的测试可以并行进行,然后排出测试活动的先后关系,制定测试进度计划。
图2给出了自底向上的集成测试过程中各测试活动的拓扑关系。
利用图论的相关知识,可以排出各活动之间的时间序列关系,处于同一层次的测试活动可以同时进行,而不会相互影响。
步骤二:
在步骤一的基础上,按时间线序关系,将软件单元集成为模块,并测试在集成过程中出现的问题。
这里,可能需要测试人员开发一些驱动模块来驱动集成活动中形成的被测模块。
对于比较大的模块,可以先将其中的某几个软件单元集成为子模块,然后再集成为一个较大的模块。
步骤三:
将各软件模块集成为子系统(或分系统)。
检测各自子系统是否能正常工作。
同样,可能需要测试人员开发少量的驱动模块来驱动被测子系统。
步骤四:
将各子系统集成为最终用户系统,测试是否存在各分系统能否在最终用户系统中正常工作。
方案点评:
自底向上的集成测试方案是工程实践中最常用的测试方法。
相关技术也较为成熟。
它的优点很明显:
管理方便、测试人员能较好地锁定软件故障所在位置。
但它对于某些开发模式不适用,如使用XP开发方法,它会要求测试人员在全部软件单元实现之前完成核心软件部件的集成测试。
尽管如此,自底向上的集成测试方法仍不失为一个可供参考的集成测试方案。
核心系统先行集成测试
核心系统先行集成测试法的思想是先对核心软件部件进行集成测试,在测试通过的基础上再按各外围软件部件的重要程度逐个集成到核心系统中。
每次加入一个外围软件部件都产生一个产品基线,直至最后形成稳定的软件产品。
核心系统先行集成测试法对应的集成过程是一个逐渐趋于闭合的螺旋形曲线,代表产品逐步定型的过程。
其步骤如下:
对核心系统中的每个模块进行单独的、充分的测试,必要时使用驱动模块和桩模块;
对于核心系统中的所有模块一次性集合到被测系统中,解决集成中出现的各类问题。
在核心系统规模相对较大的情况下,也可以按照自底向上的步骤,集成核心系统的各组成模块。
按照各外围软件部件的重要程度以及模块间的相互制约关系,拟定外围软件部件集成到核心系统中的顺序方案。
方案经评审以后,即可进行外围软件部件的集成。
在外围软件部件添加到核心系统以前,外围软件部件应先完成内部的模块级集成测试。
步骤五:
按顺序不断加入外围软件部件,排除外围软件部件集成中出现的问题,形成最终的用户系统。
该集成测试方法对于快速软件开发很有效果,适合较复杂系统的集成测试,能保证一些重要的功能和服务的实现。
缺点是采用此法的系统一般应能明确区分核心软件部件和外围软件部件,核心软件部件应具有较高的耦合度,外围软件部件内部也应具有较高的耦合度,但各外围软件部件之间应具有较低的耦合度。
高频集成测试
高频集成测试是指同步于软件开发过程,每隔一段时间对开发团队的现有代码进行一次集成测试。
如某些自动化集成测试工具能实现每日深夜对开发团队的现有代码进行一次集成测试,然后将测试结果发到各开发人员的电子邮箱中。
该集成测试方法频繁地将新代码加入到一个已经稳定的基线中,以免集成故障难以发现,同时控制可能出现的基线偏差。
使用高频集成测试需要具备一定的条件:
可以持续获得一个稳定的增量,并且该增量内部已被验证没有问题;
大部分有意义的功能增加可以在一个相对稳定的时间间隔(如每个工作日)内获得;
测试包和代码的开发工作必须是并行进行的,并且需要版本控制工具来保证始终维护的是测试脚本和代码的最新版本;
必须借助于使用自动化工具来完成。
高频集成一个显著的特点就是集成次数频繁,显然,人工的方法是不胜任的。
高频集成测试一般采用如下步骤来完成:
选择集成测试自动化工具。
如很多Java项目采用Junit+Ant方案来实现集成测试的自动化,也有一些商业集成测试工具可供选择。
设置版本控制工具,以确保集成测试自动化工具所获得的版本是最新版本。
如使用CVS进行版本控制。
测试人员和开发人员负责编写对应程序代码的测试脚本。
设置自动化集成测试工具,每隔一段时间对配置管理库的新添加的代码进行自动化的集成测试,并将测试报告汇报给开发人员和测试人员。
步骤五:
测试人员监督代码开发人员及时关闭不合格项。
按照步骤三至步骤五不断循环,直至形成最终软件产品。
方案点评:
该测试方案能在开发过程中及时发现代码错误,能直观地看到开发团队的有效工程进度。
在此方案中,开发维护源代码与开发维护软件测试包被赋予了同等的重要性,这对有效防止错误、及时纠正错误都很有帮助。
该方案的缺点在于测试包有时候可能不能暴露深层次的编码错误和图形界面错误。
以上我们介绍了几种常见的集成测试方案,一般来讲,在现代复杂软件项目集成测试过程中,通常采用核心系统先行集成测试和高频集成测试相结合的方式进行,自底向上的集成测试方案在采用传统瀑布式开发模式的软件项目集成过程中较为常见。
读者应该结合项目的实际工程环境及各测试方案适用的范围进行合理的选型。
附:
集成测试计划书模版
1引言
1.1编写目的
本文是描述****集成测试的大纲文章,主要描述如何进行集成测试活动?
如何控制集成测试活动?
集成测试活动的流程以及集成测试活动的工作安排。
本文主要的读者对象是项目负责人,集成部门经理,集成测试设计师。
1.2背景
项目名称:
***集成测试
项目相关对象:
******************
1.3定义
**********:
********************
1.4参考资料
《*********》
2测试项目
本测试主要为***系统的集成测试,目前***的版本为2.0,测试是***的最终集成测试,是建立在开发
组程序员开发完毕自己的测试以及开发组测试的基础之上
3被测特性
3.1操作性测试
主要测试操作是否正确,有无误差?
分为两部分:
3.1.1返回测试
由主界面逐级进入最终界面,按EXIT键逐级返回,检查返回时候屏幕聚焦是否正确
比如:
1.进入“系统设置”
2.进入“频道搜索”
3.进入“自动频道搜索”
4.按EXIT键返回,检查当前聚焦是否为“频道搜索”
5.按EXIT键返回,检查当前聚焦是否为“系统设置”
3.1.2进入测试
由主界面逐级进入最终界面,按MENU键返回主界面,再次进入,检查是否聚焦正确
4.按MENU键返回主界面
5.当前聚焦是否为“系统设置”
6.进入“系统设置”,当前聚焦是否为“频道搜索”
3.2功能测试
测试机顶盒中每个应用的功能是否正确
3.3性能测试
3.3.1疲劳性测试
测试连续开机1个月不关机器,每3天去运行一次应用。
看系统的稳定性
3.3.2大容量数据测试
前段***数据库表中含有大量数据,测试***功能
4不被测特性
5测试方法
1.书写测试计划
2.审核测试计划,未通过返回第一步
3.书写测试用例;
4.审核测试用例,未通过返回第三步
5.测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告上;
(测试报告必须覆盖所有测试用例)
6.测试过程中发现bug,将bug填写在bugzilla上发给集成部经理;
(bug状态NEW)
7.集成部经理接到bugzilla发过来的bug
7.1对于明显的并且可以立刻解决的bug,将bug发给开发人员;
(bug状态ASSIGNED);
7.2对于不是bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改;
(bug状态RESOLVED,决定设置为INVALID);
7.3对于目前无法修改的,将这个bug放到下一轮次进行修改;
(bug状态RESOLVED,决定设置为REMIND)
8.开发人员接到发过来的bug立刻修改;
(bug状态RESOLVED,决定设置为FIXED)
9.测试人员接到bugzilla发过来的错误更改信息,应该逐项复测,填写新的测试报告(测试报告必须覆盖上一次中所有REOPENED的测试用例);
10.如果复测有问题返回第六步(bug状态REOPENED)
11.否则关闭这项BUG(bug状态CLOSED)
12.本轮测试中测试用例中有95%一次性通过测试,结束测试任务;
13.本轮测试中发现的错误有98%经过修改并且通过再次测试(即bug状态CLOSED),返回第五步进行新的一轮测试;
14.测试任务结束后书写测试总结报告;
15.正规测试结束进入非正规测试,首先是ALPHA测试,请公司里其他非技术人员以用户角色使用系统。
发现bug通知测试人员,测试人员以正规流程处理bug事件;
16.然后是BETA测试,请用户代表进行测试。
发现bug通知测试人员,测试人员以正规流程处理bug事件。
几点说明:
O测试回归计划为三次;
O测试用例应该写得比较详尽,步骤一定要标明清楚(应该包括:
编号,测试描述,前置条件,测试步骤以及测试希望结果);
O对于测试人员觉得应该进行的测试项目,测试人员应该报告测试设计人员,完善和健全测试用例;
O测试报告与测试用例分开,测试报告标明测试用例序号以及是否通过Y/N;
O对于集成部经理无法决定的上交项目负责人决定;
O性能测试中的疲劳性测试可以结合在功能测试部分,即测试期间不关闭机器;
O性能测试中的大容量数据测试放在测试后部分轮次(第二步,只需要进行一次)
6测试通过标准
测试结果与测试用例中期望的结果一致,测试通过,否则标明测试未通过。
6.1测试结果审批过程
6.1.1测试回归申请结束
测试人员提出申请这轮测试结束,提交集成部经理;
集成部经理召集本组人员开会讨论;
讨论通过,进行下一轮测试,并且部署下一轮测试的注意事项,流程等内容;
如果发现这轮测试目前还存在问题没有解决,延期下一轮测试时间,讨论下一步工作应该如何进行。
6.1.2测试结果申请结束
测试人员提出申请测试结束,提交集成部经理;
1.讨论通过,结束测试任务;
2.如果发现目前测试还存在问题没有解决,延期测试结束时间,并且讨论下一步工作应该如何进行。
7测试挂起和恢复条件
7.1挂起条件
O进入第一轮测试,测试人员大体了解一下产品情况,如果在一小时之内发现5个以上(含5个)操作性错误,或者3个以上(含3个)功能性错误,退回测试组测试;
O遇到有项目优先级更高的集成测试任务;
O遇到有项目优先级更高的集成任务;
O在测试复测过程中发现产品无法运行下去;
O人员,设备不足。
7.2恢复条件
O符合进入集成测试条件(一小时之内发现5个以下(不含5个)操作性错误,或者3个以下(不含3个)功能性错误);
O项目优先级更高的集成测试任务暂告完成;
O项目优先级更高的集成任务暂告完成;
O复测过程中产品可以运行下去;
O人员,设备到位。
8应提供的测试文件
O测试计划书
O测试用例
O测试报告
O测试总结
9测试任务
O制定审核测试计划
O制定和审核测试用例
O进行测试活动
O书写测试报告
10测试环境需求
10.1硬件需求
***********
10.2软件需求
************
10.3测试工具
*************
10.4测试需要的条件
**************
10.4.1需要的文档
O用户手册
O应用手册
O安装说明
10.4.2需要完成的任务
O程序员本人测试
O测试组完成测试
11角色和职责
O集成(测试)经理:
控制并完成测试任务和测试过程,决定测试人员提交上来的bug是否需要修改;
O测试设计人员:
书写集成测试用例;
O测试人员:
按照测试用例进行测试活动;
O开发人员:
MHP程序bug修改;
O用户代表:
进行BETA测试。
12人员和培训
O集成测试经理有责任对测试相关人员进行测试流程,规章制度培训;
O测试设计人员有责任对测试人员进行测试操作培训
13测试进度
测试工作进度(人*工作日)
测试计划8
测试设计60
测试执行总共进度30
每次回归进度10
测试报告2
14风险及应急计划
设备不到位:
加紧设备购买;
人员不到位
人员请假:
请假人员回来加班或赶紧测试进度/申请调配新的人员;
人员离职:
调配新的人员;
人员调配到其他部门或项目:
开发人员开发频频出错:
通知开发部门,商量策略;
其他原因的测试工作频频被挂起或者挂起后迟迟恢复不了:
加班或延期
15审批
集成部经理技术部经理
姓名:
姓名:
日期:
日期: