本节课开始的是一个全新的篇章,用例设计。 前言: 先来看一个问题:如何用deepseek来生成测试用例呢? 本来在最初的很多同学眼里,无非就是直接把原始需求发给AI,然后让其生成测试用例就完事了。 还比如想到不同的功能点适用的用例设计方案也不同,可以针对不同功能点单独配置用例设计方案。 等等等等... 越改越多,越来越复杂,于是乎,自动化的AI用例生成平台就为此而诞生了,也就是本教程。 生成前:在需求上下功夫 2. 生成中:生成测试用例 3. 生成后:对用例进行整理和使用等 那么,现在本教程进入到了哪个阶段了呢?当然是第二阶段了。 于是本节将正式开始做这个用例生成模块: 正文: 先来看看现在的平台样子: 我们首先,可以先对这个用例生成页面进行设计开发: 首先,我们先要获取到有多少个生成任务? 看一下: 也就是有13个生成任务。 所以,我们这个用例生成页面,首先先应该给基本信息获取并展示出来,这样在漫长的生成过程中,使用者也可以有个数。 先来生成用例生成子页面吧: 新建:CaseMake.vue 内容如下:复制后需自行换行。
上节课我们做了简单的第一版的 用例生成功能。结果展示到了界面上。 本节课来处理下后续的工作之一:去重。 生成的用例的确很多。 我们看上节课的结果例子中其实是有重复的,这主要是我写的智能体假返回值,用了一个简单的随机数,以模仿可能出现的重复用例。 这里再插一嘴,在进行了不同用例生成方法为主的分类后,重复的概率很低,而且即便重复了,也可能是不同侧重的用例。 比如侧重边界值的和侧重判定表的某条重复了:拿登录功能举例 1. 而用例是否算重复,绝对不能简单的看字符串是否一致。必须要更加灵活的进行比对,比如切割成词组,余铉相似等理论。 无非就是: 把生成后的用例传送给后端 接收后端新的去重后的用例 把新用例展示 所以: step3: 写完整这个函数: 好,到此前端部分就结束了。 下节课我们搞定后端就实现了这个功能咯~
本节课继续开发以下内容: 【当点击开始生成按钮后,发送一个生成请求给到后台,后台通过函数通过调用并发线程,开始对这13个任务同时生成。每一个结果将独立发给汇总模块处理。】 汇总模块负责对结果进行进一步的筛选审核去重等功能,并返回给前端,后续前端可对结果进行人工修改,导出,永久存储等功能) 所以打开CaseMake.vue,进行如下开发: 然后在Myapp下创建一个专门用来处理用例生成的文件模块 :views2.py 然后做一个对应开始生成的引导函数: 最后是urls.py: 然后刷新页面,测试一下,点击开始生成按钮后能否在不报错的情况下成功显示提示: 然后来看一下为了生成用例,我们要提取的额该项目的信息有 然后重新分解下: 结果如下: 然后点击【后保存】按钮后,再执行下最新的 用例生成按钮: 可以看到结果已经更正过来了: 但是这个结果很显然,并不是很工整,为了更好的给AI智能体使用,我们还需要进行一个简单小优化
注意,我们在排查重复的时候,是优先删除后面用例的哦~ 就比如说 等价类出现了用例1 ,判定表也出现了用例1, 算法会删除判定表中的用例1 ,保留等价类的用例1 这里会提示删除了什么在后台控制台中: 我们来做个测试 ,按照我写死的用例数量生成后,是固定的39条: 点击去重后:生下来33条: 控制台显示删除了这6条重复的: 前端界面也可以看到,有些设计方法去重后不足3条了: 这个算法暂时算是完成了。 jieba from sklearn.metrics.pairwise import cosine_similarity 然后下面新建这个函数和修改红圈部分:注意,此时设置分数大于0.8 这里因为写死的用例都太过相似 ,所以我们改一下之前写死的生成代码: 现在开始测试一下,先点击生成: 看下生成的用例:39条 然后点击去重按钮: 可以看到只去除了1条: 然后看看控制台日志: 可以发现,只有一条,因为只差了一个字不同, 但这里就有个问题,这个过程是不可逆的,一旦弄的太小了,剩的用例太少了,想再返回就不太可能了。毕竟删掉了就是删掉 了。 所以我们下一节的任务就是,做好前端动态调节系数的同时,做一个可逆转的操作。
写在前面 最近在群里看到很多同学在讨论“AI生成的用例到底能不能用”、“用例生成质量”、“哪个模型适合生成用例”这些话题,觉得挺有意思的,今天就结合我自己用 TestHub 从“需求->用例->执行”的项目实战案例 先说结论:AI生成的用例绝对可以用,放心大胆地用! 一、用例生成质量和什么有关?如何提高? 在开始讲解案例之前,我们不妨先来思考一个问题:用例生成质量和什么有关? ,给出评审意见和补充用例; 生成完成:打印基于生成+评审意见综合改进后的最终版用例; 2.2.4 查看生成的用例 用例生成页面分为三个部分: 实时生成内容:也就是调用AI用例编写模型+用例编写提示词生成的用例内容 ; AI评审意见:调用AI评审模型+用例评审提示词,对上一步生成的用例给出的评审意见和补充用例; 最终版用例:基于生成+评审意见综合改进后的最终版用例; 我这里一共生成了55条用例。 所以查看生成的用例可以在用例生成页面实时查看,也可以在用例生成记录详情中查看。 用例生成记录详情,支持单个/批量采纳、弃用、编辑。
#风格特点: 严谨务实的工程师思维模式 回复必须用列表数组 注重测试覆盖率与可执行性平衡 不做需求之外的事,让分解需求就只分解需求不生成用例,让生成用例就只生成用例 #输出要求: ✧ 使用数组列表来呈现分解后的需求功能点或测试用例 ✧ 每条用例都包含且只包含[测试标题][测试步骤][输入数据][预期结果] ✧ 单条用例不超过50字(中文) #能力限制: × 分解需求时不生成测试用例 × 生成用例时不直接执行测试用例 × 生成用例时按照指定方法生成 ---意图配置2--- ##意图名称:测试用例生成 ##意图描述:根据具体测试点联系上下文按照括号内规定的生成用例方法来生成测试用例 ##意图示例: 用户输入:"生成用例(边界值):登录功能-用户名输入框测试 让AI模型先不考虑太多复杂的冲突,而是专注于按照单一的用例生成方法来生产测试用例,然后再把这大量的测试用例融合到一起,让AI去重。等去重之后,再让其去掉不符合常理或无法实现的用例。 而让AI模型去生成测试用例的过程中,我们也要反复强调全面,甚至多次让AI补充用例,尽量减少遗漏用例,多了不怕,反正后面有去重,就怕有漏掉的。
AI编写用例流程图AI编写用例架构图三、设计核心介绍本部分介绍如何使用AI辅助生成功能用例,详细讲解了从PRD文档->测试点->测试用例->Xmind用例->使用采纳,整条链路的核心设计与实现。 文档读取分为6个步骤,分别为:获取飞书token、获取用户token、获取文件block列表、Table表格解析、电子表格解析、解析结果组装。 RAG提取架构设计核心代码逻辑模型设计测试点生成器测试点生成器为AI生成用例的核心,实现PRD到测试点的转换。 实现方案详情※ 测试点解析生成markdown格式用例:生成markdown格式用例解析结果※ AI markdown格式转换为Xmind结构用例转换Xmind结构生成结果模型设计知识库搭建LLM大模型有通用的推荐能力 ,实现了从 PRD自动解析->测试点生成-> Xmind用例生成->同步平台的完整流程。
Cell(5, 1).Range.Rows.Height = h .Cell(5, 1).Range.Text = "法 定 代 表 人" .Cell(6, 1).Range.Font.Name = wt .Cell(6, 1).Range.Font.Size = zt .Cell(6, 1).Range.Font.Bold = True .Cell(6, 1).Range.Rows.Height = h .Cell(6, 1).Range.Text = "联 系 电 话" 2).Range.Font.Name = wt .Cell(6, 2).Range.Font.Size = 14 .Cell(6, 2).Range.Font.Bold = True .Cell(6, 2).Range.Rows.Height = h .Cell(6, 2).Range.Text = Text8.Text
前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次。 100% ██████████ Results (0.08s): 3 passed –repeat-scope 作用:**可以覆盖默认的测试用例执行顺序 ,类似fixture的scope参数 function:默认,范围针对每个用例重复执行,再执行下一个用例 class:以class为用例集合单位,重复执行class里面的用例,再执行下一个 module :以模块为单位,重复执行模块里面的用例,再执行下一个 session:重复整个测试会话,即所有测试用例的执行一次,然后再执行第二次 def test_example(): print("执行成功
一般来说,会把长篇大论的需求,找出所有的功能点,再对每个功能点写测试用例。所以AI生成用例的一大步骤,就是对需求进行分解。会分解成多个功能点。 并且把返回来的分解后的需求赋值给另一个新的列表型变量:new_srs 接下来是把这个new_srs用循环的方式显示到上方分解结果中: 接下来,我们得去django后台去搞定这个接口srs_fj了。
script中的改动如下,data声明变量,methods存放获取函数,mounted自动调用函数。
自动生成用例 用例就在tests/mitm实时生成好了,用例文件名为当前时间: 每录制一个请求,就能在测试用例中看到实时添加了一条测试步骤: # 接口描述 # 数据 # 请求 /usr/bin/python # encoding=utf-8 # mitmproxy录制流量自动生成用例 import os import time from mitmproxy import time.strftime("%Y%m%d_%H_%M_%S", time.localtime()) + ".py" case_file = os.path.join(mitm_dir, filename) # 生成用例文件 =============命令说明结束================================== """ 通过mitmproxy命令启动代理后,获取当前时间作为文件名在tests/mitm下生成用例文件 自动生成的用例只支持tep风格。
const myChart = echarts.init(chart.value); const option = { title: { text: '本平台测试用例使用次数折线图
上节课我们设计了一个弹层,用来设置不同用例设计方法对应的需求功能点细分等。 这不,现在就要给填上不同用例的设计方案了。 这里我们有俩种方案来设计这个表。 1. 每个用例设计方法做一个字段,共13条,以后也会增多,但增多必须修改底层数据库增加新字段,何况项目以后还有很多其他重要字段,字段太多会很乱。所以不推荐。 2. 所有用例设计方法做一个列表,放在一个大文本字段中存储。以后增删改都比较方便,也不用修改底层数据库,所以我们采用这个办法。 于是,改成如下: 大家可以关注到,默认为空列表。 直接在函数中写上最初的列表和内部13个用例方法的键值对,就可以。那我们之前新建的这些项目就都算是脏数据了,可以删除,重新创建新项目来继续之后的开发。
在本文中,我将向你展示 JavaScript 中 reduce() 方法的6个用例。 , 2, 2, 1, 2, 3, 3])); // Result: 2 console.log(findOdd([1, 2, 3, 4])); // Result: 4 -> Not working 6、 prev: 15.58 curr: 2.99 // prev: 18.57 curr: 5.99 // 24.560000000000002 结论 了解 JavaScript 中一些内置函数的用例可以帮助你提高编码技能 学习用例可以为你提供一些见解,你可以优雅地实现一些功能。 JavaScript 中的 reduce() 也是一个有用的内置函数。如果你知道如何使用它,它是强大的。 综上所述,本文reduce()的用例如下: 对数组元素求和 展平数组 创建管道 从数组中获取对象 找出出现奇数次的整数 查找给定数组的最大子数组和。
引 unittest框架和pytest框架编写的测试用例执行顺序,默认根据ACSII码的顺序加载测试用例,数字与字母的顺序为:0~9,A~Z,a~z。 对于测试目录与测试文件来说,unittest同样是按照这个规则来加载测试用例的。 背景 我们写接口测试用例的时候,可以按上下接口顺序给它命名test_01...test_02...test_03...等等。 这样写的弊端是用例执行顺序是: test_01<test_02<test_03<test_04<test_05... 如果我想test_04在test_03前面呢? 下载地址:github 上有个 pytest-ordering 插件可以控制用例的执行顺序,github插件地址https://github.com/ftobia/pytest-ordering。
本节课开始研发"进入项目"的功能。也就是用户一点击项目后进入的页面。实现起来是这样的思路。
3. 在methods中写出请求函数并在mounted中调用函数,这样可以让页面自动请求而无需用户手动触发:
PICT工具一键生成正交试验用例 作用: 1、解决手动设计大量测试用例、或覆盖不全面问题,提高测试效率 2、读取excel,将生成的参数组合自动带入脚本,进行接口自动化测试 一、PICT简介 PICT工具是在微软公司内部使用的一款承兑组合的命令行生成工具,现在已经对外提供,可以在 http://download.microsoft.com/download/f/5/5/f55484df-8494 -48fa-8dbd-8c6f76cc014b/pict33.msi 下载。 PICT可以有效地按照两两测试的原理,进行测试用例设计。在使用PICT时,需要输入与测试用例相关的参数,以达到全面覆盖的效果。 二、PICT的安装 1. 2、在安装目录下cmd打开命令框,输入pict case.txt回车,生成正交试验用例 ? 3、安装目录下生成excel用例文件,输入pict case.txt>case.xls回车 ?
PICT是一个测试用例生成工具,可以有效地按照两两测试的原理,进行测试用例设计。在使用PICT时,需要输入与测试用例相关的参数,以达到全面覆盖的效果。 它可以生成测试用例和测试配置,其理论基础是成对测试技术(Pairwise Testing)。 下载地址:http://www.pairwise.org/tools.asp ? 二、工具安装使用 1、使用讲解 以以下登录页面进行用例设计,使用PICT来设计测试用例 ? 2、创建用例文档 ? 4、执行指令:pict 用例文档名称(pict LoginCase.txt) A:当执行出现乱码时,可做如下操作 ? 三,导出用例 执行导出命令:pict LoginCase.txt > LoginCase.xls 会在Pict工具根目录下生成.xls文件 ?