2023年全国职业院校技能大赛软件测试赛题第1套

news2024/12/22 19:38:50

2023年全国职业院校技能大赛

软件测试赛题第1套

                                        赛项名称:            软件测试            

                                        英文名称:          Software Testing         

                                        赛项编号:             GZ034             

                                        归属产业:         电子与信息大类          

                                        赛项组别:          高等职业教育          

赛项主要内容:

任务

序号

技能竞赛

模块名称

技能竞赛内容

权重

比例

竞赛

时间

任务1

环境搭建及

系统部署

根据软件测试竞赛项目需求,搭建与配置测试环境,安装与部署应用系统。

5%

480

分钟

任务2

单元测试

根据软件测试竞赛项目需求,编写应用程序,设计测试数据并得出测试结果,编写单元测试报告。

10%

任务3

测试文档

根据软件测试竞赛项目需求,制定测试计划文档、测试总结报告文档。

10%

任务4

功能测试

根据软件测试竞赛项目需求,设计功能测试用例,执行后,提交缺陷报告。

25%

任务5

自动化测试

根据软件自动化测试的要求,编写并执行自动化测试脚本。

20%

任务6

性能测试

根据软件性能测试的要求,执行

性能测试

18%

任务7

接口测试

根据软件接口测试的要求,执行

接口测试

7%

职业素养

竞赛团队分工明确合理、操作规范、文明竞赛、企业“5S”(整理、整顿、清扫、清洁和素养)等内容。

5%


任务一 环境搭建及系统部署

一、任务要求

1. 使用VirtualBox中的CentOS系统(注:系统非纯净系统,可能存在如端口占用等情况)安装相关软件,解决安装中遇到的问题,所有操作都必须使用命令界面完成。

2. CentOS系统root账户密码是:123456。

3. 提供的相关部署文件都存放在CentOS系统/opt目录下。

4. 安装配置JDK:

  • 在CentOS系统中,使用提供的JDK安装包,安装JDK;
  • 安装成功后,查看JDK版本信息;
  • 截图要求:一共2张图,分别为:①JDK环境变量配置截图;②查看JDK版本信息截图。

5. 安装配置MySQL:

  • 在CentOS系统中,使用提供的MySQL安装包,安装MySQL;
  • 将MySql的root账号密码修改为:root;
  • MySQL安装成功后,初始化人力资源综合服务系统数据库(suthr.sql);
  • 截图要求:一共2张图:①root账号成功登录MySQL截图;②初始化人力资源综合服务系统数据库命令截图。

6. 安装配置Tomcat:

  • 在CentOS系统中,使用提供的Tomcat安装包,安装Tomcat;
  • Tomcat安装成功后,通过宿主机的浏览器访问Tomcat主页;
  • 截图要求:一共2张图:①成功启动Tomcat服务截图;②通过浏览器访问Tomcat主页截图。

7. 应用系统部署:

  • 将人力资源系统(suthr.war)部署到Tomcat;
  • 部署成功后,通过宿主机的浏览器访问系统登录页;
  • 截图要求:一共2张图,分别为:①系统部署成功后,webapps目录截图;②通过浏览器访问系统登录页截图。

二、报告编写

根据环境搭建情况,参考环境搭建及系统部署报告模版,按要求截取环境搭建过程和结果截图并粘贴到模板中,完成环境搭建及系统部署报告。

任务二 单元测试

一、任务要求

题目1:根据下列流程图编写程序实现相应分析处理并显示结果。返回文字“x=a*a*b的值:”和x的值;返回文字“x=a-b的值:”和x的值;返回文字“x=a+b的值:”和x的值。其中变量a、b均须为整型。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用startsWith判断期望结果返回文字和实际返回文字是否一致。

 

题目2:根据输入的年份和月份判断月份的天数。若月份不在有效范围之内,应提示:“月份输入不正确。”。月份不为2月,根据输入月份输出对应的月份天数。月份为2月,根据年份判断如为普通闰年,输出2月份正确天数;如为世纪闰年,输出2月份正确天数;不为闰年输出2月份天数。返回结果格式:“year年month月份的天数是days天。”year、month为传入的值,days为判断得到的天数值。其中变量year、month均须为正整数。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中equalTo断言判断返回期望结果和实际返回是否一致。

题目3:邮箱注册需要填写邮箱地址和密码。其中要求邮箱格式“登录名@主机名.域名”,登录名为5个字母,主机名固定为下面2个163、126,域名为com或com.cn。密码为6个(含6)以上数字组成。填写正确则提示“信息正确”,否则根据实际情况提示“**不符合要求”(**为邮箱地址或密码)。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中equalTo断言判断输出文字期望结果值和实际返回值是否一致。

