当前位置: 首页 > article >正文

【测试基础】06-软件测试用例设计方法之等价类

测试用例设计的方法有以下几个等价类边界值法场景法错误推断法因果图判定表正交实验法本期我们先介绍等价类等价类划分法使用场景针对表单类页面元素测试的时候使用典型代表输入框下拉列表单选复选框概念等价类划分法是一种典型的重要的黑盒测试方法是把所有可能的输入划分为n个子集合在该子集合中所有的输入数据对于揭露软件中的错误都是等效的。简单来说就是把所有的数据划分为N个子集在每个子集中抽取最具有代表性的数据来进行测试。等价类划分有效等价类和无效等价类。举个栗子比如有一个用户名输入框它的长度规则是6~18。那么有这样一个条件的输入框要你怎么来测首先我们进行测试的时候既要考虑符合条件对应的数据6~18还有去考虑不符合条件的数据小于6大于18。那此时小于6大于18的数据很多很多我不可能穷尽测试所以此时我们可以使用等价类的方法。如图所示我们等价类要从上述123这三个子集里面去选取数据来测试说白了我们选三个数据每一个子集中选一个就能测。所以我们等价类划分的难点是在怎么去划分子集你一旦划分完子集你选取数据就简单了。等价类划分有效等价类我们有意义的输入数据所构成的集合。无效等价类无效的输入数据所构成的集合。具体示例1只针对用户名一个框需求用户名使用字母数字下划线2~18个字符。等价类划分的分析步骤根据需求分别找出需求的条件【条件就是规则/约束】根据条件(约束)分别找出每个条件的有效等价类和无效等价类。对有效等价类和对无效等价类进行编号。有效等价类归为一组(A组)无效等价类归为一组(B组)你可以用A和B来区分。选取测试用例我们根据有效等价类选择正例(正例符合需求的有效的数据而编写的用例)根据无效等价类选取反例(反例输入错误或无效的数据而编写的用例)1、划分编号我们上述的需求他有以下两个规则1.1组合规则使用字母数字下划线那么符合这个规则的有效等价类和无效等价类有哪些有效等价类以字母开头包含数字加下划线。A1(编号)以数字开头包含字母加下划线。A2以下划线开头包含字母加数字。A3无效等价类字母数字下划线其他 B1只包含其他(非字母数字下划线) B2纯字母 B3纯数字 B4纯下划线 B5字母数字 B6字母下划线 B7数字下划线 B8空 B91.2长度规则长度2~18符合长度规则的有效等价类和无效等价类有哪些有效等价类2长度18 A4无效等价类长度2 B10长度18 B111.3是否已注册有效等价类未注册 A5无效等价类已注册B122、选取测试用例选取测试用例的规则有效等价类使其尽可能多的覆盖尚未被覆盖的有效等价类重复这一步直到所有的有效等价类都被覆盖为止。(用最少的用例去覆盖最多的有效等价类)无效等价类使其仅覆盖一个尚未被覆盖的无效等价类重复这一步直到所有的无效等价类都被覆盖为止。(用最多的用例去一一覆盖无效等价类)正例【取且就是两个规则都满足】A1A4A5A2A4A5A3A4A5反例【取或即可就是两个规则含有其中一个即可】B1B2B3B4B5B6B7B8B9B10B11B12通过上述的分析我们用户的输入通过等价类划分之后呢就只需要使用15条数据就完成了测试。具体示例2有多个输入框怎么做1、划分编号1.1邮箱地址框1.1.1组合规则可以使用字母数字下划线需以字母开头有效等价类以字母开头数字下划线 A1以字母开头下划线数字 A2无效等价类以字母开头字母 B1以字母开头数字 B2以字母开头下划线 B3以字母开头数字下划线其他 B4以数字开头字母下划线 B5以下划线开头数字字母 B6纯下划线 B7纯数字 B8其他字符 B9空 B10以其他字符开头字母数字下划线 B111.1.2长度规则有效等价类6长度18 A3无效等价类长度18 B12长度6 B131.1.3唯一性规则有效等价类未被注册 A4无效等价类已注册 B141.1.4 邮箱地址后缀是163.com/126.com/yeah.net有效等价类163.com A5126.com A6yeah.net A7无效等价类由于后缀是必选的所有没有无效1.2密码框1.2.1组合规则有效等价类大写字母小写字母数字 A8无效等价类大写字母小写字母数字其他 B15大写字母数字 B16小写字母数字 B17大小写字母 B18其他字符 B19空 B201.2.2长度规则有效等价类8长度16 A9无效等价类长度8 B21长度16 B22(编号)1.3手机号码输入框这里手机号码输入框没有对应的需求那么此时我们可以使用AI来帮我们做这件事情提示词使用等价类划分对图片的需求进行用例设计得出核心约束输入必须是11 位数字必须以合法手机号段开头如 13、14、15、17、18、19 等不允许包含字母、特殊字符、空格等非数字内容不允许为空运营商 有效号段中国移动 134、135、136、137、138、139、147、148、150、151、152、157、158、159、165、172、178、182、183、184、187、188、195、197、198中国联通 130、131、132、145、146、155、156、166、175、176、185、186、196中国电信 133、149、153、173、177、180、181、189、190、191、193、199中国广电 1921.3.1组合规则纯数字、前3位必须是有效号段范围内有效等价类11 位纯数字号段在有效号段范围内 A10无效等价类不是以1开头的纯数字 B23以1开头、非有效号码的纯数字 B24数字其他字符 B25空 B261.3.2长度规则必须是11位有效等价类长度11 A11无效等价类长度11 B27长度11 B281.3.3是否开通规则有效等价类已开通 A12无效等价类未开通 B291.4是否同意协议有效等价类同意 A13无效等价类不同意 B30总结有多个输入框的时候等价类的编号是从头到尾的不是单独编号的2、选取测试用例技巧正例第一步所有的编号从其实开始编号连续向后并不是每一个集合各自编号比如所有集合一起从A1~A13第二步取交集。所有集合中各自取出一个(取出一个代表)和其他集合组一起让他们取交集每个集合中每个用例保证被取一次就行了。正例A1A3A4A5A8A9A10A11A12A13 163邮箱A2A3A4A6A8A9A10A11A12A13126邮箱A2A3A4A7A8A9A10A11A12A13yeah.net邮箱反例针对每一个无效用例提取出一条用例也就是说有多少编号就有多少反例。【这个是最简单的直接写多少反例就行】B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17B18B19B20B21B22B23B24B25B26B27B28B29B30最后选取用例完之后来写完整的测试用例1、总共3个正例30个反例我们写用例设计33个都写保证覆盖完整、便于评审和追溯而用例执行的话根据时间、风险、开发质量灵活调整不一定全跑。2、在测试用例设计阶段“实际结果”是留空不写的等到真正执行测试的时候由执行测试的人员根据实际观察来填写。注意以下【路径】【输入】【动作】是一个提示实际写的时候是不用写的用例编号模块用例标题用例级别预置条件测试步骤预期结果实际结果001用户管理模块注册以字母开头数字下划线的163邮箱成功高1. 邮箱地址testuser001未被注册2. 手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 提示“注册成功”或跳转至登录页2. 使用该账号邮箱密码能成功登录实际结果我们不写的要等执行测试002用户管理模块注册以字母开头下划线数字的126邮箱成功高1. 邮箱地址test_002未被注册2. 手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:test_002126.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 提示“注册成功”或跳转至登录页2. 使用该账号邮箱密码能成功登录003用户管理模块注册以字母开头下划线数字的yeah.net邮箱成功高1. 邮箱地址test_003未被注册2. 手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:test_003yeah.net密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 提示“注册成功”或跳转至登录页2. 使用该账号邮箱密码能成功登录004用户管理模块邮箱地址仅包含字母无数字、下划线注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:abcde163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页005用户管理模块邮箱地址仅包含字母数字无下划线注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:abc123163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页006用户管理模块邮箱地址仅包含字母下划线无数字注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:abc_def163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页007用户管理模块邮箱地址包含其他字符如!注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:abc_123!163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页008用户管理模块邮箱地址以数字开头注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:123abc163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页009用户管理模块邮箱地址以下划线开头注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:_abc123163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页010用户管理模块邮箱地址为纯下划线注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:______163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页011用户管理模块邮箱地址为纯数字注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:123456163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页012用户管理模块邮箱地址以其他字符开头注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:!abc123163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址只能包含字母、数字、下划线且必须以字母开头”2. 注册不成功停留在当前页013用户管理模块邮箱地址为空注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址: 密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址不能为空”2. 注册不成功停留在当前页014用户管理模块邮箱地址长度小于6注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:a163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址长度应在6-18位之间”2. 注册不成功停留在当前页015用户管理模块邮箱地址长度大于18注册失败中手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:abcdefghijklmnopqrs163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“邮箱地址长度应在6-18位之间”2. 注册不成功停留在当前页016用户管理模块邮箱地址已被注册注册失败中1. 邮箱地址testuser001163.com已存在2. 手机号码15887879999已开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“该邮箱已被注册”2. 注册不成功停留在当前页017用户管理模块密码包含其他字符如!#注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123!#确认密码:Pass123!#手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“密码必须包含大写字母、小写字母和数字”2. 注册不成功停留在当前页018用户管理模块密码仅包含大写字母数字注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:PASS123456确认密码:PASS123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“密码必须包含大写字母、小写字母和数字”2. 注册不成功停留在当前页019用户管理模块密码仅包含小写字母数字注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:pass123456确认密码:pass123456手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“密码必须包含大写字母、小写字母和数字”2. 注册不成功停留在当前页020用户管理模块密码仅包含大小写字母无数字注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:PassWord确认密码:PassWord手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“密码必须包含大写字母、小写字母和数字”2. 注册不成功停留在当前页021用户管理模块密码仅包含其他字符无字母数字注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:!#$%^*确认密码:!#$%^*手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“密码必须包含大写字母、小写字母和数字”2. 注册不成功停留在当前页022用户管理模块密码为空注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码: 确认密码: 手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“密码不能为空”2. 注册不成功停留在当前页023用户管理模块密码长度小于8注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pa12确认密码:Pa12手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“密码长度应在8-16位之间”2. 注册不成功停留在当前页024用户管理模块密码长度大于16注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass12345678901234确认密码:Pass12345678901234手机号码:15887879999勾选同意3. 【动作】点击【注册】1. 页面提示“密码长度应在8-16位之间”2. 注册不成功停留在当前页025用户管理模块手机号不以1开头注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456确认密码:Pass123456手机号码:25887879999勾选同意3. 【动作】点击【注册】1. 页面提示“请输入11位有效手机号”2. 注册不成功停留在当前页026用户管理模块手机号以1开头但号段无效注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456确认密码:Pass123456手机号码:12345678901勾选同意3. 【动作】点击【注册】1. 页面提示“请输入11位有效手机号”2. 注册不成功停留在当前页027用户管理模块手机号包含其他字符注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456确认密码:Pass123456手机号码:1588787999a勾选同意3. 【动作】点击【注册】1. 页面提示“请输入11位有效手机号”2. 注册不成功停留在当前页028用户管理模块手机号为空注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456确认密码:Pass123456手机号码: 勾选同意3. 【动作】点击【注册】1. 页面提示“手机号码不能为空”2. 注册不成功停留在当前页029用户管理模块手机号长度大于11注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456确认密码:Pass123456手机号码:158878799999勾选同意3. 【动作】点击【注册】1. 页面提示“请输入11位有效手机号”2. 注册不成功停留在当前页030用户管理模块手机号长度小于11注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456确认密码:Pass123456手机号码:158878799勾选同意3. 【动作】点击【注册】1. 页面提示“请输入11位有效手机号”2. 注册不成功停留在当前页031用户管理模块手机号未开通注册失败中1. 邮箱地址testuser001163.com未被注册2. 手机号18812345678未开通1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456确认密码:Pass123456手机号码:18812345678勾选同意3. 【动作】点击【注册】1. 页面提示“该手机号未开通请更换”2. 注册不成功停留在当前页032用户管理模块未勾选同意协议注册失败中邮箱地址testuser001163.com未被注册1. 【路径】进入注册页面选择【普通注册】2. 【输入】邮箱地址:testuser001163.com密码:Pass123456确认密码:Pass123456手机号码:15887879999不勾选同意3. 【动作】点击【注册】1. 页面提示“请阅读并同意用户协议”或注册按钮置灰不可点击2. 注册不成功停留在当前页最后如果觉得这篇知识的总结对你有帮助别忘了 点赞⭐ 收藏 关注感谢各位老铁的支持。

