测试用例逐步演进-xmind2excel(Python版)

摘自http://www.51testing.com/html/20/n-3727220.html

最近,我在做项目的时候,经常被问到一个问题:如何做测试评审会更有效呢?

只要做过测试用例评审,特别是比较复杂的测试用例评审的时候,很多测试同学都会苦恼于如何能更有效的向大家说出自己的测试设计思路。

  当然,CC先生的建议是测试用例评审更多的是测试范围的确认,测试方案的讨论和测试思路的对齐。

  如何能更好的体现出测试设计思路?

  推荐大家使用的可视化工具是脑图。脑图PC版里被使用比较多的工具就是xmind。

  可大家很苦恼的问题在于有时候公司会有测试用例存档的要求。也就是有一个从测试设计思路到测试用例Excel保存的需求。

  xmind pro版是有直接从xmind导为excel表格的功能,but,好多同学不屑于买pro版(其实是qiong),那怎么办呢?一句老话,自己动手,丰衣足食咯。

  先看看最后的效果图:

  xmind2excel

其中会用到的python的知识点为:

  xml文件读取 xml etree的用法

  excel表格的写入

  python 参数解析内嵌库 argparse argparse - 命令行选项与参数解析(译)

 转化步骤

  1.xmind中创建所需文件,以freemind的格式导出,导出文件的后缀名为*.mm的文件

  2.*.mm的文件本身是xml展现

  3.通过python把xml文件处理为excel表格形式

  import xml.etree.ElementTree as ET

  import xlwt

  import argparse

  g_row = 0

  def do_write_excel(text, row, col):

  ws.write(row, col, text)

  #通过递归的获取子节点的形式达到获取 xml 等级

  def perf_func(elem, func, level = 0):

  global g_row

  func(elem, g_row, level)

  for child in list(elem):

  name = child.get('TEXT')

  perf_func(child, func, level + 1)

  if child.find('node') is None and name is not None:

  g_row = g_row + 1

  def write_excel(elem, row, level):

  name = elem.get('TEXT')

  if name is not None:

  do_write_excel(name, row, level)

  #python 参数解析内嵌库 argparse,带两个参数

  parser = argparse.ArgumentParser()

  parser.add_argument('-i', '--input-file', type=str, dest='inputfile', required=True)

  parser.add_argument('-o', '--output-file', type=str, dest='outputfile', default='freemind2excel.xls', help='Default outputfile is freemind2excel.xls')

  args = parser.parse_args()

  if args.inputfile is None:

  parser.print_help()

  exit()

  root = ET.parse(args.inputfile)

  map_version = root.getroot()

  first_node = map_version.find('node')

  wb = xlwt.Workbook()

  ws = wb.add_sheet('freemind2excel')

  perf_func(first_node, write_excel)

  wb.save(args.outputfile)

  运行的时候,带上需要输入的文件名和输出的文件名,最后你就可以得到一个想要的excel测试用例文件啦~~~~

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

推荐阅读更多精彩内容