Python之路python软件测试理论

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

2018-06-07  本文已影响219人  CC先生之简书

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

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

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

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

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

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

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

先看看最后的效果图:


xmind2excel

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

转化步骤

  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测试用例文件啦~~~~

如果想要测试用例文件更好看一点儿还可以加上标题行和序列号等等,大家可以自行发挥咯.

https://gitee.com/ccsensei/xmind2excel

上一篇 下一篇

猜你喜欢

热点阅读