题目4:根据下列流程图编写程序实现相应分析处理并显示结果。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,测试类使用参数化测试(@Parameters)完成测试。使用assertEquals判断输入数据测试方法期望结果值和实际返回值是否一致。

 

二、报告编写

根据单元测试情况,参考单元测试报告模版,按要求将编写的java源代码、测试类相关代码以及相关截图粘贴到模板中,完成单元测试报告。

任务三 测试文档

一、测试计划

1. 概述

1.1 项目背景

【说明测试项目的整体背景】

1.2 编写目的

【说明测试计划文档的编写目的】

2. 测试任务

2.1 测试目的

【分别说明进行功能测试、自动化测试、性能测试、接口测试的目的】

2.2 测试参考文档

【说明测试过程所用的参考文档】

2.3 测试范围

【分别说明功能测试、自动化测试、性能测试、接口测试根据什么测试,以及具体测试内容】

3. 测试资源

3.1 软件配置

【分别说明功能测试、自动化测试、性能测试、接口测试过程中所用的测试环境及工具】

测试类型

测试环境及工具

3.2 硬件配置

【说客户端及移动端的相关硬件配置】

设备项

数量

配置

客户端

移动端

3.3 人力资源分配

【说明测试人员的角色、职责及最终产出】

人员

(工位号)

角色

主要职责

产出

4. 测试计划

4.1 整体测试进度规划

【说明各个测试阶段的时间及人员安排】

测试阶段

时间安排

人员安排

4.2 功能测试计划

【说明功能测试的目标、范围、技术、步骤、开始及结束标准】

测试目标

测试范围

应用技术

执行步骤

开始标准

完成标准

4.3 自动化测试计划

【说明自动化测试的目标、范围、技术、步骤、开始及结束标准】

测试目标

测试范围

应用技术

执行步骤

开始标准

完成标准

4.4 性能测试计划

【说明性能测试的目标、范围、技术、步骤、开始及结束标准】

测试目标

测试范围

应用技术

执行步骤

开始标准

完成标准

4.5 接口测试计划

【说明接口测试的目标、范围、技术、步骤、开始及结束标准】

测试目标

测试范围

应用技术

执行步骤

开始标准

完成标准

5. 发布标准

【说明功能测试、性能测试、接口测试、文档的测试完毕可发布标准】

测试类型

发布标准

6. 相关风险

【说明测试过程中的假定风险以及如何应对】

风险类型

风险详述

应对措施

二、测试报告

1. 概述

1.1 项目背景

【说明测试项目的整体背景】

1.2 编写目的

【说明测试报告的编写目的】

2. 测试结果文档

【说明测试结果产出的文档】

3. 测试设计

3.1 功能测试方法设计介绍

【说明功能测试过程中所使用到的方法】

3.2 自动化测试方法设计介绍

【说明自动化测试过程中所使用到的方法】

3.3 性能测试方法设计介绍

【说明性能测试过程中所使用到的方法】

3.4 接口测试方法设计介绍

【说明接口测试过程中所使用到的方法】

4. 测试回顾

4.1 功能测试过程回顾

【说明功能测试的整体流程及结果】

4.2 自动化测试过程回顾

【说明自动化测试的整体流程及结果】

4.3 性能测试过程回顾

【说明性能测试的整体流程及结果】

4.4 接口测试过程回顾

【说明接口测试的整体流程及结果】

5. 用例汇总

【说明测试用例汇总统计情况】

设备端

功能模块

测试用例数

用例编写人

(工位号)

执行人

(工位号)

用例合计(个)

6. Bug汇总

【说明缺陷Bug汇总统计情况】

设备端

功能模块

Bug严重程度

Bug类型

严重

很高

合计

功能

UI

建议性

合计

合计(个)

7. 测试结论

【说明测试结果总结、过程问题统计、系统质量评价及团队经验教训】

任务 功能测试

一、测试用例

 

二、Bug清单

 

任务五 自动化测试

一、任务要求

题目1:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。

1. 设置智能时间等待3秒;

2. 引入By方法类;

3. 通过NAME属性定位用户名输入框,并输入用户名XTGLY;

4. 通过ID属性定位密码输入框,并输入密码123456;

5. 通过TAG_NAME方法定位登录按钮,使用click()方法点击登录按钮;

6. 通过LINK_TEXT方法定位仓库信息按钮并使用click()方法点击;

7. 通过TAG_NAME的复数形式定位并点击仓库信息中的第一个仓库的“禁用”按钮;

8. 通过alert方法中的accept方法关闭第一个弹窗;

9. 使用get_screenshot_as_file对页面进行截图操作(命名为test_accept01.png,存放在D盘根目录下)。

题目2:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。

