软件测试方法和技术总结

上传人:壹****1 文档编号:591634917 上传时间:2024-09-18 格式:PPT 页数:165 大小:3.61MB
返回 下载 相关 举报
软件测试方法和技术总结_第1页
第1页 / 共165页
软件测试方法和技术总结_第2页
第2页 / 共165页
软件测试方法和技术总结_第3页
第3页 / 共165页
软件测试方法和技术总结_第4页
第4页 / 共165页
软件测试方法和技术总结_第5页
第5页 / 共165页
点击查看更多>>
资源描述

《软件测试方法和技术总结》由会员分享,可在线阅读,更多相关《软件测试方法和技术总结(165页珍藏版)》请在金锄头文库上搜索。

1、胡礼勇胡礼勇软件质量保证和测试 - 总结疏美汇英砚磐武敬匹潜拜暑艺透衬鞍谷炬恫旱奢颗盈养颧馆胁裕侈骆棕运软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第1章章 引论引论软件测试的必要性软件测试的必要性什么是软件测试什么是软件测试 ?软件测试和软件开发的关系软件测试和软件开发的关系嗣孤节才夏怕够珍天桑堵兢穆市萄埂旺搜韵洽梆胰烧响惕北尊焕按妖照使软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试的必要性软件测试的必要性n迪斯尼并不总是带来笑声n一个缺陷造成了数亿美元损失n火星探测飞船坠毁n更多的悲剧n现代企业的影响翟杉巧械岗熬鸣岿岂

2、销忙帮拭你少菜敦华瘴负猪帜引学婿扩武烯烹傻摘期软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试的正面性软件测试的正面性BillHetzel博士(正向思维的代表):博士(正向思维的代表):p 软件测试就是为程序能够按预期设想那样运行而建立足够的信心。p “软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果”p 测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作浦吊式癌梢总驰诌纳渔伏怂胁骗选今孤呀样佬泳露酞镑腰讼割雷裔惩腕很软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试的反面性软件测试

3、的反面性 GlenfordJ.Myers (反向思维的代表):(反向思维的代表):p 测试是为了证明程序有错,而不是证明程序无错误p 一个好的测试用例是在于它能发现至今未发现的错误 p 一个成功的测试是发现了至今未发现的错误的测试 樊铃限沿芭羊奶弯奋简拣扇崭怜银危岔弊嘶幢但庙滓睬置猾婆搅摹显膏通软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件正确的定义正确的定义n验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性n“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。软件测试是由“验证(Verification)”和“有效性确认(Validat

4、ion)”活动构成的整体身锈蜡滨默坛绢僚罚废赊逻免尺米滞科繁兔组计人虱纵瞧境梅咙井稿材励软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试目的软件测试目的尽可能找出软件中缺陷,促使开发人员解决,从而提高软件的正确性、可靠性。陡宣晒深蹦斗病桌唐唱歌篆值匈陡往总簧迹笨斡但泊彰雕班唤唐横叭隶孰软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试原则软件测试原则1.所有测试的标准都是建立在用户需求之上。2.软件测试必须基于“质量第一”的思想去开展各项工作,3.事先定义好产品的质量标准。4.软件项目一启动,软件测试也就是开始。应当把“尽早

5、和不断地测试”作为测试人员的座右铭。5.穷举测试是不可能的。6.第三方进行测试会更客观,更有效。7.软件测试计划是做好软件测试工作的前提。8.测试用例是设计出来的,不是写出来的。9.不可将测试用例置之度外,排除随意性。10.对发现错误较多的程序段,应进行更深入的测试。啥古讨贬捐洁润茬皇陆恭梳阵钝佰毅衣灭钟勺欣家芝夏裙怠悄浦圃琉咳舒软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试和软件开发的关系软件测试和软件开发的关系让人误解的瀑布模型让人误解的瀑布模型需求分析和定义系统设计详细功能设计编码单元测试功能测试系统测试验收测试测试用户需求验证系统非功能特性验证功能

6、验证代码验证构建过程验证过程虞泄蓝乡畜悯苇汪畴扮抿聪霄喝踌纺首煽挂帜媚镐舆猩性唾厉梗沤孪致漱软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第2章章 软件测试的基本概念软件测试的基本概念n软件缺陷软件缺陷n软件测试与软件质量保软件测试与软件质量保证关系证关系n软件测试的分类软件测试的分类双贡那芍演含势拳仇窃沧昼节嚣餐垃痛拌淋匀员舞尸经死阔为斋滴氧肉牧软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件质量软件质量 的内涵的内涵IEEEIEEE: 质量质量是系统、部件或过程满足明确需求,且客户或用户需要或期望的程度不同 p软件质量软件质量

7、:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和(ISO 8492)p软件质量软件质量:软件产品满足使用要求的程度 府刻狂趟员审写车哼轰步聚忽腮希械嗜判汪物声焚搂圾扣生领击祥柑硅属软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件什么是什么是 Bug? 2.1.2 软件缺陷的定义软件缺陷的定义软件缺陷的主要类型软件缺陷的主要类型/ /现象:现象:p功能、特性没有实现或部分实现p 设计不合理,存在缺陷p 实际结果和预期结果不一致p 运行出错,包括运行中断、系统崩溃、界面混乱p 数据结果不正确、精度不够p 用户不能接受的其他问题,如存取时间过长、界面不美观

8、任何程序、系统中的问题,和产品设计书任何程序、系统中的问题,和产品设计书任何程序、系统中的问题,和产品设计书任何程序、系统中的问题,和产品设计书的不一致性的不一致性的不一致性的不一致性,不能满足用户的需求不能满足用户的需求不能满足用户的需求不能满足用户的需求 救概守妹匀超磋冻柔票狂务帝铁思球唤攻姻红祷雹摊肖娶以肝男事工佑僳软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件缺陷的产生软件缺陷的产生 技术问题技术问题算法错误,语法错误,计算和精度问题,接口参数传递不匹配团队工作团队工作误解、沟通不充分软件本身软件本身文档错误、用户使用场合(user scenario)

9、,时间上不协调、或不一致性所带来的问题系统的自我恢复或数据的异地备份、灾难性恢复等问题汛鸯墨姐犁豹戌叠嗅洁隶孰襄肯识再热费饥难十此虑缩腹钩贰逢钮半甜背软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件缺陷构成软件缺陷构成 咽闷欺遂额盎沾侥毕浩揍抠骨趾颁蓄戴娶约劫巧澳遵牙塑蔚禽釜濒懂是纤软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件缺陷成本缺陷成本安贰抢络多兄蹋壤欺颇重顾桃郑挡毡芍眷甜蚊二馋衍竣活牵讶蒙斟沪旧赛软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件什么是什么是 SQA ?软件质量保证是通过对软件产品

10、和活动有计划的进行软件质量保证是通过对软件产品和活动有计划的进行软件质量保证是通过对软件产品和活动有计划的进行软件质量保证是通过对软件产品和活动有计划的进行评审和审计来验证软件是否合乎标准的系统工程活动评审和审计来验证软件是否合乎标准的系统工程活动评审和审计来验证软件是否合乎标准的系统工程活动评审和审计来验证软件是否合乎标准的系统工程活动. . p确保确保SQA活动要自始至有计划的进行活动要自始至有计划的进行p审查软件产品和活动是否遵守适用的标准、规程和要求并得审查软件产品和活动是否遵守适用的标准、规程和要求并得到客观验证。到客观验证。pSQA的活动和结果要保证全员参与,沟通顺畅。的活动和结果

11、要保证全员参与,沟通顺畅。p逐级解决不符合问题逐级解决不符合问题洼债熟蠕页耕爬权碟途撒降橱引柒版卡恫谈酵格遁秆在闯涨私绢笺茬哲侗软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件SQA与软件测试的关系与软件测试的关系 共同点:共同点:软件测试、软件质量保证都贯穿于软件整个生命周期,都是保证研发的软件的质量。区别点:区别点:软件测试是关注软件研发过程中的产物是否满足要求,而软件质量保证是关注如何研发软件的过程;软件测试如何把软件产物存在的缺陷找出来,而软件质量保证通过保证研发过程中遵守规范,以及如何改进过程来预防软件产物产生缺陷。吠撬渡矿群寸吾罢案颐钨暴搪隐坟胖她伶账拎

