史上最全excel导入功能测试用例设计(以项目为例)

web系统关于excel的导入导出功能是很常见的,通常为了提高用户的工作效率,在维护系统中的一些数据的时候,批量导入往往比一个一个添加或者修改快很多。针对导入功能的测试,往往会有很多种情况,现在针对平时项目中遇到的一个导入功能进行测试用例的设计。

需求

下图是产品列表,产品编码具有唯一性,每个产品都有成本价、省级价、市级价、特约价、终端价和车主价,这个列表主要是维护当前产品的价格(成本价在此不能修改),修改价钱的时候,变更原因分为两种:首次定价和价格修改。修改价格之后产品的定价状态会变为:待定价审核。

说明:

(1)产品的状态:待审核、已审核、待上线、待上线审核、已上线、待下线审核、已下线;

(2)产品的定价状态:待定价、待定价审核、定过价

定价导入功能的要求:

    1. 导入的Excel文件中必须包含名为“产品编码”的列,且名称必须相同
    1. “产品编码”必须是列表中已存在的产品
    1. 省级价、市级价、特约价、终端价、车主价均可为空,为空表示不对原有价格做改变

image.png

image.png

导入的模板如下:

image.png

测试

(1)用例1

测试情况:产品存在,产品状态为待定价,变更原因为首次定价

预期结果:正确导入,各价钱显示正确,状态变为待定价审核,变更原因为首次定价

(2)用例2

测试情况:产品存在,产品状态为待定价审核,变更原因为价格修改

预期结果:正确导入,价格修改为当前导入的价格,状态为待定价审核

(3)用例3

测试情况:产品存在,产品状态为定过价,变更原因为价格修改

预期结果:正确导入,价格修改为当前导入的价格,状态为待定价审核

(4)用例4

测试情况:产品存在,其他正确填写,变更原因不填

预期结果:错误数据,提示:变更原因必须为首次定价或者价格修改

(5)用例5

测试情况:产品存在,其他正确填写,变更原因填写但不符合要求

预期结果:错误数据,提示:变更原因必须为首次定价或者价格修改

(6)用例6

测试情况:产品存在,其他正确填写,变更原因填写中间有空格

预期结果:错误数据,提示:变更原因必须为首次定价或者价格修改

(7)用例7

测试情况:产品编码在列表中不存在,其他正确填写

预期结果:错误数据,提示:产品编码不存在

(8)用例8

测试情况:产品编码为空,其他正确填写

预期结果:错误数据,提示:产品编码不存在

(9)用例9

测试情况:产品编码存在,正常定价,价钱包含小数

预期结果:正确导入,各个价钱对应显示正确,状态变为待定价审核,变更原因为价格修改

(10)用例10

测试情况:产品编码存在,正常定价,价格小数位比较多

预期结果:正确导入,价钱四舍五入(具体是截取还是四舍五入看需求),各个价钱对应显示正确,状态变为待定价审核

(11)用例11---五条

测试情况:五个价钱分别填写“汉字”,分别测试

预期结果:错误数据,提示:xx价不符合要求

(12)用例12---五条

测试情况:五个价钱分别为空,其他内容填写正确,分别测试

预期结果:正确导入,当前为空的价钱不修改,还是原来的,其他价钱正常修改,状态为待定价审核

(13)用例13

测试情况:价格全部为空,其他正常填写(三个定价状态的产品都需要测试)

预期结果:正确导入,该条产品不做任何修改,状态也不变

(14)用例14

测试情况:产品为定过价,原产品价钱和当前导入的价钱一致

预期结果:正确导入,该条产品不做任何修改,状态也不变

(15)用例15---五条

测试情况:产品为定过价,控制某一个价钱与系统的不一致,其他四个价钱都和系统中一致,分别测试

预期结果:正确导入,不一致的价格修改,其他价钱不修改还是原来的,状态为待定价审核

(16)用例16---六条

测试情况:不同的产品状态,测试一条数据,分别测试

预期结果:待审核状态的提示:错误数据,提示产品为待审核;已下线状态的提示:错误数据,产品已下线;其他状态的正常导入和校验

(17)用例17

测试情况:Excel中间加上空行

预期结果:忽略空行正常导入

(18)用例18---两条

测试情况:删除模板列/增加模板列

预期结果:按照需求校验

(19)用例19

测试情况:excel中重复产品编码(编码系统中已存在)

预期结果:一条成功解析并校验,另外一条报错重复项

(20)用例20

测试情况:excel中重复产品编码(编码系统中不存在)

预期结果:一条成功解析并校验,另外一条报错重复项

(21)用例21

测试情况:价格或者变更原因填写null,分别测试

期望结果:错误数据:提示:xxx不符合要求

(22)用例22

测试情况:模板不匹配,不是从系统中下载的

期望结果:提示:导入模板不匹配,请从系统中下载导入模板!

附录

image.png

image.png

尾声

欢迎各位优秀的小伙伴们补充,但愿这篇文章对你有用!!!加油!!!

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/546020.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

灰度部署、滚动部署与蓝绿部署

前言 最近在进行单元化建设方面的的工作,其中涉及服务分组和蓝绿发布相关的概念,在这里总结一下了解到的相关知识。 版本更新策略 功能开关 在应用逻辑里内置功能开关,通过开关的打开关闭来决定执行新旧逻辑,无需路由机制支持…

使用DockerCompose配置基于哨兵模式的redis主从架构集群

