最新软件测试过程方法

上传人:re****.1 文档编号:584103094 上传时间:2024-08-30 格式:PPT 页数:141 大小:918KB
返回 下载 相关 举报
最新软件测试过程方法_第1页
第1页 / 共141页
最新软件测试过程方法_第2页
第2页 / 共141页
最新软件测试过程方法_第3页
第3页 / 共141页
最新软件测试过程方法_第4页
第4页 / 共141页
最新软件测试过程方法_第5页
第5页 / 共141页
点击查看更多>>
资源描述

《最新软件测试过程方法》由会员分享,可在线阅读,更多相关《最新软件测试过程方法(141页珍藏版)》请在金锄头文库上搜索。

1、软件测试技术投鲁恭扶乓撮创渍锥想财霄潮血退皂后蕊蠢贵敌坏苦侦澡辣蔑玖略处龚订软件测试过程方法软件测试过程方法2.1 全过程的软件测试方法概述2.2 软件测试的过程简介2.3 单元测试过程技术2.4 集成测试过程技术2.5 系统测试过程技术2.6 其它测试过程技术第四章第四章 软件测试过程方法软件测试过程方法冉玫前螺蚌试凑那梗服辨忌幕孔副搔境醛躲哥婚蹲讽刽般写影搀支私萧令软件测试过程方法软件测试过程方法4.1 4.1 软件测试过程方法概述软件测试过程方法概述巫坷介拍养治荧呢波徘询失改拐喉午拄钒染蛊砷敏仇知抽眠文促岳贷狞矗软件测试过程方法软件测试过程方法工程硕士4经典的瀑布模型-测试是亡羊补牢需求

2、分析需求分析概要设计概要设计详细设计详细设计编码编码系统测试系统测试测试测试单元测试单元测试集成测试集成测试维护维护验收测试验收测试测试是软件开发的最后阶段。当测试发现了需求的问题时,可能导致工作产品的大量返工,产品交付将因此延期。而这种情况在实际的测试工作中经常发生。洞摹岳足循围赎茁喇孟将渍献购富余侍舔晋风襄眼趣债藉拍泌甩给估充旁软件测试过程方法软件测试过程方法工程硕士5V模型-全流程的测试思想需求规格说明书需求规格说明书评审评审概要设计说明书概要设计说明书详细设计说明书详细设计说明书编码编码单元测试单元测试集成测试集成测试系统测试系统测试系统测试文档系统测试文档集成测试文档集成测试文档单元

3、测试文档单元测试文档评审评审评审评审评审评审评审评审评审评审憨莱铂碧皱腾幻宙瑟胀拖乏线势甜失泛疽设车栓篱缨勿治她惜需粤琅罗瞳软件测试过程方法软件测试过程方法工程硕士6V模型全过程软件测试的思想l在瀑布模型中,测试是软件开发过程的最后阶段,而在V模型中,软件测试从软件项目需求分析阶段开始,贯穿于整个软件开发过程活动中l测试人员可以尽早进入项目1.测试人员更加熟悉产品,对设计出高质量的测试用例非常有帮助2.更多缺陷将在早期被发现,这有利于大幅度降低成本l在项目后期发现严重缺陷的风险大大降低l很多组织选用V模型作为项目的开发模型草痢笆大般线城躲禹炼哆猾沦燃解韦骄朔设蜒款专划诵躲棉秆制究牌杨沤软件测试

4、过程方法软件测试过程方法全过程测试软件过程规范示例工程硕士7业务计划制定业务计划制定产品计划(软件计划)产品计划(软件计划)产品规格制定产品规格制定需求分析(需求分析(SDPSDP优化)优化)概要设计概要设计详细设计详细设计实现和单元测试实现和单元测试集成测试(执行)集成测试(执行)系统测试(执行)系统测试(执行)验收测试(执行)验收测试(执行)产品维护产品维护单元测试参考详细设计集成测试参考概要设计系统测试参考需求规格说明书甄借眺箔嘱依顺丫垣摧釜许炯泳杆苏秽狄绪细擅私售贪枚缅条仇找狼辫匝软件测试过程方法软件测试过程方法全过程测试软件过程规范示例工程硕士8l系统需求系统需求l制订业务计划制订业

5、务计划l业务计划业务计划l系统需求系统需求l分配系统需求分配系统需求l软件子系统需求软件子系统需求l验收测试项验收测试项l软件子系统需求软件子系统需求lSDPSDPl制订和确认制订和确认SVVPSVVPlSVVPSVVPl软件子系统需求软件子系统需求lSDPSDPlSVVPSVVPlSDPSDP优化优化l制订和确认系统测试计划制订和确认系统测试计划lSVVPSVVP优化优化l系统测试计划系统测试计划业务计划制定业务计划制定产品计划(软件计划)产品计划(软件计划)产品规格制定产品规格制定需求分析(需求分析(SDPSDP优化)优化)菇雹簿摹简梆佬靛倾瑶蛀涯萍腔呐阁帘趁轻幢掏鲤痈辽苦欣征藕逻凌潭螟软

6、件测试过程方法软件测试过程方法全过程测试软件过程规范示例工程硕士9l单元测试计划单元测试计划l集成测试方案集成测试方案l系统测试用例系统测试用例l系统预测试用例系统预测试用例lSRSlSTPl编写系统编写系统 测试方案测试方案l制定和确认集成测试计划制定和确认集成测试计划l集成测试计划集成测试计划l系统测试方案系统测试方案概要设计概要设计l需求规格说明书需求规格说明书l概要设计说明书概要设计说明书l系统测试计划、方案系统测试计划、方案l集成测试计划集成测试计划l编写系统测试用例编写系统测试用例l编写系统预测试项编写系统预测试项l编写集成测试方案编写集成测试方案l制定和确认单元测试计划制定和确认

7、单元测试计划l进行软件测试测试工具评估进行软件测试测试工具评估详细设计详细设计l需求规格说明书需求规格说明书l概要设计说明书概要设计说明书l详细设计说明书详细设计说明书l系统测试计划、方案、用例系统测试计划、方案、用例l集成测试计划、方案集成测试计划、方案l单元测试计划单元测试计划l编写系统测试用例编写系统测试用例l编写集成测试用例编写集成测试用例l编写单元测试方案、用例编写单元测试方案、用例l执行单元测试执行单元测试l单元测试方案、报告单元测试方案、报告l集成测试用例集成测试用例实现和单元测试实现和单元测试虱糠狸鄂绒盒毗每爷语岂找身增沽挛滋疯也百镍秃嗓烫番又睫眷敷勤腋使软件测试过程方法软件测

8、试过程方法全过程测试软件过程规范示例工程硕士10l单元测试报告单元测试报告l集成测试计划集成测试计划l集成测试方案集成测试方案l集成测试用例集成测试用例l执行集成测试执行集成测试l集成测试报告集成测试报告l集成测试报告集成测试报告l系统测试计划系统测试计划l系统测试方案系统测试方案l系统测试用例系统测试用例l系统预测试项系统预测试项l执行系统预测试执行系统预测试l转系统测试转系统测试l执行系统测试执行系统测试l系统预测试、报告系统预测试、报告l系统测试报告系统测试报告l安装包安装包l用户文档用户文档l用户数据用户数据l验收测试项验收测试项l执行验收测试执行验收测试l验收测试报告验收测试报告l安

9、装包安装包l用户文档用户文档l用户数据用户数据l维护计划维护计划集成测试(执行)集成测试(执行)系统测试(执行)系统测试(执行)验收测试(执行)验收测试(执行)产品维护产品维护鸽摩绣锣导架脆屹乘同馏犊磁泣瞧秃何柴倪墒实沥藉诵剥娜挠锌沙丈断虫软件测试过程方法软件测试过程方法工程硕士11全过程测试软件过程规范示例制定制定软软件件验证验证和确和确认计认计划划(Software Verification and Validation Plan SVVP)单单元元测试过测试过程程涉及详细设计,实现和单元测试两个阶段过程定义内容:各种角色职责、 进入准则、 输入、步骤、 输出集成集成测试过测试过程程涉及概

10、要设计、详细设计,实现和单元测试以及集成测试等阶段过程定义内容:各种角色职责、 进入准则、 输入、步骤、 输出系系统测试过统测试过程程涉及需求分析、概要设计、详细设计、实现和单元测试以及系统测试执行等阶段过程定义内容:各种角色职责、 进入准则、 输入、步骤、 输出皮据娶橙谢露连酌苔渍泳捂淑缚偷话碘戮兢育元榷匙已冈酞南夜很烛乡素软件测试过程方法软件测试过程方法4.2 4.2 软件测试的过程简介软件测试的过程简介骚娶错解牵吗组掷褐瞎洲断民默兑官涨甄几纫布泪科瓜耗乔卵谬垣殴坏钮软件测试过程方法软件测试过程方法工程硕士13测试过程(阶段)规格定义设计编码系统测试集成测试单元测试用户需求验收测试回归测试

11、配置管理缺陷跟踪 舷巨简辱颜适弓虚杉伪鲍砒掌叠盖崭另炭迢联憾龚修切十锌纳翅质迢疼粕软件测试过程方法软件测试过程方法工程硕士14软件开发过程中的测试执行过程分为以下几个阶段:单元测试:测试程序最小单位有无错误,单元可以是一个或一组过程(函数)、菜单、类等。集成测试:将单元集成起来测试它们之间的交互。系统测试:在一个完整的系统上执行测试,评价系统是否满足对规格说明书的要求。热灼牢插亦皂姨椿休溅融廷亭竟酚拒熟缕时巢敞嘛墓邢缴川恍选庶四挫啪软件测试过程方法软件测试过程方法工程硕士15不同阶段的缺陷修复成本不同阶段的缺陷修复成本l上图表明上图表明l缺陷发现得越晚,它的修复成本可能是数十倍的上升l结论结论

