目前,为方便操作,很多系统都会增加批量导入导出的功能。文件导入导出一般格式都是excel。由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel导入导出功能测试起来都较为繁杂。现将常用设计用例总结如下。

批量导入

  一、模板检查测试

  一般excel导入功能,都会提供模板下载功能。

  1、模板只有一个文件

  模板只有一个文件时,比较简单,检查一下模板和预期是否一致即可。

  2、模板是一个压缩包

  模板是压缩包时,需要检查一下压缩包中文件是否齐全,每一个文件和预期是否一致。

  注意:如果产品制作压缩包或者模板时,使用的是mac,请注意在Windows机器上检查一下文件,是否有多余。【因为解析原因,容易多一个无用的文件】

  3、文件打开格式

  excel打开目前支持excel和wps两种打开方式,需要确认这两种方式打开excel模板显示要一致。

  二、内容校验

  1、必填项检查

  包括必填项不填,必填项部分不填,必填项全部填写几种情况。

  2、选择项

  包括不选择、选择其中一个、新增一个选项、尝试输入其他字符等。

  3、填写内容格式检查

  如要求整数、要求数字、要求字符、选择项、字符长度检查等。

  4、内容为空检查

  包含excel文件有很多行数据,其中某一行全部为空,某几行为空;某一行中间某个字段为空;excel文件只有表头;excel文件无任何数据。

  5、新增一行数据,然后将数据删除【如果开发判断方法有误,会认为删除的这条数据也存在】

  6、excel数据量检查

  excel文件中数据量可以接受最大值是多少。如果数据量较大时,后台处理时,页面如何显示?后台的处理是单线程还是多线程?处理时间较长时,是否会影响系统其他功能?对数据库造成的压力会有多大?这些问题都需要和开发确认,至少开发应该考虑到这种极限情况,进行相应的处理。

三、文件导入

  1、错误提示

  如果excel中某一行或者某一字段格式不对或者数据为空,则需要和策划确认是否提示到具体的字段。最终需要保证提示文案友好。

  2、导入其他格式的文件

  系统应判断出格式不对,根据具体要求提示相应文案,例如文件格式不对等。

  3、重复导入相同的文件

  需确认是否允许导入?如果允许数据将如何处理?比如覆盖或者忽略?

  4、excel用excel和wps两种软件编辑后导入

  如果开发使用的方法不对,会识别不了wps编辑的excel文件,需确认是否支持wps软件的编辑。

  5、不使用下载的模板,自己新建excel导入

  自己手动新建excel或者对其他excel进行修改,使excel格式和模板一致,这种情况下数据填写正确的话,应可以正确的导入系统。

  6、表头检查:包括去掉、修改、新增列、列之间切换等

 批量导出

  一、导出excel格式检查

  1、导出的excel格式是否符合预期

  2、excel中各字段是否正确。

  3、导出的excel文件名是否有要求。如果有要求,是否正确。

  4、不同浏览器导出的excel文件是否一致。

二、数据检查

  1、选择数据为空时是否可以导出。

  2、数据量较少时的导出检查。

  3、excel导出时数据的分页检查。【一般数据量较大时,开发都会分批次去取数据,分页时容易出现问题】

  4、数据量很大时,系统是否会出现问题,导出的时间检查,以及对系统其他功能的影响。

来自:http://www.51testing.com/?1510488

ITgirl范范

excel 导入导出测试点的更多相关文章

  1. 利用反射实现通用的excel导入导出

    如果一个项目中存在多种信息的导入导出,为了简化代码,就需要用反射实现通用的excel导入导出 实例代码如下: 1.创建一个 Book类,并编写set和get方法 package com.bean; p ...

  2. Excel导入导出的业务进化场景及组件化的设计方案(上)

    1:前言 看过我文章的网友们都知道,通常前言都是我用来打酱油扯点闲情的. 自从写了上面一篇文章之后,领导就找我谈话了,怕我有什么想不开. 所以上一篇的(下)篇,目前先不出来了,哪天我异地二次回忆的时候 ...

  3. 关于Excel导入导出的用例设计

    目前,为方便操作,很多系统都会增加批量导入导出的功能.文件导入导出一般格式都是excel.由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel ...

  4. ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码

    实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...

  5. Excel导入导出帮助类

    /// <summary>    /// Excel导入导出帮助类    /// 记得引入 NPOI    /// 下载地址   http://npoi.codeplex.com/rele ...

  6. 一个基于POI的通用excel导入导出工具类的简单实现及使用方法

    前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...

  7. Octopus——excel导入导出工具

    Octopus Octopus是一个简易的Excel导入导出工具.目前主要就两个功能: 导入:将excel中一行数据转换为指定的java对象,并通过指定的正则表达式检查合法性. 导出:按照给定的xml ...

  8. TP5.0 excel 导入导出

    引第三方的phpexcel类库放到 ThinkPHP\Library\Vendor\demo下,自己建的文件夹demo 再将Excel.class放到ThinkPHP\Library\Org\clas ...

  9. Mego(04) - NET简单实现EXCEL导入导出

    前言 相信做过信息系统的朋友都会遇到EXCEL导入导出的相关开发,做过不少EXCEL导入导出后总结起来大致有如下几种方式实现: ADO.NET的OldDb或ODBC连接EXCEL使用DataTable ...

随机推荐

  1. Scrapy-redis分布式+Scrapy-redis实战

    [学习目标] Scrapy-redis分布式的运行流程 Scheduler与Scrapy自带的Scheduler有什么区别 Duplication Filter作用 源码自带三种spider的使用 6 ...

  2. Jmeter分布式测试dubbo接口1

    最近工作中接到一个需求,需要对一个Dubbo接口进行压力测试,测试其性能,之前一直使用jmeter做压力测试,在踏了好多坑之后,决定把这些记录下来,顺便也希望能帮助到大家. 开始测试之前,我们需要先知 ...

  3. 格兰杰因果 Granger causality

    格兰杰因果关系(Granger causality )是基于预测的因果关系统计概念.根据格兰杰因果关系,如果信号X1“格兰杰Causes”(或“G-Causes”)信号X2,则X1的过去值应该包含有助 ...

  4. springboot返回html和jsp

    一.返回html (1)添加maven依赖 <dependency>    <groupId>org.springframework.boot</groupId>  ...

  5. keep-alive 组件级缓存

    前言 在Vue构建的单页面应用(SPA)中,路由模块一般使用vue-router.vue-router不保存被切换组件的状态, 它进行push或者replace时,旧组件会被销毁,而新组件会被新建,走 ...

  6. 从mysql8.0.15升级到8.0.16

    从mysql8.0.15升级到8.0.16 环境简介 操作系统:Centos 6.10 64位 目前版本:8.0.15 MySQL Community Server 二进制 目的:升级为8.0.16 ...

  7. 【leetcode】1213.Intersection of Three Sorted Arrays

    题目如下: Given three integer arrays arr1, arr2 and arr3 sorted in strictly increasing order, return a s ...

  8. css使用1

    一.引入css的三种方式 一.CSS(Cascading Style Sheet):层叠样式表 二.CSS样式由两个组成部分:选择器和声明.声明又包括属性和属性值.每个声明之后用分号结束 语法结构 选 ...

  9. python双划线类型

    通过__开始的属性感觉分为两种类型: 利用dir调用的时候: < build in x object at 0x01F116B0>:这种貌似和运算符重载有关系,用户如果需要的话可以重写该函 ...

  10. matplotlib画图——条形图

    一.单条 import numpy as np import matplotlib.pyplot as plt N = 5 y1 = [20, 10, 30, 25, 15] y2 = [15, 14 ...