最近,我在做项目的时候,经常被问到一个问题:如何做测试评审会更有效呢?
  只要做过测试用例评审,特别是比较复杂的测试用例评审的时候,很多测试同学都会苦恼于如何能更有效的向大家说出自己的测试设计思路。
  当然,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. oracle --(三)数据段(segment)

    基本关系:数据库---表空间---数据段---分区---数据块 数据段(segment)段(segment)由一系列的extent组成.通常一张表是一个segment. Oracle中的段可以分成4种 ...

  2. MyBatis总结三:使用动态代理实现dao接口

    由于我们上一篇实现MyBatis的增删改查的接口实现类的方法都是通过sqlsession调用方法,参数也都类似,所以我们使用动态代理的方式来完善这一点 MyBatis动态代理生成dao的步骤: 编写数 ...

  3. opencv3.2加载图片

    #include <opencv2/opencv.hpp>#include <iostream> using namespace cv;using namespace std; ...

  4. activeMQ功能Demo

    1. 请阐述ActiveMQ的作用 2. 请描述ActiveMQ的工作原理 1. 解决服务之间耦合 2. 使用消息队列,增加系统并发处理量 3. 使用Java程序编写生产者发送10条“你好,activ ...

  5. Windows 安装 Microsoft Visual Studio 2010

    Windows 安装 VS2010 我的电脑系统:Windows 10 x64位 我要安装的Microsoft Visual Studio 是:VS2010 注意: VS2010 没有专门的64位版. ...

  6. PCL—点云分割(超体聚类) 低层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5013968.html 1.超体聚类——一种来自图像的分割方法 超体(supervoxel)是一种集合,集合的元素是 ...

  7. EZOJ #88

    传送门 分析 自然想到二分 我们二分一个长度,之后考虑如何线性判断是否合法 我们可以维护一个单调队列表示从i开始的长度为d的区间和的最大值 每次用一段区间和减去它包含的长度为d的区间最大值即可 但是我 ...

  8. SDUT 3375 数据结构实验之查找三:树的种类统计

    数据结构实验之查找三:树的种类统计 Time Limit: 400MS Memory Limit: 65536KB Submit Statistic Problem Description 随着卫星成 ...

  9. 友盟让用户数据动起来——给app增加运营

    让用户数据动起来——给app增加运营 一.初识友盟 友盟大家都听说过,在给app集成友盟之前对友盟的认识没有那么深刻.用了友盟之后,才发现友盟很强大. 集成友盟能够获取那些数据呢? 用户的基本信息:比 ...

  10. [译]在Javascript中进行日期相关的操作

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...