首页 > 其他分享 >【课后作业】Atstudy项目实训

【课后作业】Atstudy项目实训

时间:2024-08-20 10:24:39浏览次数:17  
标签:课后 课程 Atstudy 录播 点击 测试用例 实训 测试 atstudy

一、项目介绍

atstudy项目是一款在线教学管理系统,用于支持在线班的教学。结合该项目开展项目实训,将系统测试流程、web测试技术、web测试工具、移动app测试技术、移动app测试工具等之前学习的内容在实训中进行消化和掌握,帮助学员积累完整的项目经验。整个项目实训会按照标准的系统测试流程来进行开展,此文档是课程的实验报告。

课程环境

  • ubuntu系统
  • 云手机
  • atstudy应用
  • selenium
  • fiddler
  • solopi
  • monkey
  • 阿里云

学习收获

  • 加深对系统测试流程的理解;
  • 掌握如何在实际项目中编写系统测试用例;
  • 掌握如何在实际项目中提交缺陷报告;
  • 掌握selenium工具在实际项目中的应用;
  • 掌握fiddler工具在实际项目中的应用;
  • 掌握移动app测试工具在实际项目中的应用。
  • 理解如何在实际项目开展性能测试。

任务1:回顾测试工作内容

【任务目标】

回顾测试工作内容,为接下来的项目实训做准备。

无论将来遇到什么项目,需要完成的测试工作都是类似的。

制定测试计划

制定测试方案(可选)

编写测试用例

执行测试用例

1.1 制定测试计划

测试计划是从管理角度对整个测试工作进行规划和控制。

测试计划考虑:

  • 人员分工(将最重要的工作交给最信任的人)
  • 测试范围(有弹性)
  • 时间进度

1.2 制定测试方案

测试方案是从技术角度对整个测试工作进行规划和控制。

要不要做自动化测试?使用什么测试工具?

是否需要部署测试环境?测试环境如何部署?

测试用例如何设计?使用怎样的测试用例设计方法?

1.3 编写测试用例

重点是测试用例的思路。目前一般测试用例不会写的很细。

测试用例可以在excel中编写,也可以在测试管理工具中编写,还可以使用思维导图软件编写,这里选用最常用的excel方式。

1.4 执行测试用例

可以包含:

搭建测试环境
服务器环境一般借助于docker来部署,app测试环境一般用真机。

执行测试用例

提交缺陷报告

编写测试记录/测试报告

任务2:了解项目背景

【任务目标】

了解为什么会有这个项目;

了解项目的时间节点;

了解项目的人员配置;

了解项目的技术架构。

【项目历史】

atstudy项目开始于2019年3、4月份。第一个正式版本发布于2020年3、4月份。网校开始于2016、2017年,当时使用的是购买的系统edusoho。直播实际使用的是展视互动的系统。

早期的网校=edusoho+展视互动

早期的网校无法有效的进行定制,不少功能不能完全满足使用需要。

atstudy项目启动后,经历了技术选型、需求收集整理等环节。

当前的网校=atstudy+腾讯云(录播)+保利威(直播)

概述:

【人员配置】

后端开发2-3人

前端开发4-5人

产品经理1人

美工1-2人

测试3-4人

【技术架构】

后端c#

前端node.js

数据库mysql

web服务器nginx

使用redis缓存用户信息和心跳数据

包含的子系统

本次测试会涉及到前3个

  • web前台子系统
  • web后台子系统
  • android应用
  • ios应用

任务3:了解业务知识

【任务目标】

了解前台业务功能;

了解后台业务功能;

了解android应用业务功能。

【基本信息】

业务知识=用户+操作

前台测试环境:train.atstudy.com

后台测试环境:train-manage.atstudy.com

后台管理员用户/前台用户:19999999999/a123456

3.1 前台业务功能

AtStudy网校

前台系统的用户包含学生、讲师、助教、班主任等。

  1. 注册、登录、搜索课程、浏览课程、购物车、购买课程
  2. 学习中心,学生使用,学习课程、收藏/取消收藏课程、笔记查看、问答查看、完成作业、参加考试
  3. 个人中心,个人信息修改
  4. 消息中心,消息通知
  5. 教学中心,讲师、助教、班主任使用,包含课程管理、作业管理、考试管理、问答管理、销售管理。
    讲师:查看课程资料、批改作业、批改考卷、回答问题、查看自己课程销售情况
    助教:查看课程资料、批改作业、批改考卷、回答问题
    班主任:查看课程资料、查看作业、查看考卷、查看问答