1. 搭建unittest框架;

2. 引入By方法类;

3. 定义setUp方法启动浏览器,增加3秒的智能等待,将浏览器窗口最大化;

4. 定义tearDown方法关闭浏览器;

5. 定义test_denglu01方法进入系统登录页面,通过CLASS_NAME方法定位用户名输入框,通过NAME方法定位密码输入框并输入账号和密码(XTGLY/123456),通过ID方法定位并点击登录按钮;

6. 定义test_denglu02方法进入系统登录页面,通过NAME方法定位用户名输入框,通过ID方法定位密码输入框并输入账号和密码(XTGLY/123456),通过TAG_NAME定位登录按钮并点击,使用XPATH点击商品管理页面的新增按钮,使用send_keys上传图片并使用get_screenshot_as_file方法对页面进行截图;

7. 通过unittest.main()方法执行测试用例。

题目3:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。

测试数据:

商品分类名称

预期结果

商品分类名称必填,请重新输入。

步骤1:新建csv格式的测试数据testdata.csv,并编写csvv.py脚本读取csv中的测试数据。

步骤2:新建test01.py:

1. 引入步骤1中的写好的数据读取的方法以及ddt方法类;

2. 引入By方法类;

3. 搭建unittest框架;

4. 在setUp中打开谷歌浏览器,增加5秒的智能时间等待,将浏览器窗口最大化;

5. 在tearDown中退出浏览器;

6. 新建测试用例,通过ID属性定位用户名输入框,并输入用户名XTGLY;

7. 通过NAME属性定位密码输入框,并输入密码123456;

8. 查看登录页面中的登录按钮元素,通过TAG_NAME方法定位登录按钮,使用click()方法点击登录按钮进入系统首页;

9. 通过LINK_TEXT方法进行定位,使用click()方法点击“商品分类”按钮;

10. 通过XPATH方法点击“新增”按钮;

11. 通过CLASS_NAME方法定位商品分类名称输入框并使用数据驱动输入“商品分类名称”;

12. 通过XPATH方法定位并点击“保存”按钮;

13. 通过LINK_TEXT方法定位并获取提示信息文字,通过assertEqual断言方法来验证预期结果和实际结果是否一致,如果不一致使用get_screenshot_as_file对页面进行截图操作;

14. 通过unittest.main()方法执行测试用例。

题目4:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。

根据测试用例编写脚本:

 

PO框架参考图:

 

1. 新建EPR_PO文件夹;

2. 在EPR_PO文件夹下新建driver文件夹和Website文件夹;

3. 在driver文件夹下新建driver.py文件存放浏览器驱动;

4. 在Website文件夹下新建test_case文件夹、test_report文件夹、test_data文件夹;

5. 在test_case文件夹下新建model文件夹和page_object文件夹;

6. 在model文件夹下新建function.py文件封装截图、数据驱动读取等方法;

7. 在model文件夹下新建myunit.py文件封装unittest框架中的Setup(添加5秒的智能等待和浏览器窗口最大化)和tearDown(退出浏览器)等方法;

8. 在test_report文件夹下新建BasePage.py文件封装selenium的基础操作类方法(get、find_element等);

9. 在test_report文件夹下新建LogingPage.py文件,引入BasePage.py中封装好的方法,引入By方法类,封装登录用例页面元素位置和操作(使用ID方法封装用户名输入框,使用NAME方法封装密码输入框、使用CLASS方法封装登录按钮位置,封装输入用户名、密码、点击登录按钮等操作);

10. 在test_report文件夹下新建AddPage.py文件,引入BasePage.py中封装好的方法,引入By方法类,封装好商品品牌添加页面元素(使用LINK_TEXT方法封装商品品牌按钮,使用XPATH方法封装新增按钮,使用XPATH方法封装商品品牌名称输入框,使用CSS方法封装保存按钮,封装点击商品品牌按钮、点击新增按钮、输入商品品牌名称、点击保存按钮等操作),封装添加成功以及添加失败的提示信息文字;

11. 在test_report文件夹新建srceenshot文件夹存放测试截图;

12. 在test_data文件夹新建test_csv.csv文件存放测试数据;

13. 在test_report文件夹下新建test_add.py文件,引入unittest、ddt以及之前封装好的model,LoginPage,AddPage中的方法类,根据用例编写6条测试用例脚本,创建data参数来接收测试数据,并使用数据驱动输入用户名和密码(XTGLY/123456),使用数据驱动输入商品品牌名称,然后进行截图操作,最后对每一条测试用例进行assertIn断言操作,对比提示信息是否和预期一致;

14. 在Website文件夹下新建run_test.py文件使用discover方法执行test_add.py测试用例并引入HTMLTestRunner方法生成html测试报告(测试报告title名为:Test Report,description内容为erp test)。

