AgileTC测试用例管理平台的基本使用

1. 背景 使用企业微信在线文档对测试用例进行管理,存在以下问题,比如新建版本,每次都要设置下执行测试用例那一栏,要提供通过、失败、阻塞等选项,操作异常繁琐,比如版本管理问题,多个版本之后,想要追溯老版本测试了哪些功能,很难进行筛选,比如测试用例越来越多,文档打开慢的问题等等。 2. 调研 为了解决以上问题,调研了市面上的一些平台,发现有些平台功能过多,有些平台需要付费,现阶段,显然不太合适,然后发现了AgileTC,它是一套敏捷的测试用例管理平台,以脑图方式编辑可快速上手,有以下几个优势: 可新建多个用例集,用例可以设置优先级; 可基于用例集,创建执行测试任务,并且可跟进优先级筛选进行测试; 版本管理问题,多个版本管理不会有问题,创建执行测试任务就是一个版本,比如V1.0研发自测,就是一条执行测试任务; 可搜索快速定位到要查看的功能模块,并且其他功能模块收起; 可以设置前置条件、执行步骤、预期结果标签; 左侧有菜单,可快速查看其他项目; 离开当前页,可以自动保存; 学习成本很低,而且是开源免费的; 可以导出执行测试结果为xmind文件,用于项目提测时,给到测试组。 基于以上原因,计划使用AgileTC系统,在线管理各项目的测试用例。 3. 基本使用 3.1 准备环境 1. mac/linux/windows 1. java 1.8 1. mysql 服务端 3.2 下载 git clone https://github.com/didi/AgileTC.git 3.3 create database case_manager 使用命令 create database case_manager在 MySQL Workbench 中创建依赖数据库。 3.4 运行 case-server.sql 脚本内容 拷贝 ./AgileTC/case-server/sql/case-server.sql 文件内容,在 MySQL Workbench 中运行。 双击 case_manager ,选中当前依赖数据库。 点击闪电图标执行。 3.5 修改 application-dev.properties 文件 修改 ./AgileTC/case-server/src/main/resources/application-dev.properties 文件,如下所示: spring.datasource.url=jdbc:mysql://localhost:3306/case_manager?serverTimezone=UTC spring.datasource.username=root spring.datasource.password=12345678 3.6 运行命令 mvn spring-boot:run 在case-server目录下执行命令mvn spring-boot:run。 使用浏览器打开 http://localhost:8094/case/caseList/1。 ...

2024-08-21 · 1 分钟 · 76 字

Sentry的基本使用

1. 系统简介 Sentry是一个开源的监控系统,可以收集项目中的异常信息,便于开发人员第一时间发现问题,定位问题,解决问题。当前文档基于Sentry 23.11.2进行说明。 2. 系统搭建 虽然Sentry官方提供了在线系统,但是因为需要翻墙,加上如果是公司项目,考虑到安全问题,还是倾向于私有化部署,在Github上有一个开源项目用于部署Sentry,可以使用该项目进行部署: git clone https://github.com/getsentry/onpremise.git 因为这个项目涉及很多后端的技术知识,Sentry搭建最好是后端人员来做,然后部署到服务器上面去。 3. 创建项目 Sentry搭建成功,部署到服务器,比如当前Sentry在线系统为https://123.11.22.133,使用账号test001登录,一开始默认是英文显示,如果想要切换为中文,只需要在左上角的User settings里的Language选项选择Simplified Chinese即可,然后创建项目,其他平台同理,如下图所示: 4. Vue3项目引入Sentry 项目创建完成后,会跳转至 Vue SDK 配置的说明文档,默认勾选三个监控模块,并且提供Vue3和Vue2版本的引入方式,如下图所示: 三个监控模块的简单功能说明,如下所示: Error Monitoring: 自动报告项目错误和异常。 Performance Monitoring: 通过性能监控,Sentry跟踪你的软件性能,测量吞吐量和延迟等指标,并显示错误对多个系统的影响。Sentry捕获由事务和span组成的分布式跟踪,这些跟踪测量单个服务以及这些服务中的单个操作。在分布式跟踪中了解更多关于我们的模型的信息。 Session Replay: 会话重播通过像视频一样重现用户浏览器在错误发生前、发生中、发生后的情况,帮助你更快地找到错误或延迟问题的根本原因。受浏览器开发者工具的启发,你可以在一个组合的UI中回放应用程序的DOM状态,并查看关键的用户交互,如鼠标点击、滚动、网络请求和控制台条目。 首先,我们需要依照文档进行配置,安装依赖 # Using npm npm install --save @sentry/vue # Using yarn yarn add @sentry/vue 然后,在main.ts里引入Sentry.init(),如下所示: import { createApp } from "vue"; import { createRouter } from "vue-router"; import * as Sentry from "@sentry/vue"; const app = createApp({ // ... }); const router = createRouter({ // ... }); Sentry.init({ app, dsn: "https://examplePublicKey@o0.ingest.sentry.io/0", integrations: [ Sentry.browserTracingIntegration({ router }), Sentry.replayIntegration(), ], // Set tracesSampleRate to 1.0 to capture 100% // of transactions for tracing. // We recommend adjusting this value in production tracesSampleRate: 1.0, // Set `tracePropagationTargets` to control for which URLs trace propagation should be enabled tracePropagationTargets: ["localhost", /^https:\/\/yourserver\.io\/api/], // Capture Replay for 10% of all sessions, // plus for 100% of sessions with an error replaysSessionSampleRate: 0.1, replaysOnErrorSampleRate: 1.0, }); app.use(router); app.mount("#app"); 此时,只要项目在本地运行或部署至线上,打开项目,然后打开浏览器控制台,查看Network列表,会发现很多类似这样的请求,并没有报错,这就意味着当前已经正常上报到Sentry系统了,如下所示: ...