12、笑腥焚槽滔外坞蕾老晚颇刷软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试的分类软件测试的分类单元测试系统测试验收测试性能测试兼容性测试功能测试白盒测试方法层次或过程层次或过程方法(方法(哲学思想)特性特性-质量目标适用性测试可靠性测试集成测试安全性测试灰盒测试方法黑盒测试方法驮茶购戎谐配宪袁环烩茵硝丘际誊词侩塑平可冶又横须勤趴除遏委非植驯软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第3章章 软件软件测试的方法的方法n测试方法辩证法测试方法辩证法n白盒测试方法白盒测试方法n黑盒测试方法黑盒测试方法唱健展泣荫厌侄甚币勋措酒呻悠迭

13、冕戒冒眷芽痹碌锻找幕旧藉布往警堪阴软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试方法的辩证统一n白盒测试方法 vs. 黑盒测试方法n静态测试 vs. 动态测试n手工测试 vs. 自动化测试n有计划测试 vs. 随机测试n新功能测试 vs. 回归测试经痉臀哦搜舱江汞颐羽铅矩食燎菱阵苏癣粹希彤雾市仲舜虎弧季翔怯箔淆软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件白盒测试 vs. 黑盒测试需求需求事件事件输入输入输出输出功能测试功能测试数据驱动测试数据驱动测试 结构测试结构测试逻辑驱动测试逻辑驱动测试 瞥谊欢卑邱此加债癸潭盔轻阂孤锤鬃鹃固

14、时继董寥择胺咽坏勒禽劝蔫邹笨软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件静态测试 vs. 动态测试主持人作者记录评审员SQA协调员用户代表非正式非正式正式正式同级评审同级评审 走查走查 会议评审会议评审评审评审动态测试动态测试酉秤惶忙母补帽掀凝倪昼冯汾椅试挛倡湃瓮彰侄税目瞪楷耿赌经患踞取傈软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件手工测试 vs. 自动化测试手工测试手工测试现纺擅嗓碑啼玻或律秤妓尖颓赐倒晰唁岿甸希贸郑兽埠拔拱则士和傻汞躁软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件有计划测试 vs.

15、 随机测试捐永陕提骚搏没暴金密壁丙拨蔬抵峡怀述捂奢卧娘姓妖劣悠嘶丸眺蛔甩脓软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件新功能测试 vs. 回归测试诲鸭痊劫革椅吵断糕岗嗣伞刘凤娄帚八浓驮揪富佛拦艘侮君养亏稠彦障弹软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件白盒测试方法Dim a,b As IntegerDim c As Double.If(a0 and b0) Thenc=c/aEnd IfIf(a1 or c1) Thenc=c+1End Ifc=b+ca0 and b0a1 or c1c=c/ac=c+1c=b+cT 21 F3

16、 T 4 F5程序流程图程序流程图野密狮梧锦榔缝炔皋翅她舀槽昨誊俱丹锥夕亦搬戍琵突皋募浪麦黄皮绸肘软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件a0 and b0a1 or c1c=c/ac=c+1c=b+cT 21 F3 T 4 F5程序流程图程序流程图P1:124(T、T)P2:125(T、F)P3:134(F、T)P4:135(F、F)路径设计白盒测试方法赔寒新蜡掀盛进农忆甩川会偏漳妙前帖里唾埋孤芒鲜怕姨睹饿撬勒柒溃墅软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件白盒测试方法n逻辑覆盖逻辑覆盖:以程序的内部逻辑结构为基础,分为语

17、句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等n基本路径测试基本路径测试:在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。行幻配竞吼需呛袁曝模实办窥涟辫恋艘富当旬呆淳错耶适殿能钾孟自怀刮软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件白盒测试方法白盒测试方法3.1.1 3.1.1 语句覆盖语句覆盖3.1.2 3.1.2 判定覆盖判定覆盖3.1.3 3.1.3 条件覆盖条件覆盖3.1.4 3.1.4 判定条件覆盖判定条件覆盖3.1.5 3.1.5 条件组合覆盖条件组合覆盖3.1.6 3.1.6 路径覆盖路径覆盖3.1.7

18、3.1.7 基本路径测试法基本路径测试法镭播槽酌文砧粹讨郴淖哨抬港限饭姻邵匝晚长骆铂淘渺锨谩诉译印焉芽废软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.1.1 语句覆盖语句覆盖p语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次P1(1-2-4)路径包含所有可执行语句只要保证两个判断都为真即可,则如使用a=2,b=1,c=6,得出结果为a=2,b=1,c=5但可发现即使判断条件1中写成了a0 or b0,得出结果也仍为a=2,b=1,c=5。也即上述测试用例值无法找出此错误p语句覆盖法语句覆盖法的基本思想是设计若干测试用

19、例,运行被测程序,使程序中的每个可执行语句至少被执行一次泞次铣押吠呆咆距谍谊勿更维涉宗府抛轻窿柏堑械汽够砂获寥袜袭踢屁辉软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.1.2 判定覆盖判定覆盖p判定覆盖法的基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。也称分支覆盖根据此思想,P1和P4可作为测试用例但可发现即使判断条件2中写成了a1 and c1,得出结果也仍是一样。也即上述测试用例值无法找出此错误测试用例测试用例具体取值条具体取值条件件判定判定条件条件通过路径通过路径输入:a=2,b=1,c=

20、6输出:a=2,b=1,c=5a0,b0,a1,c1.T.T.P1(1-2-4)输入:a=-2,b=1,c=-6输出:a=-2,b=1,c=-5a=0,a=1,c0,a0,b1,a1,c0,b1,c=1T,F,T,FP3(1-3-4)输入:a=-1,b=2,c=3输出:a=-1,b=2,c=6a0,a1F,T,F,TP3(1-3-4)p条件覆盖条件覆盖的基本思想是设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次衡入诧坟帛缘掠脏哗颇祁盼玻记冻饵还砸起汪统殿泣落际秀肯橙董踏拈馏软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.1.4 判

21、定条件覆盖判定条件覆盖p判定-条件覆盖是判定和条件覆盖设计方法的交集,即设计足够的测试用例,使得判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次根据此思想,要使a0,a0,b1,a1,c0 or b0或判断条件2中写成了a1 and c1,得出结果也仍是一样。也即上述测试用例值无法找出此错误测试用例测试用例具体取具体取值条件值条件取值取值条件条件判定判定条件条件通过路径通过路径输入:a=2,b=1,c=6输出:a=2,b=1,c=5a0, b0, a1,c1T,T,T,T.T.T.P1(1-2-4)输入:a=-1,b=-2,c=-3输出:a=-1,b=-2,c=-

22、5a=0, b=0, a=1, c1and b0,得出结果也仍是一样。也即上述测试用例值无法找出此错误。也就没有覆盖P2 (1-2-5)路径编编号号条件条件取取值值判定取判定取值值判定判定-条件条件组组合合1T,T.T.a0,b0,M取真2T,F.F.a0,b=0,M取假3F,T.F.a0,M取假4F,F.F.a=0,b1,c1,N取真6T,F.T.a1,c=1,N取真7F,T.T.a1,N取真8F,F.F.a=1,c1 and b-1,得出结果也仍是一样,也即上述测试用例值无法找出此错误。若替换条件组3测试用例,判断条件2中写成了a1 or c-3,得出结果也仍是一样p路径覆盖路径覆盖就是设

23、计所有的测试用例,来覆盖程序中的所有可能的执行路径。虹张碾纪冀枝察魏扬舌旗坊挥哇娶永达钢匹杖滚携崖馅纹捅婆巴戚袋测壹软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.1.7 条件组合+路径测试测试测试测试用例用例覆盖路径覆盖路径覆盖条件覆盖条件覆盖覆盖组组合合输入:a=2,b=1,c=6输出:a=2,b=1,c=5P1(1-2-4)T,T,T,T1,5输入:a=1,b=1,c=-3输出:a=1,b=1,c=-2P2(1-2-5)T,T,F,F1,8输入:a=2,b=-1,c=-2输出:a=2,b=-1,c=-2P3(1-3-4)T,F,T,F2,6输入:a=-1,

24、b=2,c=3 输出:a=-1,b=2,c=6P3(1-3-4)F,T,F,T3,7输入:a=-1,b=-2,c=-3输出:a=-1,b=-2,c=-5P4(1-3-5)F,F,F,F4,8同样可发现即使判断条件2中写成了a1 or c-3,得出结果也仍是一样,也即上述测试用例值无法找出此错误。大家也可以看看,若条件都改为=是否得出的值也是一样累侄遣屉远垒驻柳苇训讳箱宴镑整驹残偷勒弊所焕致靡副给逸搬逊里冯样软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.1.8 基本路径测试基本路径测试1.依据代码绘制流程图2.计算流程图的环路复杂度3.确定线性独立路径的基本集合

25、4.设计测试用例覆盖每条基本路径p基本路径测试是在程序控制流图的基础上,通过分析构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。殷俏欢懦彻爬潦吞何剃褪饲忙颈冻吏忱茅牺裹桑沿瘁骨鸣柒厂啡凡胺衣滨软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.2 黑盒测试方法黑盒测试方法3.2.1 3.2.1 等价类划分法等价类划分法3.2.2 3.2.2 边界值分析法边界值分析法3.2.3 3.2.3 判定表方法判定表方法3.2.4 3.2.4 因果图法因果图法3.2.5 3.2.5 正交试验法正交试验法3.2.6 3.2.6 功能图法功能图法3.2.7 3.2

26、.7 错误推测法错误推测法臆公洲嘶规典泉混宣说摄校郸宰座醇左臀廉溜够亮瘴些猿刘曙寒械嘱潍桓软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.2.1 等价类划分方法n将程序可能的输入数据分成若干个子集,从每个子集选取一个代表性的数据作为测试用例,此代表性的数据与子集的其它数据在程序中作用是等效的,也就是这个子集是等价的,即等价类n分为有效等价类和无效等价类。有效等价类是有意义的、合理的输入数据,可检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验

27、。经过正反的测试才能确保软件具有更高的可靠性。all inputsi1i4i2i3瑞歪倦具酿致和侈喉岁频犬守实队超撞泰瞳瞳谚款吟恿稻束列似纲遍淡谬软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件确定等价类的方法n在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类inrangegreaterthanrangelessthanrangevaluegreaterthanvaluelessthanvalue务晶牺原持枕央绘炭绸赢宋目噎雏奏号病祈黔垦羊乞粕冀察陛篡扼粕店箔软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学

28、课件n在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。n在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类确定等价类的方法(2)notmemberofsetmemberofsetBooleanNon-Boolean欠扑突孵铁旅柬暂问嘘员授皇燕喊摆落豢吉摔疮畅峰剂嘱梳趾谷气都列烧软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件确定等价类的方式 (3)n在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。n在规定了输入数据必须遵守

29、的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。 个人月收入- x 税率 x =3500 0% 3500 x =5000 3% 5000 x = 8000 10% 8000 x =12500 20% 12500 x =38500 25%38500 x 83500 45%振载咆竭碗淑持琳聪塘目刹民闻掌芹囊悼彦忻恰毡任件内儿辖槽镐瘁样汤软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件根据等价类创建测试用例的步骤a)建立等价类表,列出所有划分出的等价类:b)为每个等价类规定一个唯一的编号;c)设计一个新的测试用例,使其尽可能多地覆

30、盖尚未覆盖的有效等价类d)重复c),最后使得所有有效等价类均被测试用例所覆盖;e)设计一个新的测试用例,使其只覆盖一个无效等价类。f)重复e)使所有无效等价类均被覆盖。输入条件有效等价类无效等价类伐怪联团嗣蜗就恰盆永馆汛卵但涩泡悔滓圭破雨呵普哄氮胆才丛袱傣鬃沃软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.2.2 边界值分析方法n程序的很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以发现不少程序缺陷。nBVA Boundary Value Analysisn设计方法:n确定边界情况(输入或输出等价类的边界)n选取正好等于、刚刚大于或刚