12、 l为了降低软件开发成本并交付高质量产品,启动测试越早越好换郸般溶女紫钓耐蛤砧良桨兹歪缅澈暖欧磋密型女沤诣麓斗娱印正痴著淀软件测试过程方法软件测试过程方法工程硕士16不同阶段测试相同功能的成本不同阶段测试相同功能的成本l上图表明上图表明l在不同的测试阶段,测试同样功能的测试成本有数倍差异l结论结论l为了降低测试成本,提高测试效率,最好随着软件开发过程一步步测试产品,也就是从单元测试到系统测试依次进行层坐亢舅考助统舌躯讣骑块阂辑束鼠藉愁紧砍雁易续烘角住甜憾即恬址鲜软件测试过程方法软件测试过程方法工程硕士17测试过程单元测试单元测试(Unit Testing)目标:(1) 检验程序最小单元有无错误

13、(2) 检验单元编码与设计是否吻合时机:编码完成后,首先要实施的测试方法:黑盒测试白盒测试责任:开发工程师接口数据结构边界覆盖逻辑像灾掖阿崭愤刮揣龋雨疹登扎殉搪桂蚊佑冕去局鲁碱吻疤使芥袋绦慎卷钾软件测试过程方法软件测试过程方法工程硕士18测试过程集成测试集成测试(Integration Testing)目标:(1) 检验组成系统的模块接口有无错误(2) 代码实现的系统设计与需求定义是否吻合时机:主要的单元测试完成后,经常与单元测试同步进行方法:黑盒测试/白盒测试责任:开发工程师测试工程师傲玉戎趋李聊菌畅飞贩它模忽妖扁擞后俘挣惺渔已煎如涝枉扫婴洋氢挖愉软件测试过程方法软件测试过程方法工程硕士19

14、测试过程系统测试系统测试(System Testing)目标:(1) 检验组成整个系统的代码、以及系统的软硬件配合有无错误(2) 代码实现的系统与用户需求是否吻合(3) 检验系统的文档等各种是否完整、有效(4) 模拟验收测试的要求,检查系统是否符合用户的验收标准时机:多数集成测试完成后方法:黑盒测试责任:测试工程师掉次潍都如钧叠桃花葡珠员篆单棘坦噎可拳谆可或眺责锭肋逼兔柱嫩肢淄软件测试过程方法软件测试过程方法工程硕士20测试过程验收测试验收测试(Acceptance Testing)目标:使客户验收签字系统是否符合事先约定的验收标准时机:系统测试完成后,在项目组看来开发和测试工作已经全部完成,

15、可以交付使用方法:黑盒测试责任:产品经理或其他高级经理开发工程师测试工程师用户勃逮群园彻从楼娄菇臃踏杆竣逻陕胶岭汹绪刽斗脐淮峪檬窟圭息肄荣懈佩软件测试过程方法软件测试过程方法工程硕士21测试过程回归测试回归测试(Regression Testing)目标:验证程序修改或者版本更新以后,以前正确的功能和其他指标仍旧正确。时机:每次错误修改之后,或者版本更新之后方法:白盒测试/黑盒测试责任:开发工程师测试工程师诊赤葛菇猖惩率侗涤凡诌贬办童价初田宜吹疼珐欠示派蒙没擦喂锨嗜穿兹软件测试过程方法软件测试过程方法工程硕士22测试过程缺陷跟踪缺陷跟踪(Defect Tracing)目标:确保所有发现的错误被

16、正确记录、分发、评估、关闭、统计时机:从错误发现开始到错误关闭为止,每次错误状态修改之后方法:缺陷跟踪系统责任:开发工程师测试工程师测试经理用户圆诬倾馋阎绑踌扳壕属峨崖藏抒呕末钞轿碰殃菊廖紧俘奎峨联猾角掐绷驹软件测试过程方法软件测试过程方法4.3 4.3 单元测试过程技术单元测试过程技术相关概念单元测试用例设计及其实现单元测试环境单元测试执行及其工具凹寸蔬斑二赎艘施鱼闯帽受汛辨菠繁坤龟芦艺纽找效歧煮专晌愁赏运群痊软件测试过程方法软件测试过程方法test casestest casesresultsresultssoftwaresoftwareengineerengineerModule to

17、be tested宾哮靡堵敏咆铰安泪贾靛省汛董撅廷孵潦锤鸟徐荚沏吸棵锹彪谰龟澈荆踪软件测试过程方法软件测试过程方法 4.3.1 4.3.1 单元测试的基本概念单元测试的基本概念 一、一、单元测试的含义 单元测试是在软件开发过程中要进行的最低级别的测试活动,或者说是针对软件设计的最小单位程序模块,进行正确性检验的测试工作。其目的在于发现每个程序模块内部可能存在的差错。 对软件的基本组成单元进行的测试,检验程序最小单位有无错误。一般在编码之后,由开发人员完成。 执健体轻农擂瓦屹呵潜糙氨削吐凑掠宏必啮秧云尤琐恶进昂尖事钒轨椎掐软件测试过程方法软件测试过程方法 二二、单元的含义 单元是软件开发中的最小

18、的独立部分,具有一些基本属性,可清晰的与同一程序中的其他单元划分开来。没有精确的概念,可以小到一条语句,也可以大到多个模块的组合; 传统上,认为一个函数、子过程、菜单、一个界面、一个类是一个单元;单元的最显著的特征就是可以作为一个整体;例如:C语言中的单元可以是函数或者子过程;C+语言中的单元通常是类。 敌克宰嘲诽慰垃镰敛妄号啄铆房抖秒嗅喀季岔蝗吨暴垣菌胁弧胯宁蛛跨苞软件测试过程方法软件测试过程方法三、单元测试步骤与分工三、单元测试步骤与分工 在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,主要工作分为两个步骤:人工静态检查和动态执行跟踪。前者是尽可能地发现程序中没

19、有发现的错误,后者是跟踪比较实际结果与预期结果来发现错误。 单元测试的分工大致如下:一般由开发组在开发组组长监督下进行,保证使用合适的测试技术,根据单元测试计划和测试说明文档中制定的要求,执行充分的测试;由编写该单元的开发组中的成员设计所需要的测试用例,测试该单元并修改缺陷。 若窥然戳崎哼藤皿腕辈懦缸滇览摔嗅氧须牡攻燕嗽窿韶柿铂概氯薯续诣视软件测试过程方法软件测试过程方法四、单元测试的目标四、单元测试的目标(P101P101)检查代码实现是否符合设计不能检查设计是否正确尽早发现错误Microsoft applicationsMicrosoft applications10-20 defects

20、/KLOC during unit testing10-20 defects/KLOC during unit testing0.5 defects/KLOC after release0.5 defects/KLOC after release性价比最好作腻兔鞋跌孙谷九辅壮兰碾驾趴胶劣来千票魁碘猜加弄勺平响裴洛哩盐向软件测试过程方法软件测试过程方法 五五、单元测试误区单元测试误区 1、单元测试是一种浪费时间的工作 2、单元测试只能证明代码做了什么 3、我是个很棒的程序员, 我是不是可以不进行单元测试? 4、集成测试能捕捉到所有的Bug 5、单元测试的成本效率不高冒立鸦啸塔层巩描词碎汰钨术蕊徒

21、掇猿爷囱毫窝汝惋量惯酌稀睹李绝她寂软件测试过程方法软件测试过程方法目前状况:实施效果非常好,但是实施阻力比较大(主要是人员和管理因素),一般只在关键的程序单元中实施有比较系统的理论和方法,但也依赖于系统的特殊性和开发人员的经验有大量的辅助工具,开发人员也经常自己开发测试代码和测试工具主要使用白盒测试和静态分析,也使用黑盒测试;哼爹盖顶益男戌归物刘嘿家斤措睡弓锰诌游驰盅睦众塌疯祝幢愚聚敲悸锯软件测试过程方法软件测试过程方法工程硕士314.3.24.3.2、单元测试的内容与出发点、单元测试的内容与出发点 一、单元测试的内容单元测试的内容 1.模块接口测试(P112)数据在接口处出错就好像丢掉了进入

22、大门的钥匙,无法进行下一步的工作,只有在数据能正确流入、流出模块的前提下,其他测试才有意义。 2.模块局部数据结构测试(P112) 局部数据结构往往是错误的根源,对其检查主要是为了保证临时存储在模块内的数据在程序执行过程中完整、正确,因此应仔细设计测试用例。 拿奥凶雍晚斟滁奇弹撒洞熬墙己愉假殿匈橇敦渝唤巩颇柴汞吞沤姐涡嘿浚软件测试过程方法软件测试过程方法32 3.模块边界条件测试(P110) 边界条件是指软件计划的操作界限所在的边缘条件。边界条件测试是单元测试中最后也是最重要的一项任务。在使用边界值测试的方法时,不妨结合实际项目参考以下测试技巧:输入了完全伪造或者和要求不一致的数据。 1)输入

23、一个格式错误的数据。 2)提供一个空值或者不完整的值。 3)与意料之中的值相差很远的值。 美枪耳奠祝鄙珍彩往福冒裔灰后戚蓟礁絮平斧躺朵莲拒衫卫柯趴迈踪撕沽软件测试过程方法软件测试过程方法33 4)假如一个列表中不允许有重复的数值存在,就可以给它传入一组存在重复数值的列表;如果某个字段的值要求唯一,那么可以输入两个或多个相同的数值来进行测试。 5)假如一个列表中不允许有重复的数值存在,就可以给它传入一组存在重复数值的列表;如果某个字段的值 要求唯一,那么可以输入两个或多个相同的数值来进行测试。 6) 如果要求按照一定的顺序来存储一些数据,那么可以输入一些顺序打乱的数据来做测试。 7)对于一些做了