3.2 后台业务功能

AtStudy网校管理平台

后台给运营人员使用。

包含:

  1. 课程模块,包含直播课、录播课和套课的管理。
    无论是直播课还是录播课,都是:课程-教学计划-课时-课时任务。
    教学计划对应班级,直播、录播、作业、考试等都属于课时任务。
  2. 运营模块,主要包含订单管理、打折活动管理、优惠券管理
  3. 教学模块,包含学员管理、讲师管理、各种学习相关的管理
  4. 题库模块,在我的题库中添加题目,在题目审核中审核通过进入题目仓库。
  5. 系统设置,主要包含角色管理和账号管理。对于每个账户,有身份和角色,身份对应用户类型,角色对应后台权限。

3.3 android应用业务功能

adb install /home/project/atstudy.apk

实际工作中app往往没有任何功能的描述和介绍,需要参考web端功能,该app仅供学生使用。app端通常比web前台功能要简单。atstudy应用主要包含:

  • 首页模块,主要包含课程的查询和查看。
  • 我的学习模块,主要包含课程的学习,包括看直播/录播、记录笔记、完成作业、提交问题、参加考试等。
  • 账号模块,主要是订单和优惠券的查看、个人信息编辑等。

二、编写系统测试计划

  • 加深对系统测试流程的理解;
  • 掌握如何在实际项目中编写系统测试用例;
  • 掌握如何在实际项目中提交缺陷报告;
  • 掌握selenium工具在实际项目中的应用;
  • 掌握fiddler工具在实际项目中的应用;
  • 掌握移动app测试工具在实际项目中的应用。
  • 理解如何在实际项目开展性能测试。

任务1:熟悉被测系统

【任务目标】

熟悉被测系统后台功能;

熟悉被测系统前台功能;

熟悉被测系统android应用功能。

1.1 熟悉后台功能

AtStudy网校管理平台

使用19999999999/a123456登录后台。

以下操作中的关键操作需要截图并配上文字提交到实验报告中。

1.1.1 题库模块添加题目

我的题库子模块新建问答题并提交审核。
点击添加题目。

点击提交评审。

题目审核子模块审核通过提交的问答题,通过后会出现在题目仓库中。

1.1.2 教学模块-试卷管理添加试卷

新建试卷并添加单元,单元名称可以为问答题。

单元上添加试题,选择前面题库中添加的问答题。

给试题设置分值,点击提交。

1.1.3 课程模块-录播课管理添加免费录播课

新建免费录播课。
点击新建录播课,课程封面从/home/project/目录选择。

在默认教学计划上添加课时。
点击进入教学计划。

点击编辑教学计划。

切换到教师标签页,添加当前后台登录用户为讲师。

切换到计划机构标签页,点击添加。

选择类型为课时,添加计划节点。

在课时上新建视频任务,视频封面和视频文件可以从/home/project/目录获取。
点击添加课时任务。

选择视频任务类型。

填入视频任务信息,阶段一般选择课中,点击继续。

切换到上传文件标签页,从/home/project/目录选择视频封面和视频文件。

切换到选择文件标签页,选择上传的视频,点击保存。

在课时上新建作业类型课时任务。
点击作业添加作业类型任务。

填入信息后点击继续。

找到前面添加的试卷添加到任务中,点击保存。

上架该免费录播课并打上标签。
点击上架录播课。

勾选需要打标签的课程,点击标签,选择相应的标签。

1.1.4 课程模块-录播课管理添加付费录播课

新建录播课。
新建一门定价为100元的录播课,课程封面从/home/project/目录选择。

上架该课程。

给该课程打上标签。

1.1.5 运营模块-优惠券管理添加优惠券

新建优惠券
点击新建添加优惠券,注意优惠券数量不能超过500,优惠券金额为100,课程标签必须跟上面付费录播课的标签一致,发放方式选择生成优惠码,使用范围选择全平台通用。

点击发布优惠券。

生成优惠码
点击生成优惠码,记录至少一个优惠码。

1.2 熟悉前台功能

AtStudy网校

以下操作中的关键操作需要截图并配上文字提交到实验报告中。

先以学生身份进行操作。

1.2.1 注册账号并登录

点击注册,输入手机号完成注册。

使用注册的账号登录。

1.2.2 加入免费课程的学习

进入选课中心。