2024-08-18 · 3 分钟 · 601 字

ARTS Week 37

Algorithm 本周的算法题为 1232. 缀点成线 给定一个数组 coordinates ,其中 coordinates[i] = [x, y] , [x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上。 示例 1: 输入:coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]] 输出:true 实现代码如下: const checkStraightLine = function (coordinates) { // 两点确定一条直线 if (coordinates.length < 2) { return false; } // 同一个X轴 const allEqualX = coordinates.every((item) => item[0] === coordinates[0][0]); if (allEqualX) { return true; } // 同一个Y轴 const allEqualY = coordinates.every((item) => item[1] === coordinates[0][1]); if (allEqualY) { return true; } // 对角线 const [x0, y0] = coordinates[0]; const [x1, y1] = coordinates[1]; // 斜率 const slope = (y1 - y0) / (x1 - x0); // 遍历剩余的坐标点,检查斜率是否一致 for (let i = 2; i < coordinates.length; i++) { const [xi, yi] = coordinates[i]; // 避免除以零,并且使用交叉乘积来比较斜率 if ((yi - y0) * (x1 - x0) !== (y1 - y0) * (xi - x0)) { return false; } } return true; }; 解题思路: 首先,我们明确需求,即判断一组点是否都在同一直线上。这包括三种情况:所有点的X轴坐标相同、所有点的Y轴坐标相同,或者是这些点构成一条斜线。我们可以使用every方法遍历数组中的点,对比它们的X轴或Y轴坐标是否相同。 接下来,对于斜线的判断,我们需要验证这些点的斜率是否一致。如果直接计算斜率 (yi - y0) / (xi - x0) 并与另一个斜率 (y2 - y1) / (x2 - x1) 进行比较,而 x2 - x1 为0时,会遇到除零错误或浮点数精度问题。为了避免这些问题,我们可以使用交叉乘积的方法,即两边同时乘以 (xi - x0) * (x2 - x1),从而得到 (yi - y0) * (x1 - x0) == (y1 - y0) * (xi - x0) 作为斜率是否相等的判断条件。 ...

2024-08-10 · 2 分钟 · 232 字

2024-08-08 运动记录

饮食 早餐:猪杂粥、豆浆 午餐:公司食堂 晚餐:麻辣烫、无糖生可乐、雪碧、西瓜 无氧 无 有氧 总结 下班就去健身房 戒掉可乐、饮料 22:30前睡觉

2024-08-08 · 1 分钟 · 11 字

2024-08-06 运动记录

饮食 早餐:鸡蛋、炒河粉、豆浆 午餐:公司食堂 晚餐:蒸土豆、黄瓜、牛奶、无糖生可乐、沙示可乐、气泡苏打水、豆豉 无氧 无 有氧 总结 下班就去健身房 戒掉可乐、饮料 23:00前睡觉

2024-08-06 · 1 分钟 · 11 字