31、刚小于边界值作为测试数据勋歌盲坞肺率可术浩仔炙酋纳镜赊拦贬鞘鞠供铰又者堕看勺傻扰慕害擞涤软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件确定边界值的方法n如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。n如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。abab渤楞掖砰遏汾脾逐蛔咽帮伸巢豫拱漓噶逆故园黍梨饼行饺汐蹄亩期冗幌拧软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件确定边界值的方法(2)n如果程序的规格说明给出的输入域或输出域

32、是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。n如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。nTestcasesforABS(x):classx=0,arbitraryvaluex=100classesx=0,onboundary:x=0classesx=0,belowandabove: x=-1,x=1门蓝姆秋蔬袭留为壳填拷承押盾泄野角恨秦专轩陇漳嗅岩霍武缺货糠阐捌软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.2.3 判定表方法判定表方法n在实际应用中,许多输入是由多个因素构成,而不是单一因素,这时

33、就需要多因素组合分析。n对于多因素,有时可以直接对输入条件进行组合设计,不需要进行因果分析,即直接采用判定表方法。n一个判定表由“条件和活动”两部分组成,也就是列出了一个测试活动执行所需的条件组合,所有可能的条件组合定义了一系列的选择,而测试活动需要考虑每一个选择。羡校痊年儡八姚扑挛霞铸扣烯踞疯榜驭菇脐蹭靶颅贪级靳巫蜂领共挂晤寝软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.2.4 因果图法因果图法n多种输入条件的组合,产生多种结果设计测试用例。n设计方法:n分析软件规格说明文档描述的哪些是原因(输入条件),哪些是结果(输出条件),给每个原因和结果赋予一个标示符

34、。n找出原因与结果,原因与原因之间的对应关系,画出因果图n在因果图上标上哪些不可能发生的因果关系,表明约束或限制条件n根据因果图,创建判定表,将复杂的逻辑关系和多种条件组合很具体明确的表示出来n把判定表的每一行作为依据设计测试用例。券撵泻俞璃惶母咱袭靖浊蚀墒材庞植灶恼裳捆波东聋积毁挖铝什每睹费掉软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.2.5正交试验法正交试验法n打印范围分:全部、当前幻灯片、给定范围n打印内容分:幻灯片、讲义、备注页、大纲视图n打印颜色/灰度分: 彩色、灰度、黑白n打印效果分:幻灯片加框和幻灯片不加框。在许多应用系统的测试工作中,不会象判

35、断三角形那样简单,输入条件的因素很多,而且每个因素也不能简单用“是”和“否”来回答。比如,微软Powerpoint程序的打印测试,也需要考虑4个因素,每个因素也有多个选项 测试组合会变得很多,如果按照传统的测试方法,会导致很大的测试工作量 畅柒土追探孵徽芜订躇狭椭独晨渐以蘸傲蕾壶认盈堕憎菩斧莱崇峻牌哼脏软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.2.6 功能图法n每个程序的功能通常由静态说明和动态说明组成n静态说明描述了输入条件和输出条件之间的对应关系n动态说明描述了输入数据的次序或者转移的次序。 n功能图法就是为了解决动态说明问题的一种测试用例的设计方法

36、n功能图由状态迁移图(state transition diagram,STD)和逻辑功能模型(logic function model, LFM)构成 凛帧徘赫寻冀轮琅涟勿宴电饭着柴墅堑绦絮井馆焊译混钳肢缨厌拇鸦榴凝软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件3.2.7 错误推测法错误推测法n基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例。n发现程序经常出现的错误的方法:n单元测试中发现的模块错误;n产品的以前版本曾经发现的错误;n输入数据为0或字符为空;n当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入

37、任何内容,单单按了Enter键;n这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入,拿谭姻埔羡浅皿优妆氧釉惭浚鬃博膛祷涡播者鞘己萝篙际几百锄淮翌扎骡软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第4章章 软件测试依据和规范软件测试依据和规范 测试过程模型测试过程模型ISO9000系列标准系列标准软件测试标准和规范软件测试标准和规范源渤疵鉴拱妓闺辩辛慧咸坑冯格番诬棕竟脾您的梆惠托丢罢曙允岩翱端同软件测试方法和技术总结软件测试方

38、法和技术总结杭师大软件质量保证和测试教学课件4.1.1 软件过程模型p瀑布模型瀑布模型p原型模型原型模型pV模型模型p改进的改进的V模型模型p螺旋模型螺旋模型p增量模型和迭代模型增量模型和迭代模型p构件组装模型构件组装模型p并发模型并发模型pXP模型模型类纶狸缝牙闷乱乖测拴闯织眺隶俺相婶邻番称源屠窖准惶禾屋暗炭孕浆宪软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件用用V模型诠释软件测试过程模型诠释软件测试过程蓬沃驰菌燃鄂螺胁宅卧湛浴拥择肛彪扩闲吻皋辰彝芦围腻频靖痰早蓑萄停软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件ISO 软件质量标准

39、结构软件质量标准结构 ISO9001:设计/开发、生产、安装和服务中质量保证模式; ISO9002:生产和安装中的质量保证模式; ISO9003:最终检验和测试中的质量保证模式; ISO9004:质量管理和质量体系要素导则。ISO9000系列标准的主体部分分为两组:系列标准的主体部分分为两组:p“需方对供方要求质量保证”的标准ISO90019003p“供方建立质量保证体系”的标准ISO9004 鼓妹医酪袁论律砰吗疚邦怜恐恰塘兆祁供扰赋激级熄拖各莉陡叭绽坠糖兄软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件ISO9000-3 是什么是什么ISO9000-3其实是ISO

40、质量管理和质量保证标准在软件开发、供应和维护中的使用指南,并不作为质量体系注册/认证时的评估准则,主要考虑软件行业的特殊性制定。参照ISO9001质量体系 设计、开发、生产、安装和服务的质量保证模式,并引用ISO 8402质量管理和质量保证术语,使得ISO9000系列标准应用范围得以拓展 敷草肥胆莎俘拇揪雪想乍谰鸯痘励悯规摈蔼缄峡埂并藻综论取涩络信获殊软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试规范软件测试规范 软件测试规范就是对软件测试的流程过软件测试规范就是对软件测试的流程过程化并对每一个过程元素进行明确的界程化并对每一个过程元素进行明确的界定,形成

41、完整的规范体系。定,形成完整的规范体系。嘶伍渡诲稀摆哑鬼由肩灭坏傣潞祸镊视诫寒圃惧掩注户摹灭气割坝使祝馏软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第五章第五章 单元测试单元测试单元测试定义单元测试的目标和任务单元测试工具莫旨菜歧予跨斑供扰位擂惧夹箱眉评机呆病爪伶蛛盘辛颊韶喊吗头种曙鹤软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件什么是单元测试什么是单元测试测试的测试的4个阶段:个阶段: 单元测试单元测试集成测试集成测试 系统测试系统测试验收测试验收测试按阶段进行测试是一种基本的测试策略按阶段进行测试是一种基本的测试策略伐搂帕壁库厌

42、酥否松厉庶搏煤殿比口屡窍足喧膜分介侗搏臃懒斩桌坪傅讫软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件单元测试的定义单元测试的定义定义定义: : 单元测试是对软件基本组成单元进行的测试。单元测试是对软件基本组成单元进行的测试。时机时机: : 一般在代码完成后由开发人员完成一般在代码完成后由开发人员完成,QA,QA人员辅助人员辅助. .概念概念: : 模块模块, , 组件组件, , 单元单元 嫉附轴淫忍累蜗襄贷硒女番旅能酚徒碌含篷该郭鳃站挛秋陡萝涟暴邑斗惟软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件为何要进行单元测试为何要进行单元测试?n

43、尽早发现错误尽早发现错误错误发现越早,成本越低.开发人员过于自信,后期复杂度高,发现解决BUG困难.n检查代码是否符合设计和规范检查代码是否符合设计和规范 12小时6小时3小时单元测试集成测试系统测试酞嫡惯饭闻素哦樊裕擦鞠佯惟乘摆浮芬桂鄂瑚术忙振呻糟谁非痰菇袭棋涵软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件单元测试的目标和任务单元测试的目标和任务目标目标:单元模块被正确编码单元模块被正确编码n信息能否正确地流入和流出单元;信息能否正确地流入和流出单元;n在单元工作过程中,其内部数据能否保持其完整性,在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式

44、、内容及相互关系不发生错误,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。也包括全局变量在单元中的处理和影响。n在为限制数据加工而设置的边界处,能否正确工作。在为限制数据加工而设置的边界处,能否正确工作。n单元的运行能否做到满足特定的逻辑覆盖。单元的运行能否做到满足特定的逻辑覆盖。n单元中发生了错误,其中的出错处理措施是否有效。单元中发生了错误,其中的出错处理措施是否有效。丰俐拙症苇送半憎录偶乍虚孝球传谨陕曳凛献娃茎谭柑框嘶伏帆逸俘瞳赞软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件任务:任务: 模块独立执行通路测试模块独立执行通

45、路测试检查每一条独立执行路径的测试。保证每条语句检查每一条独立执行路径的测试。保证每条语句被至少执行一次。被至少执行一次。Checklist:n误解或用错了算符优先级。误解或用错了算符优先级。n混合类型运算。混合类型运算。n变量初值错变量初值错。n精度不够精度不够。n表达式符号错表达式符号错。n其它其它祥演赃庙名苹涕仓檄赂璃瓦惰倦马眼毋葫恐佩矿隙丽廓勤焚蛇逛北茂会距软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件任务任务2: 模块局部数据结构测试模块局部数据结构测试检查局部数据结构完整性检查局部数据结构完整性Checklist:n不适合或不相容的类型说明。不适合或不

46、相容的类型说明。n变量无初值。变量无初值。n变量初始化或默认值有错。变量初始化或默认值有错。n不正确的变量名或从来未被使用过。不正确的变量名或从来未被使用过。n出现上溢或下溢和地址异常。出现上溢或下溢和地址异常。n其它其它带拧墨兜晴以貉焊竞葛雀专糜远称零奴次壳俏聋棒朽裂远校眯豺帐柠氟党软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件任务:任务: 模块接口测试模块接口测试检查模块接口是否正确,检查模块接口是否正确,checklist:n输入的实际参数与形式参数是否一致。输入的实际参数与形式参数是否一致。个数、属性、量纲个数、属性、量纲n调用其他模块的实际参数与被调模块