相关文章:

【测试基础】06-软件测试用例设计方法之等价类

测试用例设计的方法有以下几个: 等价类边界值法场景法错误推断法因果图判定表正交实验法 本期我们先介绍等价类等价类划分法 使用场景:针对表单类页面元素测试的时候使用 典型代表: 输入框下拉列表单选复选框 概念 等价类划分法是一种典型的重…...

小型打怪游戏1.2

修改并优化了《小型打怪游戏1.1》。#include <bits/stdc.h> #include <iostream> #include <windows.h> #include <conio.h > #include <ctime> #include <cstdlib> using namespace std; char maze[15][35] {"###################&…...

2026年六西格玛管理系统选型指南:深度盘点10款高效六西格玛管理工具

在2026年数字化转型的深水区&#xff0c;企业对于质量管理的精细化要求达到了前所未有的高度&#xff0c;六西格玛管理系统已成为制造与服务行业降本增效的核心引擎。面对市场上层出不穷的六西格玛管理工具&#xff0c;如何制定一份科学的六西格玛管理系统选型指南&#xff0c;…...

通义千问3-Reranker-0.6B快速部署:低延迟(<200ms)优化技巧

通义千问3-Reranker-0.6B快速部署&#xff1a;低延迟&#xff08;<200ms&#xff09;优化技巧 1. 模型简介与核心价值 Qwen3-Reranker-0.6B 是阿里云通义千问团队专门为文本检索和排序任务设计的新一代重排序模型。这个模型的核心使命很简单&#xff1a;帮你从一堆文档中快…...