加入学习
找到前面添加的免费课程,点击立即学习加入学习。

开始学习
进入学习中心,点击开始学习进入该免费课程学习页面。

视频任务的学习。
点击进入视频任务,播放视频。

点击笔记,进入笔记记录页面,填写笔记并保存。复制代码

点击问答,进入问答页面,提交问题。

完成作业任务
点击进入作业任务。

完成作业并提交。

1.2.3 加入付费课程的学习

激活优惠券。
进入个人中心-我的优惠券。

使用前面保存的优惠券激活优惠券,该优惠券用于后续付费课程购买。

购买付费课程。
点击进入选课中心。

找到前面添加的付费课程,点击立即购买。

使用优惠券,使得总金额变为0,点击去结算。

选择微信支付,点击立即支付。

结果提示订单金额不能为0,这实际对应一个bug。

再以讲师身份进行操作,使用19999999999/a123456登录前台。

1.2.4 批改作业

切换身份为讲师。
进入教学中心,切换身份为讲师。

批改作业。
查看作业管理中作业列表,找到需要批改的试卷。

点击未批阅,找到待批阅作业。

点击批阅,填写评分和评语后提交。

1.2.5 回答问题

查看问答列表
进入问答管理-问答列表,查看待回答问题。

回复问题
点击详情,进行回复。

1.3 熟悉android应用功能

adb install /home/project/atstudy.apk

在云手机上安装atstudy.apk。

以下操作中的关键操作需要截图并配上文字提交到实验报告中。

1.3.1 准备fiddler环境

对首页-搜索功能进行操作,输入关键字进行搜索,操作时用fiddler工具进行抓包,抓取到的请求数据如下。

http://train.atstudy.com/api/consume/CourseSet?pageIndex=1&pageSize=10&title=%E5%85%8D%E8%B4%B9

pageIndex对应搜索结果分页的页码,pageSize对应每页的最大结果数,titile对应输入的关键字。

1.3.3 查看课程

找到前面创建的免费录播课,点击进入,点击加入学习或者开始学习进入课程学习界面。使用fiddler抓取数据,会发现各个标签页分别对应不同的请求和响应数据。

章节标签页对应

http://train.atstudy.com/api/consume/UserLesson?userCourseId=2706

简介标签页对应

http://train.atstudy.com/api/consume/UserLesson?userCourseId=2706

评价标签页对应

http://train.atstudy.com/api/consume/CourseEvaluation?pageIndex=1&pageSize=10&courseSetId=1925

问答标签页对应

http://train.atstudy.com/api/consume/UserQA?pageIndex=1&pageSize=10&courseId=2199

笔记标签页对应

http://train.atstudy.com/api/consume/UserNote?pageIndex=1&pageSize=10&courseId=2199

1.3.4 播放视频

展开课时,点击进入视频类型任务,会发现界面上提示播放视频文件失败,这也是一个bug。通过fiddler抓包会发现以下请求响应数据为红色。

请求

http://train.atstudy.com/api/consume/UserTaskVideo

LastWatchDuration的取值为0。

响应

{"errorCode":201201,"message":"字段[LastWatchDuration]The field LastWatchDuration must be between 1 and 2147483647."}

1.3.5 我的学习-查看汇总

我的学习中查看学习汇总信息。

用fiddler抓取数据,对应的请求如下。

http://train.atstudy.com/api/consume/UserCourse/Summary

1.3.6 账号-优惠券

账号中查看优惠券,用fiddler抓取数据,对应的请求如下。

http://train.atstudy.com/api/consume/Coupon

1.3.7 查看页面布局

打开云手机的开发者选项,打开显示布局边界开关,app的界面显示如下。

说明中间是内嵌的网页。

任务2:编写系统测试计划

【任务目标】

梳理项目系统测试工作安排;

编写系统测试计划。

2.1 注意事项

组织形式中需要体现出每个人的具体分工,这样便于监督每个人的工作。

人员

分工

备注

张三

功能测试:前台子系统学习中心

兼容性测试

兼容性考虑主要业务即可

李四

功能测试:前台子系统教学中心

王五

功能测试:后台子系统运营模块