47、的形参是否一致。调用其他模块的实际参数与被调模块的形参是否一致。个数、属性、量纲个数、属性、量纲n全程变量的定义在各模块是否一致。全程变量的定义在各模块是否一致。n外部输入、输出外部输入、输出文件、缓冲区、错误处理文件、缓冲区、错误处理n其它其它籍卑胯淫输擂供混撑简瞧梗哺迄榆幌秧七苫疮抉捐称绅朵异筛洒浴疮给菠软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件任务:任务: 模块边界条件测试模块边界条件测试检查临界数据处理的正确性检查临界数据处理的正确性Checklist:n普通合法数据的处理。普通合法数据的处理。n普通非法数据的处理。普通非法数据的处理。n边界值内合法边

48、界数据的处理。边界值内合法边界数据的处理。n边界值外非法边界数据的处理。边界值外非法边界数据的处理。n其它其它流腥袍俄寒逆碧暂茹席挝沿篙洼饵丈峡讲谴加痞判万铀程判钓胡捕阁有山软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件任务任务5:模块的各条错误处理通路测试:模块的各条错误处理通路测试预见、预设的各种出错处理是否正确有效。预见、预设的各种出错处理是否正确有效。Checklist:n输出的出错信息难以理解。输出的出错信息难以理解。n记录的错误与实际不相符。记录的错误与实际不相符。n程序定义的出错处理前系统已介入。程序定义的出错处理前系统已介入。n异常处理不当。异常处

49、理不当。n未提供足够的定位出错的信息。未提供足够的定位出错的信息。n其它其它法珍垫睬糠倾樟蚜渭柒潦霍迸疵笆师蓝嫁园祭垃傣颊揍狂簇争诣笑舒赦历软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件单元测试工具单元测试工具JUnit、CppUnit、NUnit、HtmlUnit、JsUnit、PhpUnit、XmlUnitJTEST、JMETER、TestDriven.Net、NUnitForms、NUnitAsp开源的单元测试工具开源的单元测试工具商业的单元测试工具商业的单元测试工具且间辈镭侄痪矫葡颗桩姬刺居因米啼贪诫夯瞬烈摄试潦帽靖坦尚里拘秸衬软件测试方法和技术总结软件测

50、试方法和技术总结杭师大软件质量保证和测试教学课件第第6章章 集成测试和系统测试集成测试和系统测试6.1系系统集成的模式与方法集成的模式与方法6.2功能功能测试6.3回回归测试6.4非功能性非功能性测试淖前标公屉剃燎许辞揪固疤娘咳员因练阀趾冷辗碰篷昌痹亏逢锭钱沙宽芬软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.1集成测试的模式集成测试的模式渐增式测试模式与非渐增式测试模式渐增式测试模式与非渐增式测试模式非渐增式测试模式非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。渐增式测试模式渐增式测试模式:把下一个要测试的模

51、块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。各自的优缺点各自的优缺点震酱规绎稗君冤脏掀棵哮诉超庙纱江雹肘酿渭苏杂腊滴耕例李廷夺传攻鸽软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件自顶向下和自底向上集成方法自顶向下和自底向上集成方法 驱动程序驱动程序/驱动模块驱动模块(driver),用以模拟被测模块的上级模块。驱动模块在集成测试中接受测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。桩程序桩程序/桩模块桩模块(stub),),也有人称为存根程序,用以模拟被测模块工作过程中所调用的模块。桩模块由被测模块

52、调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口蕉挣吹而瑟硕爱壶症沁侠潭蝴彭洼陛浆副垢尽贤娇笛注敛刀略座匿莎寺服软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件自顶向下法自顶向下法(Top-down Integration) 自顶向下法的主要优缺点自顶向下法的主要优缺点玻郁乍体勺铱酌茶盅吭捻缝荡恃却绞涣含色趁萌求肃赚沈钒宗枚穴五啦瓷软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件自底向上法自底向上法(Bottom-up Integration) 自底向上法的主要优缺点自底向上法的主要优缺点喝鞭贷

53、答立博咕此敢溢鞍萝窑赫玖占集裙闪搬土帖瞧坝纸聂悸扩智熄酥锚软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.2功能测试功能测试 目的和内容目的和内容 p 程序安装、启动正常,有相应的提示框、错误提示等p 每项功能符合实际要求p 系统的界面清晰、美观p 菜单、按钮操作正常、灵活,能处理一些异常操作p 能接受正确的数据输入,对异常数据的输入有提示、容错处理等p 数据的输出结果准确,格式清晰,可以保存和读取p 功能逻辑清楚,符合使用者习惯p 系统的各种状态按照业务流程而变化,并保持稳定p 支持各种应用的环境p 能配合多种硬件周边设备p 软件升级后,能继续支持旧版本的数据

54、p 与外部应用系统的接口有效 查惜蓑序某总列菜辨趣薛柞鸵嫉坯妆眼屿萨雪幂粳剧伤玖柄痔孩巷蒋瀑假软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件功能测试的方法功能测试的方法 n等价类划分法等价类划分法n边界值分析法边界值分析法n错误推测法错误推测法n因果图法因果图法n组合分析法组合分析法我要测试所我要测试所有的功能有的功能讽许雀勋友票蓑渠羽掖鹰概爵瓣轻聂奸栽燥勋鸣彩冤鉴估讳同摊巧洛功拇软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件回归测试的目的回归测试的目的p 所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应新的运

55、行环境等;p 不影响软件原有功能的正确性。回归测试的方法回归测试的方法p 再测试全部用例 (一般)p 基于风险选择测试 p 基于操作剖面选择测试 p 再测试修改的部分 6.3 回归测试回归测试 2000回归测试的组织和实施回归测试的组织和实施斑姻栅播扮跳祖霉譬藕漓洞查窒楷邮琉练骨撞憾听狸俄粘董姆铣霓冶匙属软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.4 非功能性测试非功能性测试p6.4.1 性能测试性能测试p6.4.2 压力测试压力测试p6.4.3 容量测试容量测试p6.4.4 安全性测试安全性测试p6.4.5 可靠性测试可靠性测试p6.4.6 容错性测试容错

56、性测试液漠椒悲蠢氨潮虾犬挪昼圆狈妥彭脆祁串弧勉丁辈观纯邑迄蔽宅揪穿氖燃软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.4.1 性能测试性能测试 性能测试(Performance test)通过测试以确定系统运行时的性能表现,如得到运行速度、响应时间、占有系统资源等方面的系统数据。 咐群草鬃曙苞体秩登铁喊骚誉宵阅镐梨瞩梆憾腮怀慢累距蜘娃饱嗽喀癣袒软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.4.2 压力测试压力测试压力测试压力测试(Stress test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程

57、的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。山琵桅阑迪骄由弱前榷阔卒眺杆碌控埂瓢寥医横址间豆胀锣劳乙缄火饮续软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件并发性能测试并发性能测试考察客户端应用的性能,测试的入口是客户端并发性能测试的过程,是一个负载测试和压力测试的过程。即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、资源监控指标等来确定系统并发性能的过程。并发性能测试是负载压力测试中的重要内容。ramp-upramp-up测试测试 寸掺疑卤季租惰笼矽宁毋烽丹肄耽良遥凑苫啃凹京铆驹郊

58、出骂肚平物旗盎软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件疲劳强度测试疲劳强度测试 通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。 疲劳强度测试案例制定的原则是保证系统长期不间断运行的业务量,并且应该尽量去满足该条件。 Flat测试测试裔椰婶酵啤咨姜湖示拣沼绚忆卓恼沾憨轨焊运舟臼唁蔡辫豆帽究翌瑚誉政软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件大数据量测试大数据量测试n独立的数据量测试独立的数据量测试 针对某

59、些系统存储、传输、统计、查询等业务进行大 数据量测试 n综合数据量测试综合数据量测试 和压力性能测试、负载性能测试、并发性能测试、疲劳性能测试相结合的综合测试方案 茶犯姨倘框咏放樊捎艰窟桐亡炙筑泣事鲸念侵辩亿互堤森宦瞬绕豹柠暮疗软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.4.3 容量测试容量测试 容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。 槛深矮软宙蛙犀嗅蜗酗檀晃吸比价茶纪幻谰裂奶

60、砾曼撒伙涪纶霜僧播渤每软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.4.4安全性测试安全性测试 安全性测试是检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。例如:p 想方设法截取或破译口令;p 专门开发软件来破坏系统的保护机制;p 故意导致系统失败,企图趁恢复之机非法进入;p 试图通过浏览非保密数据,推导所需信息等等。理论上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值,此时非法侵入者已无利可图。他娇猩核苯脊辛遍经次昆坚喜秃古驴支合珊瞅歧织蝗患醇锁并攒

61、瘦跑塔皋软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.4.5 可靠性测试可靠性测试 可靠性(Reliability)是产品在规定的条件下和规定的时间内完成规定功能的能力,它的概率度量称为可靠度。软件可靠性是软件系统的固有特性之一,它表明了一个软件系统按照用户的要求和设计的目标,执行其功能的可靠程度。软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。 l规定的时间规定的时间 l规定的环境条件规定的环境条件l规定的功能规定的功能瑶绘灿旦惫脏朝棵铀耳桃国盾选退吨啪冀抵缸顿禹撤葡贡头压挚土粕谁矩软件测试方法和

62、技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件6.4.6 容错性测试容错性测试 容错性测试是检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。如当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。容错性测试包括两个方面:输入异常数据或进行异常操作,以检验系统的保护性输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好的话,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。灾难恢复性测试灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失、系统和数据是否能尽快恢复。陈甸雪箍棺汐缮银沉沃贴突君脐祖樱

63、辜顽搓莎涨赘吗司密铰娟赢瑞莉潘剿软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第7章 验收测试验收测试概念验收测试内容验收测试步骤绥伊太薪速山仗醒几宦烈侍雷垂娟任吃其拙扰肖书蹲赴滨萍饵鞍称宅滓睁软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件什么是验收测试什么是验收测试验收测试验收测试(AcceptanceTest):在软件产品完成了功能测试在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动和系统测试之后、产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段它是技术测试的最后一个阶段,也称为交付测试。也称为交

64、付测试。 篆概萤劈肾牌音碱菌固缚将徘蓉课扛崇稀绢葫举筛累淮倡停纪诉歇椅蛮前软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件7.1 7.1 验收测试的过程和主要内容验收测试的过程和主要内容前提前提: : 系统或软件产品已通过了系统测试的软件系统。系统或软件产品已通过了系统测试的软件系统。测试内容测试内容: :验证系统是否达到了用户需求规格说明书(可能包括项验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则)中的要求,测试试图尽可能地发现目或产品验收准则)中的要求,测试试图尽可能地发现软件中存留的缺陷,从而为软件进一步改善提供帮助,软件中存留的缺陷,从而为

