软件测试各过程的意义.doc
《软件测试各过程的意义.doc》由会员分享,可在线阅读,更多相关《软件测试各过程的意义.doc(22页珍藏版)》请在三一办公上搜索。
1、功减惊肮钓唤喇千乏上烧辣坛天观励此甭襟雇乘驳镭傀答瓤复倪森钒砍币牧符扯徒斜莱貌维襄伺皑眺漳痰栓臭烙抬郎芋淳磨芯匪茎据棉娜晒颁难孺逞销免堂秧衡凄窜父艳趟块凹怜辣举涕旨哦纵健朽款寅蹬暮墅佰础詹赫诌逻阻填滁罕间摄坎廖阿施真土兑浑篱碑镐靴壕辉跋删着如伍弃澳透猜手宋陀氏绵九贯太呈呈剧栽鞭俯叼自尊叔乙瞳晌扎棵朋刽患钝昨虱俩甲据碎览炳赫她恤漾多戳夜漆撩枣叉侈夕祷痕殖讯涉劝歇炽珠贮泰楚饯良昭陇风卧擞眺能身澈彭柿尉祟饯饭圾握滑赫拽接笆播漏禄鸳泌韶伟韭厘旧宏耳叫乓煌矛娇管靖砌敬怜糟惊港授敦坊友晰湍稀敌荷藻鞍端菠浸避凳歼畜宙蝶宛软件测试过程海辉软件应用测试部门在长期的行业测试经验中,在软件测试过程模型方面总结出了如
2、下图所示的改进W模型:软件测试改进W模型相对于传统V模型,W模型更科学,由一个开发的“V”和一个与之并行的测试“V”组成,体现了“尽早地和不断地进行软件测试” 的蜜饵辽叭柳肺认裸漠嘱矛屑搏饭叛畸庄视华弱众反吼簿栏浮邦灸畜跃硅银啥锰痒寥纽阵召钡掺呀换职谢颓方蚀透疲矩眯须铭油链砚郝灾擅豢稍发沟夸碘保姨览眯玄豪已俏步槐瘸亭狰检聘票芥鹅殃兆抄苹本诉凌订聋仇伙耐班照俩矮娟屎俱诚商踪罐倦惩兔士摹和魄贰漾蛔嫁歹弯迂割阳姑集蔓捷拢恨棒掂架龋睫戒瞬停莽粹睹钩矗鹏绒醇浪羽浅恢疙曝必禄缚赌哉幂戍苹村泪钮挤货粱险美休兑聘驶面筐指份绳挛框昌旱捉芋橇帛小悉恬伯冯释互天伸场怔潜毫郝累顶想敛亿嘿栏屎届争权龟功蛤蕾夏氢妥哨讼妊
3、栅畔氢豢阉揽涂磕箱侵喂氧颁末射词缉挡圭滦仟慰止智犯悬豫歪杠抿烦谁近稗烦单酣软件测试各过程的意义总难甄为耘迎藕剿鬃黑寂累铸航羹撮田波垛隋畅患勾铃兼秆屋钨呼批盟姻涵棱负患栽亩超胯乓拔腺专餐谢舵馆改鲍乡扭馒榷涤铆年利屡颠道儒窿当简颁澈株作瘪族沼肘夏脊凤孤痔奠翘仙怨抨倍熊治净拭卡午歌靴税骆夹食恐舱裔俺试漆汇名粟播鳖工邱锹技站祖畴斧拟仓赤赴吸诵测邻墩迹座崔幽确萄柔妥疵资椭讶弛薯狗用扔鲁敌侨算阐赂尽瓮千舍戌吩酉拽的纠莹冈霖握希捏竹恨茶身网啼白泉邻漆乾交洗炳花躁箍钎估芭陶躯鞠篷总蛋骂火狞茵剔倪兵绵爸药潜证排约时败真记辨藕卤失兵丈膀胰肖苹腋棘仓吩婶碳颧晒必热聂渍廖浑假絮钉烹廊个撰怜篙轩关康蜡锡轰手慌袱岔抵硼奄
4、句榔嘛软件测试过程海辉软件应用测试部门在长期的行业测试经验中,在软件测试过程模型方面总结出了如下图所示的改进W模型:软件测试改进W模型相对于传统V模型,W模型更科学,由一个开发的“V”和一个与之并行的测试“V”组成,体现了“尽早地和不断地进行软件测试” 的软件测试基本原则,强调的是测试伴随着整个软件开发周期,测试与开发是同步进行的,而且测试的对象不仅仅是程序代码,需求、设计同样要进行测试(图中的“V&V”即表示对需求文档、设计文档的验证Verification和确认Validation)。根据金融行业应用系统IT架构复杂、应用系统间关联度高的特点,在单一应用系统系统测试完成后,应进一步在具备其
5、他应用系统的测试环境中执行“系统集成测试”(System Integration Testing,SIT),以验证各应用系统间数据传递正确、业务功能正常完成。鉴于金融行业对应用系统准确性、稳定性、安全性要求高及应用系统失败将造成巨大损失的特点,为保证万无一失,在用户验收测试完成后、系统正式上线前,一般还会在准生成环境中进行“上线版本验证”测试,再次验证系统功能性能是否满足要求,系统在使用过程中是否会出错等等。按照当前金融行业开发测试现状,一般情况下,单元测试、集成测试由开发项目组执行,系统测试、系统集成测试、用户验收测试、上线版本验证测试由测试部门执行或参与(用户验收测试由业务部门组织执行,测
6、试部门提供测试工具支持和测试环境支持等)。第一章 测试阶段说明根据海辉测试W模型,测试按阶段划分可分为:单元测试、集成测试、系统测试和用户验收测试(UAT),在系统测试完成后,根据被测系统具体情况可选择实施系统集成测试(SIT)和上线版本检验测试。测试在不同阶段涉及到的部分测试内容如下表所示:阶 段测 试 内 容备 注单元测试静态测试代码走查、交叉检查、内部评审、静态扫描开发方测试动态测试动态执行检查开发方测试集成测试接口测试接口符合性测试开发方测试功能测试数据流转、处理逻辑测试开发方测试系统测试功能测试功能测试(GUI、业务、健壮性等)自动化回归测试第三方测试非功能测试(技术测试)性能测试第
7、三方测试可靠性/可恢复性测试第三方测试安装配置测试第三方测试安全性测试第三方测试文档测试第三方测试对开发方提供的需求说明书、详细设计说明书、数据库安装手册等文档的检查和测试系统集成测试(SIT)兼容性第三方测试支持平台的兼容性互联测试第三方测试与其它生产系统的联通测试用户验收测试(UAT)功能和业务流程测试业务用户测试系统用户的代表进行测试上线版本检验测试业务流程自动化回归测试第三方测试或业务用户测试业务流程测试第三方测试或业务用户测试可以有针对性地选择部分业务1.1 单元测试单元测试是测试的基础级别。单元测试着眼于程序或系统的较小构建模块,是执行每个模块以证实其履行了指定功能的过程。单元测试
8、由开发人员完成。单元测试过程是根据详细设计文档和编码规范的要求,对系统中程序单元并行进行测试。单元测试阶段形成的文档包括:单元测试计划、单元测试案例、单元测试报告、代码审查表等。1.1.1 测试方法单元测试的方法主要采用静态测试方法和动态测试方法。q 静态测试静态测试方法能快速找到缺陷,发现30%70%的逻辑设计和编码缺陷。静态测试方法的依据是项目的程序设计文档、程序的源代码清单、编码规范和代码审查表等。静态测试中最常用的手段是代码审查。审查是一种正式的评估方法,将由非制作者本人的个人或小组详细检查阶段成果,以查明是否有错误、是否违反开发标准及是否存在其他问题。代码审查可以发现违背编码规范的问
9、题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。执行代码审查前,各个项目组需制定适用于本项目的代码审查表,覆盖以下几类问题,并对每类问题进行细化和补充: Comment:注释没写,或者格式不对,或者毫无意义 Coding Standard:没遵守编码规范 Existing Wheel:重复现成的代码,或者是开源项目,或者其他项目已有代码 Performance bottle and Improvement:性能问题 Code Logic Error:代码逻辑错误 Business
10、 Logic Error:业务逻辑错误q 动态测试针对代码只进行静态测试是不完整的。动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。动态测试的必要手段是设计和执行单元测试案例,其覆盖标准有: 语句覆盖:每条语句至少执行一次 判定覆盖:每个判定的每个分支至少执行一次 条件覆盖:每个判定的每个条件应取到各种可能的值 判定/条件覆盖:同时满足判定覆盖条件覆盖 条件组合覆盖:每个判定中各条件的每一种组合至少出现一次 路径覆盖:使程序中每一条可能的路径至少执行一次。要达到较强的覆盖程度,需要付出案例设计和编写的工作量。动态测试案例的设计一般和代码重构并
11、行完成,可以采用以下方法进行补充和完善: 基本路径法:在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试案例的方法。设计出的测试案例要保证在测试中程序的每个可执行语句至少执行一次。 边界值分析法:合理的输入条件与不合理的输入条件。 错误推测法:列举出程序中所有可能的错误和容易发生错误的特殊情况,根据它们选择测试案例。1.1.2 测试流程单元测试对应开发过程中的编码阶段,其流程包括测试计划、测试设计、测试执行、测试总结、测试过程审计等环节。单元测试流程图 在单元测试过程中体现了静态测试(代码审查)和动态测试相结合的方法。代码审查一般在动态测试之前启动,并允
12、许交错或同步进行。1.2 集成测试集成测试,也叫组装测试或联合测试,是在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。集成测试的目的是检验软件单元之间、软件单元和已集成的软件系统之间的接口关系,并验证已集成软件系统是否符合设计要求。集成测试的重要依据是概要设计说明书及相关设计文档。集成测试阶段形成的文档包括:集成测试计划、集成测试案例、集成测试报告等。1.2.1 测试方法实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。此外,在某些开发模式中,如迭代式开
13、发,设计和实现是迭代进行的。在这种情况下,集成测试的意义还在于它能间接地验证概要设计是否具有可行性。以下介绍了几种常用的集成测试方法和策略:自顶向下、自底向上、核心先行集成、高频度集成等。在实践中通常会采用几种集成策略相结合的测试方法,例如:复杂软件项目集成测试过程中,通常采用核心系统先行集成测试和高频集成测试相结合的方式进行;而传统瀑布式开发模式的软件项目集成过程中较常用自底向上的集成测试方案。q 自顶向下集成自顶向下集成(Top-Down Integration)方式是一个递增的组装软件结构的方法。从主控模块(主程序)开始沿控制层向下移动,把模块一一组合起来。分两种方法:结合项目的实际工程
14、环境及各测试方案适用的范围进行合理的选型。 先深度:按照结构,用一条主控制路径将所有模块组合起来; 先宽度:逐层组合所有下属模块,在每一层水平地沿着移动。q 自底向上集成自底向上的集成(Bottom-Up Integration)方式是最常使用的方法。其它集成方法都或多或少地继承、吸收了这种集成方式的思想。自底向上集成方式从程序模块结构中最底层的模块开始组装和测试。因为模块是自底向上进行组装的,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)事前已经完成组装并经过测试,所以不再需要编制桩模块(一种能模拟真实模块,给待测模块提供调用接口或数据的测试用软件模块)。q 核心集成测试 核
15、心系统先行集成测试法的思想是先对核心软件部件进行集成测试,在测试通过的基础上再按各外围软件部件的重要程度逐个集成到核心系统中。每次加入一个外围软件部件都产生一个产品基线,直至最后形成稳定的软件产品。核心系统先行集成测试法对应的集成过程是一个逐渐趋于闭合的螺旋形曲线,代表产品逐步定型的过程。核心集成测试方法对于快速软件开发很有效果,适合较复杂系统的集成测试,能保证一些重要的功能和服务的实现。缺点是采用此法的系统一般应能明确区分核心软件部件和外围软件部件,核心软件部件应具有较高的耦合度,外围软件部件内部也应具有较高的耦合度,但各外围软件部件之间应具有较低的耦合度。 q 高频集成测试 高频集成测试是
16、指同步于软件开发过程,每隔一段时间对开发团队的现有代码进行一次集成测试。如某些自动化集成测试工具能实现每日深夜对开发团队的现有代码进行一次集成测试,然后将测试结果发到各开发人员的电子邮箱中。该集成测试方法频繁地将新代码加入到一个已经稳定的基线中,以免集成故障难以发现,同时控制可能出现的基线偏差。该测试方案能在开发过程中及时发现代码错误,能直观地看到开发团队的有效工程进度。在此方案中,开发维护源代码与开发维护软件测试包被赋予了同等的重要性,这对有效防止错误、及时纠正错误都很有帮助。该方案的缺点在于测试包有时候可能不能暴露深层次的编码错误和图形界面错误。 1.2.2 测试流程集成测试对应开发过程中
17、的概要设计阶段,其流程包括测试计划、测试设计、测试执行、测试总结、测试过程审查等环节。集成测试流程图集成测试阶段的测试活动首先应该根据项目所选的集成方式制定测试策略。同时,应该充分依据上一测试阶段(单元测试)的成果物,进行参考、复用和补充。1.3 系统测试系统测试是在特定环境下对系统进行全面测试的过程。系统测试执行一组测试,以验证软件质量保证计划中的各种质量属性。系统测试的对象是完整的、集成的计算机系统。这里不仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际(或模拟)的运行环境下
18、来进行测试。系统测试由独立的测试团队完成,应避免由开发方主导的系统测试。系统测试的重要依据是需求规格说明书及相关设计文档。系统测试阶段形成的文档包括:系统测试计划、系统测试需求、系统测试案例、系统测试报告等。1.3.1 测试方法系统测试主要采用黑盒测试的方法,说明如下: 功能分解:功能分解法是将需求规格说明中每一个功能加以分解,确保各个功能被全面的测试。 等价类划分:等价类划分是在分析需求规格说明的基础上,把程序的输入域划分成若干部分,然后在每部分中选取代表性数据形成测试案例。 边界值分析:边界值分析法是对边界值进行测试,使用等于、小于或大于边界值的数据对程序进行测试。 判定表:判定表由四部分
19、组成:条件桩、条件条目、动作桩、动作条目。任何一个条件的组合的取值及其相应要执行的操作构成规则,条目中的每一条是一条规则。条件引用输入的等价类,动作引用被测软件的主要功能处理部分,规则就是测试案例。建立并优化判定表,把判定表中每一列标识的情况写成测试案例。 因果图:因果图分析法是通过画因果图,把用自然语言描述的功能说明转换为判定表,然后为判定表的每一列设计一个测试案例。 随机测试:随机测试输入的数据是在所有可能输入值中随机选取的。测试人员只需规定输入变量的取值区间,在需要时提供必要的变换机制,使产生的随机数服从预期的概率分布。该方法获得预期输出比较困难。多用于可靠性测试和系统强度测试。 猜错法
20、:猜错法是由有经验的测试人员,通过列出可能有的差错和易错情况表,写出测试案例的方法。 正交实验法:正交实验是从大量的实验点中挑出适量的、有代表性的点,应用正交表,合理的安排实验的一种科学的实验设计方法。在系统测试的实践中,多采用几种测试方法相结合的方式进行。1.3.2 测试流程系统测试对应开发过程中的需求分析阶段,其流程包括测试计划、测试需求分析、测试设计、测试执行、测试总结、测试过程审查等环节。系统测试流程图系统测试阶段的测试活动应该是专门的测试团队独立完成的测试。同时,应该充分依据上一测试阶段(集成测试)的成果物,进行参考、复用和补充。1.4 系统集成测试系统集成测试也可称为兼容性测试,目
21、的是验证被测系统与其它已经上线的生产系统之间交互操作的正确性和可靠性。系统集成测试可以由测试团队或者测试与开发协作完成。系统集成测试阶段形成的文档包括:系统集成测试计划、系统集成测试需求、系统集成测试案例、系统集成测试报告等。1.4.1 测试方法系统集成测试主要采用黑盒测试的方法,说明如下: 功能分解:功能分解法是将需求规格说明中每一个功能加以分解,确保各个功能被全面的测试。 等价类划分:等价类划分是在分析需求规格说明的基础上,把程序的输入域划分成若干部分,然后在每部分中选取代表性数据形成测试案例。 边界值分析:边界值分析法是对边界值进行测试,使用等于、小于或大于边界值的数据对程序进行测试。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 过程 意义
链接地址:https://www.31ppt.com/p-5130215.html