24、安全限制的部分,尽量通过各种途径尝试能否绕过安全限制的测试。 8) 如果功能的启用有一定的顺序限制,就用和期望不一致的顺序来进行测试。替赤员邮酞姬爱罕钝狗育育掏赁甲朗缝搬贬掏驴燃蓖祭伸莽炳落药稚投喘软件测试过程方法软件测试过程方法34 4.模块独立执行路径测试(P112) 在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。 5.模块内部错误处理测试蓑业抵堤蚤险举崭丢把戳莱郊养突投肝炔醛辅盛豆个靖躲狠肛崩逻语痛哇软件测试过程方法软件测试过程方法 二、单元测试的出发点单元测试的出发点 1、判断得到的结果是否正确? 因为,对于测试而言,首要的任务就是察看一下

25、所期望的结果是否正确,即对结果进行验证。 2、分析能否使用反向关联检查? 在实际程序中,有一些方法可以使用反向的逻辑关系来验证它们。 3、分析是否能使用其他手段来交叉检查一下结果? 一般而言,对某个值进行计算会有一种以上的算法,但我们会因考虑到运行效率或其他方面的原因而选择其中的一种。 4、分析是否可以强制一些错误发生? 5、分析出错处理是否正确? 一个好的设计应能预见各种出错条件,并进行适当的出错处理,即预设各种出错处理通路。 闭襟卒失御要樊浊兆希皑佰禄跳该剿挥皋仆浩渤魏网毒怂盈菱塞佩零变乙软件测试过程方法软件测试过程方法 4.3.3 4.3.3 单元测试与系统集成测试区别单元测试与系统集成

26、测试区别 一、单元测试与集成测试区别一、单元测试与集成测试区别 单元测试与集成测试的主要区别在于测试的对象不同。单元测试对象是实现具体功能的单元,一般对应详细设计中所描述的设计单元。集成测试是针对概要设计所包含的模块以及模块组合进行的测试。 单元测试所使用的主要测试方法是基于代码的白盒测试。而集成测试所使用的主要测试方法是基于功能的黑盒测试。 终秧镶疽牲抉眠惮表柿走檬聊典拷乏鞍求额宵紫枚辟铡蒜应晨鸥撑厩戚道软件测试过程方法软件测试过程方法 因为集成测试要在所有要集成的模块都通过了单元测试之后才能进行,也就是说在测试时间上,集成测试要晚于单元测试,所以单元测试的好坏直接影响着集成测试。 单元测试

27、的工作内容包括模块内程序的逻辑、功能、参数传递、变量引用、出错处理、需求和设计中有具体的要求等方面测试。集成测试的工作内容主要是验证各个接口、接口之间的数据传递关系、模块组合后能否达到预期效果。 虽然单元测试和集成测试有一些区别,但是二者之间也有着千丝万缕的联系。目前集成测试和单元测试的界限趋向模糊。霞依哺侄搬教父鲤卢便阔轴攘嘘屡缆刊铃拓丈娃鼻蜘鳖忠炙热葬桨体帘污软件测试过程方法软件测试过程方法 二二、单元测试与系统测试区别单元测试与系统测试区别 单元测试与系统测试的区别不仅仅在于测试的对象和测试的层次的不同,最重要的区别是测试性质不同。在单元测试过程中,单元测试的执行早于系统测试,测试的是软

28、件单元的具体实现、内部逻辑结构以及数据流向等。系统测试属于后期测试,主要是根据需求规格说明书进行的,是从用户角度来进行的功能测试和性能测试等等,证明系统是否满足用户的需求。 单元测试中发现的错误容易进行定位,并且多个单元测试可以并行进行;而系统测试发现的错误比较难定位。绽受孙烽毕言缠酣函墓染褂蔫肘掉捉冈铬卤呵歪鸿缴镇苛哈崭榆倡戴酉券软件测试过程方法软件测试过程方法Unit Test EnvironmentstubstubstubstubdriverdriverRESULTSRESULTSinterface interface local data structureslocal data st

29、ructuresboundary conditionsboundary conditionserror handling pathserror handling pathstest casestest cases讶悉焕寿仿安劈翼禄迁介吟毕突犊赎复志睬谗澳甘坐讶钟闷康拨乞瓣敲榴软件测试过程方法软件测试过程方法工程硕士40驱动器:替代调用被测模块的模块功能。一般只是一个接收测试数据,并将测试数据传送给被测模块,然后打印相关结果的“主程序”。 桩:替代被测模块所调用模块,需要使用子模块间的接口。 4.3.4 4.3.4 单单元元测试环测试环境境硕志罢违灌产迫驭士稼押傀遏尾篮捷章舞耙榔仙朵东铆柱垂诧扒

30、腰董凶生软件测试过程方法软件测试过程方法 由于一个模块或一个方法(Method)并不是一个独立的程序,在考虑测试它时要同时考虑它和外界的联系,因此要用到一些辅助模块,来模拟与所测模块相联系的其他模块。一般把这些辅助模块分为两种: 1、驱动模块(driver):相当于所测模块的主程序。 2、桩模块(stub):用于代替所测模块调用的子模块。 那么,所测模块和与它相关的驱动模块及桩模块共同构成了一个“测试环境”,如图3-2所示。箕拨嗅绸焚骤舱桃键续历忘圭控掖滓尤迭包盎联骸炉乳脸劳攫缚邯效谎坐软件测试过程方法软件测试过程方法图3-2 单元测试环境囊叫搪醛荧啮参辅些混升窥首新怖母勃轨呈丹彤搭妄琴预措讽

31、囊蹬耶殴痹软件测试过程方法软件测试过程方法4.3.5 4.3.5 单元测试策略单元测试策略 单元测试包括:一是针对被测单元需求的功能测试,二是用于代码评审和代码走读的静态测试、白盒测试、状态转换测试和非功能测试。 为了提高单元测试的质量,只了解这些单元测试技术还远远不够,还要选择合适的测试策略。在选择测试策略时,主要考虑如下3种方式:自顶向下(Top Down Unit Testing)的单元测试策略、自底向上的单元测试策略(Bottom up Unit Testing)和孤立的单元测试策略。惹虞伶目钟每随末帝掂涎袱胳眺儿昨椿骏狐解拴念襟尚擎者揪帆革累白罚软件测试过程方法软件测试过程方法 一一

32、、自顶向下单元测试策略自顶向下单元测试策略 1、步骤 1)从最顶层开始,把顶层调用的单元做成桩模块。 2)对第二层测试,使用上面已测试的单元做驱动模块。 3)依次类推,直到全部单元测试结束。 先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块,其次对第二层进行测试,使用上面已测试的单元作驱动。以此类推直到完成所有模块。桩: 替代被测单元所调用模块的模块单元辅助测试模块。咆盖就邪皇走澳肆兜饺翱烹澈焉配霜酝昏实丢澡盔嘉达胆蚂硅按比绩赡日软件测试过程方法软件测试过程方法 2、优点 可以在集成测试之前为系统提供早期的集成途径。(提供较早的集成路径) 3、缺点 单元测试被桩模块控制,随着单元测试的不

33、断进行,测试过程也会变得越来越复杂,测试难度以及开发和维护的成本都不断增加。(同详细设计顺序一样,越到下层测试过程越复杂,并行性不好,测试周期长,任何一单元的修改都将影响其相关单元被重新测试。)角按石杯憎讶脆绚扣固掸仟搅豫竞浅洗剧郴码轧浆柏急惮筒讲泻绪依哈无软件测试过程方法软件测试过程方法 要求的低层次的结构覆盖率也难以得到保证;由于需求变更或其他原因而必须更改任何一个单元时,就必须重新测试该单元下层调用的所有单元;低层单元测试依赖顶层测试,无法进行并行测试,使测试进度受到不同程度的影响,延长测试周期。 从上述分析中,不难看出该测试策略的成本要高于孤立的单元测试成本,因此从测试成本方面来考虑,

34、并不是最佳的单元测试策略。昔弦厨塌卜母遮泌贰惶后爷搂谈鸳掠碉妒讨偷佬汀洪荷浙暂朝霍佰并干炳软件测试过程方法软件测试过程方法二二、自底向上的单元测试自底向上的单元测试 1.步骤: 1)先对模块调用图上的最底层模块开始测试,模拟调用该模块的模块为驱动模块。 2)对上一层模块进行单元测试,用已经被测试过的模块做桩模块。 3)依次类推,直到全部单元测试结束。 先对最底层的单元进行测试,把调用该单元的模块做成驱动模块,其次对上层进行测试,使用下面已测试的单元作桩。以此类推直到完成所有模块; 驱动:替代调用被测单元的模块功能的模块。杰婶花斋妒漂屯宠辨苑牌邑廓瞻拉契羔厦秩缨粉宾赊帕血恍秤殆悉贸店耍软件测试过

35、程方法软件测试过程方法 2)优点 不需要单独设计桩模块。(提供较早的集成路径) 3)缺点 随着单元测试的不断进行,测试过程会变得越来越复杂,测试周期延长,测试和维护的成本增加;随着各个基本单元逐步加入,系统会变得异常庞大,因此测试人员不容易控制;越接近顶层的模块的测试其结构覆盖率就越难以保证; 另外,顶层测试易受底层模块变更的影响,任何一个模块修改之后,直接或间接调用该模块的所有单元都要重新测试。嘻传陇再酣茶凋遭谢汲额窿藕括匿坐骆辜石遵薪竣骋童堂给瘩漾墨票软吃软件测试过程方法软件测试过程方法 同详细设计顺序一样,越到上层测试过程越复杂,并行性不好,测试周期长,任何一单元的修改都将影响其相关单元

36、被重新测试。 由于只有在底层单元测试完毕之后才能够进行顶层单元的测试,所以并行性不好。另外,自底向上的单元测试也不能和详细设计、编码同步进行。 总结:相对其它测试策略而言,该测试策略比较合理,尤其是需要考虑对象或复用时。它属于面向功能的测试,而非面向结构的测试。对那些以高覆盖率为目标或者软件开发时间紧张的软件项目来说,这种测试方法不适用。愚榨虽汹绎谗均昼瀑娇靴嗅起泅蔗掌铡包涛诗会筛鲁秋冲梢撩凤迅蔑吊吮软件测试过程方法软件测试过程方法工程硕士50ADBCEFCd1s1Ds2Bd2d3As3s4s5单元测试进程策略例:赃桌正报斩悲涝该鸿汛财种斜低绊茁疤巾傅冤嗽谴激良鲍泼餐葱倘喷艺铂软件测试过程方法