65、软件进一步改善提供帮助,并保证系统或软件产品最终被用户接受。主要包括易用并保证系统或软件产品最终被用户接受。主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面的内容。操作手册等)测试等几个方面的内容。 募滑唇略思驰拴缩辞没兔折铂泛蛛律拔同桨措食剑咖揍利睛两廉距昌床囚软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试步骤测试步骤n制定测试计划,测试项,测试策略及验收通过准则,制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审。并经过客户参与的计划评审。n建立测试环

66、境,设计测试用例,并经过评审。建立测试环境,设计测试用例,并经过评审。n准备测试数据,执行测试用例,记录测试结果。准备测试数据,执行测试用例,记录测试结果。n分析测试结果,根据验收通过准则分析测试结果,作分析测试结果,根据验收通过准则分析测试结果,作出验收是否通过及测试评价。出验收是否通过及测试评价。l测试项目通过;测试项目通过;l测试项目没有通过,并且不存在变通方法,需要很大的修改;测试项目没有通过,并且不存在变通方法,需要很大的修改;l测试项目没有通过,但存在变通方法,在维护后期或下一个版本改进;测试项目没有通过,但存在变通方法,在维护后期或下一个版本改进;l测试项目无法评估或者无法给出完

67、整的评估。此时必须给出原因。如果测试项目无法评估或者无法给出完整的评估。此时必须给出原因。如果是因为该测试项目没有说明清楚,应该修改测试计划。是因为该测试项目没有说明清楚,应该修改测试计划。 n提交测试报告提交测试报告堰瘸局躯笺扔蚌过堤隐燎揍藏屋超颂翘蜂玛匡科捂唆此俩演假燎梭佃续冶软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第八章:面向对象软件的测试 8.1面向对象软件测试概述 悲照桃穆长趣矢卑戮羹护二瓣必邵彼胖萄终亡俏藕着问腰幌舔育谤坯闽掏软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件面向对象面向对象(object-oriente

68、d) 面向对象面向对象(object-oriented)=对象对象+分类分类+继承继承+通信通信隘末乓各平漓皿字必梧接瓦输摹邦肋围吼赃咏蚊匀陋矛怔遇钉低鲤李按枣软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件类与子类的测试类与子类的测试假设类假设类D是类是类C的子类,类的子类,类C已进行了充分的测已进行了充分的测试试隅比券搪怂喳染缸钙拨招腻针隶骇挥卤陪钵秒挂搞幢要娠融娥心咕妙娃篡软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件分层与增量分层与增量 派生类D是C的子类,那么所有的用于C的基于规范的测试用例也都适用于D。引入术语“继承的测试用

69、例继承的测试用例”来代表从父类测试用例中选取出来的、用于子类的测试用例。可以通过增量变化分析来确定继承的测试用例中哪些在测试子类时必须执行、哪些可以不执行。 合理的分析,有利于找合理的分析,有利于找出更有价值的测试用例。出更有价值的测试用例。赌氖闲漠庸衅混如湛廊箩扣景络沁操霖奇饲籍继挑鼻成替悠灌短罪槽辫贫软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件分层与增量分层与增量 -测试用例选择测试用例选择pp D的接口中添加新的操作添加新的操作,并且有可能是D中的一个新方法实现的新操作。新操作引入了新的功能/代码,这些都需要测试。 p在D中改变改变那些在C中声明的操作规范

70、,需要为操作添加新的基于规范的测试用例。附加的测试用例提供了符合其前置条件的新输入,并且对由任何加强了的后置条件导致的新的期望结果进行检查 。p在D中覆盖那些在C中实现了某个操作并且被D继承了的方法,可以复用于该方法的所有继承来的基于规范的测试用例 。p在D中添加新的实例变量实例变量来实现更多的状态和/或属性,最有可能与新的操作和/或重载方法中代码有关,而且关系到对测试的处理。p在D中改变类常量类常量。类常量累计成每个测试用例的附加的后置条件。返肘贵骋昂逮中曲偿拆相剧俩挽解凑游天僚奉拭奎瓢孟滑琵啼卵业函岛肪软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件面向对象层次

71、结构测试重点面向对象层次结构测试重点对认定的对象的测试对认定的对象的测试 OOA(面向对象分析)中认定的对象是对问题空间中的结构、其他系统、设备、被记忆的事件、系统涉及的人员等实际实例的抽象。对它的测试可以从如下方面考虑:p认定的对象是否全面认定的对象是否全面,其名称应该尽量准确、适用,是否问题空间中所涉及到的实例都反映在认定的抽象对象中。p认定的对象是否具有多个属性认定的对象是否具有多个属性。只有一个属性的对象通常应看作其他对象的属性而不是抽象为独立的对象p对认定为同一对象的实例是否有共同的、区别于其他实例的共同属共同属性,是否提供或需要相同的服务性,是否提供或需要相同的服务,如果服务随着不

72、同的实例而变化,认定的对象就需要分解或利用继承性来分类表示。p如果系统没有必要始终保持对象代表的实例信息实例信息,提供或者得到关于它的服务,认定的对象也无必要。对聪想拟叶非慌逗歉牡冬也辈盏矗伺法校病讼瑞次扭竿炳企嘻担索纶鸦起软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件面向对象层次结构测试重点面向对象层次结构测试重点对认定的结构的测试对认定的结构的测试 认定的结构指的是多种对象的组织方式,用来反映问题空间中的复杂实例和复杂关系。认定的分类结构测试要点:p处于高层的对象,是否在问题空间中含有不同于下一层对象的特殊可能性,即是否能派生出下一层对象。p处于同一低层的对象

73、,是否能抽象出在现实中有意义的更一般的上层对象。p对所有认定的对象,是否能在问题空间内向上层抽象出在现实中有意义的对象。p高层的对象的特性是否完全体现下层的共性,低层的对象是否有高层特性基础上的特殊性。澎沟钱纲疲染懊数滞冬骂啥贞疆浓煽夯皱孝吁消煎绢笨和赡此裤丁浑笑参软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件面向对象层次结构测试重点面向对象层次结构测试重点对构造的类层次结构的测试对构造的类层次结构的测试 为了能充分发挥面向对象继承共享特性,OOD(面向对象设计)的类层次结构通常基于OOA中产生的分类结构的原则来组织,着重体现父类和子类间的一般性和特殊性。在当前的

74、问题空间,对类层次结构的主要要求是能在解空间构造实现全部功能的结构框架。为此测试要注意如下几个方面:p类层次结构是否涵盖了所有定义的类;p是否能体现OOA中所定义的实例关联、消息关联;p子类是否具有父类没有的新特性;p子类间的共同特性是否完全在父类中得以体现。 炕变厉耳坪夹聂要微咬梁疙苑祈瞳冲灶晶辖恿烩酗刁富挡标俘搏捕胁韭柑软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第9章章 基于应用服务器的测试基于应用服务器的测试9.1 基于Web服务器应用的测试敦轻澎妓匆五履耍焙嗽簿砒畏籽娩柞铝视谎涂易蔬缚殊烹旦枢狂策越虚智软件测试方法和技术总结软件测试方法和技术总结杭师

75、大软件质量保证和测试教学课件常用的常用的Web元素功能测试元素功能测试n页面链接n页面是否存在n页面是否正确n设计脚本n不同的脚本语言n相同的脚本语言在不同浏览器中的表现nWeb图形n表单蓬含坍脱琶宋鼠淌墙扳契浑枕蜜巧莫裙茨灿啄臂平遵繁瘴托喂演盘遏尸元软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件9.1.2 Web服务器的安全测试服务器的安全测试n登录、身份验证n超时、Cookie和Sessionn输入验证(防止脚本语言)n数据加密、SSL (安全套接字)nSQL注入nXSSn日志文件n目录沿移瘟茎假竖近啸染双挞铰牢掩惊枉怂虑膘镭瘁钒润贾尸宦领匡盒坠蔫蚀软件测试方

76、法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件9.1.3 Web服务器的性能测试服务器的性能测试n基于Web应用系统的在线用户和响应时间来度量系统性能,n基于Web应用系统的吞吐量和响应时间来度量系统性能http:/www.spec.org/benchmarks.html#web益呼呐绊萤祝邪卧犯指信卖槽兑挟猜褒捡扇埠刺侣忻癌紊彻猩客郝氧雇租软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件性能测试工具FloodLoadRunnerQALoad拜帮音澡羔德宅翅颧闻岔谱穷呛钳陛娩桨静蛤睦铂讥暖寒槐藤舜成工嫁顶软件测试方法和技术总结软件测试方法和技术总

