【白盒测试】控制流测试

控制流图(control flow graph, CFG): 表示程序执行的流转过程,把所有的流转过程用图的结构来构建。包括顶点和边,顶点(vertex)可以来自于程序代码,语句块,函数,模块等;边用来表示模块等之间的流转,跳转,调用等。

如何将控制结构编程控制流图?

if结构:

包含reture,可通过一个亚节点将所有的终止结点引到一个点

while循环:

通过添加额外节点2使得结构更为清晰

do while循环:

for 循环:

初始判断和累加语句需要拆开表示

break and continue:将跳转指向一个目的地

switch:

例子:计算平均值和方差

实际中,代码行数比较多,所以会应用工具产生控制流图

soot为java程序自动产生控制流图,http://sable.github.io/soot

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行...
    穷人家的孩纸阅读 3,987评论 1 1
  • Swift提供了多种控制流声明。包括while循环来多次执行一个任务;if,guard和switch声明来根据确定...
    BoomLee阅读 6,017评论 0 3
  • 控制流 for循环 for-in for while循环 while repeat-while 条件语句 if s...
    zhenyu54阅读 4,373评论 0 0
  • Swift提供了所有C语言中相似的控制流结构。包括for和while循环;if和switch条件语句;break和...
    透支未来阅读 1,820评论 0 0
  • 这是在寒假期间老师布置的作业,需要我们把作业装饰成一本书。也算是自我比较满意的作品集,纪念一下吧。 ...
    鹿昔阅读 2,481评论 2 5