赞
踩
目录
赛项主要内容:
任务 序号 | 技能竞赛 模块名称 | 技能竞赛内容 | 权重 比例 | 竞赛 时间 |
任务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:
5. 安装配置MySQL:
6. 安装配置Tomcat:
7. 应用系统部署:
二、报告编写
根据环境搭建情况,参考环境搭建及系统部署报告模版,按要求截取环境搭建过程和结果截图并粘贴到模板中,完成环境搭建及系统部署报告。
一、任务要求
题目1:根据下列流程图编写程序实现相应分析处理并显示结果。返回结果“a=x:”(x为2、3或4);其中变量x、y均须为整型。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中equalTo断言判断期望结果值和实际返回值是否一致。
题目2:根据输入的三条边值判断能组成何种三角形。三条边为变量a、b、c,范围为1≤边值≤10,不在范围内,提示“输入边值不在范围内”。不满足任意两边之和必须大于第三边,提示“输入边值不能组成三角形”。输入边值能组成三角形,只有2条边相同,显示“能组成等腰三角形”;三条边相等,显示“能组成等边三角形”;边值不满足特殊三角形显示“能组成普通三角形”。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足判定覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertEquals判断期望结果值和实际返回值是否一致。
题目3:企业根据利润提成来发放奖金。将利润金额划分6个档位来提成。
档位一:利润低于或等于10万元部分,提成10%。
档位二:利润高于10万元并且低于或等于20万元部分,提成7.5%。
档位三:利润高于20万元并且低于或等于40万元部分,提成5%。
档位四:利润高于40万元并且低于或等于60万元部分,提成3%。
档位五:利润高于60万元并且低于或等于100万元部分,提成1.5%。
档位六:利润高于100万元部分,提成1%。
编写程序根据输入的当月利润x计算出最终得到的总提成,输入利润已万为单位,x为整数。返回结果按照档次输出“总提成:y万”,y为计算的提成值。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足判定覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中is断言判断输出文字期望结果值和实际返回值是否一致。
题目4:输入小写的字符串。如字符串前缀为ab开头,则将前缀ab替换为ef并打印出替换后字符串,返回文字“替换前缀后的字符串为:”和替换后字符串值;如后缀为cd并且前缀不为ab,替换字符串中所有cd为gh并打印出替换后字符串,返回文字“替换cd后的字符串为:”和替换后字符串值;否则全部字母大写输出,返回文字“大写字母的字符串为:”和转换后的字符串值。编写程序代码,使用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. 通过CLASS_NAME方法定位登录按钮,使用click()方法点击登录按钮;
6. 通过TAG_NAME复数方法定位商品管理页面的新增按钮,并使用click()方法点击;
7. 通过XPATH方法定位并选择商品分类为“测试”;
8. 通过CSS方法定位商品品牌下拉框;
9. 通过Select类中的by_visible_text方法选择商品品牌为“测试”;
10. 使用get_screenshot_as_file对页面进行截图操作(命名为test_Select01.png,存放在D盘根目录下)。
题目2:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
1. 搭建unittest框架;
2. 引入By方法类;
3. 定义setUp方法启动浏览器,增加3秒的智能等待,将浏览器窗口最大化;
4. 定义tearDown方法关闭浏览器;
5. 定义test_denglu01方法进入系统登录页面,通过NAME方法定位用户名输入框,通过ID方法定位密码输入框并输入账号和密码(XTGLY/123456),通过CLASS_NAME方法定位并点击登录按钮;
6. 定义test_denglu02方法进入系统登录页面,通过NAME方法定位用户名输入框,通过CLASS_NAME方法定位密码输入框并输入账号和密码(XTGLY/123456),通过ID方法定位并点击登录按钮,使用NEME方法定位商品管理页面的查询条件中的商品品牌下拉框,通过Select类中的by_visible_text方法选择商品分类为“测试”;
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. 新建测试用例,通过CLASS_NAME属性定位用户名输入框,并输入用户名XTGLY;
7. 通过ID属性定位密码输入框,并输入密码123456;
8. 查看登录页面中的登录按钮元素,通过TAG_NAME方法定位登录按钮,使用click()方法点击登录按钮进入系统首页;
9. 通过PARTIAL_LINK_TEXT方法进行定位,使用click()方法点击“商品品牌”按钮;
10. 通过TAG_NAME的复数形式定位并点击“新增”按钮;
11. 通过CLASS_NAME方法定位商品品牌名称输入框并使用数据驱动输入“商品品牌名称”;
12. 通过XPATH方法定位并点击“保存”按钮;
13. 通过CLASS_NAME方法定位并获取提示信息文字,通过assertEqual断言方法来验证预期结果和实际结果是否一致,如果不一致使用get_screenshot_as_file对页面进行截图操作;
14. 通过unittest.main()方法执行测试用例。
题目4:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
根据测试用例编写脚本:
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方法类,封装登录用例页面元素位置和操作(使用CLASS_NAME方法封装用户名输入框,使用NAME方法封装密码输入框、使用ID方法封装登录按钮位置,封装输入用户名、密码、点击登录按钮等操作);
10. 在test_report文件夹下新建AddPage.py文件,引入BasePage.py中封装好的方法,引入By方法类,封装好商品分类添加页面元素(使用PARTIAL_LINK_TEXT方法封装商品分类按钮,使用CSS方法封装新增按钮,使用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)脚本一:
具体要求如下:
截图要求:一共1张图:①Action中新增客户保存操作部分截图。
(2)脚本二:
具体要求如下:
截图要求:一共1张图:①Action中新增盘点单保存操作截图。
2. 脚本回放:使用回放功能对脚本的正确性进行校验。
(1)脚本一脚本回放具体要求如下:
截图要求:一共1张图:①新增客户保存操作和回放日志截图。
(2)脚本二脚本回放具体要求如下:
3. 脚本参数设置要求:脚本回放成功后按要求设置脚本参数。
(1)脚本一参数化具体要求如下:
截图要求:一共1张图:①新增客户保存操作和参数列表截图。
(2)脚本二参数化具体要求如下:
截图要求:一共1张图:①新增盘点单保存操作和参数列表截图。
4. 场景设置:按要求设置虚拟用户个数以及进行场景配置。
截图要求:一共2张图,分别为:①新增客户场景设计界面截图;②新增盘点单场景设计界面截图。
5. 图形结果分析:场景执行完成后对测试结果进行截图操作。
截图要求:一共1张图:①Total Passed Transactions截图。
题目2:使用JMeter执行性能测试。
1. 脚本添加:
测试计划下添加两个线程组:
(1)线程组一:
具体要求如下:
截图要求:一共1张图:①新增采购订单保存操作截图。
(2)线程组二:
具体要求如下:
截图要求:一共1张图:①新增生产计划单保存并提交操作截图。
2. 脚本回放:使用回放功能对脚本的正确性进行校验。
(1)线程组一回放具体要求如下:
截图要求:一共1张图:①新增采购订单提交操作截图。
(2)线程组二回放具体要求如下:
3. 脚本参数设置要求:脚本回放成功后按要求设置脚本参数。
(1)线程组一参数化具体要求如下:
截图要求:一共1张图:①新增采购订单保存操作截图。
(2)线程组二参数化具体要求如下:
截图要求:一共1张图:①新增生产计划单保存并提交操作截图。
4. 场景设置:按要求设置虚拟用户个数以及进行场景配置。
截图要求:一共2张图,分别为:①新增采购订单场景配置截图;②非GUI运行界面截图。
5. 图形结果:分析场景执行完成后对测试结果进行截图操作。
截图要求:一共1张图:①Hits Per Second截图。
二、报告编写
根据性能测试情况,参考性能测试报告模版,按要求截取性能测试过程和结果截图并粘贴到性能测试报告,完成性能测试报告。
一、任务要求
题目1:登录接口脚本编写和执行测试。
1. 登录接口描述如下:
接口功能:提供用户登录功能处理,根据传入的用户名和密码判断登录状态。
接口地址(根据实际系统IP及端口自行替换):
请求方式: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. 接口测试要求说明:
username | password |
XTGLY | 123456 |
XTGLY | 123 |
XTGLY |
题目2:新增接口脚本编写和执行测试,并执行脚本。
1. 商品品牌添加接口描述如下:
接口功能:提供商品品牌新增处理。
接口地址(根据实际系统IP及端口自行替换):
请求方式:POST。
请求参数:
参数 | 必填 | 类型 | 说明 |
createBy | Ture | Int | 添加id(默认2) |
name | Ture | String | 商品品牌名称 |
响应结果:
{"msg": "操作成功","code": 200}
其余均失败。
2. 接口测试要求说明:
题目3:修改接口脚本编写和执行测试,并执行脚本。
1. 商品品牌修改接口描述如下:
接口功能:提供商品品牌修改处理。
接口地址(根据实际系统IP及端口自行替换):
请求方式:PUT。
请求参数:
参数 | 必填 | 类型 | 说明 |
id | Ture | Int | 修改id |
name | Ture | String | 商品品牌名称 |
响应结果:
{"msg": "操作成功","code": 200}
其余均失败。
2. 接口测试要求说明:
二、报告编写
根据接口测试情况,参考接口测试报告模版,按要求截取接口测试脚本和结果截图并粘贴到接口测试报告中,完成接口测试报告。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。