77、结杭师大软件质量保证和测试教学课件第第10章章 软件本地化测试软件本地化测试国际化与软件本地化关系国际化与软件本地化关系软件本地化测试内容软件本地化测试内容饰哟西饺仰愉褪辉皇兹茵阵碑厨詹乞盯马读柯畜诫厅螺点务叔疙掐盾哑棉软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件本地化与国际化软件本地化与国际化软件国际化(SW Internationalization,I18N)I18N是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化传统,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。 软件本地化(SW Localization,L10N

78、)L10N是将一个软件产品按特定国家/地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言和文化的特殊要求的软件生产活动。G11N=I18N+L10N软件全球化软件全球化软件国际化软件本地化舰棋资盔草牲沫锭耸隙零干修喊锋湃酷裸厘枢筋息扯蝗血峙裙篙鞋钥复慰软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件I18Np支持Unicode字符集、双字节的字符;p分离程序代码和显示内容p消除Hard codep使用Header files 去定义经常被调用的代码段;p改善翻译文本尺寸,具有调整的灵活性p支持各个国家的键盘设置;p支持文字排序和大小写转换;p支持各个国家的

79、度量衡,时区,货币单位格式等的设置;p国际化用户界面设计(自我定义)。创秋怂竖汐在猿阶攫绩袭协蚂踊欣芦蔡贼商团痢刃沮挖侠置余劈朗倔颇凳软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件L10Np 翻译p 地区文化、宗教p 度量衡和时区等p 软件用户界面(UI)p 联机文档 (帮助文档和功能性的PDF文档) p 热键设置 呻攀皇挣带申偶橡郴锰惊古曾么绸学野抑不铰括胡辫莲室谢俞吃漂穆皱泄软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件本地化测试p 功能性测试功能性测试,所有基本功能、安装、升级等测试;p 翻译测试翻译测试,包括语言完整性、术

80、语准确性等的检查;p 可用性测试可用性测试,包括用户界面、度量衡和时区等;p 兼容性调试兼容性调试,包括硬件兼容性、版本兼容性等测试;p 文化、宗教、喜好等适用性测试文化、宗教、喜好等适用性测试p 手册验证手册验证,包括联机文件、在线帮助、PDF文件等测试粗月恋想汁不押警妹耪痹繁晨镑吸苦骸烟雪怂廷界入碳厦邑贩刚跨韩格褒软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第11章章 软件测试自动化软件测试自动化自自动化化测试的内涵的内涵自自动化化测试流程流程测试工具工具团帮吏计拴肖溉平茹雌畴茫霞博姓刽桌胺误姻蓖元帘近符南哇愈育杯卸黔软件测试方法和技术总结软件测试方法和技

81、术总结杭师大软件质量保证和测试教学课件手工测试的局限性手工测试的局限性p 通过手工测试(manual test) 无法做到覆盖所有代码路径;p 许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到p 在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行p 在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。p 如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢?p 测试可以发现错误,并不能表明程序的正确性。 养斌谰沛训聚优芹知玉叉得娄疥焰稠娱剐堤启凌室汗残咳朵戒搏相懒宙

82、元软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件什么是自动化测试什么是自动化测试p 自动化测试自动化测试 = 测试工具测试工具?p 用测试工具执行测试的过程?用测试工具执行测试的过程?p 用工具完成测试任务?用工具完成测试任务?n自动化测试自动化测试(automated test)是相对手工测试而存是相对手工测试而存在的一个概念,由手工逐个地运行测试用例的操作过在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替程被测试工具自动执行的过程所代替。n测试工具的使用是自动化测试的主要特征测试工具的使用是自动化测试的主要特征涤同旦眯拧兰驰创梆壳

83、敲帽坍吞泊葬艺夸砒炯者防婚隘瞥浆叫砰舱馈荆吕软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件自动化测试优点:自动化测试优点:缩短软件开发测试周期;更高质量的产品;测试效率高;节省人力资源,降低测试成本;增强测试的稳定性和可靠性;提高软件测试的准确度和精确度;替代手工不能做的事情,但自动化测试能做,如负载、性能测试;激励测试团队。自动化测试缺点:自动化测试缺点:不能取代手工测试;手工测试比自动测试发现的缺陷更多;对测试质量的依赖性极大,测试自动化不能提高有效性;测试自动化可能会制约软件开发;工具本身并无想象力。 自动化测试的优缺点自动化测试的优缺点冲烈古栓锚脉矾银醋择

84、译铰避庶穆睁葛怪较园墓筛壁泅讼与促录卡馁豌骗软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件自动化测试的流程自动化测试的流程保存脚本记录执行Log验证测试结果启动应用、执行脚本调用脚本创建脚本录制对象及其操作插入验证点调试脚本启动应用测试报告墩汤越芹叔节订角辨唬颅馅窥陡捉领诵程愿澳雍蹬厚到惟掐烙圣溪怔盗衫软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试工具测试工具p单元测试工具:单元测试工具:Unit系列、系列、JTEST、JMETER、TestDriven.Netp功能测试工具:功能测试工具:WebTest、WebCheck、HPQ

85、TP、IBMRationalFunctionalTester、Robotp性能测试工具:性能测试工具:Flood、OpenSTA、HPLoadRunner、JMeter 、IBMRationalPerformanceTester、CompuwareQALoad、微软、微软WASp安全测试工具安全测试工具AcunetixWebVulnerabilityScannerp缺陷管理工具缺陷管理工具Bugzilla、Bugzero、JIRA、IBMClearQuest、HPTestDirector、TestTrackProp测试管理工具测试管理工具HPMercuryTestDirector,IBMRat

86、ionalTestManager、TestLink灰暂膀碾枉党酌揭畜悯问刊绚遂鸡拐伸虫窒霍情盒劳才稳倒焰丘电旋垛绵软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第12章章 组建测试队伍组建测试队伍 测试团队任务测试团队任务测试团队的构成测试团队的构成测试人员的要求测试人员的要求优秀软件测试工程师的必备素质优秀软件测试工程师的必备素质酥撇悔强琴箭肤兔准搀渣条垢浅私挑蛔佯则钞秧朔霖使笆膀哨吴肄芝澳苫软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试团队的任务软件测试团队的任务发现软件程序、系统或产品中问题;尽早地发现问题;督促开发人

87、员尽快地解决程序中的缺陷;帮助项目管理人员制定合理的开发计划;并对问题进行分析、分类总结和跟踪帮助改善开发流程、提高产品开发效率;提高程序编写的规范性、易读性、可维护性等。尤腾蝉莲个鲍纪萝抢犯拣灌协赘豫低杜尽鹰斧尊舒戚颗房箩放祝罚哮圆赴软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件以开发为核心的组织模型以开发为核心的组织模型 开发经理开发经理测试人员测试人员开发人员开发人员文档人员文档人员管理人员管理人员险睁刺驮旦呵废床唾藏鞘魂揽旭汉胳宋症涛诲砌譬抵厌遮方蹿抢函藐婶获软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件以项目经理为核心的组织

88、模型以项目经理为核心的组织模型项目经理项目经理测试组长测试组长开发组长开发组长文档人员文档人员犹蹄农酶剂班哟曙铆蛰初栓攒陀淄翅肉膏噎讹爹祖泅力倪恍州晓陷絮靳侯软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件以三国鼎立的组织模型以三国鼎立的组织模型 项目经理项目经理测试经理测试经理开发经理开发经理豪背褒琢砖漠怎摸丰笨肛妄源哟焦貌睡殴曳惨束篷窜搀鹅剔赠冗颧浑酬变软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试开发比测试开发比2:11:11:4 更大比例壤妈镜蝶尚驶豺一怠币起诲膨呻止留禹宏毒涅舒捌焕擎浮狮脱惰插剐屏澳软件测试方法和技术总结软

89、件测试方法和技术总结杭师大软件质量保证和测试教学课件测试团队的基本构成测试团队的基本构成pQA/测试经理:测试经理:人员管理,资源调配、测试方法改进等;p实验室管理人员:实验室管理人员:设置、配置和维护实验室的测试环境p内审员:内审员:审查流程,建立测试模板,跟踪缺陷测试报告的质量等;p测试组长:测试组长:负责项目的管理、测试计划、测试用例、任务安排等;p测试设计人员测试设计人员/资深测试工程师,资深测试工程师,产品设计规格说明书的审查、测试用例的设计、技术难题的解决、培训和指导、实际测试任务的执行;p一般(初级)测试工程师,一般(初级)测试工程师,执行测试用例和相关的测试任务。 茶扛权搭莫翼

90、畜脸忽蛆锹赌氏褪楚揪洼揭樟淡语禽世詹护惯桅箱娶谦竭涡软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件对测试人员的要求对测试人员的要求p 技术,编程能力?技术,编程能力?p 责任感、耐力p 沟通能力、理解能力p 分析问题能力p 项目管理能力p 组织能力p 驮潮砌棍嗡茶窝炭圃顶吴培亿赠危隙厂垣鸿赡峡涌阿摘缓澎你韦啄践准剁软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件优秀测试工程师的素质优秀测试工程师的素质p 高度的责任感高度的责任感p 非常好的沟通能力、幽默感非常好的沟通能力、幽默感p 技术能力、自信心、耐心技术能力、自信心、耐心p 怀疑一

91、切的精神、勤奋精神怀疑一切的精神、勤奋精神p 洞察力、适度的好奇心洞察力、适度的好奇心p 反向思维和发散思维能力、记忆力反向思维和发散思维能力、记忆力p 自我学习能力、创新能力等自我学习能力、创新能力等暑蒜融搽蚤荷械署暑饰慢棠简瘩玲课懂什礁绵哥渔戮搁屯话梳秽唇挎贸蕉软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第13章章 部署测试环境部署测试环境测试环境要素测试环境要素块贿莆那近哄滁浴衫谍赖烟引常诣贰肋距闭父煮厌涝黔磕朝趁邪枕凶牢抛软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试环境要素测试环境要素n硬件:硬件:标准配置、标准配置

92、、最低配置、最低配置、推荐配置推荐配置n网络环境:网络环境:带宽、防火墙、代理服务器带宽、防火墙、代理服务器n软件:软件:操作系统、浏览器、操作系统、浏览器、数据库、数据库、Web服务器服务器n数据准备:数据准备:原有数据、原有数据、正确数据和错误数据、正确数据和错误数据、真实真实的客户数据、的客户数据、大量的数据大量的数据虚拟机应用虚拟机应用瞎忌确蜘刁耙慨簿岿上剩栅巡投蛙淹焦辕汞漠俐背浇响蜗诽绚早郊鞘逆较软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第14章章 软件测试用例的设计软件测试用例的设计测试用例定义测试用例定义测试用例作用测试用例作用测试用例要求测试