37、软件测试过程方法 三三、孤立测试孤立测试 1.步骤 无需考虑每个模块与其他模块之间的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。 2.优点:该方法简单、容易操作,因此所需测试时间短,能够达到高覆盖率。 3.缺点:不能为集成测试提供早期的集成途径。依赖结构设计信息,需要设计多个桩模块和驱动模块,增加了额外的测试成本。 总结:该方法是比较理想的单元测试方法。如辅助适当的集成测试策略,有利于缩短项目的开发时间。 敞记哨陛记狂潦印殴井莽屹曰显庆积革闸咐墨阶蠕慢猫钢擅满雹搞穆盐惭软件测试过程方法软件测试过程方法 四、综合测试四、综合测试 在单元测试中,为了有效地减少开发桩模

38、块的工作量,可以考虑综合自底向上测试策略和孤立测试策略。 雌哨聂铣透绪廉调镶舰恩鸥削涎寻获墨铅紧瓶纤纱冬僻曝黔丹敬移凶彻咀软件测试过程方法软件测试过程方法工程硕士534.3.6 4.3.6 单元测试技术单元测试技术静态分析静态分析含义:不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。也称为静态测试技术。方法:走查:WalkThrough审查:Inspection评审:Review瞧休钥姨寄组芥右灯硅虏弊蘸达敝纠蕉柿囱缆巧靴屉呻氧擒漏鼻径剔福犁软件测试过程方法软件测试过程方法工程硕士54单元测试技术静态分析(走查)含义:开发组内部进行的,采用讲解、讨论和模拟运行的

39、方式进行的查找错误的活动。经验:限时避免跑题参加人员经验丰富的开发人员和本模块相关的开发人员本项目组的新人由本模块的开发者进行讲解、回答问题并记录不要现场修改检查要点逻辑错误代码标准/规范/风格是人工测试的方法,属于静态白盒测试,通过阅读程序源代码查找程序的错误。拜锚灿磊尊筏烬耶煽桩租腋饭罪戌抵蔼报家叹名勺寓才局棒焙位隙造埔懈软件测试过程方法软件测试过程方法工程硕士55单元测试技术静态分析(审查)含义: 开发组内部进行的,采用讲解、提问并使用Checklist方式进行的查找错误的活动。一般有正式的计划、流程和结果报告。经验:以会议的形式,制定会议目标、流程和规则,结束后要编写报告参加人员经验丰

40、富的开发人员和本模块相关的开发人员本项目组的新人由另外一名开发者进行讲解、其他开发者主要按照Checklist进行提问并填表、本模块开发者回答问题并记录不要现场修改检查要点设计需求代码标准/规范/风格挖案贞勋揉剩臣桨坟姆凸喷界花洒晰蹬呀组磷王宦儒肺早赛爸奈彻猿苗尼软件测试过程方法软件测试过程方法工程硕士56单元测试技术静态分析(评审)定义:开发组、测试组和相关人员(QA、产品经理等)联合进行的,采用讲解、提问并使用Checklist方式进行的查找错误的活动。一般有正式的计划、流程和结果报告。经验:以会议的形式,制定会议目标、流程和规则,结束后要编写报告。相关资料要在会议前下发并阅读。参加人员经

41、验丰富的开发人员和本模块相关的开发人员测试组和相关人员由另外一名开发者进行讲解、其他开发者主要按照Checklist进行提问并填表、本模块开发者回答问题并记录不要现场修改检查要点设计需求代码标准/规范/风格文档的完整性和一致性糟鱼拢赌而灭装第祈否缄兆恿规苑楚抠刘淹绑嵌些策啮醇舌妻经谓熏惺脉软件测试过程方法软件测试过程方法工程硕士574.3.7单元测试技术测试用例设计 黑盒方法 - 等价类 - 边界值 - 决策表 - 基于类定义 - 状态图 - 错误猜测法 考虑对象 - 模块接口 - 局部数据结构 - 独立路径 - 异常处理 - 边界条件 白盒方法 - 基本路径 - 分支-条件 - 循环 - 覆

42、盖度研聊透惟辖花逐拇芽熔热梨菇从甚钞析褐脯恶脑雍窘而雄晃叙记炽妒刀馏软件测试过程方法软件测试过程方法工程硕士58模块接口检查进出模块的数据是否正确Checklist:模块的实际输入与定义的输入是否一致:个数、类型、顺序;模块中对于非内部/局部变量是否合理使用;使用其他模块时,是否检查可用性和处理结果;使用外部资源时,是否检查可用性并及时释放资源,如内存、文件、硬盘、端口等其他独立路径出错处理模块接口局部数据结构边界条件单元测试用例分析府鸡区奏惰触女绝党廷荣进丘醚皱图础捕转津勺讥凸御蕉鉴蒙痕心骆挛蜕软件测试过程方法软件测试过程方法工程硕士59局部数据结构检查局部数据结构能否保持完整性Checkl

43、ist:变量从来没有被使用可能别的地方使用了错误的变量名变量没有初始化错误的类型转换数组越界非法指针变量或函数名称拼写错误使用了外部变量或函数其他独立路径出错处理模块接口边界条件局部数据结构单元测试用例分析表盅钞眨殷郡汉防钟锋岭线蜕磊哨蜡氧傍济也缓弛捕居翻西件锥盎限炭扛软件测试过程方法软件测试过程方法工程硕士60独立路径出错处理模块接口边界条件局部数据结构单元测试用例分析出错处理检查内部错误处理设施是否有效Checklist:是否检查错误出现资源使用前后其他模块使用前后出现错误,是否进行错误处理抛出错误通知用户进行记录错误处理是否有效在系统干预前处理报告和记录的错误真实详细其他露改汗辟数炉滩妊

44、丑姥盐绎娱裕浅蔓语殿秉圾潮壕硼念使丘泽例棵梦健巴软件测试过程方法软件测试过程方法工程硕士61独立路径检查由于计算错误、判定错误、控制流错误导致的程序错误Checklist:死代码错误的计算优先级精度错误比较运算错误赋值错误表达式的不正确符号、=;=、=、!=循环变量的使用错误错误赋值其他独立路径出错处理模块接口边界条件局部数据结构单元测试用例分析奈后彪锚认肋褂沪憨究熔病腊吝碾仟堕夕戚象衔骨络物踩构舍阴篮买筋琼软件测试过程方法软件测试过程方法工程硕士62边界条件检查临界数据是否正确处理Checklist:普通合法数据是否正确处理普通非法数据是否正确处理边界内最接近边界的(合法)数据是否正确处理边

45、界外最接近边界的(非法)数据是否正确处理其他独立路径出错处理模块接口边界条件局部数据结构单元测试用例分析跃盟头泌晃怒哭胚磊迁评挛贼杉拂披由寞航筹遮织典蔫碗骆寡怪尧篷遣撩软件测试过程方法软件测试过程方法工程硕士63运行时问题(C/C+)容器越界访问虚函数动态决议函数动态链接动态内存分配异常处理RTTI(Runtime Type Information )单元测试用例分析肿国的阔蔫碟炯匠倔婆码兔幅桓畏圭坟刚轮让苛竿拷钢世娩丧辕洋未嘲胶软件测试过程方法软件测试过程方法工程硕士64单元测试用例分析例子(C语言的内存泄漏)呐侮酬屉撼矮呛尊湾侨我喘衰特星淮柞筑派卖柔率膘侵芋铝区凝很长箔嘴软件测试过程方法软

46、件测试过程方法工程硕士65修改后的代码例子(C语言的内存泄漏)噪篡件窘横效册丑庐贴狰颧咙王绞盐藤鸥塌呼陌初此宰诺砌昆札钉妨禾组软件测试过程方法软件测试过程方法工程硕士664.3.8 单元测试工具单元测试的两种方式:自己编写代码使用单元测试工具单元测试工具的种类静态分析工具代码规范审核工具内存和资源检查工具测试数据生成工具测试框架工具测试结果比较工具测试度量工具测试文档生成和管理工具铱咎娥费禹篱彦贮伯将吟厕嗽厕西圈泛彪乘菱饱摆莎凳扯滑大著恒腺我嘻软件测试过程方法软件测试过程方法工程硕士67单元测试工具代码检查工具Lint覆盖率测试工具IBM Rational PureCoverageTrueCo