测试对象中功能测试可以细分到模块或者功能点。
测试对象实际工作中一般会考虑到:
1)到模块,比如课程模块、运营模块等。
2)到功能,比如新建直播课、查询直播课、直播课加标签等。
如果只到模块,存在的问题一是对被测软件系统会不够熟悉,问题二是不利于估算工作量。
针对atstudy网校系统,考虑测试对象时需要考虑前台、后台、app要开展的测试类型。
1)前台子系统可以考虑的测试类型有功能测试、性能测试、兼容性测试、安全性测试。
2)后台子系统可以考虑的测试类型有功能测试。
3)android app可以考虑的测试类型有功能测试、性能测试、兼容性测试、网络测试。

子系统

测试类型

模块

测试项/测试点

备注

后台

功能测试

录播课管理

新建、编辑、上/下架。。。

前台

功能测试

登录退出

密码登录、短信登录、微信登录、qq登录、退出。。。

前台

性能测试

响应时间、服务器cpu占用。。。

android应用

功能测试

首页

搜索。。。

测试任务对应整个测试工作的细分,不要机械的去考虑。
测试任务可以按以下角度来分任务:
1)测试活动,比如计划、设计、实现、执行。
2)子系统/模块,比如前台子系统测试、后台子系统测试、android应用测试等。
3)测试类型,比如功能测试、性能测试、兼容性测试。
无论按哪种方式分任务,重点都是时间节点和任务输出。

2.2 完成作业

按照参考模板编写系统测试计划并提交,重点内容是组织形式、测试对象和测试任务安排

三、编写系统测试计划

1、针对atstudy项目使用测试计划模板编写系统测试计划。

假设:项目周期为3个月,测试组包含组长一共是6人。

<<atstudy项目测试计划.doc>>

四、编写系统测试用例

1、针对atstudy前台子系统至少编写60条测试用例,其中至少5条为安全性测试用例。

2、针对atstudy后台子系统至少编写60条测试用例。

3、针对atstudy的移动app至少编写30条测试用例,其中至少3条性能测试用例。

<<测试用例.xlsx>>

五、执行测试用例

5.1 功能测试

1、针对atstudy前台学习中心-课程查询功能测试执行在中间页进行查询的测试用例,并使用火狐浏览器开发者工具抓取数据,分析查询不到结果的细节情况,需要截图说明。

中间页查询截图:

F12数据抓取:响应结果返回一个空列表

请求参数为空

响应结果为空列表,

返回的count字段值正确反映了数据库中存在的总记录数,

故初步判定非数据库访问权限导致的问题

为了进一步定位问题,分别尝试从其他中间页和首页查询,

其他中间页查询返回的仍然是一个空列表。从首页开始查询,可以正常显示查询结果

其他中间页查询结果

首页查询结果

首页查询可以正常返回结果

对比首页查询和中间页查询,差异主要为:indexpage差异,可能是由于中间页的数据分页逻辑出现了问题,服务端系统在处理分页查询时存在问题,导致无法完整地返回所有查询结果。

2、针对atstudy前台子系统,筛选出辅测试环境执行的测试用例,记录结果后提交。

筛选基本为高的测试用例,在谷歌浏览器执行

5.2 缺陷管理

3、针对atstudy系统,提交至少5个bug,并标识清楚是web前台还是web后台还是android应用的bug。

需要用excel完整缺陷报告格式来编写。

5.3 使用Fiddler进行协议抓包测试

4、针对atstudy系统android应用,使用fiddler工具将我的学习-学习数据汇总中的加入学习时间修改为30天,完成学时修改为1000,累计学习修改为100门,截图提交。

环境配置:

步骤

命令

连接手机后,使用命名安装app

adb install +apk路径

解压fiddler

unzip MonoFiddler-v4484.zip

安装mono

apt-get install mono-complete -y

这是在Linux系统上使用apt-get命令安装Mono框架的命令。Mono是一个跨平台的开源.NET框架,它允许开发人员在Linux等非Windows操作系统上开发和运行.NET应用程序。"apt-get install mono-complete -y"命令将安装完整的Mono框架,包括运行时、库和工具。其中,"-y"参数表示自动回答“yes”来确认安装。

apt代表Advanced Package Tool(高级包管理工具)是一个在Debian、Ubuntu等Linux发行版中管理软件包的命令行工具。使用apt,用户可以搜索、安装、升级和删除软件包,还可以处理依赖关系和库文件。apt自动从软件包存储库下载和安装软件包,让软件安装和管理变得更加方便。它也能够自动解决依赖关系的问题,确保系统上安装的软件包之间互相兼容。

设置端口映射

adb reverse tcp:8888 tcp:8888