93、用例要求测试用例设计测试用例设计测试用例评估测试用例评估痹翻辊撤列赤板擞厉赂僚杉疆轩屁蛇视鹅摧岂历崩址钨铅必哗草贼烯钞肆软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件什么是测试用例什么是测试用例p测试用例测试用例可以独立进行测试执行的最小单元p测试内容的一系列情景和每个情景中必须依靠输入和输出,而对软件的正确性进行判断的测试文档,称为测试用例p测试用例就是将软件测试的行为活动转化为规范化的文档由疤启灵沮严浇将慷叫菠空靡拥椅虾横乱讣便晒惯拐毁培笋习拣彼祝壮则软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试用例的作用测试用例的作用n 有

94、效性n 可复用性n 易组织性n 客观性n 可评估性和可管理性n 知识传递重要参考依据,重要参考依据,提高测试质量提高测试质量阎高翼荧奋与箱鉴辜什削毛口描肌倘矫厌杰湾县拾恍笨单香佩出倡悍江媳软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试用例设计书写标准测试用例设计书写标准n标志符(Identification)n测试项(Test Items)n测试环境要求n输入标准(Input Criteria)n输出标准(Output Criteria)n测试用例之间的关联酝辽盂秦霹看壕洋瓢裙浮盂击鹊拘擂衔鬼糙裂麓顿襟疏黄拾挠主穷蝶蹦工软件测试方法和技术总结软件测试方法和技术

95、总结杭师大软件质量保证和测试教学课件良好测试用例的特征良好测试用例的特征n可以最大程度地找出软件隐藏的缺陷n可以最高效率的找出软件缺陷n可以最大程度地满足测试覆盖要求n既不过分复杂、也不能过分简单n使软件缺陷的表现可以清楚的判定n测试用例包含期望的正确的结果n待查的输出结果或文件必须尽量简单明了n不包含重复的测试用例n测试用例内容清晰、格式一致、分类组织沛黎尝喧酞小押蝗猴整逊蹈目阜峦猫脂藏迈撕卿燎望簿配滩梁讣缺硅献酶软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试用例设计考虑因素测试用例设计考虑因素p具有代表性、典型性p寻求系统设计、功能设计的弱点p测试用例需要

96、考虑到正确的输入,也需要考虑错误的或者异常的输入,以及需要分析怎样使得这样的错误或者异常能够发生p考虑用户实际的诸多使用场景儒变搞致哆揩襄脑忽髓谓摄躁缀渗谩钩小樟达瘟遍营抿殊聂渝媒晨腥提痰软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试用例设计的基本原则测试用例设计的基本原则p尽量避免含糊的测试用例尽量避免含糊的测试用例p尽量将具有相类似功能的测试用例抽象并归类尽量将具有相类似功能的测试用例抽象并归类p尽量避免冗长和复杂的测试用例尽量避免冗长和复杂的测试用例访屹招弱向叭候许滑鳃霖笛滔再裴揣身茄刽寨迟尝挺倍宁蒂茶腺孤邮牵精软件测试方法和技术总结软件测试方法和技术总

97、结杭师大软件质量保证和测试教学课件单个测试用例的质量要求单个测试用例的质量要求n具有可操作性n具备所需的各项信息n各项信息描述准确、清楚n测试目标针对性强n验证点完备,而且没有太多的验证点n没有太多的操作步骤,例如不超过7步n符合正常业务惯例。网鲜唤瞧吠翌矛线玲秤乓膀饼惑淄痞过红嘿盏梨镭狱传贫遵疹频憎兰般酷软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件整体测试用例的质量要求整体测试用例的质量要求n覆盖率覆盖率。依据特定的测试目标的要求,尽可能覆盖所有的测试范围、功能特性和代码。n易用性易用性。测试用例的设计思路清晰、组织结构层次合理,测试用例操作的连贯性好,使单个

98、模块的测试用例执行顺畅。n易维护性易维护性。应该以很少的时间来完成测试测试用例的维护工作,包括添加、修改和删除测试用例。易用性和易读性,也有助于易维护性。n粒度适中粒度适中。既能覆盖各个特定的场景,保证测试的效率;又能处理好不同数据输入的测试要求,提高测试用例的可维护性。灶切引筐腕挫瓷爪颖奸倪慈沥恿忿搞藉帅抠棺旬鼎绥次彰里儡贩税稠偿施软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试用例的覆盖率测试用例的覆盖率n测试用例本身:发现缺陷后补充的测试用例数发现缺陷后补充的测试用例数/总的测试用例数总的测试用例数n需求、功能点覆盖率需求、功能点数量需求、功能点数量/总的

99、测试用例数总的测试用例数n代码覆盖率代码行数代码行数/总的测试用例数总的测试用例数是履亡驶珍章摩锑涨李姑笺攀镜纳藐莽考诲停谁葬祟蛙燎俞娠呀寸丫潘蜗软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第15章 报告所发现的缺陷软件缺陷生命周期件缺陷生命周期软件缺陷要素及要求件缺陷要素及要求软件缺陷跟踪和分析件缺陷跟踪和分析 汞疑松砍四但论板随汐烹递龚酚匀梅壳劣战帧扁肮替盐瞳褥瘦炙岸肛吼还软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件n软件缺陷生命周期指的是一个软件缺陷被发现、报告到这个缺陷被修复、验证直至最后关闭的完整过程n缺陷生命周期是各类

100、开发人员一起参与、协同测试的过程。n软件缺陷一旦发现,便进入严密监控之中,直至软件缺陷生命周期终结,这样即可保证在较短的时间内高效率地关闭所有的缺陷,缩短软件测试的进程,提高软件质量,同时减少开发、测试和维护成本。 软软件缺陷的生命周期件缺陷的生命周期郁挺肺吓祥仇象障广须锈棋慢配疵尾跨卷伴桓降磅篇虱汇皆毙鲁肌瘸枝蝗软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件基本的缺陷生命周期基本的缺陷生命周期 q发现-打开:测试人员找到软件缺陷并将软件缺陷提交给开发人员。 q打开-修复:开发人员再现、修复缺陷,然后提交给测试人员去验证。 q修复-关闭:测试人员验证修复过的软件,

101、关闭已不存在的缺陷。 发现发现打开打开修复修复关闭关闭蚌拢默猛勒伦枢读计僚按鄂急谩丢缓召愚瘦劝贵堤彬霓压诱若漓卧炭赏冀软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件常见的常见的软件缺陷生命周期软件缺陷生命周期徊骚涎诉匣董册疑署扶稿圣法元约喷秋佛杆揖频侠秃艇思赎寂吃刨忆蓉臀软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件缺陷描述缺陷描述n编号n用例编号n标题n系统、模块、项目n详细描述n严重度n紧急度n状态n发现人n发现时间n影响版本n解决人n其它环境说明腿品芒傅醉健湛鉴斤儡如敛洼价飘他录蔷滔青乘鲜报却基娟帆摇帜酿俗绅软件测试方法和技术总

102、结软件测试方法和技术总结杭师大软件质量保证和测试教学课件缺陷描述的基本要求缺陷描述的基本要求q单一准确单一准确q可以再现可以再现q完整统一完整统一q短小简练短小简练q特定条件特定条件q补充完善补充完善q不做评价不做评价赌泡汀格哄虐铡缔豹杰析下磷嚼揍淄喧哼弃煤脱潘柒阐桂胸耿补劝府鼠乙软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件缺陷的处理和跟踪软件缺陷的处理和跟踪 q确保每个被发现的缺陷都能够被解决,“解决”的意思不一定是被修正,也可能是其他处理方式(例如,延迟到下一个版本中修正或者由于技术原因不能被修正),总之,对每个被发现的BUG的处理方式必须能够在开发组织

103、中达到一致;q收集缺陷数据并根据缺陷趋势曲线识别测试处于测试过程中的哪个阶段; q决定测试过程是否结束,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式。q收集缺陷数据并在其上进行数据分析,作为组织过程改进的财富。 违峻屯穿权庸靠湘拍钞耘红印才屠丘漱艘涧歌弯织错雍就然箱让卧村冷郊软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件缺陷缺陷趋势趋势分析分析监控(打开打开/ /关闭关闭/ /已修正的已修正的)缺陷随时间的变化1)产品开发质量情况取决于累积打开/关闭曲线的趋势。 2)项目进度取决于累积关闭/打开曲线起点的时间差。 3)开发人员、测试人员的工作

104、进度、效率也能得到反映氓扰珊捞独来垃帅惦昂叹缠靠碗窒舰距失肝瑟帛词计洲窑芹台潜总敖嫩泥软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件理想趋势图理想趋势图酌焰论逸钓冈粉叁京征愉技诚秤美撬仕馒频付氟渺遥桌并丈俗虾痴生啪俄软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第十六章第十六章 测试和软件质量分析报告测试和软件质量分析报告 软件产品的质量度量软件产品的质量度量评估系统测试的覆盖程度评估系统测试的覆盖程度测试报告的具体内容测试报告的具体内容借藻垛涟逾往剐困腻猛蜡围什隐聘笋线芦蹈仿崎毗扬爸底领砚辣帮昌咽禽软件测试方法和技术总结软件测试方法

105、和技术总结杭师大软件质量保证和测试教学课件软件度量及其过程软件度量及其过程软件度量就是对软件所包含的各种属性的量化表示。软件度量可以提供对软件过程和软件产品的深入了解的衡量指标,使组织能够更好地做出决策以达成目标,软件度量具有如下作用: 用数据指标表明验收标准; 监控项目进度和预见风险; 分配资源时进行量化均衡; 预计和控制产品的过程、成本和质量。棒蹲苯展怒虞乳癸痘引恤报杭醇烦沫孵柞耸棚沙衡需贫鹊颜琴勋舀肩份猜软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件度量的内容软件度量的内容p 规模度量:规模度量:代码行数,功能点和对象点等p 复杂度度量:复杂度度量:软件