47、verage内存检查工具IBM Rational Purify(http:/ JUnit Framework(http:/ HindSightLogiScope访钦税淤剔差铀坝累埔上站极拍暑招沪篮谱西结捞鞋表烁樊址解篮怪尚挣软件测试过程方法软件测试过程方法4.3.8 4.3.8 单元测试用例设计单元测试用例设计一、试用例设计概述试用例设计概述 单元测试用例的设计既可以使用白盒测试也可以使用黑盒测试,但以白盒测试为主。 白盒测试进入的前提条件是测试人员已经对被测试对象有了一定的了解,基本上明确了被测试软件的逻辑结构。 助览屁囚耽光豢赤惧崭钳掏闻幅猖寡偿钩潭南搬艾修栽化嘎极组锅潜虞循软件测试过程方

48、法软件测试过程方法 黑盒测试是要首先了解软件产品具备的功能和性能等需求,再根据需求设计一批测试用例以验证程序内部活动是否符合设计要求的活动。 测试人员在实际工作中至少应该设计能够覆盖如下需求的基于功能的单元测试用例: 测试程序单元的功能是否实现; 测试程序单元性能是否满足要求(可选); 是否有可选的其它测试特性,如边界、余量、安全性、可靠性、强度测试、人机交互界面测试等。 无论是白盒测试还是黑盒测试,每个测试用例都应该包含下面4 个关键元素: 武确初汁杆刽敦施螺肾昔庚踩珠闪嚷因京编缕珐凋耀兽合谈镑倔嫩愤詹皿软件测试过程方法软件测试过程方法 (1) 被测单元模块初始状态声明,即测试用例的开始状态

49、(仅适用于被测单元维持了调用中间状态的情况); (2) 被测单元的输入,包含由被测单元读入的任何外部数据值; (3) 该测试用例实际测试的代码,用被测单元的功能和测试用例设计中使用的分析来说明,如:单元中哪一个决策条件被测试; (4) 测试用例的期望输出结果(在测试进行之前的测试说明中定义)。 二、测试用例设计步骤二、测试用例设计步骤 以下描述进行测试用例设计的6步通用过程。 氧被怪膘贩锑屠殆尉漠擅进猛侨秒隆枪胞衬棱刘查羔当母咱肆刮譬乡踪寂软件测试过程方法软件测试过程方法 步骤1:首先使被测单元运行; 这个阶段适合的技术有: 模块设计说明导出的测试 对等区间划分 步骤2:正面测试(Positi

50、ve Testing) 这个阶段适合的技术: 设计说明导出的测试 对等区间划分 状态转换测试 步骤3:负面测试(Negative Testing) 适合的技术有: 错误猜测 武澄集遗禹替蛔晚狡远羽挤币例沁隧轻滋容衣垦腆上伏军镭泰螟筐码腕隙软件测试过程方法软件测试过程方法 边界值分析 内部边界值测试 状态转换测试 步骤4: 模块设计需求中其它测试特性用例设计 适合的技术:设计说明导出的测试 步骤5:覆盖率测试用例设计 适合的技术: 分支测试 条件测试 数据定义使用测试 状态转换测试 步骤6:测试执行 呆囤欠糕普涯此且绞融邯诚阀宠乏刃滔舞街楷毋悲公轩锅陆翰住限佬邓南软件测试过程方法软件测试过程方法

51、 步骤7:完善代码覆盖 适合的技术: 分支测试 条件测试 设计定义试验测试 状态转换测试 呛漾蛊茁指残又灌壮痢稿补倾殊渠猛丛固帝拘辨样巍勺侗盗肖今缸居图销软件测试过程方法软件测试过程方法4.3.9 4.3.9 单元测试过程单元测试过程图3-7从宏观的角度概括了单元测试的工作过程图。 一、单元测试进入和退出准则 如表3-1和表3-2所示:表3-1 进入准则要素判断准则详细设计说明书单元测试用例经过审查获得批准进入配置库讨硼辩诸肄氟惩某插巳申扭啼呀讲伙托头浅矽幻唤才腮韦啮幸葫靶纯赞绵软件测试过程方法软件测试过程方法 要素判断准则源代码文件源代码文件清单源代码文件获得批准源代码文件进入配置库的 源代

52、码区测试用例源代码通过同级评审软件Bug 清单单元测试报告提交测试负责人提交软件产品配置管理表3-2 退出准则韭缸秃润昼倒梅拙歹沤伺暗轨辅菜避于这筏肝累支竣灵年浮幢坐烬进灿行软件测试过程方法软件测试过程方法二、单元测试过程图3-7 单元测试工作过程(1)准备阶段(2)编制阶段(3)代码审查阶段(4)单元测试阶段(5)评审、提交阶段滔爵技锭甩缨龙卸臼萍梗你生境撕留兴觉烧露莎鸡祸婆东期盅烩综毫喳咳软件测试过程方法软件测试过程方法4.4 4.4 集成测试过程技术集成测试过程技术相关概念集成测试策略集成测试环境 叁糊趋庆拙失烫冷例弊祟越掇正棘监硝辆手细砰绍掖紫河争针屉产轩字民软件测试过程方法软件测试过

53、程方法 4.4.1 4.4.1 集成测试概述集成测试概述 一、集成测试的含义 集成测试是指根据实际情况对程序模块采用适当的的集成测试策略组装起来,对系统的接口以及集成后的功能进行正确性检验的测试工作。 在单元测试的基础上,将所有模块按照概要设计要求组装为子系统或者系统进行测试,关注各个模块之间的交互是否正确。 饼豁蔼诧烽缠富聋是烷睹妄份广勿壶洪润员茂毛桶碗请酿鹤义诉咕赡伊擦软件测试过程方法软件测试过程方法 二二、集成测试与系统测试的区别集成测试与系统测试的区别 1、测试对象 集成测试的测试对象是由通过了单元测试的各个模块所集成起来的组件。而系统测试的测试对象,除了软件之外,还有计算机硬件及相关

54、的外围设备、数据采集和传输机构、计算机系统操作人员等的整个系统。 2、 测试时间 集成测试是介于单元测试和系统测试之间的测试. 在测试时间上,先于系统测试。 3、测试方法 集成测试通常会采用灰盒测试。而系统测试通常使用黑盒测试。 戈赚晤姚供荒惟亦肮磅譬廉迂词痕块急朔轴挪遍隧聚狮货踌赋粳金拱倘雄软件测试过程方法软件测试过程方法4、测试内容 集成测试的主要内容就是各个单元模块之间的接口,以及各个模块集成后所实现的功能。而系统测试的主要内容就是整个系统的功能和性能。 5、测试目的 集成测试的主要目的就是发现单元之间接口的错误,以及发现集成后的软件同软件概要设计说明不一致的地方。而系统测试的主要目的就

55、是,通过与系统需求定义相比较之后发现软件与系统定义不符合或矛盾的地方。 6、测试角度 集成测试工作的开展更多的是站在测试工作人员的角度上。系统测试工作的开展更多的是站在用户的角度来进行。默噬收蚕宰户茸古彩拂轻苍躇少努画鼻售弹代祥始鳞边哺既弹晤搏惧允蛛软件测试过程方法软件测试过程方法4-1 软件结构图 三、集成测试与开发的关系三、集成测试与开发的关系 为了使读者更好的了解集成测试与开发的关系,图4-1给出了软件基本结构图。逃沧口叹田译扣虾预德抛片兄蝇履泌吱达屁肃逢趁街湾颤灌菏超著晤套伊软件测试过程方法软件测试过程方法 四四、集成测试的重点集成测试的重点 1、各个模块连接起来后,穿过模块接口的数据

56、是否会丢失,是否能够按期望值传递给另外一个模块; 2、各个模块连接起来后,需要判断是否仍然存在单元测试时所没发现的资源竞争问题; 3、分别通过单元测试的子功能模块集成到一起能否实现所期望的父功能; 4、兼容性,检查引入一个模块后,是否对其他与之相关的模块产生负面影响;靖丫涅甜酵舵某戏寻蔽奠窖座臆简众枣癌颓弓浩检涣汝兑衷拍刚跃叫钵盼软件测试过程方法软件测试过程方法 5、全局数据结构是否正确,是否被不正常的修改; 6、集成后,每个模块的误差是否会累计扩大,是否会达到了不可接受的程度; 五五、集成测试的层次集成测试的层次对于传统软件来说,按集成粒度不同,可以把集成测试分为3个层次,即:- 模块内集成

57、测试- 子系统内集成测试- 子系统间集成测试对于面向对象应用系统来说,按集成粒度不同,可以把集成测试分为2个层次:- 类内集成测试- 类间集成测试脑需丰氖征稿糜馆咯秒尤秤潘飞充渤羽诲鸟翘坝融段趁册谍清签禄瑰猫径软件测试过程方法软件测试过程方法 4.4.2 4.4.2 集成集成测试任务测试任务 一、集成集成测试任务测试任务 在把各个模块连接起来时,穿越模块接口的数据是否会丢失; 各个子功能组合起来,是否能够达到预期要求的父功能; 一个模块的功能是否会对另一个模块的功能产生不利的影响; 全局数据结构是否有问题,会不会被异常修改; 单个模块的误差积累起来,是否会放大,从而达到不可接受的程度;化贝折乎

58、挤奠拌此狱偶向罪深疲吓绷畜盎秋退灼歹丙薪磅样赃灼动篇捕带软件测试过程方法软件测试过程方法 二二、集成测试基础分析集成测试基础分析 1、体系结构分析 首先,跟踪需求分析,对要实现的系统划分出结构层次图。 其次,是对系统各个组件之间的依赖关系进行分析,然后据此确定集成测试的粒度,即集成模块的大小。2、模块分析 一般,可从以下几个角度进行模块分析: 1)确定本次要测试的模块;尧逸寡囱芒温型骏款酒迁犬勾悍神柱放委缮凑欺弥址箕员距铁申楞郡贵榆软件测试过程方法软件测试过程方法2) 找出与该模块相关的所有模块,并且按优先级对这 些模块进行排列;3)从优先级别最高的相关模块开始,把被测模 块与其集成到一起;4

59、)然后依次集成其他模块。3、接口分析 接口的划分要以概要设计为基础,一般通过以下几个步骤来完成: (1)确定系统的边界、子系统的边界和模块的边界。 (2)确定模块内部的接口。 (3)确定子系统内模块间接口。 (4)确定子系统间接口。 诧度潭砾屉邀钎贰蘸剿募付妄枉暴尖婉默柴秽吻著脆仿哪袋派佃萨隋孟盂软件测试过程方法软件测试过程方法 (5)确定系统与操作系统的接口。 (6)确定系统与硬件的接口。 (7)确定系统与第三方软件的接口。4、风险分析 风险通常被分为3种类型: 项目风险:包括项目管理和项目环境的风险。 商业风险:它和领域的相关概念及规则息息相关。 技术风险:这是针对应用程序的具体实现而言的

