乐于分享
好东西不私藏

新书连载11|用AI由代码自动生成流程图--《软件测试从业红宝书:职场跃迁与实战》

新书连载11|用AI由代码自动生成流程图--《软件测试从业红宝书:职场跃迁与实战》

点击蓝字

关注我们

第10章 测试新动力

AI在软件测试工作中的应用

10.3.2 用AI由代码自动生成流程图

在产品的研发过程中,我们经常会遇到时间紧、任务多的情况,此时很多开发人员会先写代码再补设计方案,或者不写设计方案。

这种情况对于软件测试人员是一个很大的挑战,因为如果想要深入理解设计,只能根据代码分析,例如一边看代码一边画出对应的逻辑流程图。而现在,AI 工具可以很轻松地帮我们完成这件事。

下面结合案例,介绍如何让 AI 工具分析代码并生成流程图,助力我们进行代码分析。

第 1 步  准备好让 Kimi 生成流程图的代码

下面是用 Python 写的判断闰年的代码,以它为例进行讲解。

def is_leap_year(year):  # 判断是否为闰年if( year % 4 == 0and year % 100 != 0 )or( year % 400 == 0):return True else :return False  def main ( ):try :  # 输入年份  year = int( input( " 请输入年份:")) if is_leap_year(year):  print( f"{year} 是闰年。") else :  print( f"{year} 不是闰年。"  except ValueError :  print( " 输入错误,请输入一个有效的年份。"if    name  == "  main  " :  main ( )

上面的代码是可以正常运行的(将上面的代码保存为 .py 文件,在命令行执行即可),

图 10-2 展示了代码的运行结果

第 2 步  把代码文件上传给 Kimi

并要求它生成流程图与 Kimi 的对话如下

用户:请读取并分析 leapyear.py 文件中的 Python 代码,用 Mermaid 语法生成对应的流程图。  Kimi :以下是根据您提供的 Python代码使用 Mermaid 语法生成的流程图代码。  丶丶丶mermaid  graph TD  A[开始]--> B[输入年份] B --> C{ 年份是否为整数 }  C - · 是 --> D{ 年份 % 4 == 0 且 年份 % 100 != 0 或 年份 % 400 == 0}  C - · 否 --> E[输出错误信息]  D - · 是 --> F[输出“是闰年”]  D - · 否 --> G[输出“不是闰年”] E --> H[ 结束]  F --> H  G --> H丶丶丶  这个流程图描述了程序的主要逻辑。  (1)开始。  (2)输入年份。  (3)检查年份是否为整数。  ●如果不是整数,输出错误信息并结束运行。  ●如果是整数,继续判断是否为闰年  (4)根据闰年的规则(年份能被 4 整除且不能被 100 整除,或者能被 400 整除),判断年份是否为闰年。  ●如果是闰年,输出“是闰年”。  ●如果不是闰年,输出“不是闰年”。  (5)结束。

复制 Kimi 生成的流程图代码(需把节点名称中的双引号去掉,因为这不符合 Mermaid 语法)到绘图工具中后,得到的判断闰年的流程图如图 10-3 所示。

图 10-3    判断闰年的流程图

当作者第一次用 Kimi 快速生成流程图时,作者感到很震惊。软件测试人员要读懂开发人员写的代码,可不是一件容易的事,更何况还要绘制流程图。现在,Kimi 却不费吹灰之力,几秒间就完成了这两件事。下面,进一步思考与探索 Kimi 生成的结果。

第 3 步  进一步思考与探索

从图 10-2 所示的运行结果看,代码的输出符合预期。但判断闰年的流程图中年份的判断很重要,继续运行代码,输入一些异常年份进行测试,测试结果如图 10-4 所示。

图 10-4    输入异常年份后的测试结果

“-2000 是闰年”这个结果说明代码有明显的 Bug。“+2024”是正整数,代码运行时把前面的“+”省略了,输出“2024 是闰年”,这从表面上看好像没什么问题,但输入“+”是不正确的,应报错。

Kimi 生成的流程图大大降低了我们理解代码的门槛,使进一步思考与探索代码的 Bug 变得更容易。这能助力我们在代码层面进行测试分析,协助快速定位 Bug。

本书作者:肖利琼 陈晓鹏

... ...

点击阅读原文,查看独家连载

如果有小伙伴

想要分享技术、出版图书

欢迎进入公众号后台

发送“出书”联系我们~