计算机CV领域一些期刊投稿,仅供参考.

顶级期刊TPAMI、TIP、都是一区CCFA,属于超难系列. AI 2区 CCFA 太难了, 其他的看图吧....

【脉宽调制DCDC功率变换学习笔记009】DCDC功率变换器建模

小信号模型是线性时不变电路模型&#xff0c;可以直接应用于所有标准电路的分析技术。为了便于建模&#xff0c;将变换器分为三个功能块&#xff1a;功率级、PWM模块和电压反馈电路。首先&#xff0c;使用各种建模技术将每个功能块转换成相应的小信号模型。三个功能块的小信号模…...

辉芒微FT60F12X单片机最小系统设计详解(无外部晶振版)

辉芒微FT60F12X单片机最小系统设计实战指南&#xff08;无外部晶振方案&#xff09; 在嵌入式硬件开发领域&#xff0c;构建稳定可靠的最小系统是每个项目的起点。辉芒微FT60F12X系列单片机以其高性价比和丰富外设资源&#xff0c;在消费电子和工业控制领域广受欢迎。本文将深入…...

YOLOv8与春联生成模型结合:智能图像识别对联生成系统

YOLOv8与春联生成模型结合&#xff1a;智能图像识别对联生成系统 用AI技术让传统春联焕发新活力&#xff0c;让每一幅对联都与你眼前的场景完美匹配 1. 项目背景与价值 春节贴春联是延续千年的传统习俗&#xff0c;但现代人常常面临一个尴尬&#xff1a;买来的春联内容千篇一律…...