文章目录 一、注意事项(坑点!!!)二、配置Redis主从架构集群第一步:创建目录文件结构第二步:编写DockerCompose配置文件第三步:编写redis.conf第四步:启动redis主从集群 三…

如何在树莓派安装Nginx并实现固定公网域名访问本地静态站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Ngi…

古月·ROS2入门21讲——学习笔记(一)核心概念部分1-14讲

讲解视频地址:1.ROS和ROS2是什么_哔哩哔哩_bilibili 笔记分为上篇核心概念部分和下篇常用工具部分 下篇:古月ROS2入门21讲——学习笔记(二)常用工具部分15-21讲-CSDN博客 目录 第一讲:ROS/ROS2是什么 1. ROS的诞生…

Redis入门到通关之Set实现点赞功能

文章目录 set 数据类型介绍不排序实现排序实现 set 数据类型介绍 Redis中的set类型是一组无序的字符串值。 set通过其独特的数据结构和丰富的命令提供了在存储和处理集合元素方面的一些非常有用的功能。下面列出了主要的set类型命令: SADD key member1 [member2]&a…

Python框架之UnitTest

unittest 是python 的单元测试框架,unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import unittest 就可以使用,测试人员用UnitTest来做自动化测试&a…

基于SpringBoot + Vue实现的校车调度管理系统设计与实现+毕业论文(12000字)+答辩PPT​(包运行成功)

介绍 本系统包含管理员、驾驶员两个个角色。 管理员角色:驾驶员信息管理、车辆信息管理、借调车辆管理、工作管理、车辆运营管理、报销申请审核。 驾驶员角色:个人信息查看、工作查看、借调车辆申请、车辆使用申请、报销申请提交。 运行环境 jdk1.8 id…

前端开发攻略---在输入框中输入中文但是还没选中的时候,搜索事件依然存在;中文输入法导致的高频事件。

1、演示 解决前 解决后 2、输入框事件介绍 compositionstart事件在用户开始使用输入法输入时触发。这意味着用户正在进行组合输入,比如在中文输入法中,用户可能正在输入一个多个字符的词语。在这个阶段,输入框的内容可能还没有完全确定&#…

消费增值新模式:让每一分钱都更有价值

亲爱的消费者们,大家好!今天我想和大家探讨一种新颖的消费方式——消费增值,它让您的每一次消费都蕴含了额外的价值,让消费变得更加有意义。 在过往的消费观念里,我们往往只是简单地将钱花出去,购买所需的商…

医院一站式后勤管理系统 processApkUpload.upload 任意文件上传漏洞复现

0x01 产品简介 医院一站式后勤管理系统由南京博纳睿通软件科技有限公司开发的一款基于现代医院后勤管理理念的业务系统,产品结合后勤业务管理特点,通过管理平台将后勤管理业务予以系统化、规范化和流程化,从而形成一套构建于平台之上且成熟完善的后勤管理体系,并可在此体系…

mysql的下载、安装

首先进入官网:MySQL 点击“downloads”进入下载界面 2.往下滑动滚轮,点击“mysql community...(公开版)” 3.往下滑,找到并单击“install for Windows” 4.选择版本:初学者可以使用较低版本,较…

SpringCloud框架 服务拆分和远程调用

数据库隔离避免耦合度过高,不同模块将自己的业务暴露为接口,供其他微服务调用 微服务远程调用技术Rest 在后端实现发送http请求 1.在启动类/配置类里注册RestTemplate启动对象 2.注入Bean对象使用

电商技术揭秘十四:大数据平台的选择与构建

相关系列文章 电商技术揭秘一:电商架构设计与核心技术 电商技术揭秘二:电商平台推荐系统的实现与优化 电商技术揭秘三:电商平台的支付与结算系统 电商技术揭秘四:电商平台的物流管理系统 电商技术揭秘五:电商平台…

一款牛逼的开源建站系统,轻松搭建专属博客网站(文末有福利)

今天给大家介绍一款牛逼的开源建站系统,支持多种方式部署,支持mardown、富文本、在线表格和思维导图等主流功能,轻轻松松帮你建立一个专属的、独一无二的博客网站。 博客功能 博文空间(便于博文组织,权限隔离) Markdown、Html富文本、电子表…

GD32F3系列单片机环境搭建

GD32单片机介绍 使用到开发板 GD32F303C-START 芯片型号:GD32F303CGT6 PinToPin单片机型号:STM32F103 GD32F303CGT6是超低开发预算需求并持续释放Cortex-M4高性能内核的卓越动力,为取代及提升传统的8位和16位产品解决方案,直接进…

Linux标准c库打开创建文件读写文件光标移动

fopen函数“const char *mode”参数选项。 结果:

【Css】table数据为空,以“-“形式展现

解决:class类名 它表示的是在一个名为class类名的元素内部,当该元素为空时,会在该元素的:before伪元素上应用一些样式。 这种写法通常用于在元素内容为空时,添加一些占位符或者提示文字

Hdevelop编辑器常用功能

1、灰度直方图 【阈值分割】——对应算子threshold 通过菜单【可视化】-【工具】-【灰度直方图】打开,打开后选中【变量窗口】的某张图片即可进行灰度直方图分析。 刚打开并选中某张图片: 调节【最小化】和【最大化】的两个竖线,此时图中绿…

【EM算法】算法及注解

EM算法又称期望极大算法,是一种迭代算法,每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization)。 算法背景 如果概率模型的变量都是观测变…