60、,主要和代码级的测试有关。 风险分析是一个定义风险并且找出阻止潜在的问题变成现实的方法的过程。铆瑰摩乍综拴交揣吓肋卓督丸漠氛负牧窿撂烟粒罪停晾汹诈撤森左卒齐由软件测试过程方法软件测试过程方法 通常把风险分析分为3个阶段:风险识别、风险评估和风险处理。 5、可测试性分析 必须尽可能早地分析接口的可测试性,提前为后续的测试工作做好准备。 6、集成测试策略分析 集成测试策略分析的主要任务就是根据被测对象选择合适的集成测试策略。氯驱熏煽迄跟净柒桨贾全坊叹把篓赞翟辆滤勉鬃暖班吴窘僚每欣菇阂传彝软件测试过程方法软件测试过程方法工程硕士89基于功能分解的集成大爆炸自顶向下集成自底向上集成三明治集成 基于调用

61、图的集成成对集成相邻集成 基于路径的集成 集成测试策略闭许曳刽授渠牵氦啪蛋裳讽通朝伏球桅刺寅熏庇舔皖未狈诅肘岩俊抽丢题软件测试过程方法软件测试过程方法工程硕士90SATMSATM系统系统设备传感与控制设备传感与控制中央银行通信中央银行通信终端传感与控制终端传感与控制管理会话管理会话通道传感与控制通道传感与控制槽传感与控制槽传感与控制屏幕驱动器屏幕驱动器键盘传感器键盘传感器验证卡验证卡验证验证PINPIN取数字取数字管理事务管理事务结束会话结束会话集成测试功能分解图和调用图示例般挂噪蹲垄传暇馋简殆组应关绸舀助眩绚欠环睬贱其挺詹两族檀斜豢叹唐软件测试过程方法软件测试过程方法工程硕士911A10BC

62、2511 12 13151416ED23482621201822F17919242376527集成测试功能分解图舶昏拢僵乞幼涅眯尧葬蛇支驾钙拯喷琐郧咙泅衣瞳赢舔岁骡溃闻傅骂续地软件测试过程方法软件测试过程方法工程硕士92123456789101112131415161718192021222324252627集成测试调用图示例浆迂报掺馈押振栋章贪念竭笛付拈戴腑伍韩奄套浩废铝奔铀庚逞未裂羽巨软件测试过程方法软件测试过程方法工程硕士93在完成单元测试后就立即将所有模块连接成一个整体进行测试是一个好方法。 Not always!集成测试策略大爆炸集成遇搽城灶莫流弃幂柴返愚谭补抓示舔港幕赁很骏斋虐诸碗

63、拢石胃疙皖鲤洞软件测试过程方法软件测试过程方法工程硕士94从顶层开始,采用同设计顺序一样的思路对被测系统进行测试,一般集中于顶层的组件,然后逐步测试处于底层的组件,被上层单元调用的下层单元以桩出现;自顶向下的集成方式可以采用深度优先和广度优先策略。集成测试策略自顶向下集成孔跳脸盖窃酗特挑话俭意甫夜驰运冈渝望拢坑钎莲进炮瘩欧呕结巨巢醋铆软件测试过程方法软件测试过程方法工程硕士95ABCDEFAS1S2S3AS4S2S3BAS2S3BEAS3BECABECDS5ABECFD集成测试策略自顶向下集成示例深度优先己正溢梁祥豁邯跳烫摩札摆骏庆詹痢平惜籽蚊栏妈坝梁寨罗彩噶豪褥盾劫软件测试过程方法软件测试过

64、程方法有一个程序的结构如下图所示,当采用自顶向下深度优先的策略进行集成测试时,请详细描述该程序的测试过程。ABCD众您宿白钱文搪部疹拳露道监撕噎瞄福睫蛮局守成孺减瑶传唆焰冒桑昼烫软件测试过程方法软件测试过程方法自顶向下深度优先的策略进行集成测试的方法是:以先左后右的方式选择模块集成主线路径,主模块作为测试驱动,为主模块编制相应的桩基模块。 测试主模块A,编制桩基模块S1和S2来代替模块A实际调用的模块B和C,如图(a)所示。 用模块B代替桩基模块S1,编制桩基模块S3来代替模块B实际调用的模块D,对模块B进行测试,如图(b)所示。 用模块D代替桩基模块S3,对模块D进行测试,如图(c)所示。

65、用模块D代替桩基模块S3,对模块C进行测试,如图(d)所示。 绳夺捌隐陇民点椭娟荔澳晨焚痘焕酋盂馅欺铀喘瘦例乳哩什筋鹿责娜肛态软件测试过程方法软件测试过程方法AS1S2ABS2S3ABS2DABCD (a) (b) (c) (d)磷盅袁足狱误褪猿啄殉饲痞堆啼赐挂酪革癌铱出济沧盘站李托沥蚌狡篮扇软件测试过程方法软件测试过程方法工程硕士99ABCDEFAS1S2S3AS4S2S3BACS3BS4ABECDS5ABECFDADBS4CS5集成测试策略自顶向下集成示例广度优先交胡嫁毡摊蛇欧瑞瓤译涕宅呈修整戈择冷晃只讣主性孝惕奉斡又江因一规软件测试过程方法软件测试过程方法工程硕士100从最底层组件开始,

66、按照分解树的结构,逐层向上集成,调用下层单元的上层单元以驱动出现。示例集成测试策略自底向上集成Ed1d3FCd2BEd4DFd5ABCDEFABCDEF震袜恤飘矩侨孝荚申毡吓芭竹刊嫂励泊柞袭凤袱虏炙涂薪龚茎终崖它钠暮软件测试过程方法软件测试过程方法工程硕士101在分解树的子树上进行集成优先模块优先集成集成测试策略三明治集成掇沮泵臀仟昼灶裂处娇伊洽喝词炼届牟凹抄凰畦酶炒伞圆沂渤理沉沮菇甭软件测试过程方法软件测试过程方法工程硕士102成对集成测试思想:依据调用图,测试调用图中的每一对单元测试会话的数量:调用图中的边的数目 相邻集成测试思想:依据调用图,测试节点的邻居,节点的邻居是包括节点的所有直接

67、前躯节点和所有直接后继节点测试会话的数量:邻居 = 节点 汇节点(有叶直接连到根节点) 邻居 = 节点 汇节点-源节点(没有叶直接连到根节点)集成测试策略成对集成&相邻集成伟规挟傈象为铱榨汐墓爵涂未哥芜父汰闽拄戈昔什量骤揽协祥棒丽渍赃斧软件测试过程方法软件测试过程方法工程硕士103123456789101112131415161718192021222324252627集成测试策略成对集成示例恃垮眩蝉枣锰刚邮禾绞穴满蒂忙在要苏镊斩阅瑚攻河黍坝教奸嘿采确拧谆软件测试过程方法软件测试过程方法工程硕士104123456789101112131415161718192021222324252627集成

68、测试策略相邻集成示例悠线秉模披拂亚素折蹦浩霄祸已揉迅狰厄汀啸本月橇屋微槛舟蔽润凯待莉软件测试过程方法软件测试过程方法工程硕士105测试思想:来源于路径测试,集成的策略是测试从一个单元沿类似于控制的线索进入另一 个单元。相关概念源节点:程序执行开始时或重新开始处的语句片断(单元中的第一个可执行语句,紧接着转移控制到其他单元节点之后的节点)。汇节点:程序执结束处的语句片断(单元中的最后一个可执行语句,转移控制到其他单元的节点)。模块执行路径: 以源节点开始,以汇节点结束的一些列语句,中间没有插入汇节点。消息:一种程序设计语言机制,通过这种机制一个单元将控制转移给另一个单元。集成测试策略基于路径的集

69、成殆昨轨养旋晋萌靳兜乌诀唤俞贵舍榨预管斤砾杜待花撞攀瞩闺某梳罢汽棘软件测试过程方法软件测试过程方法工程硕士106MM-路径是穿插出现模块执行路径和消息的序列;通过MM-路径可以描述包含在单独单元之间控制转移的模块执行路径序列123456123412345ABC MEP(A,1) = MEP(A,2) = MEP(A,3) = MEP(B,1) = MEP(B,2) = MEP(C,1) = MEP(C,2) = 集成测试策略基于路径的集成奔笔封抢许笼屑表衰讲胎鞋扭洲叙看楚正闭帮演城疽磕蚀已色馈瞒辕往狞软件测试过程方法软件测试过程方法工程硕士107集成测试策略基于路径的集成给定一组单元,其MM-

70、路径图是一种有向图,其中的节点表示模块执行路径,边表示消息和单元之间的返回,实线表示消息,相应的返回由虚线表示 MM-路径有多长(深)?消息静止点和数据静止点 覆盖准则:至少遍历所有的消息炼宇兢苇毕溅智巍韶渍罪躯区默神傣传撰芍败铃铆温宝吊漠狰滓束谷妮帽软件测试过程方法软件测试过程方法工程硕士108123456123412345ABC MEP(A,1) = MEP(A,2) = MEP(A,3) = MEP(B,1) = MEP(B,2) = MEP(C,1) = MEP(C,2) = MEP(A,2)MEP(A,1)MEP(C,1)MEP(B,2)MEP(A,3)MEP(c,2)MEP(B,1

71、)集成测试策略基于路径的集成示例渴振赁卡坡陡朗范犹足禁殖瓷骡假挫辜屠啦认娜秦湘洞停纽淑焉苗汀丰吸软件测试过程方法软件测试过程方法工程硕士109硬件硬件环环境:境:尽尽可能的考可能的考虑实际环虑实际环境,境,实实在不可用使用模在不可用使用模拟环拟环境境 操作操作环环境:考境:考虑虑到不同机型的不同操作系到不同机型的不同操作系统统版本版本数数据据库环库环境境网网络环络环境境接口模拟器接口模拟器1驱动驱动已集成模块已集成模块新增模块新增模块桩桩桩桩桩桩驱动驱动已集成模块已集成模块新增模块新增模块桩桩桩桩桩桩接口模拟器接口模拟器2测试控制中心测试控制中心测试数据库测试数据库测试规程库测试规程库TCP/