Android双屏开发避坑指南:解决HDMI热插拔和屏幕适配的5个关键问题

Android双屏开发实战&#xff1a;破解HDMI热插拔与动态适配的工程难题 在商业广告机、车载中控、智能POS等场景中&#xff0c;双屏异显已成为提升用户体验的标配功能。但当工程师真正着手实现时&#xff0c;往往会遭遇HDMI热插拔引发的界面闪退、多分辨率适配失调等"暗礁&…...

Gemma-3-12b-it部署案例:智能制造工厂设备巡检图→异常检测→维修指引

Gemma-3-12b-it部署案例&#xff1a;智能制造工厂设备巡检图→异常检测→维修指引 1. 项目背景与价值 在智能制造工厂中&#xff0c;设备巡检是保障生产连续性的关键环节。传统巡检方式依赖人工记录设备状态照片&#xff0c;再由工程师分析异常并给出维修方案&#xff0c;整个…...

SAP押注“按AI用量收费”,但真正的问题不在定价,而在价值

最近一则关于sap ai定价的新闻引起了广泛关注https://www.techzine.eu/news/applications/139727/sap-moving-from-subscriptions-to-ai-use-based-pricing/这篇文章围绕SAP正在推动的一项关键转型展开&#xff1a;从传统的订阅制软件收费模式&#xff0c;转向基于AI使用量的计…...