这是在Android系统中使用adb(Android Debug Bridge)工具来执行端口转发的命令。"adb reverse tcp:8888 tcp:8888"命令会将Android设备上的 8888 端口与本地计算机上的 8888 端口相互绑定。这个命令的作用是,当用户在Android设备上运行一个TCP服务器,并使用localhost:8888来访问它时,Android设备会将它们的请求"转发"到计算机上的该端口,而不是在 Android 设备本身运行的TCP服务器,从而允许用混在计算机上使用 Android 设备上的TCP服务器。

设置代理

adb shell settings put global http_proxy 127.0.0.1:8888

这是在Android系统中使用adb命令设置全局网络代理的语句。其中,"adb shell"代表通过adb连接到Android设备的命令行shell模式,而"settings put global http_proxy"代表将全局http代理设置到adb命令的后续参数"127.0.0.1:8888",即将代理设置为本地计算机上的地址和端口。这个命令的作用是让 Android 设备使用本地计算机上的HTTP代理服务器,来进行网络请求和传输。

配置Fiddler

参考:Fiddler设置

配置完成后关闭重启使配置得以应用

mono fiddler

1、找到要篡改的请求响应数据

学习数据汇总对应的请求如下。

GET http://train.atstudy.com/api/consume/UserCourse/Summary

2、添加自动响应规则

直接拖对应的请求到自动响应规则列表。

3、修改响应数据

在自动响应规则上右键,点击编辑响应数据,

时间修改为30天

根据时间戳转换,修改创建时间为30天前对应的时间戳

完成学时修改为1000

learnednum修改为:1000

累计学习修改为100门

courseNum修改为:100

修改如下:

json查看,数据已修改

4)界面检查

修改后的结果:

5.4 使用阿里云测进行兼容性测试

5、针对atstudy系统的android应用,在阿里云测上挑选至少5款机型进行兼容性测试,下载并提交测试报告。

1、登录云测平台,选择兼容性测试,切换到体验版

网址

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

2、选择需要测试的机型

3、上传被测应用Atstudy.apk

4、兼容性测试任务已提交

5、下载测试报告

<<Atstudy(1.0.8)兼容性测试报告-1084666-MQC.xlsx>>

5.5 使用solopi工具进行性能测试

6、针对atstudy系统android应用,使用solopi工具进行性能测试,提交cpu占用和内存占用的截图。

1、选择需要测试的性能和APP

2、启动APP进行操作,

完成录制后再次进入性能测试

查看录制回放

3、查看各项性能指标

7、针对atstudy系统android应用,利用adb logcat测试冷启动时间,将日志中相关内容截图,并填写具体时间。

具体时间:846毫秒

注意:题目要求使用adb logcat

5.6 使用monkey工具进行稳定性测试

8、针对atstudy系统android应用,使用monkey工具进行稳定性测试,要求测试100次,填写命令,并将monkey日志截图上传

1、获取包名:com.atstudy.ando

2、执行命令:

根据实际工作需要,指定各个参数的值

adb shell monkey -p 包名 --throttle 时间间隔 -s 种子值 -v -v -v 操作次数

adb shell monkey -p com.atstudy.ando  --throttle 500 -s 888 -v -v -v 100

-p,指明要测试的app,如果不写-p参数是指针对手机整机来进行测试。

--throttle,指明每次操作的间隔,一般设置为500,对应500ms(半秒),模拟人的正常速度。如果设置为更小的值,模拟人的快速点击,属于性能测试中压力测试。

-s,通过一个数字来生成随机测试的操作序列(点击->滑屏->点击->点击->滑屏)。

-v,用于设置monkey日志的详细程度,3个-v表示最详细。

3、为了便于后期分期,可以在运行monkey时,同时记录logcat日志

<<Monkey.txt>>

比如:在输出结果中查找错误日志、是否有ANR(程序不响应)问题、是否有程序运营崩溃等异常情况,从而定位缺陷

4、记录问题,提交给开发人员进行修复

5.7 UI自动化测试框架

<<自动化脚本的封装.md>>

1、请在 atstudy 项目中 完成  选课学习的业务自动化测试,需求如下?

被测网址

train.atstudy.com

1.完成业务流程元素定位,业务流程如下:登录-选课中心---选择任意门课程---开始学习

业务流程

元素定位

登录

get_element(node="jwlogin",key="user_login").click()

get_element(node="jwlogin",key="user_name").send_keys(username)

get_element(node="jwlogin",key="user_password").send_keys(password)