72、IPTCP/IPTCP/IPTCP/IPTCP/IPPC机机PC机机PC机机PC机机小型机小型机集成测试环境孤蔼恬秀盐各棵滥还旨拨滴陆疫鳞硷寿饺胎捏疙副碰鲍矫枉吞映敢善隘旱软件测试过程方法软件测试过程方法工程硕士110将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。测试任务: 发现与系统定义不符或矛盾的地方系统各个部分是否可以协调工作4.5 4.5 系统测试系统测试过程技术过程技术放宏炳识唯掣邀终虹建优闯坍赋阔姚掐篆珊忱滔遁枯靖屁倒谐诫户掺咸休软

73、件测试过程方法软件测试过程方法工程硕士111 功能性测试 性能测试 压力测试 容量测试 协议一致性测试 安全性测试 恢复性测试 备份测试 GUI测试 健壮性测试 兼容性测试 可用性测试 可安装性测试 文档测试 在线帮助测试 数据转换测试系统测试内容袱甜猪札漱酒柑笑销壤众孤蚀抑赋殴恃亮招荤动琼养祈骸筹盐素狭疯至贤软件测试过程方法软件测试过程方法工程硕士112系统测试功能性测试测试思想:功能测试是系统测试中最基本的测试,根据产品的需求规格书和测试需求列表,验证产品的功能实现是否符合产品的需求规格。主要发现以下几类错误:是否有不正确或遗漏了的功能?功能实现是否满足用户需求和系统设计的隐藏需求?是否能

74、正常地接受输入?能否正确地输出结果?对测试设计者的要求:非常熟悉产品的规格说明、需求文档和产品业务功能,掌握测试用例的设计方法。陋外蓖椿黍讽比逆搔汲炽啦扬瀑接享精炬敷详屿饵简泼猩吊必挎嗽页匝汁软件测试过程方法软件测试过程方法工程硕士113对每个明确的功能需求进行标号对每个可能隐含的功能需求进行标号对于可能出现的功能异常进行分类,并进行标号对于前三步获得的功能需求进行分级,确定关键功能和非关键功能设计每个功能的测试用例(等价类,边界值,决策表,错误猜测等) 系统测试功能性测试(用例分析方法)裁流搽喷灰技潘尹罕硝栗侮哇草白夷谣御擂激用刃花付梭枣挺瘫寝肥王外软件测试过程方法软件测试过程方法工程硕士1

75、14系统测试功能性测试(用例设计方法)规范导出法;等价类划分;边界分析;因果图;决策表;基于风险的测试;错误猜测法;束料器欺益挨汉霓李汁虱呻藉捐麦箭慎蚜射淑浇隐编涌兑宾召庇惠讹齐二软件测试过程方法软件测试过程方法工程硕士115测试思想:软件的性能和效率目标描述为在特定负载和配置环境下程序的响应时间和吞吐率。性能测试的目的是设计测试用例来说明程序不能满足其性能目标,监控的关键性能指标(例如响应时间、CPU、内存、I/O使用情况、网络连接等) 。例如:应用程序能够以1000ms的最大响应时间处理750个同时发生的活跃用户;峰值时刻支持800个用户,响应时间下降7%。系统测试性能测试(以Web应用为

76、例)粒懒蜡扳兜新狠洼校腮哑菠泳炳棚酚刁泞辉轧目豌相晦右坝返单置芦储毒软件测试过程方法软件测试过程方法工程硕士116系统测试性能测试(以Web应用为例)性能度量指标:响应时间的定义:对计算机系统的一个查询或请求结束和一个响应开始之间所逝去的时间,例如在指示一个查询结束和在用户终端上显示相应的第一个字符之间的时间长度。事务时间:客户、网络和服务器完成一个事务所需要的时间总量。等待时间:完成一个请求所需的时间,如网络延迟和服务器延迟。在Web应用中,相应时间可以度量为用户点击一个按钮或链接和浏览器开始显示导出的页面之间的时间。在Web应用中,事务时间可以度量为用户点击一个按钮或链接和浏览器开始显示导

77、出的页面之间的时间(包括客户端脚本、Java小程序等的执行)。焙改冲竞第酪闪沟迸常演进托蝉畴有飞搜迈瓢舵雷羡扣蹈蹭袁门占韶侍防软件测试过程方法软件测试过程方法工程硕士117系统测试性能测试(以Web应用为例)一个典型的Web事务范例 客户端用户输入URL或者在浏览器上点击链接,请求服务器提供某个文件。域名服务器将服务器的主机名转换成合适的IP地址。客户连接到Web服务器。客户向服务器发送一个超文本传输协议请求。在Internet上网络将数据从客户端传输到服务器端。在服务器端一旦请求到达服务器,数据在合适的通讯协议上被拆分;服务器对请求作出响应;服务器通过检索数据或者将数据写入数据库来处理请求,

78、一旦处理完成,服务器向客户返回请求文件或者结果信息。在Internet上回传(网络)网络从服务器端向客户端传输数据返回到客户端浏览器接受请求的数据,显示HTML内容并执行动态内容。眺降叔苇痒要硅但词勿瘫钎占潜狐冕屁殷徊制螟誉号栋兑枚死扔郊耗底荫软件测试过程方法软件测试过程方法工程硕士118系统测试性能测试(以Web应用为例)性能测试的关键元素工作负载:系统需要进行处理和通信管理的信息总量。考虑的因素:用户应用资源通过对用户数量(和日常活动)、需要应用处理用户活动的命令、系统的资源需求的分析,计算出系统的工作负载。敛暖怨痒媚倦蛔姓等板煤状驴琵宰忽菠痞选乎酥涂钻硅娩逛飘警房酥甜蚌软件测试过程方法软

79、件测试过程方法工程硕士119系统测试性能测试(以Web应用为例)性能测试的关键元素系统环境和可利用资源:客户端的浏览器、网络和服务器。Web应用中涉及的环境资源包括:网络访问量人员变量地域变量ISP基础结构变量客户配置服务器配置例如:28.8kbps,DSL,T1例如:超级用户或新手用户例如:服务器的地理位置例如:每个ISP得到的数据传输率例如:操作系统、浏览器例如:CPU速度、内存、OS、软件等词凸版汰冬摈泥罐酬貌皆谨是已结佛棚赣除顽矮扑呈梢常鸣撅普挫琴硬型软件测试过程方法软件测试过程方法工程硕士120系统测试性能测试(以Web应用为例)性能测试的关键元素系统响应时间:包括系统、网络和浏览器

80、的响应时间。Web应用包含静态和动态内容,页面尺寸也不相同,因而响应时间是不同的。影响响应时间和性能的主要因素:用户:用户数和类型用户活动用户活动频率:行为(读/思考/数据录入)和用户活动到达速率(单位时间流量的描述和流量到达率)会话:用户会话数、每个会话的页面视图数和每个会话请求的页面类型(静态页面或信用卡事务验证)并发问题:缓存交换、某些任务优先级要求与每个请求相关联的数据大小与每个请求相关联的点击数每个请求所要求的处理:计算应用体系结构的设计:编码实践客户端速度:CPU和内存浏览器软件提交速度客户端本地网络速度或吞吐量公共网路延迟公共网络速度或吞吐量:服务器端响应时间服务器速度服务器端本

81、地网络速度或吞吐量服务器端分布式结构软件性能系统配置与安全有关的配置粘酷箩譬辨斗尊蟹瘟兰贩娩狠良蜡语绩孽产睬闷咱士频卓杏涡衡剔理汗梭软件测试过程方法软件测试过程方法工程硕士121系统测试性能测试(性能测试的阶段)性能测试的三个阶段:计划阶段定义目标并设置期望值收集系统和测试要求定义工作负载选择要收集的性能度量值标出要运行的测试并决定什么时候运行它们决定工具选项和生成负载编写测试计划,设计用户场景并创建测试脚本测试阶段作准备工作(例如在网络和服务器上建立测试台和性能监视器)运行测试收集数据分析阶段分析结果改变系统以优化性能设计新的测试依睁诀奉虎徐今铲车鸡搅察许非欧兜踏慰擂薛丁圭送抉翘停蛰叛含凑烷

82、互软件测试过程方法软件测试过程方法工程硕士122系统测试性能测试(性能测试计划书)内容应用程序概要系统构架概要:性能测试环境中的硬件和软件,指出测试环境和用户部署环境之间的差别性能指标:期望应用程序达到的性能目标,比如,在保证响应时间的情况下,应用程序可以支持多少吞吐量和并发用户数性能测试过程:用户场景的描述以及用来进行性能测试的工具,同时要解释测试脚本中定义的各种比率,休眠时间和用户思考时间性能测试脚本屹醇存派扛涌晨蠢晾楔默害梅埠呕计檀萤鲸务战梳蔚砾伴辞执佩饯旭斯营软件测试过程方法软件测试过程方法工程硕士123商业工具: Mercury Interactive 公司:LoadRunnerIB

83、M 公司:Rational Performance TesterMicrosoft公司:Application Center TestCompuware公司:QALoad 开源工具JMeter(http:/jakarta.apache.org/jmeter/)OpenSta (http:/)Grinder (http:/)系统测试性能测试工具瘴若粒致曲党伦己蝎洪恩裂石慰货愤勒魏扔凝翔癣怖烘鸵弊转闸报富恨侧软件测试过程方法软件测试过程方法工程硕士124其它内存检测工具网络监视工具查询分析器事务分析器日志分析器系统测试性能测试工具挝西肖始腔啄橙驴英晴屹示如挂级坍睡怪评遭隅奏涤咱若扛部邪阉姬鞋琢软件

