最近,我在做项目的时候,经常被问到一个问题:如何做测试评审会更有效呢?
  只要做过测试用例评审,特别是比较复杂的测试用例评审的时候,很多测试同学都会苦恼于如何能更有效的向大家说出自己的测试设计思路。
  当然,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测试用例文件啦~~~~
  如果想要测试用例文件更好看一点儿还可以加上标题行和序列号等等,大家可以自行发挥咯~
 
 
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
 
 

测试用例逐步演进-xmind2excel(Python版)测试用例逐步演进-xmind2excel(Python版)的更多相关文章

  1. appium+python+unittest 测试用例的几种加载执行方式

    利用python进行测试时,测试用例的加载方式有2种: 一种是通过unittest.main()来启动所需测试的测试模块:  一种是添加到testsuite集合中再加载所有的被测试对象,而testsu ...

  2. Python实例---利用正则实现计算器[FTL版]

    import re # 格式化 def format_str(str): str = str.replace('--', '+') str = str.replace('-+', '-') str = ...

  3. 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务

    孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...

  4. 分享《Python 游戏编程快速上手(第3版)》高清中文版PDF+高清英文版PDF+源代码

    通过编写一个个小巧.有趣的游戏来学习Python,通过实例来解释编程的原理的方式.14个游戏程序和示例,介绍了Python基础知识.数据类型.函数.流程控制.程序调试.流程图设计.字符串操作.列表和字 ...

  5. python学习_新闻联播文字版爬虫(V 1.0版)

    python3的爬虫练习,爬取的是新闻联播文字版网站 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' __author__ = 'wyf349' _ ...

  6. 【转载】Stackless Python并发式编程介绍[已校对版]

    Stackless Python并发式编程介绍[已校对版] 作者:    Grant Olson 电子邮件:    olsongt@verizon.net 日期:    2006-07-07 译者:  ...

  7. 《Python学习手册 第五版》 -第2章 Python如何运行程序

    第二章主要讲解了Python的运行机制, 在开始之前,需要明确以下几点 因为<Python学习手册>这本书是面向市场很多人的,既然有很多人,就有很多不一样的需求和使用情况,这本书涵盖Pyt ...

  8. 官网服务质量检测脚本(源码来自《Python自动化运维实战》第二版刘天斯)

    脚本Python版本2.7 #!/usr/bin/python #-*- coding:utf-8 -*- import os,sys import time import sys import py ...

  9. Python 重点知识整理(基于Python学习手册第四版)

    字节型编译 如果Python在系统中有写的权限,当程序运行时Python会把源码编译成字节码(与系统环境无关)存在一个.pyc扩展名文件中,如果没有修改源码而重新运行程序时,不会进行编译的步骤而使用字 ...

  10. Python游戏编程入门 中文pdf扫描版|网盘下载内附地址提取码|

    Python是一种解释型.面向对象.动态数据类型的程序设计语言,在游戏开发领域,Python也得到越来越广泛的应用,并由此受到重视. 本书教授用Python开发精彩游戏所需的[]为重要的该你那.本书不 ...

随机推荐

  1. jquery datatable设置垂直滚动后,表头(th)错位问题

    jquery datatable设置垂直滚动后,表头(th)错位问题 问题描述: 我在datatable里设置:"scrollY": '300px',垂直滚动属性后,表头的宽度就会 ...

  2. day17-jdbc 2.jdbc介绍

    SQL是一种非过程性语言,只能写一条嘛,你写多条不行嘛.每个数据库都有自己的存储过程.你可以做编程,你可以写多条SQL语句把它放到一起.这就是存储过程.然后用的时候一调它就执行这个逻辑结构了.因为多条 ...

  3. Vbs 脚本编程简明教程之一

    —为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...

  4. 290. Word Pattern 单词匹配模式

    [抄题]: Given a pattern and a string str, find if str follows the same pattern. Here follow means a fu ...

  5. linux文件夹下载

    1.压缩文件夹 tar cvzf ./chinese.tar.gz /usr/share/fonts/chinese 2.下载 sz chinese.tar.gz

  6. vue 之 模板字符串

    传统的JavaScript语言,输出模板通常是这样的写的. $('#result').append( 'There are <b>' + basket.count + '</b> ...

  7. PHP 查看扩展信息的命令

    PHP 查看扩展信息的命令 这里以查看 Swoole 扩展信息为例. root@639ca1f15214:~# php --ri swoole // php --ri [扩展名称] swoole sw ...

  8. wrodcount

    PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划  20  20 · Estimate · 估计这个任务需要多少时间 20   20 Development 开 ...

  9. Java分层概念(转)

    Java分层概念(转) 对于分层的概念,似乎之间简单的三层,多了,就有点难以区分了,所以收藏了这个. ervice是业务层 action层即作为控制器 DAO (Data Access Object) ...

  10. EchartJS平均线、最大值、最小值

    1.先来看一个没有平均线.最大值.最小值的简单实例 option = { title: { text: '未来一周气温变化', subtext: '纯属虚构' }, tooltip: { trigge ...