静态测试与动态测试课件.ppt

静态测试与动态测试课件.ppt

ID:57188504

大小:143.00 KB

页数:31页

时间:2020-08-02

静态测试与动态测试课件.ppt_第1页
静态测试与动态测试课件.ppt_第2页
静态测试与动态测试课件.ppt_第3页
静态测试与动态测试课件.ppt_第4页
静态测试与动态测试课件.ppt_第5页
资源描述:

《静态测试与动态测试课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、主要内容1静态测试与动态测试的含义2代码检查3静态结构分析4程序插桩5逻辑覆盖白盒测试可分为静态测试和动态测试。静态测试是一种不通过执行程序而进行测试的技术,其关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。侧重于纠正软件系统在描述、表示和规格上的错误,是任何进一步测试的前提。动态测试需要软件执行,当软件系统在模拟或真实环境中执行之前、之中和之后,对软件系统行为的分析是动态测试的主要特点。它显示一个系统在检查状态下是正确还是不正确。静态测试与动态测试的含义最常见的静态测试是找出源代码的语法错误,可由编译器来完成,因编译器可逐行分

2、析检验程序的语法,找出错误并报告。除此之外,测试人员须采用人工方法来检验程序,有些地方存在非语法方面错误,只能通过人工检测的方法来判断。人工检测的方法主要有代码检查法、静态结构分析法等。3.1静态测试代码检查法主要是通过桌面检查,代码审查和走查方式,对以下内容进行检查:(1)检查代码和设计的一致性;(2)代码的可读性及对软件设计标准的遵循情况;(3)代码逻辑表达的正确性;(4)代码结构的合理性;(5)程序中不安全、不明确和模糊的部分;(6)编程风格方面的问题等。1代码检查法(1)桌面检查(2)代码审查(3)走查代码检查方式代码会审是由一组人通

3、过阅读、讨论和争议对程序进行静态分析的过程。代码审查小组成员:组长:能力较强的程序员待审程序的设计者或程序员测试专家代码审查时应注意问题:提出的建议应针对程序本身,而不应针对程序员。程序员对整个审查过程采取积极和建设性的态度。代码走查(codewalkthrough)走查是以小组为单元进行代码阅读的,同样也是一系列规程和错误检查技术的集合。人员组成一位经验丰富的程序员一位程序设计语言专家一位程序员新手一位其他不同项目的人员一位该软件编程小组的成员必须修改的问题(3)程序没有注释程序=代码+注释注释语句/总代码行数=1/5~1/4子函数max没

4、有返回值类型精度丢失问题建议修改的问题(3)main函数没有返回值类型和参数表(默认为voidmain(void))1行代码只定义1个变量。程序适当加一些空行程序中存在未使用的变量#includemax(floatx,floaty){floatz;z=x>y?x:y;return(z);}main(){floata,b;intc,d;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d",c);}测试人员通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等

5、内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图等各种图形、图表,清晰地标识整个软件的组成结构。通过分析上述图表,包括控制流分析、数据据流分析、接口分析、表达式分析等,使其便于阅读与理解,然后可以通过分析这些图表,检查软件是否存在缺陷或错误。2静态结构分析法静态结构分析法通常采用以下方法进行源程序的静态分析:(1)通过各种图表对源程序进行静态分析常用的各种引用表主要有:①标号交叉引用表②变量交叉引用表③子程序(宏、函数)引用表④等价表⑤常数表①函数调用关系图:列出所有函数,用连线表示调用关系,通过应用程序各函数之间的调用关系展示

6、系统的结构。②模块控制流图:由许多结点和连接结点的边组成的图形,其中每个结点代表一条或多条语句,边表示控制流向,可直观反映出一个函数的内部结构。常用的关系图、控制流图静态错误分析主要用于确定在源程序中是否有某类错误或“危险”结构。①类型和单位分析②引用分析③表达式分析④接口分析(2)错误静态分析在软件动态测试中,程序插桩是一种基本的测试手段,有着广泛的应用。程序插桩方法是借助往被测程序中插入操作,来实现测试目的的方法,即向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查。3.2程序插桩技术想了解一个程序在某次运行中所有可执

7、行语句被覆盖的情况,或是每个语句的实际执行次数,最好的办法是利用插桩技术。以计算整数X和整数Y的最大公约数程序为例,说明插桩方法的要点。图3-1给出了这一程序的流程图。图3-1插桩后求最大公约数程序的流程图设计插桩程序时需要考虑的问题包括:①探测哪些信息;②在程序的什么部位设置探测点;③需要设置多少个探测点;④程序中特定部位插入某些用以判断变量特性的语句。如.NET里的插入断言语句:Debug.Assert(this.textBox3.Text.Length>0,“输入值为空!");inta=Int32.Parse(this.textBox3

8、.Text);逻辑覆盖是白盒测试中动态测试技术主要方法之一,是以程序内部的逻辑结构为基础的测试技术,通过对程序逻辑结构的遍历实现程序的覆盖,要求测试人员对程序的逻辑

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。