二、报告编写

根据自动化测试情况,参考自动化测试报告模版,按要求编写自动化测试脚本并将全部脚本粘贴到模板中,完成自动化测试报告。

任务六 性能测试

一、任务要求

题目1:使用LoadRunner执行性能测试。

1. 脚本录制:

(1)脚本一:

  • 脚本名称:ProductAdd。
  • 脚本内容:系统管理员登录、进行新增商品操作。

具体要求如下:

  • 所有脚本存放在Action。商品名称前2位为固定值SP,固定值后面的字符可任意设置。对新增商品保存操作设置事务,事务名称:T_SPAdd。设置检查点,使用新增商品成功服务器的响应正文内容作为检查点。在新增商品保存操作前添加集合点,集合点名称:R_SPAdd。

截图要求:一共1张图:①Action中新增商品保存操作部分截图。

(2)脚本二:

  • 脚本名称:PurAdd。
  • 脚本内容:采购专员登录、进行新增采购订单、保存并提交操作。

具体要求如下:

  • 所有脚本存放在Action。仓库、供应商任意选择,商品任意选择一种即可。对采购订单保存并提交操作设置事务,事务名称:T_PurAdd。设置检查点,使用提交操作成功服务器的响应正文内容作为检查点。

截图要求:一共1张图:①Action中新增采购订单保存并提交操作部分截图。

2. 脚本回放:使用回放功能对脚本的正确性进行校验。

(1)脚本一脚本回放具体要求如下:

  • 对商品名称进行修改,前4位为固定值SPHF,固定值后面的字符可任意设置。
  • 运行脚本,查看回放结果,要求脚本回放能成功实现新增商品业务。

(2)脚本二脚本回放具体要求如下:

  • 运行脚本,查看回放结果,要求脚本回放能成功实现新增采购订单保存并提交业务。
  • 保存并提交操作若需要关联,使用关联函数web_reg_save_param_ex(),参数名称submitId。

截图要求:一共1张图:①Action中新增采购订单保存并提交操作部分截图。

3. 脚本参数设置要求:脚本回放成功后按要求设置脚本参数。

(1)脚本一参数化具体要求如下:

  • 新建参数:参数名称:uniNo,参数类型:唯一编号,编号从1开始,每个Vuser的块大小为100,编号格式:%04d。
  • 新建参数:参数名称:VuID,参数类型:Vuser ID,文本格式:%s。
  • 对商品名称进行参数化设置:商品名称前4位固定值SPCS,固定值后面接参数VuID和uniNo。
  • 对采购价进行参数化设置:参数名称:price1,参数类型:随机数字,随机范围:100-200,数字格式:%lu。
  • 对销售价进行参数化设置:参数名称:price2,参数类型:随机数字,随机范围:200-300,数字格式:%lu。
  • 脚本迭代次数3次。

截图要求:一共1张图:①新增商品保存操作和参数列表截图。

(2)脚本二参数化具体要求如下:

  • 新建参数化文件center.dat,文件中包含centerId、centerName两个字段,centerId输入系统预置的10条仓库id值,centerName输入对应的仓库名称值。
  • 对仓库进行参数化设置:仓库ID使用参数centerId,仓库名称使用参数centerName,均使用center.dat参数化文件。
  • centerId参数选择列使用按名称方式,每次迭代顺序取值。centerName参数选择列使用按名称方式,取值为centerId相同行。
  • 对采购数量进行参数化设置:参数名称:Amount,参数类型:随机数字,随机范围:100-200,数字格式:%lu。
  • 对实际采购价进行参数化设置:参数名称:Price,参数类型:随机数字,随机范围:50-100,数字格式:%lu。
  • 脚本迭代次数3次。

截图要求:一共1张图:①新增采购订单保存并提交操作和参数列表截图。

4. 场景设置:按要求设置虚拟用户个数以及进行场景配置。

  • 脚本修改:新增商品集合点前添加思考时间30秒,商品名称前4位固定值修改为SPCJ。
  • 脚本修改:新增采购订单事务前添加思考时间45秒。
  • 添加负载发生器(Load Generator):本机负载发生器名称localhost,另一电脑负载发生器名称otherlg。
  • 选择新增商品和新增采购订单两个脚本进行场景设置。
  • 设置新增商品脚本使用负载发生器localhost,新增采购订单使用负载发生器otherlg。
  • 用户分配选择用户组模式。场景计划方式选择场景,运行模式选择实际计划。
  • 场景中脚本运行时思考时间设置:使用录制思考时间的随机百分比,区间为:70%-150%。
  • 集合点策略:当80%的运行用户到达集合点时释放,超时时间30秒。
  • 全局计划:在每个虚拟用户运行前将其初始化;启动10个用户(每5秒启动2个)执行5分钟,执行完成后再启动10个用户(每5秒启动2个)执行5分钟,执行完成后停止所有用户(每5秒停止4个)。
  • 添加性能计数器对服务器(CPU利用率,可用内存,硬盘)性能状况进行监测。

