《软件测试技术.ppt》由会员分享,可在线阅读,更多相关《软件测试技术.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件测试技术软件测试技术主要内容n n软软件件测试测试基本方法基本方法n n静静态态分析分析n n白盒白盒测试测试n n黑盒黑盒测试测试n n测试测试模式模式n n范范围测试围测试n n说说明明书测试书测试n n风险测试风险测试n n情景情景测试测试n n组组合合测试测试n n探索探索测试测试n n实际练习实际练习什么是静态分析?n n不实际运行程序,通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。n n作用n n通通过对过对代代码标码标准及准及质质量的量的监监控提高代控提高代码码可靠性可靠性n n尽可能早地通尽可能早地通过对过对源代源代码码的的检查发现检查发现缺陷缺陷n n组织组
2、织代代码审码审核定位易核定位易产产生生错误错误的模的模块块n n非常有效的质量保证手段n n越来越多地被采用越来越多地被采用静态分析的主要内容n n检查需求n n检查设计n n检查代码需求设计编码其它缺陷产生的原因缺陷产生的原因缺陷产生的原因缺陷产生的原因检查需求n n需求的需求的标标准准n n完整性完整性n n是否完整描述一个功能是否完整描述一个功能n n正确性正确性n n是否正确反是否正确反应应客客户户要求要求n n可行性可行性n n必要性必要性n nGoldplating?Goldplating?n n无二无二义义性性n n会引起歧会引起歧义吗义吗n n可可验证验证性性n n测试测试用例
3、怎么写?用例怎么写?n n实实施无关性施无关性n n需求需求规规格格说说明的明的标标准准n n完整性完整性n n是否包含所有需求是否包含所有需求n nFURPSFURPSn n一致性一致性n n相互矛盾相互矛盾n n重复重复需求检查练习n n例1产品必须在固定的时间间隔内提供状态信息,并且每次时间间隔不得小于60秒。n n完整完整吗吗?n n清晰清晰吗吗?n n例2分析程序应该能生成HTML标记错误的报告,从而使HTML初学者可以用它来快速排错。n n是否有歧是否有歧义义?n n可可验证吗验证吗?n n例3如果可能的话,应当根据系统货物编号列表,在线确认输入的货物编号。n n“如果可能的如果可
4、能的话话”是什么意思?是什么意思?需求检查练习n n例4产品不应该提供将带来灾难性后果的查找和替换选择。n n真正的需求是什么?真正的需求是什么?n n例5系统对标准XYZ1.4.1的支持是可选的。n n有歧有歧义吗义吗?n n例6当用户选择“紧凑内存”选项时,程序通过Huffman解析矩阵方法将邮件列表数据压缩到相应的大小。n n可可测吗测吗?n n代代码码无关无关吗吗?规格说明用语清单n n绝对绝对的肯定的肯定n n总总是、每一种、所有、没有、从不是、每一种、所有、没有、从不n n注意注意隐隐含的假含的假设设n n当然、因此、当然、因此、显显然、必然然、必然n n模棱两可的模棱两可的词词n
5、 n某些、有某些、有时时、常常、通常、常常、通常、经经常、太多、几乎常、太多、几乎n n不可不可测测的描述的描述n n良好、迅速、廉价、高效、良好、迅速、廉价、高效、稳稳定定n n隐隐藏的需求藏的需求n n已已处处理、已拒理、已拒绝绝、已忽略、已消除、已忽略、已消除n n缺少的分支缺少的分支n n如果如果那么那么(没有(没有“否否则则”分支)分支)检查设计n n在编码开始前进行n n检查功能设计说明,消除歧义n n功能的用意、功能的用意、总总体位置体位置n n输输入、入、输输出出n n可能的可能的错误错误/例外例外n n接口定接口定义义n n交互交互细节细节n n实实施建施建议议检查代码n n
6、通过检查代码发现模块中的错误通过代码检查能够发现大部分的错误通过代码检查能够发现大部分的错误检查代码n n研究分析代码而不用实际执行n n包括可包括可执执行的代行的代码码和非和非执执行的代行的代码码n n提供的信息n n度量度量标标准准n n容易容易产产生生错误错误的代的代码码n n代代码规则码规则的的执执行行n n流流图图和和调调用用图图的分析的分析80%的问题是由于20%的代码引起的!度量元n n复杂度度量n nMcCabeMcCaben nHalsteadHalsteadn n嵌套嵌套级别级别(最大最大/平均平均)n n规格度量n n行数行数n n语语句数句数n n注注释释数数n n声明
7、数声明数n n代码审核内容n n分析容易产生错误的代码:n n控制流分析控制流分析n n非非结结构化的代构化的代码码n n死代死代码码n n数据流分析数据流分析n n未定未定义义的数据的使用的数据的使用n n未使用的数据未使用的数据n n信息流分析信息流分析n n断言分析断言分析代码审核内容n n流图和调用关系图n n作作为为理解代理解代码码的帮助的帮助n n作作为审为审核符合核符合设计设计的帮助的帮助n n作作为测试设计为测试设计的帮助的帮助n n作作为调试为调试的帮助的帮助n n代码规则的执行n n针对针对不同不同语语言的特征言的特征n n格式和形式格式和形式n n命名命名规规范范n n度
8、量度量标标准的准的强强制制静态分析方法n n走查:Walkthroughn n审查:Inspectionn n自动化工具走查(Walkthrough)n n开开发组发组内部内部进进行的行的n n采用采用讲讲解、解、讨论讨论和模和模拟拟运行的方式运行的方式查查找找错误错误的活的活动动n n限限时时-避免跑避免跑题题n n参加人参加人员员n n经验经验丰富的开丰富的开发发人人员员n n和本模和本模块块相关的开相关的开发发人人员员n n本本项项目目组组的新人的新人n n由本模由本模块块的开的开发发者者进进行行讲讲解、回答解、回答问题问题并并记录记录n n不要不要现场现场修改修改n n检查检查要点要点
9、n n逻辑错误逻辑错误n n代代码标码标准准/规规范范/风风格格审查(Inspection)n n开发组、测试组和相关人员(QA、产品经理等)联合进行。n n采用讲解、提问并使用Checklist方式进行的查找错误的活动。n n以会议的形式,制定目标、流程、规则和结果报告。n n相关资料要在会议前下发并阅读。n n参加人员n n经验经验丰富的开丰富的开发发人人员员n n和本模和本模块块相关的开相关的开发发人人员员n n测试组测试组和相关人和相关人员员审查(Inspection)n n由另外一名开发者进行讲解、其他开发者主要按照Checklist进行提问并填表、本模块开发者回答问题并记录n n不
10、要不要现场现场修改修改n n检查要点n n设计设计需求需求n n代代码标码标准准/规规范范/风风格格n n文档的完整性和一致性文档的完整性和一致性自动化工具n n基于编码规则n nLogiscopeLogiscopen nLDRALDRAn nNuMegaNuMega的的CodeReviewCodeReviewn n基于质量度量n nLogiscopeLogiscopen nMcCabeMcCaben nLDRALDRA如何使静态分析更有效?n n必须引入“别人”的眼睛n n根据团队及项目的实际情况,设计合理的实施办法n n有准备地进行n n应该应该有包含所有关注要点的有包含所有关注要点的Ch
11、ecklistChecklistn n把握会议时间n n每次以每次以22小小时为时为限限n n可以可以进进行多次行多次白盒测试n n把测试对象看做一个透明的盒子n n利用程序内部的利用程序内部的逻辑结逻辑结构及有关信息,构及有关信息,设计设计或或选择测选择测试试用例,用例,对对程序所有程序所有逻辑逻辑路径路径进进行行测试测试n n通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致InputOutput白盒测试目标n n尽可能高的覆盖率n n对对程序模程序模块块的所有独立的的所有独立的执执行路径至少行路径至少测试测试一次一次n n对对所有的所有的逻辑逻辑判定,取判定,取“真真”与取与
12、取“假假”的两种情况都至的两种情况都至少少测试测试一次一次n n在循在循环环的的边边界和运行界限内界和运行界限内执执行循行循环环体体n n测试内部数据结构的有效性n n执行效率逻辑覆盖n n以程序内部的逻辑结构为基础的设计测试用例的技术n n主要包含以下几种情况n n语语句覆盖句覆盖n n判定覆盖判定覆盖n n条件覆盖条件覆盖n n路径覆盖路径覆盖逻辑覆盖n n语语句覆盖句覆盖n n设计设计若干个若干个测试测试用例,使得每一可用例,使得每一可执执行行语语句至少句至少执执行一次行一次n n判定覆盖判定覆盖n n设计设计若干个若干个测试测试用例,使得程序中每个判断的取真分支和取用例,使得程序中每个
13、判断的取真分支和取假分支至少假分支至少经历经历一次一次n n判定覆盖又称判定覆盖又称为为分支覆盖分支覆盖n n条件覆盖条件覆盖n n设计设计若干个若干个测试测试用例,使得程序中每个判断的每个条件的可用例,使得程序中每个判断的每个条件的可能取能取值值至少至少执执行一次行一次n n路径覆盖路径覆盖n n设计设计足足够够的的测试测试用例,覆盖程序中所有可能的路径用例,覆盖程序中所有可能的路径黑盒测试n n把测试对象看做一个黑盒子n n不考不考虑虑程序内部的程序内部的逻辑结逻辑结构和内部特性构和内部特性n n只依据程序的需求只依据程序的需求规规格格说说明明书书n n检查检查程序的功能是否符合它的功能程
14、序的功能是否符合它的功能说说明明InputOutput黑盒测试n n在程序接口上进行测试n n主要是为了发现以下错误n n是否有不正确或是否有不正确或遗遗漏了的功能漏了的功能?n n在接口上,在接口上,输输入能否正确地接受入能否正确地接受?能否能否输输出正确的出正确的结结果果?n n是否有数据是否有数据结结构构错误错误或外部信息或外部信息(例如数据文件例如数据文件)访问访问错误错误?n n性能上是否能性能上是否能够满够满足要求足要求?n n是否有初始化或是否有初始化或终终止性止性错误错误?黑盒测试n n在过去的测试中,我们常从开发者的视角出发分析代码和规格说明书。n n规格说明书仅能给我们提供
15、一部分风险类型,我们必须在更广的范围内进行测试。n n不同领域的专家能够看到不同的使系统产生缺陷的机会,并设计出能够引发这些缺陷的测试用例。n n跳出框框进行思考和设计,是黑盒测试的精髓。黑盒测试模式模式与技术n n测试技术是进行测试的方法。n n测试模式指用于指导设计测试的思路,一种测试模式可能会用到一种或多种技术。n n设计任何测试需要包含五个方面的内容:n n测试测试什么?什么?n n试图发现试图发现什么什么问题问题?n n如何判断如何判断测试测试通通过过或失或失败败?n n怎么怎么进进行行测试测试?n n谁谁来来执执行行测试测试?测试模式n n范范围测试围测试n n规规格格说说明明测试
16、测试n n风险测试风险测试n n情景情景测试测试n n探索探索测试测试n n组组合合测试测试n n模式:范围测试n n采用“抽样”的策略,从众多的可能情况中抽取合理的典型用例n n常见办法n n等价等价类类划分划分n n将将输输入划分成若干等价入划分成若干等价组组。n n从每一从每一类类中取一个代表中取一个代表值值作作为为整个整个组组的代表。的代表。n n如果一个如果一个测试发现测试发现的缺陷,也能被另一个的缺陷,也能被另一个测试发现测试发现,则则两两个个测试测试等价。等价。n n边边界界值测试值测试n n边边界界值值是一个等价是一个等价类类向另一个等价向另一个等价类过类过度的点。度的点。n
17、n程序在程序在边边界更容易出界更容易出错错,所以,所以边边界界值值和和边边界附近的界附近的值值是最是最佳的佳的测试测试点。点。范围测试n n优点n n可以通可以通过较过较少的用例少的用例检测检测出最可能出最可能发发生的生的错误错误n n很直很直观观的方法,易于普及的方法,易于普及n n弱点n n漏掉不位于漏掉不位于边边界或典型界或典型值值的的错误错误n n边边界不易确定界不易确定范围测试典型案例n n三角型问题n n输输入:入:a,b,ca,b,c分分别为别为三角形的三个三角形的三个边长值边长值n n输输出:出:该该三角形三角形为为等等边边、等腰、或不等、等腰、或不等边边n n如何设计测试用例
18、?n n选择选择什么什么样样的的输输入入值值模糊边界问题n n理论上说,等价类划分的任务是将输入分类成相互独立并排斥的范围。n n3D动画游戏n n对显对显卡的要求卡的要求n n处处理速度理速度n n画面效果画面效果n n兼容性兼容性n n必必须测试须测试游游戏戏程序可支持的程序可支持的显显卡卡模糊边界问题(续)n n如何从数目众多的显卡中选出典型的测试对象?n n分类的思路n n市市场场占有率占有率n n时间时间范范围围n n品牌、品牌、驱动驱动n n工工业标业标准、芯片准、芯片n n支持的操作系支持的操作系统统划分等价类n n设备兼容性测试显示了多维空间无法明确划分的情况。n n范围测试成
19、功的关键是记住“分区只是一种抽样策略”。它的目标是从大量潜在的测试中,选出最为合理并有价值的几个代表。n n好的抽样策略依赖于我们对具体领域的了解,而不仅仅是说明书。n n如果你知道多种使程序出错的方法,那么对每一种错误,寻找最有可能使错误产生的设备(型号、版本)。划分等价类n n客户的问题:n n“等价等价类类方法方法对对那些要求支持所有那些要求支持所有OEMOEM系系统统、所有声、所有声卡和卡和显显卡、所有操作系卡、所有操作系统统、及所有技、及所有技术术(例如(例如DirectX3DirectX3和和5 5)的人非常有用。)的人非常有用。n n那么那么测试测试人人员员怎怎样样才能保才能保证
20、证他的等价他的等价类类表可以提供很表可以提供很好的覆盖率?好的覆盖率?”n n令人失望但真实的回答:n n“即使分析和即使分析和执执行的行的过过程非常好,我程非常好,我们们也很可能也很可能错过错过一个可能造成缺陷的一个可能造成缺陷的设备设备或或驱动驱动,或它,或它们们的的组组合。合。”模式:规格说明测试n n检查产品满足所有规格、需求文档中的每一条陈述。n n检查用户手册,安装步骤,操作范例。n n优点n n彻彻底分析每个被底分析每个被测测功能功能项项n n避免向客避免向客户传递户传递虚假或虚假或误导误导信息,减少支持成本信息,减少支持成本/客客户户申告申告n n弱点n n未考未考虑虑交互影响
21、交互影响n n任何没有列入任何没有列入规规格格说说明、和明、和处处理不当的理不当的问题问题没有规格说明怎么办?n n所有存在的文档所有存在的文档n n内部版本的内部版本的软软件件变变更更备备忘忘录录n n用用户户手册草稿(或旧版本)手册草稿(或旧版本)n n有关有关产产品的文章品的文章n n公布的公布的样样式指南或式指南或UIUI标标准准n n第三方第三方产产品兼容性品兼容性测试测试系列系列n n公布的公布的规规范范n n内部内部备备忘忘录录(项项目目经经理理给给工程工程师师的功能描述)的功能描述)n n采采访访参与上一个版本开参与上一个版本开发发的人的人员员n n查查看旧版本的客看旧版本的客
22、户电话记录户电话记录,查查看看现场发现现场发现的缺陷的缺陷n n易用性易用性测试结测试结果果n nBetaBeta测试结测试结果果没有规格说明怎么办?n n市市场场演示,演示,产产品概念推品概念推销销n n缺陷缺陷报报告及回复告及回复n n工程工程师对产师对产品的品的审审核会核会n n个人采个人采访访n n开开发负责发负责人人n n技技术术写作人写作人员员n n客客户户服服务务n n领领域域专专家家n n项项目目经经理理n n察看察看headerheader文件,源代文件,源代码码,数据,数据库库表定表定义义n n原型,原型,实验实验室有关原型的室有关原型的记录记录模式:风险测试n n从可能发
23、生的问题(风险)出发,设计测试n n“先找最大的缺陷”n n风险测试实例n n失失败败模式和影响分析模式和影响分析n n从从预报预报的缺陷清的缺陷清单单中抽取中抽取测试测试用例用例n n压压力力测试测试,安全性,安全性测试测试n n测试预测试预期的或担心的期的或担心的错误错误风险测试n n优点n n测试测试作用大作用大n n直直观观的的测试测试n n弱点n n没有没有识别识别或想像到的或想像到的风险风险风险测试n n主要任务n n识别风险识别风险因素(系因素(系统发统发生故障的情形)生故障的情形)n n对对每一种每一种风险风险因素,因素,设计设计有足有足够够能力能力对对付它的付它的测试测试n
24、n评评估估风险测试风险测试的覆盖率,的覆盖率,查查找找测试测试工作的漏洞工作的漏洞n n评评估估测试结测试结果和果和发现发现的缺陷,判断的缺陷,判断这这些些测试测试所所针对针对的的风险风险是什么,考是什么,考虑虑是否有更有效的是否有更有效的测试测试方法。方法。哪里有风险?n n质质量属性量属性n n能力能力n n可靠性可靠性n n易用性易用性n n性能性能n n易安装性易安装性n n兼容性兼容性n n可支持性可支持性n n可可测试测试性性n n可移植性可移植性n n可可维护维护性性n n每一个质量属性都包含一个风险类别,例如:“系统不可靠的风险”哪里有风险n n从公布的缺陷统计和缺陷分类中,寻
25、找你感兴趣的缺陷。n n从清从清单单中找出一个缺陷中找出一个缺陷n n分析你的分析你的软软件是否会出件是否会出现这现这个缺陷个缺陷n n如果从理如果从理论论上分析被上分析被测测系系统统可能存在可能存在这这个缺陷,思考个缺陷,思考如何把它找出来如何把它找出来n n思考思考这这个缺陷存在的可能性有多大,及它的个缺陷存在的可能性有多大,及它的严严重性重性n n针对这类针对这类缺陷缺陷设计设计一个或多个一个或多个测试测试n n公布的缺陷信息往往是过时的,且与你的被测系统相差很大。应逐步积累并建立自己的缺陷模式。哪里有风险?n n需求:不完整、不正确、不清楚n n新东西:新功能可能出错n n新技术:新的
26、概念可能引发新错误n n学习曲线:由于无知或习惯而造成的错误n n修改:变更可能会破坏旧的代码n n仓促的工作:经费和时间不足造成低质量工作n n疲劳的程序员:长时间的持续工作造成低效和错误n n模式:情景测试n n模拟真实使用情景的测试n n情景测试实例n n依照商依照商业规业规范、客范、客户户数据、或数据、或竞竞争争对对手的手的结结果,果,对产对产品品进进行行评评估估测试测试n n生命周期生命周期测试测试n n特点n n很很现实现实(来自真(来自真实实用用户户或或竞竞争争对对手的情形)手的情形)n n测试测试通通过过或失或失败败的判定很明确的判定很明确n n测试测试覆盖多个特征或功能覆盖多
27、个特征或功能n n每个每个测试测试都关系到某些涉众(都关系到某些涉众(stakeholderstakeholder)的利益)的利益情景测试n n优点n n复复杂杂、真、真实实的事件。可以的事件。可以处处理那些不易模理那些不易模拟拟的情形。的情形。n n能暴露随能暴露随时间发时间发展而展而发发生的生的问题问题n n弱点n n单单个功能失个功能失败败可以使可以使测试测试效率降低效率降低n n必必须须仔仔细细考考虑测试虑测试的覆盖率的覆盖率构造情景的方法n n目标驱动:某人想得到X。他怎么能得到X?n n序列驱动:某人(或系统)通常按照某个顺序完成任务X。完成X所要经历的常见顺序是什么?n n交易驱
28、动:我们想完成一桩交易,如开银行帐户或发送信息。完成这个交易的步骤,数据,输出和显示是什么?n n从竞争对手的产品中获取思路:文档,广告,帮助等。所有关于如何最好或最新颖地使用产品的途径。我们的产品如何完成这些事情?构造情景的方法n n竞争对手的输出:嗨!看看他们生成的这些漂亮的文件。或者,瞧他们能够把语法错误的网页显示出来。咱们的产品能吗?n n客户的表格:这儿有几种客户在业务中使用的表格,我们的程序能处理(读、填写、显示、确认)它们吗?n n用例分析中提到的情景n nXP开发过程中的客户故事电视连续剧法n n基于实际生活经验构造情景,即用户/客户的经验。n n夸大其中的每一个方面:n n例
29、如,例如,对对每一个每一个变变量,量,输输入一个极端的入一个极端的值值n n例如,如果一个情景包含一个重复的例如,如果一个情景包含一个重复的环节环节,那就重复,那就重复很多很多次很多很多次n n将将测试测试用例所用例所处处的的环环境境设设置得很糟糕(减少内存,减置得很糟糕(减少内存,减少硬少硬盘盘空空间间,网,网络络故障,打印机分故障,打印机分辩辩率低,率低,视频视频分辨分辨率低,等等)率低,等等)n n不要忘了所有可能不要忘了所有可能发发生生问题问题的情形!的情形!n n将所有元素包含在一个“真实”的故事中。模式:组合测试n n系统化地对测试变量进行合理组合n n为为使某些缺陷使某些缺陷发发
30、生(或重生(或重现现),你必),你必须须有意有意识识地控制地控制两个或多个两个或多个变变量的量的值值。n n将数目众多的将数目众多的组组合减少到合理的程度合减少到合理的程度n n组合测试实例n n组组合多个合多个变变量的量的边边界界值值n n组组合多个合多个测试测试n n“因果因果图图”测试测试n n优点n n可以用很少的可以用很少的测试测试达到很高的达到很高的测试测试覆盖率覆盖率n n弱点n n可信度可信度组合测试实例n n一个汽车保险公司的保险购买系统n n保险的档次分为:n n1 1类类(高(高风险风险)n n2 2类类(中等(中等风险风险)n n3 3类类(低(低风险风险)n n系统根
31、据用户的年龄及驾龄,判断应给予哪一类的保险。组合测试实例n n保险公司政策n n年年龄龄1818,驾龄驾龄不不计计:拒拒绝绝服服务务n n18=18=年年龄龄2222,且,且 驾龄驾龄11:1 1类类n n18=18=年年龄龄2222,且,且1=1=驾龄驾龄:22类类 n n22=22=年年龄龄5555,且,且 驾龄驾龄11:1 1类类n n22=22=年年龄龄5555,且,且1=1=驾龄驾龄33:22类类 n n22=22=年年龄龄5555,且,且3=3=驾龄驾龄:33类类n n55=55=年年龄龄7575,且,且 驾龄驾龄11:1 1类类n n55=55=年年龄龄7575,且,且1=1=驾
32、龄驾龄:22类类 n n75=75=年年龄龄,驾龄驾龄不不计计:拒拒绝绝服服务务组合测试实例n n组合表Test 9Test 8Test 7Test 62219Test 52118Test 410.819Test 310.818Test 2Deny317Test 1期望输出驾龄年龄测试用例模式:探索测试n n测试文档缺少或不足的软件时,测试人员必须在测试的过程中学习产品,及测试用例/策略可能发现的缺陷。n n边学边计划,边测试n n探索测试实例n n对对整个整个产产品品进进行熟行熟练练的探索的探索测试测试n n游游击击式式测试测试(对对某个方面某个方面进进行一段苛刻的行一段苛刻的测试测试)n
33、n紧紧急急测试测试n n第三方构件第三方构件测试测试n n故障排除故障排除/发现发现缺陷后的缺陷后的补补充充测试测试探索测试n n在同一时间段里:n n了解了解产产品品n n了解市了解市场场n n了解了解导导致致产产品失品失败败的途径的途径n n了解了解产产品弱点品弱点n n学学习习如何如何测试产测试产品品n n测试产测试产品品n n报报告告问题问题n n要求修复要求修复n n在在对产对产品已有了解的基品已有了解的基础础上,上,设计设计新新测试测试探索测试n n优点n n关注用关注用户户,关注,关注风险风险n n利用利用测试测试者的能力者的能力n n应变应变能力能力强强n n可以避免重复的分析
34、和可以避免重复的分析和测试测试n n高缺陷高缺陷发现发现率率n n弱点n n知道的越少,知道的越少,错过错过的缺陷越多的缺陷越多n n受受测试测试者弱点的限制(可通者弱点的限制(可通过过好的好的协调协调管理减管理减轻轻n n对对个人能力要求很高,没有个人能力要求很高,没有监监督的初期督的初期测试测试人人员员不能不能很好完成任很好完成任务务需要注意的问题n n适应程度会影响发现问题的可能n n缺乏足够信息会阻碍探索n n昂贵或困难的系统设置可能增加探索的耗费n n探索的反馈环节可能会比较慢n n问题可能会重复出现n n如果没有完善的测试用例和过程,MTBF(MeanTimeBetweenFail
35、ure)可能较低探索的风格n n经验丰富、老练的探索者形成自己特有的风格。n n通过观察这些经验丰富的探索者,可以发现非常不同的风格。配对测试(PairedTesting)n n与XP开发模式中的PairedProgramming类似n n两个测试人员工作结伴完成测试工作n n自愿自愿结结合合n n负责负责某某项测试项测试任任务务的人,征召一个或多个同伴(每次的人,征召一个或多个同伴(每次一人)一人)辅辅助自己的工作助自己的工作n n一个测试人员负责操作,另一人负责提供思路、意见、做记录,询问问题,找参考资料,等。探索测试模式的推荐方法探索测试模式的推荐方法配对测试过程n n从从项项目概要出目
36、概要出发发,选择选择一个需要化一天或更少一个需要化一天或更少时间时间完成完成的任的任务务n n略述将要略述将要进进行的一期行的一期测试测试活活动动n n测试测试什么什么n n用什么工具用什么工具n n使用什么使用什么测试测试方法方法n n可能有哪些可能有哪些风险风险n n关注什么关注什么样样的缺陷的缺陷n n检查检查什么文档什么文档n n期望的期望的结结果是什么果是什么n nn n每期每期测试测试活活动动一般持一般持续续60906090分分钟钟配对测试的好处n n有利于开有利于开发发思路,思路,产产生建生建议议的活的活动动n n启启发发式,开放式,多式,开放式,多维维的的n n迫使迫使测试测试
37、人人员员解解释释的思路,或的思路,或对别对别人的建人的建议议做出反做出反应应n n交流的交流的过过程能程能够够促使更多的想法促使更多的想法产产生生n n鼓励鼓励创创造性思造性思维维n n有助于有助于获获得更多深入的信息得更多深入的信息n n有助于有助于让让一个一个测试测试人人员员集中精力,集中精力,进进行持行持续续的的测试测试。n n非操作的非操作的测试测试人人员员可以:可以:n n收集和收集和记录记录思路和零星的想法思路和零星的想法n n在第二台机器上再在第二台机器上再现现某个事件某个事件n n获获取取执执行行测试测试所需要的所需要的资资源:源:查查手册、工具,打手册、工具,打电话电话,找开
38、,找开发发人人员员,等等。,等等。配对测试的好处n n提供缺陷提供缺陷报报告的告的质质量量n n重重现现的可能更大的可能更大n n所有所有报报告的内容都有第二个人告的内容都有第二个人审阅审阅n n对对每个每个设计问题进设计问题进行合理性行合理性检查检查n n有效的培有效的培训训方式方式n n对对新手极有效的培新手极有效的培训训n n不断从不断从别别人那里学人那里学习习新知新知识识n n对经验对经验丰富的丰富的测试测试人人员员快速掌握新快速掌握新领领域很有帮助域很有帮助n n还还有一些技有一些技术术上的益上的益处处n n可以在两台机器上可以在两台机器上进进行同行同样样的的测试测试n n人工的人工
39、的负载测试负载测试n n易于完成一些需要多角色交互的易于完成一些需要多角色交互的测试测试一些建议n n应允许初级测试人员执行操作和发表看法,而不只是做一些杂物。n n责任应当明确。配对测试组中的一人应对任务的完成付责任。n n有些内向的人可能需要一些独立思考和工作时间,以准备团队的合作。n n有些人有很强的思维主导性,不愿意接受别人的意见。需要接受一定的培训。测试模式小结n n测试模式只是辅助测试人员构思测试的框架,并不局限于列举的这些。n n模式相互可以重叠,例如你可以采用:n n基于基于规规范范说说明的明的组组合合测试测试n n基于基于风险风险的情景的情景测试测试n n探索式的范探索式的范
40、围测试围测试n nn n最重要的是思考的方式,而不是教条。你可以总结自己的模式,并不断提高。黑盒测试技术练习BroadbandGateway互联网互联网服务器服务器ISP Router用户电脑用户电脑被测系统被测系统规格说明及相关信息n n具有具有4 4个个10/100Base-TEthernet10/100Base-TEthernet端口,可与端口,可与PCPC网卡相网卡相连连n nLANLAN侧侧支持支持DHCPDHCP协议协议,可,可给给PCPC分配分配动态动态IPIPn nWANWAN侧侧通通过过一个一个宽带宽带口与口与ISPISP路由器相路由器相连连,最高可支持,最高可支持双方向速率
41、双方向速率1.5Mbps1.5Mbpsn nWANWAN侧侧支持支持NetworkAddressTranslationNetworkAddressTranslation(NATNAT)协议协议n n有一个有一个电电源开关源开关n nRouterRouter启启动动后,自后,自动动与与ISPRouterISPRouter取得取得连连接,接,获获得得WANWAN侧侧IPIP地址、默地址、默认认网关地址、及网关地址、及DNSDNS。n n用用户电脑户电脑可同可同时时通通过该过该RouterRouter访问访问互互联联网,网,进进行上行上传传及及下下载载n n前面板有三个指示灯,分前面板有三个指示灯,
42、分别显别显示示n n电电源开启,源开启,ISPISP连连接,网接,网络络数据活数据活动动(WANWAN侧连侧连接)接)规格说明及相关信息n n需要在一台机器上安装管理需要在一台机器上安装管理软软件,并通件,并通过过EthernetEthernet连连接接在在RouterRouter上上设设置以下参数:置以下参数:n nLANIPLANIP地址范地址范围围,默,默认为认为:192.168.0.1192.168.0.255192.168.0.1192.168.0.255n nRouterRouter的的LANLAN端端IPIP地址,默地址,默认为认为:192.168.0.1192.168.0.1n
43、 n管理管理员员名称和密名称和密码码,默,默认为认为:admin/1234admin/1234n n可以启可以启动动防火防火墙墙功能,功能,进进一步一步进进行行设设置(略)置(略)n n用用户户可通可通过过管理管理软软件件查查看网看网络络使用情况使用情况n nLANLAN侧侧IPIP分配分配n nWANWAN侧侧IPIP及及DNSDNS信息信息n n与与ISPISP连连接的接的实际带宽实际带宽分组练习n n分别按照下面模式设计测试用例n n规规范范说说明模式明模式n n根据前面的根据前面的说说明,及你明,及你对对RouterRouter的了解,分析被的了解,分析被测测系系统统可可能具能具备备的
44、功能的功能n n对对每个功能,每个功能,设计设计可能可能发现发现缺陷的缺陷的测试测试用例用例n n风险风险模式模式n n列出被列出被测测系系统统可能出可能出现现的的问题问题(风险风险)n n对对每种可能的每种可能的问题问题,设计设计相相应应的的测试测试用例用例n n情景模式情景模式n n构想被构想被测测系系统统可能可能经历经历的情景,包括每一种情景中可能出的情景,包括每一种情景中可能出现现的的“意外意外”n n设计设计一一组组情景的情景的测试测试用例用例测试练习分析n n对每个测试用例,分析n n可能可能发现发现的的问题问题n n是否有其它的方法是否有其它的方法发现发现同同样问题样问题?n n哪种更有效哪种更有效n n汇总几种模式所产生出的测试,分析n n各模式的各模式的长长短短处处n n相互相互补补充能力充能力回顾软件测试技术静态测试动态测试代码走查代码审查代码评审黑盒测试白盒测试规范说明测试情景测试探索测试语句覆盖分支覆盖路径覆盖范围测试风险测试EndofModule2.