从零到一:基于TwinCAT3的巴鲁夫IO-Link模块实战配置指南

1. 环境准备与软件安装 第一次接触TwinCAT3和巴鲁夫IO-Link模块时&#xff0c;我花了整整两天时间才搞明白环境配置的门道。现在回想起来&#xff0c;其实只要抓住几个关键点就能少走弯路。首先需要准备的是TwinCAT3 XAE开发环境&#xff0c;建议直接去倍福官网下载最新版本。安…...

Phi-3-Mini-128K在软件测试中的应用:自动化生成测试用例与报告

Phi-3-Mini-128K在软件测试中的应用&#xff1a;自动化生成测试用例与报告 最近和几个做软件测试的朋友聊天&#xff0c;发现他们每天的工作量是真不小。写测试用例、跑测试、分析日志、写报告&#xff0c;一套流程下来&#xff0c;重复性工作占了大部分时间。尤其是遇到需求变…...

窗口对象与操作

窗口对象与操作 window 是浏览器的全局对象&#xff0c;代表当前浏览器窗口。所有全局变量和函数都是 window 对象的属性和方法。获取窗口尺寸&#xff1a; console.log(window.innerWidth); // 视口宽度 console.log(window.innerHeight); // 视口高度 console.log(window.ou…...

C++20 Concepts 完全实战指南:告别 SFINAE,让模板约束更清晰

从「编译期报错 wall of text」到「简洁直观的约束表达式」&#xff0c;Concepts 是 C20 送给模板元编程开发者的最佳礼物。 引言&#xff1a;模板编程的痛点 作为 C 开发者&#xff0c;你一定经历过这样的绝望时刻&#xff1a; template<typename T> void process(T&a…...

Cronus:Arduino嵌入式I²C实时时钟多芯片统一驱动库

1. 项目概述Cronus 是一个面向嵌入式 Arduino 平台的轻量级、模块化 IC 实时时钟&#xff08;RTC&#xff09;驱动库&#xff0c;专为多型号硬件兼容性与工程可维护性而设计。其核心目标并非简单封装读写操作&#xff0c;而是构建一套统一抽象层&#xff0c;屏蔽 DS1307、DS323…...

智能体范式浅谈

这几年&#xff0c;围绕着智能体观察、思考与行动的模式&#xff0c;业内逐渐发展出了几种不同的智能体运行逻辑。而在此之前&#xff0c;即在现在较为通用的智能体逻辑模式&#xff08;我们称为智能体范式&#xff09;被总结和广泛使用之前&#xff0c;智能体如何使用则处于一…...

ComfyUI+ControlNet实战:如何用AI线稿一键生成高质量插画(附完整参数配置)

ComfyUIControlNet实战&#xff1a;从线稿到商业级插画的AI魔法 在数字艺术创作领域&#xff0c;时间成本与创意实现之间的平衡一直是困扰职业插画师的难题。传统工作流程中&#xff0c;从线稿到成稿往往需要经历数十小时的铺色、渲染和细节调整。而现在&#xff0c;ComfyUI与C…...

Cogito-V1-Preview-Llama-3B一键部署教程:Ubuntu 20.04环境快速搭建

Cogito-V1-Preview-Llama-3B一键部署教程&#xff1a;Ubuntu 20.04环境快速搭建 最近有不少朋友在问&#xff0c;有没有一个既能在本地快速跑起来&#xff0c;效果又不错的开源大模型&#xff1f;今天要聊的Cogito-V1-Preview-Llama-3B&#xff0c;我觉得是个挺有意思的选择。…...

Qwen3-TTS-12Hz-1.7B-VoiceDesign在教育领域的应用:智能语音课件生成系统

Qwen3-TTS-12Hz-1.7B-VoiceDesign在教育领域的应用&#xff1a;智能语音课件生成系统 1. 引言 想象一下&#xff0c;一位老师需要为不同年级的学生准备多语言的教学课件&#xff0c;传统的录音方式耗时耗力&#xff0c;而且很难保证发音的一致性和准确性。现在&#xff0c;借…...

Win10 安装 MySQL5.7.36 数据库记录