get_element(node="jwlogin", key="login_button").click()

选课中心

get_element(node="jwxuanke",key="touxiang")

选择任意门课程

kecheng_xpath="//*[@id='__layout']/div/div[2]/div/div[2]/div[2]/div["+str(kechenghao)+"]/div[3]/button"

#选择的课程xpath

 driver.find_element_by_xpath(kecheng_xpath).click()

开始学习

get_element(node="jwxuanke", key="kaishixuexi").click()

2. 针对选课功能  如何进行多用例测试?

在工程中新建test_data测试数据包

将测试用例存放在csv文件中

数据使用逗号分隔

设计函数读取数据,进行多用例测试

def get_csv_data(csv_file,line):

        jw_csv_file= open(csv_file, 'r', encoding='utf-8-sig')

        reader = csv.reader(jw_csv_file)

        # 参数2 :决定了下标位置的开始计数方式

        for index, row in enumerate(reader, 1):

            if index == line:

                print(row)

                return row

3. UI页面元素变更如何处理?

总体上:由于程序更新、或者开发修改了代码,导致元素属性的变化,自动化测试用例找不到特定的元素,测试测试用例无法执行,从而导致测试过程失败

几种可能的应对方法:

  1. 根据最新的元素属性进行自动化脚本的更新
  2. 使用更稳定的属性进行元素定位
  3. 使用更灵活的定位方法进行元素定位
  4. 将页面上的UI元素和相关操作进行封装

封装各种selenium查找元素的各种方式的代码

这里将采取PO思想,将页面元素和python代码分离,修改UI界面变更后修改元素

import os

from time import sleep

from config.jw_driver import get_firefox_driver

from config.read_ini import jwReadIni

class jwFindElement():

    def __init__(self,driver):

        self.driver=driver

#获取元素

    def get_element(self,file=None,node=None,key=None):

        if file==None:

            file=os.path.dirname(os.path.dirname(__file__))+"/business/LocalElement.ini"

        if node==None:

            node="jwlogin"

        read_ini=jwReadIni(file,node)

        data=read_ini.get_value(key)

        #得出定位方式 文件中是以  > 方式切割

        by=data.split('>')[0]

        value=data.split('>')[1]

        try:

            if by=='id':

                return self.driver.find_element_by_id(value)

            elif  by=='name':

                return self.driver.find_element_by_name(value)

            elif by=='className':

                return self.driver.find_element_by_class_name(value)

            elif by=='link_text':

                return self.driver.find_element_by_link_text(value)

            elif by=='xpath':

                return self.driver.find_element_by_xpath(value)

        except:

            return None

    def gundongdaodibu(self):

        self.driver.set_window_size(600, 600)

        sleep(2)

        # 通过JS设置浏览器窗口的滚动条位置

        # 横向滚动100

        # 纵向  滚动 450

        js1 = "window.scrollTo(0, 600);"

        self.driver.execute_script(js1)

if __name__=="__main__":

    parent_path = os.path.dirname(os.path.dirname(__file__))

    driver=get_firefox_driver()

    aa=jwFindElement(driver)

     #测试是否可以在get_element 找到登录链接

    print(aa.get_element(parent_path+"/business/LocalElement.ini","jwlogin","user_login"))

4.  测试用例通过的标准如何体现?

(验证点 :评价是否存在)

1、查看测试用例通过界面特有的元素进行元素定位,如果能找到判定测试用例通过,找不到则判定为用例不通过,以选课成功测试用例为例,验证页面上能否找到评价

#验证是否有评价信息

        sleep(2)

        result = jw2.get_element(node="jwxuanke",key="yanzheng")

        sleep(2)

        print("找回复是否有评价的结果是", result)

        if result == None:

            return False

        else:

            return True

    except Exception as e:

        print("JW",e)

        print("流程异常,都认为选课失败")

        return False

5. 测试报告如何展示?

通过BSTestRunner.py 开源插件文件实现

6. 如何做到自动化测试速度超过手工测试?

自动化测试在以下场景中,可以提升测试速度,达到超过手工测试的效果:

  1. 大规模、重复性测试:并行执行多个测试用例,快速处理大量数据。
  2. 每天在预定的时间内运行测试用例,且无需人工干预。
  3. 快速重复执行相同的测试用例
  4. 用例需要在多个环境中运行时:通过自动化脚本提供一致的测试标准,从而避免测试人员在不同的测试阶段使用不同的测试标准
  5. 性能和负载测试:自动化测试可以在多个客户端上模拟用户操作,从而帮助测试团队确定系统和性能的局限