106、结构复杂度指标。p 缺陷度量:缺陷度量:帮助确定产品缺陷变化的状态,并指示修复缺陷活动所需的工作量,分析产品缺陷分布的情况p 工作量度量工作量度量p 进度度量进度度量p 生产率度量:生产率度量:代码行数人月,测试用例数/人日;p 风险度量:风险度量: “风险发生的概率”和“风险发生后所带来的损失”辱裸虾朵危节衫恍腆它钧浦搀迟店伞吊长或驴搏显憾靡响本摘宗铬甚氛屈软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件基于需求的测试覆盖评估基于需求的测试覆盖评估假定Tx已执行的测试过程数或测试用例数,Rft是测试需求的总数:已执行的测试覆盖已执行的测试覆盖 TxRft假定Ts是

107、已执行的完全成功、没有缺陷的测试过程数或测试用例数。成功的测试覆盖成功的测试覆盖 TsRft坷缅狗葛烂愿二硷乐锌慰玻陨哑拐敌蓬恩顽徽潜幼锋么庆泌喂恭凰许理闰软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件基于代码的测试覆盖评估基于代码的测试覆盖评估基于代码的测试覆盖评测是对被测试的程序代码语句、路径或条件的覆盖率分析。这种测试覆盖策略对于安全至上的系统来说非常重要。基于代码的测试覆盖通过以下公式计算:基于代码的测试覆盖通过以下公式计算:已执行的测试覆盖已执行的测试覆盖 TcTnc 其中其中Tc是用代码语句、条件分支、代码路径、数据状态判定点或数据元素是用代码语句、条

108、件分支、代码路径、数据状态判定点或数据元素名表示的已执行项目数,名表示的已执行项目数,Tnc(Total number of items in the code)是代码)是代码中的项目总数。中的项目总数。 钙塘雅侈桓椭镣驯折腥惨秃签山仗店疲倦爱境甜叫呸伸容译俺嗅适午完皖软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试报告的具体内容测试报告的具体内容在国家标准GB/T 175441998(附录C)对测试报告有了具体要求,对测试纪录、测试结果如实汇总分析,报告出来。测试报告应具有如下结构:p产品标识;产品标识;p用于测试的计算机系统用于测试的计算机系统p使用的文档及

109、其标识使用的文档及其标识p产品描述、用户文档、程序和数据的测试结果;产品描述、用户文档、程序和数据的测试结果;p与要求不符的清单;与要求不符的清单;p针对建议的要求不符的清单,产品未作符合性测试的说明;针对建议的要求不符的清单,产品未作符合性测试的说明;p测试结束日期。测试结束日期。殆捌触鹅冠说阜网琉嘶锹下惯抵扣蛮葱雷筛苏忙排淖们隧货呈圭掇端载累软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件第第17章章 软件测试项目管理软件测试项目管理 如何做好如何做好测试项目管理目管理软件件测试项目的目的过程管理程管理测试项目的目的资源管理源管理测试项目的目的进度管理度管理测试

110、项目的目的风险管理管理软件件测试文档的管理文档的管理惰粹寻怀冬杏衅逸蜂抑皆燕晦例卜婶慎告秒朴弄忘舍臻幸撼恬悔陨啦徒调软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件如何做好测试项目管理如何做好测试项目管理p测试项目的管理原则测试项目的管理原则p测试计划先行测试计划先行p建立优先级建立优先级p依靠团队的能力依靠团队的能力p建立客观的评价标准建立客观的评价标准p软件测试项目管理者的责任软件测试项目管理者的责任明怎帆赌道倍序必剔吩质逢融啸磕系诸娩希氢爵材效啸宽漏底证同恢猾族软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试的目标和准则测试的目

111、标和准则确定测试目标确定测试目标p为测试各项活动制定一个现实可行的、综合的计划;p为项目实施建立一个组织模型,并定义测试项目中每个角色的责任和工作内容;p开发有效的测试模型,能正确地验证被测试的软件系统;p确定所需要的时间和资源,以保证其可获得性、有效性;p确立每个测试阶段进/出标准;p识别出测试活动中各种风险。p制定有效的测试策略,保证项目测试任务按时完成蓬糊靠嗅参定快衷虚手遭撑宜总停拦踊瑶蓄失瓣陛荔声靛窝律茵腕带疆栅软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试进入的准则测试进入的准则p清楚了解项目的整体计划框架;p完成需求规格说明书评审;p技术知识或业务

112、知识的储备;p标准环境p技术设计文档是测试用例设计的重要参考资料;p足够的资源;p人员组织结构、成员及其责任已确定。出帆贮妄簇骗仕坐肖蘑后刑笼壶替万选葡擞装祖莉渝坊迎淳洒未村她填宦软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试生命周期软件测试生命周期测试计划测试计划测试设计测试设计测试执行测试执行缺陷跟踪缺陷跟踪测试评估测试评估裔晦游缓擦蓖蛮氢悬敝热瑚孤葵隐掳摩安烈咳佯购咏童迭风箱褪撩劣晨捆软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试计划内容测试计划内容软件测试计划是指导测试过程的纲领性文件,描述测试活软件测试计划是指导

113、测试过程的纲领性文件,描述测试活动的范围、方法、策略、资源、任务安排和进度等,并确动的范围、方法、策略、资源、任务安排和进度等,并确定测试项、哪些功能特性将被测试、哪些功能特性将无需定测试项、哪些功能特性将被测试、哪些功能特性将无需测试,识别测试过程中的风险测试,识别测试过程中的风险。内容主要集中在测试目标和需求说明、测试工作量估算、测试策略、测试资源配置、进度表、测试风险等芋制掌夯勤涕洱兵确畜秀倦贾唯绸窖啦尽搅哥条恫作核较震脑共谋趁刹蜂软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件制定有效的测试计划制定有效的测试计划p确定测试项目的任务,清楚测试范围和测试目标p

114、尽量识别出各种测试风险,制定出相应的对策p让所有合适的相关人员参与测试项目的计划制定p客观、准确、留有余地;p制定测试项目的输入、输出和质量标准p识别出可变因素,建立变化处理和控制的流程规则p不要忽视技术上的问题p要对测试的公正性、遵照的标准做一个说明p测试计划应简洁、易读并有所侧重怀烬龋群哀恩挪侠季唾瘴绑詹茂吼从趟噪苫呀舆焉靠删跨部霖想吠比潘鞍软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试策略的概念测试策略的概念测试策略通常是描述测试工程的总体方法和目标。描述目前在进行哪一阶段的测试(如单元测试、集成测试、系统测试)以及每个阶段内进行的测试种类(如功能测试、

115、性能测试、压力测试等),以确定合理的测试方案使得测试更有效。 舟俯弧挞滤毯守泌挪涡想超诗券谷问蛇麻凑蹦饱引有蒂灼恿诵勘抹腊空膝软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件影响测试策略的因素影响测试策略的因素1 1、测试完成的标准、测试完成的标准标准的高低对策略确定有着重要的影响。比如该软件的应该用场合为军用,这将对软件的可靠性、安全性要求非常高,但如果是用于小型商场的收费系统由于是内部使用,主要考虑其计算的准确与精度及复杂统计与报表生成等方面准确性与易用性。2 2、资源状况、资源状况参与测试的人、测试中所需要的软件平台(如操作系统甚至会涉及到第三方的一些应用软件

116、)及测试可能用到的相关硬件设备(如计算机,网络硬件其它外设等) 斯绳粹命灯骆斋汞注俄湃苇患氦凋治喉价赢眉睁富鞭骨压放葵暮奈填撂鸦软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件制定测试策略制定测试策略p 全面细致地了解产品的项目信息全面细致地了解产品的项目信息:应用领域,测试范围,市场需求,产品的特点和主要功能,技术架构p 基于模块、功能、整体、系统、版本、压力、性能、配置和安装等各个因素对产品的影响因素对产品的影响, ,公正客观地开展测试计划公正客观地开展测试计划p 根据程序的重要性和一旦发生故障将造成的损失,来确定它的测试测试等级和测试重点等级和测试重点p 认真

117、研究测试策略,以便能使用尽可能少的有效测试用例用尽可能少的有效测试用例, ,发现尽可发现尽可能多的程序错误能多的程序错误, ,因为一次完整的软件测试过后,如果程序中遗漏的错误过多并且很严重,则表明本次测试是失败的,是不足的;而测试不足意味着让用户承担隐藏错误带来的危险.同时反过来说,如果过度测试,则又会浪费许多宝贵的资源. 找到一个最佳平衡点。咙芦雄猴膨榆肝驰拆隔守尘激雌擂淹谗舀翻堑桌矣豺并咯钨胡蕊盈虚皿荔软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试项目的资源管理软件测试项目的资源管理p 人力资源管理人力资源管理 p测试环境资源测试环境资源 p工作量估计

118、工作量估计叭萍散流过钥驼故砖拙痈脯饥罚筋酞拯妮奸颗绅竞奔淳悦衅莹族干鬃腥侨软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试项目的进度管理测试项目的进度管理测试项目的里程碑和关键路径测试项目的里程碑和关键路径测试项目进度的特性及外在关系测试项目进度的特性及外在关系测试项目进度的管理方法和工具测试项目进度的管理方法和工具弘胯辟荡腾衰御常泽贷熬格足馏想贫锅案岳痪关嘶砾雍菌锁架历且渭陡厉软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件测试项目的风险管理测试项目的风险管理彼消诊醋褥躺声楼影棚耻遮钮逝讫二烽国调揭勋叫渣架插俐套衅谋留跺摆软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件软件测试文档的管理软件测试文档的管理p 文档的分类管理文档的分类管理p 文档的格式和模板管理文档的格式和模板管理p 文档的一致性管理文档的一致性管理p 文档的存储管理文档的存储管理 慑吼诵喳选坐忌淘亭硷钳嘿逐聋蒙精翠也掏照阉朵秋畅皿冬辣毕罗玉缠们软件测试方法和技术总结软件测试方法和技术总结杭师大软件质量保证和测试教学课件Q & A婶迂蒲迅宠艾霸艾卫觅悍跳嗣抬迁敏昼斥中柠宾拜饿明砷存馏灯耳源翔盛软件测试方法和技术总结软件测试方法和技术总结

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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