静态测试与动态测试优秀课件.ppt
《静态测试与动态测试优秀课件.ppt》由会员分享,可在线阅读,更多相关《静态测试与动态测试优秀课件.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、静态测试与动态测试第1页,本讲稿共32页主要内容主要内容n1 1静态测试与动态测试的含义静态测试与动态测试的含义n2 2代码检查代码检查n3 3静态结构分析静态结构分析n4 4程序插桩程序插桩n5 5逻辑覆盖逻辑覆盖第2页,本讲稿共32页 白盒测试可分为静态测试和动态测试。白盒测试可分为静态测试和动态测试。静态测试静态测试是一种不通过执行程序而进行测试的技术,其关是一种不通过执行程序而进行测试的技术,其关键功能是检查软件的表示和描述是否一致,没有冲突或者没有键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。侧重于纠正软件系统在描述、表示和规格上的错误,是歧义。侧重于纠正软件系统在描述
2、、表示和规格上的错误,是任何进一步测试的前提。任何进一步测试的前提。动态测试动态测试需要软件执行,当软件系统在模拟或真实环境中需要软件执行,当软件系统在模拟或真实环境中执行之前、之中和之后,对软件系统行为的分析是动态测试的执行之前、之中和之后,对软件系统行为的分析是动态测试的主要特点。它显示一个系统在检查状态下是正确还是不正确。主要特点。它显示一个系统在检查状态下是正确还是不正确。静静态测试与与动态测试的含的含义第3页,本讲稿共32页 最最常常见见的的静静态态测测试试是是找找出出源源代代码码的的语语法法错错误误,可可由由编编译译器器来来完完成成,因因编编译译器器可可逐逐行行分分析析检检验验程程
3、序序的的语语法法,找出错误并报告。找出错误并报告。除除此此之之外外,测测试试人人员员须须采采用用人人工工方方法法来来检检验验程程序序,有有些些地地方方存存在在非非语语法法方方面面错错误误,只只能能通通过过人人工工检检测测的的方方法法来判断。来判断。人人工工检检测测的的方方法法主主要要有有代代码码检检查查法法、静静态态结结构构分分析析法法等。等。3.1 静静态测试第4页,本讲稿共32页n代代码码检检查查法法主主要要是是通通过过桌桌面面检检查查,代代码码审审查查和和走走查查方方式式,对以下内容进行检查:对以下内容进行检查:(1)(1)检查代码和设计的一致性;检查代码和设计的一致性;(2)(2)代码
4、的可读性及对软件设计标准的遵循情况;代码的可读性及对软件设计标准的遵循情况;(3)(3)代码逻辑表达的正确性;代码逻辑表达的正确性;(4)(4)代码结构的合理性;代码结构的合理性;(5)(5)程序中不安全、不明确和模糊的部分;程序中不安全、不明确和模糊的部分;(6)(6)编程风格方面的问题等。编程风格方面的问题等。1 代码检查法代码检查法第5页,本讲稿共32页(1)(1)桌面检查桌面检查(2)(2)代码审查代码审查(3)(3)走查走查n代码检查方式代码检查方式第6页,本讲稿共32页n代码会审是由一组人通过阅读、讨论和争代码会审是由一组人通过阅读、讨论和争议对程序进行静态分析的过程。议对程序进行
5、静态分析的过程。n代码审查小组成员:代码审查小组成员:n组长:能力较强的程序员组长:能力较强的程序员n待审程序的设计者或程序员待审程序的设计者或程序员n测试专家测试专家第7页,本讲稿共32页n代码审查时应注意问题:代码审查时应注意问题:提出的建议应针对程序本身,而不应针对程序员。提出的建议应针对程序本身,而不应针对程序员。程序员对整个审查过程采取积极和建设性的程序员对整个审查过程采取积极和建设性的态度。态度。第8页,本讲稿共32页n代码走查代码走查(code walkthrough)(code walkthrough)走查是以小组为单元进行代码阅读的,同样也是一系走查是以小组为单元进行代码阅读
6、的,同样也是一系列规程和错误检查技术的集合。列规程和错误检查技术的集合。n人员组成人员组成一位经验丰富的程序员一位经验丰富的程序员一位程序设计语言专家一位程序设计语言专家一位程序员新手一位程序员新手一位其他不同项目的人员一位其他不同项目的人员一位该软件编程小组的成员一位该软件编程小组的成员第9页,本讲稿共32页n必须修改的问题必须修改的问题(3)(3)n程序没有注释程序没有注释n程序程序=代码代码+注释注释n注释语句注释语句/总代码行数总代码行数=1/51/4=1/51/4n子函数子函数maxmax没有返回值类型没有返回值类型n精度丢失问题精度丢失问题n建议修改的问题建议修改的问题(3)(3)
7、nmainmain函数没有返回值类型和参数函数没有返回值类型和参数表表(默认为默认为void main void main(void)(void)n1 1行代码只定义行代码只定义1 1个变量。个变量。n程序适当加一些空行程序适当加一些空行n程序中存在未使用的变量程序中存在未使用的变量#includemax(float x,float y)float z;z=xy?x:y;return(z);main()float a,b;int c,d;scanf(%f,%f,&a,&b);c=max(a,b);printf(Max is%dn,c);第10页,本讲稿共32页n测测试试人人员员通通过过使使用用
8、测测试试工工具具分分析析程程序序源源代代码码的的系系统统结结构构、数数据据结结构构、数数据据接接口口、内内部部控控制制逻逻辑辑等等内内部部结结构构,生生成成函函数数调调用用关关系系图图、模模块块控控制制流流图图、内内部部文文件件调调用用关关系系图图等等各各种图形、图表,清晰地标识整个软件的组成结构。种图形、图表,清晰地标识整个软件的组成结构。n通通过过分分析析上上述述图图表表,包包括括控控制制流流分分析析、数数据据据据流流分分析析、接接口口分分析析、表表达达式式分分析析等等,使使其其便便于于阅阅读读与与理理解解,然然后后可以通过分析这些图表,检查软件是否存在缺陷或错误。可以通过分析这些图表,检
9、查软件是否存在缺陷或错误。2 静态结构分析法静态结构分析法第11页,本讲稿共32页 静态结构分析法通常采用以下方法进行源程序的静态分析:静态结构分析法通常采用以下方法进行源程序的静态分析:n (1)(1)通过各种图表对源程序进行静态分析通过各种图表对源程序进行静态分析 常用的各种引用表主要有:常用的各种引用表主要有:标号交叉引用表标号交叉引用表 变量交叉引用表变量交叉引用表 子程序子程序(宏、函数宏、函数)引用表引用表 等价表等价表 常数表常数表第12页,本讲稿共32页 函函数数调调用用关关系系图图:列列出出所所有有函函数数,用用连连线线表表示示调调用用关关系系,通通过过应应用用程程序序各各函
10、函数数之之间间的的调调用用关关系系展展示示系统的结构。系统的结构。模模块块控控制制流流图图:由由许许多多结结点点和和连连接接结结点点的的边边组组成成的的图图形形,其其中中每每个个结结点点代代表表一一条条或或多多条条语语句句,边边表表示示控控制流向,可直观反映出一个函数的内部结构。制流向,可直观反映出一个函数的内部结构。常用的关系图、控制流图常用的关系图、控制流图第13页,本讲稿共32页n静静态态错错误误分分析析主主要要用用于于确确定定在在源源程程序序中中是是否否有有某某类类错错误误或或“危险危险”结构。结构。类型和单位分析类型和单位分析 引用分析引用分析 表达式分析表达式分析 接口分析接口分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 静态 测试 动态 优秀 课件
限制150内