本文参考前文 win10安装mysql5.7 MySQL 5.7.36 国内 阿里云 下载地址 https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-5.7.36-winx64.msi 安装 mysql-5.7.36-winx64.msi 时&#xff0c;我选择的 custom 自定义安装 安装目录 D:\software\MySQL\MySQL-Server-5.7 安装完成…...

DeepSeek-OCR-2实战案例:高校教务系统成绩单PDF自动结构化入库

DeepSeek-OCR-2实战案例&#xff1a;高校教务系统成绩单PDF自动结构化入库 1. 引言&#xff1a;从堆积如山的PDF到一键入库 每到学期末&#xff0c;高校教务处的老师们就要面对一项繁重的工作&#xff1a;处理成千上万份学生成绩单PDF文件。这些文件格式各异&#xff0c;有的…...

快速入门Face3D.ai Pro:参数调优与获得最佳效果的技巧

快速入门Face3D.ai Pro&#xff1a;参数调优与获得最佳效果的技巧 关键词&#xff1a;Face3D.ai Pro、3D人脸重建、参数调优、最佳实践、UV纹理、网格细分、AI锐化 摘要&#xff1a;你已经成功部署了Face3D.ai Pro&#xff0c;但生成的效果总感觉差那么一点意思&#xff1f;别…...

One-Fox工具箱V7魔改版:从简约UI到代码透明的二次开发指南

1. One-Fox工具箱V7魔改版初体验 第一次打开One-Fox工具箱V7魔改版时&#xff0c;最直观的感受就是界面变得清爽多了。相比之前版本略显杂乱的布局&#xff0c;V7采用了极简的扁平化设计&#xff0c;所有工具图标都重新绘制过&#xff0c;配色从原来的高饱和度变成了更柔和的莫…...

Spring Boot整合ClickHouse避坑指南:当Java遇上列式数据库

Spring Boot整合ClickHouse避坑指南&#xff1a;当Java遇上列式数据库 列式数据库正在重塑大数据处理格局&#xff0c;而ClickHouse凭借其惊人的查询速度成为这一领域的明星。作为Java开发者&#xff0c;我们该如何在Spring Boot生态中高效驾驭这款OLAP利器&#xff1f;本文将带…...

SolidWorks模型渲染图测试:cv_resnet101_face-detection对3D合成人脸的检测能力

SolidWorks模型渲染图测试&#xff1a;cv_resnet101_face-detection对3D合成人脸的检测能力 最近在做一个挺有意思的小实验&#xff0c;想看看现在的人脸检测模型&#xff0c;在面对那些“看起来像真人&#xff0c;但其实是电脑画出来”的3D人脸时&#xff0c;到底能不能认出来…...

基于Transformer的SiameseAOE模型原理详解与调参指南

基于Transformer的SiameseAOE模型原理详解与调参指南 如果你正在处理文本中的实体和关系抽取任务&#xff0c;尤其是当数据标注不那么充足时&#xff0c;传统的序列标注模型可能会显得有些力不从心。这时候&#xff0c;基于孪生网络&#xff08;Siamese Network&#xff09;和…...

Qwen2.5-VL-7B-Instruct多模态应用落地:电商图识文+智能问答实战案例

Qwen2.5-VL-7B-Instruct多模态应用落地&#xff1a;电商图识文智能问答实战案例 想象一下&#xff0c;你是一家电商公司的运营人员&#xff0c;每天要面对海量的商品图片。老板让你从这些图片里提取商品信息、分析卖点、甚至为新品写文案。一张张看&#xff1f;效率太低。用传…...

VuReact 1.4.0重磅发布,Vue转React更稳更快

vureact 最新发布的v1.4.0版本&#xff0c;通过全方位的功能升级、问题修复与架构优化&#xff0c;进一步夯实了编译链路的稳定性&#xff0c;同时显著提升了编译性能。 该版本支持在编译后的React项目中自动注入路由提供器&#xff0c;大幅简化路由配置流程&#xff0c;有效提…...

第一章:容器到底是什么

如果你想从 0 到 1 理解 Docker&#xff0c;第一步不是安装 Docker&#xff0c;不是背 docker run 命令&#xff0c;也不是研究镜像仓库&#xff0c;而是先回答一个问题&#xff1a; 容器到底是什么&#xff1f; 这个问题如果一开始答歪了&#xff0c;后面所有东西都会变成一堆…...