软件测试技术.ppt
《软件测试技术.ppt》由会员分享,可在线阅读,更多相关《软件测试技术.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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从可能发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 技术
限制150内