截图要求:一共2张图,分别为:①场景设计界面截图;②集合点信息及策略截图。

5、图形结果分析:场景执行完成后对测试结果进行截图操作。

  • 所有截图均需截取完整的结果图,包含下方的说明和左侧的树形结构。

截图要求:一共1张图:①Summary Report截图。②windows Resources - RunningVusers截图。

题目2:使用JMeter执行性能测试。

1. 脚本添加:

  • 脚本文件名称:SuppAndSale。
  • 测试计划名称:SuppAndSale。

测试计划下添加两个线程组:

(1)线程组一:

  • 线程组名称:SupplierAdd。
  • 线程组内容:系统管理员登录、进行新增供应商操作。

具体要求如下:

  • 供应商名称前4位为固定值GYMC,联系人前4位为固定值GLXR,固定值后面的字符可任意设置。新增供应商保存操作请求名称:新增供应商保存;对新增供应商保存操作设置事务,事务名称:T_SuppAdd。设置检查点,使用新增供应商成功服务器的响应正文内容作为检查点,检查点名称Reg_SuppAdd。在新增供应商保存操作前添加集合点,集合点名称:R_SuppAdd。

截图要求:一共1张图:①新增供应商保存操作截图。

(2)线程组二:

  • 线程组名称:SaleAdd。
  • 线程组内容:销售专员登录、进行新增销售订单、保存并提交操作。

具体要求如下:

  • 仓库、客户任意选择,商品任意选择一种即可。销售订单保存操作请求名称:销售订单保存;销售订单提交操作请求名称:销售订单提交。对销售订单保存并提交操作设置事务,事务名称:T_SaleAdd。设置检查点,使用提交操作成功服务器的响应正文内容作为检查点,检查点名称Reg_SaleAdd。

截图要求:一共1张图:①新增销售订单保存操作截图。

2. 脚本回放:使用回放功能对脚本的正确性进行校验。

(1)线程组一回放具体要求如下:

  • 对供应商名称进行修改,前4位为固定值GYHF,固定值后面的字符可任意设置。
  • 对联系人进行修改,前4位为固定值LXHF,固定值后面的字符可任意设置。
  • 运行脚本,查看回放结果,要求脚本回放能成功实现新增供应商业务。

(2)线程组二回放具体要求如下:

  • 运行脚本,查看回放结果,要求脚本回放能成功实现新增销售订单保存并提交业务。
  • 保存并提交操作若需要关联,使用边界提取器,参数名称submitId。

截图要求:一共1张图:①新增销售订单提交操作截图。

3. 脚本参数设置要求:脚本回放成功后按要求设置脚本参数。

(1)线程组一参数化具体要求如下:

  • 对供应商名称进行参数化设置:供应商名称前4位固定值GYCS,固定值后面接函数threadNum和RandomString,Random string长度:5,生成random string的字符:abcdefghijklmnopqrst,存储结果的变量名:ranstr2。
  • 对联系人进行参数化设置:联系人前4位固定值LXCS,固定值后面接参数threadNum和ranstr2。
  • 对联系电话进行参数化设置:只参数化联系电话的后8位,使用Random string函数生成长度为8位的任意数字字符串。
  • 脚本迭代次数3次。

截图要求:一共1张图:①新增供应商保存操作截图。

(2)线程组二参数化具体要求如下:

  • 新建参数化文件customer.dat,文件中包含customerId、customerName两个字段,customerId输入系统预置的10条客户id值,customerName输入对应的客户名称值。
  • 对客户进行参数化设置:使用CSV数据文件设置实现参数化,使用customer.dat文件。客户ID参数名称:customerId,客户名称参数名称:customerName。
  • 对销售数量进行参数化设置:使用Random函数实现参数化,范围:50-100。
  • 对实际销售价进行参数化设置:使用Random函数实现参数化,范围:150-300。
  • 脚本迭代次数3次。

截图要求:一共1张图:①新增销售订单保存操作截图。

4. 场景设置:按要求设置虚拟用户个数以及进行场景配置。

  • 脚本修改:新增供应商保存操作前添加思考时间25秒;新增销售订单保存操作前添加思考时间20秒;其他步骤添加思考时间5秒。
  • 新增供应商集合点设置:模拟数量:5,超时时间20秒。
  • 场景配置:
    1. 新增供应商场景配置:取样器错误后执行动作:启动下一进程循环;线程数:10;Ramp-Up时间:20秒;持续时间:8分钟;启动延迟5秒。
    2. 新增销售订单场景配置:取样器错误后执行动作:继续;线程数:20;Ramp-Up时间:20秒;循环5次。
  • 使用非GUI模式运行。