84、测试过程方法软件测试过程方法工程硕士125测试思想:通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。 考虑的资源缓冲区、控制器、显示终端、中断处理、内存、网络、打印机、存储设备、事务队列、事务程序和系统用户步骤进行简单的多任务测试 在简单的压力缺陷被修正后,增加系统的压力直到中断系统测试压力测试骑贴鄂握臭荧生阀奄匀烟趁建瞳别隅乌导腰落殿当零朋憾勾刚墨卫醛掇母软件测试过程方法软件测试过程方法工程硕士126测试思想:在系统承受超额的数据容量的前提下,确认系统是否能够正确处理。通用的步骤1.分析系统的外部数据源,并进行分类 2.对每类数据源分析可能的容量限制,对于纪

85、录类型数据需要分析记录长度限制、记录中每个域长度限制和记录数量限制3.对每个类型数据源,构造大容量数据对系统进行测试4.分析测试结果,并与期望值比较,确定目前系统的容量瓶颈5.对系统进行优化并重复(1)-(4)步骤,直到系统达到期望的容量处理能力系统测试容量测试艾舰絮桂党虎荐折篷鸯揉诺长判久仆减犊疽趁啄并盒橡例啪袖士片臻炬瞄软件测试过程方法软件测试过程方法工程硕士127测试思想:验证集成在系统内的保护机制是否能够在实际中保护系统不受非法的侵入 设计测试用例时的策略需分析:资产:是一个实体确切的和非确切的资源,列出受保护的资产; 危险:可能引起损失和伤害的事件,列出潜在的危险源头;暴露出来的行为

86、:可能的损失或者伤害的事件,列出危险发生时会对资产发生什么事情;安全性控制:针对损失或者伤害的保护的程度,列出安全性功能和任务并且关注于在特定系统功能或者过程中包含的控制。测试用例设计方法规范导出法;边界值分析;错误猜测法:基于风险的测试;故障插入技术。一些功能性的安全问题(CheckList)系统测试安全性测试无效的或不可能的参数是否被检测并适当地处理?错误的文件是否被适当地记录?系统配置数据是否能正确保存,系统故障时是否能恢复?系统配置数据保存时是否加密?没有口令是否可以登录系统?各级用户的权限划分是否合理?防火墙是否被激活和取消激活?用户的生命周期是否限制?.身倘唾孩咸写扔肿光衬蟹守桂透

87、墙肮约臼厦挫鸵帕允踏读胚瑟制东肤摇劳软件测试过程方法软件测试过程方法工程硕士128测试思想:验证系统从软件或者硬件失败中恢复的能力测试策略采用人工干预的方法,使软件出错; 当系统自动恢复,需要检验初始化、数据恢复以及重新启动是否正确;如果人工恢复,需要关注一下平均修复时间是否在限定范围内;分析方法潜在的灾难和已确定的系统失败 保护或者恢复过程是否为错误提供了足够的反应当真正需要时,恢复过程是否能够正确工作系统测试恢复性测试略痪缎象羌杉叹遂点掣狭褥禁会返斟处勇蹬肄妻陈逻损撩萎毡双障壮釜四软件测试过程方法软件测试过程方法工程硕士129测试思想:是恢复测试的一个补充,验证系统在软件或者硬件失败的事件

88、中备份系统数据的能力。 测试策略备份文件 存储文件和数据系统备份步骤检查点备份备份引起系统性能的降级备份过程期间的维护处理日志 系统测试备份测试谨忿揽淑讶爽汗洁荷侯蚂哮娟擂肋镣帚坝陇联獭恍弥亦到针疡杂垂惠寓讲软件测试过程方法软件测试过程方法工程硕士130测试思想:验证系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。策略错误插入法基于进程基于调试基于消息设计思路基于错误的策略 基于覆盖率的策略基于失效的策略系统测试健壮性测试(容错性测试)壮对鬼付隘刺募岭枣墨梯色形来坞封尸幕澜晾充镶退邦研贪牡吕扦丸俊麓软件测试过程方法软件测试过程方法工程硕士131系统测试兼容性测试(配置测试)测试思想:测

89、试应用程序对其他应用或者系统的兼容性,在不同的系统配置下能否正确工作,包括软件、硬件和网络等。 测试用例分析当前系统在哪些OS上运行; 当前系统可能与哪些不同类型的数据库进行数据交换;当前系统可能在哪些不同的硬件配置环境上;当前系统可能与哪些软件系统协同工作?这些软件系统可能的版本有哪些? 上述各种情况的综合。智吓萎聚及啊银韭仑靖常肥什伺七诈棺屠受册氮依杆棉势检啥跌噶拓笼草软件测试过程方法软件测试过程方法工程硕士132系统测试兼容性测试(配置测试)例:设计一个网站:测试网站的页面能够在不同的配置上可以被终端用户正确浏览。操作系统浏览器窗口大小CookiesJava内存Windows 98Win

90、dows NTWindows ME Windows 2000Windows 2000PWindows XPMACLinuxNetscape 4.7xNetscape 5Netscape 6.2IE 4IE 5IE 6AOL 5AOL 6AOL 7Web TV640*480800*6001024*7681024*1024YesNoEnabledDisabled16MB32MB128MB256MB512MB1024MB锅位筏祟裴袋恶钩胎桶经垄领唇犹汞钡春顺论宋葫疮蚊从悠乎哗络哑张鸳软件测试过程方法软件测试过程方法工程硕士133练习:配置测试假设一系统为B/S体系结构,其软硬件配置如下:l 客户端需

91、要支持的浏览器版本,包括IE5.0,IE5.5,Netscape7.1,均需运行在Windows98和Windows 2000;l 应用服务器的软件版本对应不同的Unix OS有三种不同的版本,分别为AIX环境下的A版本,HP UNIX下的B版本和Solaris下的C版本,分别运行在IBM服务器,HP服务器上和Sun工作站上; l 数据库服务器均使用IBM小型机,需要支持DB2,Informix和Oracle三种数据库管理系统。假设客户端对后端数据库的访问完全由应用服务器屏蔽。现在要求,应用服务器的不同版本需要支持所有客户端运行的平台和所有数据库运行平台。若对该系统进行配置测试,请设计其测试用

92、例并简要写出设计思想?测试用例设计聋争忘男仟卖已曰辩访丘援闸续睛私拼漠割犬澳挟僚国言颈氛觅搽租蹲狄软件测试过程方法软件测试过程方法工程硕士134测试步骤(1) 第一步第一步 确定客户端运行平台,根据题意客户端需要进行确定客户端运行平台,根据题意客户端需要进行IEIE和和OSOS的全组合测试的全组合测试 测试用例设计蜡睫拌泊郸匠辩淘像稠萄逮条成洋质够突仓炸茂杯讣平呈站每氧笨斋塑抗软件测试过程方法软件测试过程方法工程硕士135测试步骤(2) 第二步第二步 确定服务器端运行平台,根据题意需要进行相应操作系统和确定服务器端运行平台,根据题意需要进行相应操作系统和 小型机的组合测试小型机的组合测试 第三

93、步第三步 确定数据库服务器的运行平台确定数据库服务器的运行平台 测试用例设计出昼吧玫寓皆命仙介侥辙主嘛规深狂侮苯筋晦皱劳坠困判析箕缴郑徊哥迁软件测试过程方法软件测试过程方法工程硕士136测试步骤(3) 第四步第四步 客户端和服务器之间是全对偶,服务器和数据库之间是全对偶客户端和服务器之间是全对偶,服务器和数据库之间是全对偶 测试用例设计韧香瘴逞免莱何毡腊腑蚕崎鳞窘弄麓毒已娩单拦镭黔诽传韦潘杯浴航惦酌软件测试过程方法软件测试过程方法工程硕士137测试思想:验证用户在理解和使用系统方面的程度。测试用例分析过分复杂的功能或者命令 安装困难错误信息比较简单语法难于理解和使用 用户被迫要记住太多的信息帮

94、助文档不够敏感或者详细默认不清晰语法、格式和定义不一致系统测试可用性测试勾兵汕算隘屉昌肪留溉角抒诲认嘛咱唬矫撤厌隶捌头谗轩腋侵憋爬肾胁罕软件测试过程方法软件测试过程方法工程硕士138测试思想:验证成功安装系统的能力 策略需要包含重新安装过程 安装过程需要记录用于可以如何调整系统选项并且从先前的一个版本上进行升级系统测试可安装性测试供磨深勾惭谆亢枝梳艘诌便孜戌趋痈叙遁獭积踢阀晴粱矩公腻缸察箔巴犬软件测试过程方法软件测试过程方法工程硕士139文档测试思想:验证用户文档是正确的并且保证操作手册的过程能够正常工作。在线帮助测试思想:验证系统的实时在线帮助的可用性和正确性。 策略帮助的索引和内容的正确;

95、 激活是否正确;在系统不同位置激活的帮助是否与当前操作相关;内容是否可以有利于解决问题。系统测试文档测试&在线帮助测试涉迷蠢竭棱芯名捣灿俊书艇勺泅织侄菠溜乎钉鹤天怎畅薯参迟买灼砸腿坦软件测试过程方法软件测试过程方法工程硕士140测试思想:验证已存在的数据的转换并载入一个新的数据库中是否有效。策略审计能力:转换的计划; 数据库验证:新的设计满足要求;数据整理:剔除不正确的老数据;恢复计划:回退到以前的状态;同步:同时包括新老数据时,注意数据之间的同步。系统测试数据转换测试妥荷慕装玖桐铲舵孟巩澄邓谱扬宗伙铀怖蛇泼阳寸夷笑喊备分陡另淫庐枫软件测试过程方法软件测试过程方法回归测试:当系统发生变更,用以验证缺陷修改是否正确,是否引入新的问题。验收测试:基于客户或最终用户规格书的测试。测试:由用户、测试人员、开发人员共同参与的内部测试。测试:完全交给最终用户的测试。4.6 其它测试馋岗翌错泽即九遣侮穷趣示豁宇雄遭糖所冻肥捕浇蝴应膏夺泼储乎鸡占敖软件测试过程方法软件测试过程方法

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号