标签:课后,课程,Atstudy,录播,点击,测试用例,实训,测试,atstudy
From: https://blog.csdn.net/qq_45008212/article/details/141298155

相关文章

  • 云计算实训31——playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作
    playbook(剧本):是ansible⽤于配置,部署,和管理被控节点的剧本。⽤于ansible操作的编排。使⽤的格式为yaml格式一、YMAL格式以.yaml或.yml结尾⽂件的第⼀⾏以"---"开始,表明YMAL⽂件的开始(可选的)以#号开头为注释列表中的所有成员都开始于相同的缩进级别,并且使⽤⼀......
  • 实训day30(8.16)
    一、回顾1、mysql和python    (1)mysql5.7    1.1不需要执行mysql_ssl_rsa_setup    1.2change_master_to不需要getpublickey(2)可以使用pymysql非交互的管理mysql    2.1pymysql.connect(host,user,password,database,port)  ......
  • 基于前后端设计的爱宠网站——毕设/课设/实训/大作业/竞赛
    引言1.1编写目的此说明书是为了能方便用户成功地部署以及使用而编写的。1.2背景爱宠网站开发完成之后。1.3网站介绍本网站是为爱宠人士而服务的,为了方便他们上传他们收藏的视频,以及下载他们爱看的视频。网站提供新闻观看和评论、视频观看、下载和在线弹幕发送。本网站还......
  • 基于前后端开发的动物之家网站(毕设/课设/竞赛/实训/大作业/项目)
    1、引言1.2、背景当今,流浪动物横生,一是人类的弃养,二是流浪动物之间的繁殖。它们数量众多,并且在这种现代化城市中难以生存。许多动物都病衰残疾,不但可怜,而且影响环境。而各地的动物保护组织的作用也并不明显,因为它们给予的帮助是有限的。还有就是,每个饲主最最最担心的问题,莫......
  • 实训day29(8.15)
    一、python管理mysql1、搭建主mysql[root@mysql57~]#tar-xfmysql-5.7.44-linux-glibc2.12-x86_64.tar.gz [root@mysql57~]#cp-rmysql-5.7.44-linux-glibc2.12-x86_64/usr/local/mysql[root@mysql57~]#rm-rf/etc/my.cnf[root@mysql57~]#mkdir/usr/local......
  • 云计算实训30——mysql主从复制同步、mysql5.7版本安装配置、python操作mysql数据库、
    一、mysql主从复制及同步1、mysql主从自动开机同步2、配置mysql5.7版本mysql-5.7.44-linux-glibc2.12-x86_64.tar启动服务、登录对数据库进行基本操作3、使用python操纵mysql数据库4、编辑python脚本自动化操纵mysql数据库二、mycat读写分离......
  • 实训日记day29
    MySQL读写分离1、读写分离的目的数据库负载均衡:当数据库请求增多时,单例数据库不能够满足业务需求。需要进行数据库实例的扩容。多台数据库同时相应请求。也就是说需要对数据库的请求,进行负载均衡但是由于数据库服务特殊原因,数据库扩容基本要求为:数据的一致性和完整性......
  • 网络安全实训第二天
    1.业务逻辑漏洞注册一个账号在输入购买数量的输入框中输入-1并提交,然后点击提交订单提交订单后查看余额,发现账号多出6000元,漏洞利用成功2.更改支付金额在选定一个商品之后,使用BP拦截提交订单的请求,并找到价格修改为0查看用户下单界面单价是否为0点击提交订......
  • 网络安全实训第三天
    1文件上传漏洞准备一句话文件wjr.php.png,进入到更换头像的界面,使用BP拦截选择文件的请求拦截到请求后将wjr.phh.png修改为wjr.php,进行转发由上图可以查看到上传目录为网站目录下的upload/avator,查看是否上传成功使用时间戳在线工具获取到上传文件的名称打开......
  • 云计算实训28——haproxy(七层代理)、python代码的读写分离
    一、haproxy----高可用、负载均衡1.安装安装ntpdate[root@haproxy~]#yum-yinstallntpdate.x86_64安装ntp[root@haproxy~]#yum-yinstallntp同步时间[root@haproxy~]#ntpdatecn.ntp.org.cn启动ntp服务[root@haproxy~]#systemctlstartntpd设置开机自......