截图要求:一共2张图,分别为:①新增供应商场景配置截图;②新增销售订单场景配置截图。

5. 图形结果:分析场景执行完成后对测试结果进行截图操作。

截图要求:一共1张图:①Dashboard-Statistics截图。

二、报告编写

根据性能测试情况,参考性能测试报告模版,按要求截取性能测试过程和结果截图并粘贴到性能测试报告,完成性能测试报告。

任务七 接口测试

一、任务要求

题目1:登录接口脚本编写和执行测试。

1. 登录接口描述如下:

接口功能:提供用户登录功能处理,根据传入的用户名和密码判断登录状态。

接口地址(根据实际系统IP及端口自行替换):

  • http://XX.XX.XX.XX:XXXX/prod-api/auth/login。

请求方式:POST。

请求参数:

参数

必填

类型

说明

username

Ture

Int

用户名

password

Ture

Int

用户密码

roleId

Ture

Int

登录ID(默认1)

响应结果:

  • 登录成功时返回:

{

    "code": 200,

    "msg": xxx,

    "data": {

        "access_token": "xxx",

        "name": xxx,

        "photo": "xxx",

        "expires_in": xxx

    };

  • 登录失败时返回(密码错误):

{

    "msg": "登录密码错误",

    "code": 500

}

  • 登录失败时返回(密码为空):

{

    "msg": "请输入密码",

    "code": 500

}

2. 接口测试要求说明:

  • 在Postman中新建Collections集,测试集命名为Data_Driver;
  • 在测试集Data_Driver下新建data_driver脚本;
  • 在脚本Body中的raw下新建json参数(username、password、roleId)进行传值,其中username、password参数改为变量接收数据驱动中的数据;
  • 新建josn文件保存接口数据驱动测试数据,josn参数名为username、password;用户名和密码数据为:
  • 新建测试用例集Data_Driver,执行Run,在测试集合运行页面设置执行要求,运行次数要求3次,请求间隔时间为500ms,发送请求的data文件导入前面的新建json数据文件;
  • 设置完成执行测试用例集;
  • 截图要求:一共6张图,分别为:①测试用例脚本包含URL和raw中参数相关内容截图;②测试用例集导入json数据后预览数据的截图;③Collection Runner页面的截图;④、⑤、⑥分别截图三条用例的测试报告中Response Body的全部内容。

username

password

XTGLY

123456

XTGLY

123

XTGLY

题目2:新增接口脚本编写和执行测试,并执行脚本。

1. 商品品牌添加接口描述如下:

接口功能:提供商品品牌新增处理。

接口地址(根据实际系统IP及端口自行替换):

  • http://XX.XX.XX.XX:XXXX/prod-api/manager/brand/add。

请求方式:POST。

请求参数:

参数

必填

类型

说明

createBy

Ture

Int

添加id(默认2)

name

Ture

String

商品品牌名称

响应结果:

{"msg": "操作成功","code": 200}

其余均失败。

2. 接口测试要求说明:

  • 在Postman中新建Collections集,测试集命名为Test_Add;
  • 在Test_Add中新建测试用例1,Login脚本;
  • Login脚本URL为:http://XX.XX.XX.XX:XXXX/prod-api/auth/login;
  • Login脚本Json参数为:{"username":"XTGLY","password":"123456","roleId":1};
  • 在Login脚本的Tests中编写代码,将Login接口返回值responseBody转为json字符串并将responseBody中的获取到的access_token的值使用setEnvironmentVariable方法存放到环境变量中,环境变量命名为token;
  • 在Test_Add中新建测试用例2,Add脚本;
  • 将Login中获取的变量token放在Add脚本Authorization界面下的Bearer Token中;
  • 在Environment中新建VARIABLE值为“token”,其他值为空的环境变量,方便用来调试Add脚本;
  • Add脚本URL为:http://XX.XX.XX.XX:XXXX/prod-api/manager/brand/add;
  • Add脚本Json参数为:{"createBy":"2","name":"测试数据"};
  • 在Add脚本的Tests中对执行结果进行断言判断,设置两个断言:①判断响应状态码为200;②使用JSON value check方法判断响应内容中返回的msg参数值中存在“操作成功”字符串;
  • 设置执行测试集Test_Add;
  • 截图要求:一共4张图,分别为:①用例Add的Body界面截图,需要包含接口提交方式和URL以及raw中内容;②用例Add的Authorization界面截图,需要包含接口提交方式和Type以及Token中内容;③用例Add的Tests界面截图;④测试用例集Test_Add执行结果界面截图。

题目3:修改接口脚本编写和执行测试,并执行脚本。

1. 商品品牌修改接口描述如下:

接口功能:提供商品品牌修改处理。

接口地址(根据实际系统IP及端口自行替换):

  • http://XX.XX.XX.XX:XXXX/prod-api/manager/brand/update。

请求方式:PUT。

请求参数:

参数

必填

类型

说明

id

Ture

Int

修改id

name

Ture

String

商品品牌名称

响应结果:

{"msg": "操作成功","code": 200}

其余均失败。

2. 接口测试要求说明:

  • 在Postman中新建Collections集,测试集命名为Test_Revise;
  • 在Test_Revise中新建测试用例1,Login脚本;
  • Login脚本URL为:http://XX.XX.XX.XX:XXXX/prod-api/auth/login;
  • Login脚本Json参数为:{"username":"XTGLY","password":"123456","roleId":1};
  • 在Login脚本的Tests中编写代码,将Login接口返回值responseBody转为json字符串并将responseBody中的获取到的access_token的值使用setEnvironmentVariable方法存放到环境变量中,环境变量命名为token;
  • 在Test_Revise中新建测试用例2,Revise脚本;
  • 将Login中获取的变量token放在Revise脚本Authorization界面下的Bearer Token中;
  • 在Environment中新建VARIABLE值为“token”,其他值为空的环境变量,方便用来调试Revise脚本;
  • Revise脚本URL为:http://XX.XX.XX.XX:XXXX/prod-api/manager/brand/update;
  • Revise脚本Json参数为:{"id":"1","name":"测试"};
  • 在Revise脚本的Tests中对执行结果进行断言判断,设置两个断言:①判断响应状态码为200;②使用JSON value check方法判断响应内容中返回的msg参数值中存在“操作成功”字符串;
  • 设置执行测试集Test_Revise;
  • 截图要求:一共4张图,分别为:①用例Revise的Body界面截图,需要包含接口提交方式和URL以及raw中内容;②用例Revise的Authorization界面截图,需要包含接口提交方式和Type以及Token中内容;③用例Revise的Tests界面截图;④测试用例集Test_Revise执行结果界面截图。

二、报告编写

根据接口测试情况,参考接口测试报告模版,按要求截取接口测试脚本和结果截图并粘贴到接口测试报告中,完成接口测试报告。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过适当的异常处理进行快速调试

编写良好的代码和异常处理 作为开发人员,开发中最令人恼火的部分通常是调试。与我共事过的大多数程序员都会赞同这种观点。通常,看到异常的第一反应是烦恼和沮丧的混合。易于调试的异常通常会在调试后的几分钟内产生根本原因。最让我烦恼的是那些在系统…

vue实现多布局模式

1、目标效果 源码地址:multipal-layout-demo: vue2实现多布局暗黑模式 默认布局:头部宽度100%,侧边栏、内容区 顶部布局:头部宽度100%,内容区 侧边栏布局:侧边栏高度100%,头部、内容区 2、原理…

python+vue课堂教学效果实时评价系统

系统权限按管理员,教师和学生这三类涉及用户划分。 (a) 管理员;管理员使用本系统涉到的功能主要有:个人中心,学生管理,教师管理,教学视频管理,教学课件管理,类型管理,视频…

ArcGIS Pro导航工具

主要导航工具为浏览工具 、屏幕导航器 、书签 、转到XY工具 。 其它还包括链接视图、地图比例(2D)、场景高度(3D)、暂停并刷新绘制、照相机属性、在3D模式下导航、键盘快捷键等。 1 主要导航工具 地图和场景的默认工具为浏览工具…

【python视图3】networkx图操作示例

一、说明 根据定义,图是节点(顶点)以及已识别的节点对(称为边、链接等)的集合。在 NetworkX 中,节点可以是任何可哈希对象,例如文本字符串、图像、XML 对象、另一个图形、自定义节点对象等。 如…

如何区分高压和低压电阻接地系统

电阻接地系统或电阻接地中性线系统是通过一个或多个电阻在中性线和大地之间有意连接的系统。在这些系统中,接地故障期间造成的损坏远小于在牢固接地系统中接地故障期间造成的损坏,并且设备上的机械应力也大大降低。 电阻通常具有比接近接地点的系统电抗…

WIN10-22H2专业版_电脑维修人员专用装机系统镜像【04.20更新】

WIN10-22H2专业版是由站长亲自封装的电脑维修人员专用装机系统镜像,系统干净无广告,稳定长效不卡顿,适合电脑维修店用来维修电脑重装系统。此版本是WIN10系统里非常稳定的正式版本之一,适合在维修电脑时重装系统或者大批量装机使用…

2023-spring 1. 补给马车

🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀 算法专栏: 👉🏻123 一、🌱2023-spring 1. 补给马车 题目描述:远征队即将开启未知的冒…

防晒服饰赛道持续加速扩容 未来行业集中度有望进一步提升

一、防晒服饰行业概述 国内防晒服饰市场主要包括具有防晒功能的衣服、伞具、帽子、墨镜、口罩、面罩、披肩、袖套及手套等产品。相比较防晒护肤品需要定时补涂、具有过敏风险、防晒效果欠佳以及消耗量大的缺陷,防晒服饰具有覆盖面广、使用方便、防晒效果好、对身体…

ChatGPT: 如何利用OpenAI的GPT-3.5构建智能对话助手

ChatGPT: 如何利用OpenAI的GPT-3.5构建智能对话助手 GPT-3.5:OpenAI的语言模型在自然语言处理领域的重要地位和应用潜力 GPT-3.5是OpenAI开发的一种强大的语言模型,具有广泛的应用潜力和在自然语言处理领域的重要地位。作为OpenAI最新一代的语言模型&…

初识C++之C++11

目录 一、C11的概念 二、统一的列表初始化 1.{ }初始化 2.initializer_list 三、decltype 四、lambda表达式 1. lambda表达式的出现原因 2. lambda表达式的使用 2.1 捕捉列表 2.2 参数列表 2.3 mutable 2.4 返回值类型 2.5 函数体 2.6 使用方式 3. lambda表达式…

c++积累11-强制类型转换运算符(static_cast/reinterpret_cast/const_cast/dynamic_cast)

1、背景 将类型名作为强制类型转换运算符的做法是C语言的老式做法,C为保持兼容而予以保留。强制类型转换是有一定风险的,C引入新的转换机制,主要为了客服C语言转换的三个缺点; 1、没有从形式上体现转换功能和风险的不同。 例如&a…

LeetCode特训 --- Week2 (主打滑动窗口 + 字符串匹配题目)

目录 滑动窗口原理 真懂了滑动窗口? 滑动 字符串细节 开干切题 滑动窗口原理 滑动窗口:维护一前一后两根指针, 或者说一左一右两个指针。更主要的是维护左右指针中的区间. 同时不断的向前滑动,直到整个序列滑动结束,前指针走到序列末尾…

总结:Grafana Mimir调用

一、背景 Prometheus单实例,可用性低,可靠性低,不能存储更多数据。 解决业务问题 如:当前QKE是一个集群一个项目一个prometheus实例,那么当我一个应用分多个集群部署的时候,查询数据时就得从三个promethe…

streamlit (python构建web可视化框架)笔记

文章目录 一、安装使用streamlit二、streamlit使用1.展示和数据样式2.dataframe()生成交互表和table()方法生成静态表3.绘制折线图4.绘制地图5.一些组件slider()滑动条 checkbox()确认框 selectbox()选择器6.侧边栏7.布局分列8.多页 三、Steamlit可视化简单应用--冒泡排序可视化…

java获取当前系统时间

在Java中,可以使用以下几种方法获取当前系统时间: 方法1:使用java.util.Date类 java import java.util.Date; public class Main { public static void main(String[] args) { Date date new Date(); System.out.println("当前时间&…

短视频app开发:如何设计个性化推荐算法

短视频app的迅速崛起已经成为了移动互联网领域中的一股热潮。然而,如何设计个性化推荐算法已经成为了这个领域中的一个核心问题。在本文中,我们将深入探讨如何为短视频app开发设计个性化推荐算法,以及如何使用短视频源码来实现这一目标。 简…

类间关系和内部类和数组

Final关键词 定义Pepole类,运用了final修饰方法eat(),该方法不能被改写,但可以随类进行继承。 用final修饰的类,不能有子类。 内部成员类定义方式 外部类.成员类 对象名 new 外部类().new 内部类。 局部…

[附源码]计算机毕业设计基于SSM和UNIAPP的选课APP

项目初衷 教育要实现现代化,高质量发展,就必须拥抱互联网。在此推动下,教育APP软件的开发非常受欢迎。通过APP自主选择教育课程的专业和课程,教授讲课,课程APP可以在线合作。通过APP自主选课的方式,更能激…

深度强化学习——actor-critic算法(4)

一、本文概要: actor是策略网络,用来控制agent运动,你可以把他看作是运动员,critic是价值网络,用来给动作打分,你可以把critic看作是裁判,这节课的内容就是构造这两个神经网络,然后…