AI生成功能测试文档|测试文档
AI生成功能测试文档:链接直达
计算机功能测试文档撰写教程
链接直达:生成功能测试文档工具
一、文档概述
(一)文档目的
明确计算机功能测试的流程、方法和标准,确保测试的有效性和可靠性,为软件的质量评估提供依据,为后续的软件改进和维护提供参考。
(二)文档范围
适用于 [具体软件名称及版本] 的功能测试,涵盖该软件的所有功能模块,包括但不限于用户管理、数据处理、界面交互、业务逻辑等。测试对象为软件的各个功能点及其组合,测试阶段包括单元测试、集成测试和系统测试。
姐妹们!最近被导师夸爆的AI 功能测试文档模板来啦!今天把这份保姆级攻略分享给大家~手把手教你写出专业又实用的测试报告!💻
🔥【核心价值】
✅ 精准定位 AI 功能漏洞,提升校园服务效率
✅ 规范测试流程,减少沟通成本
✅ 亲测有效!我校 AI 助手通过测试后,服务响应速度提升 30%
链接直达:生成功能测试文档工具
二、测试范围
(一)功能点测试
- 用户管理模块:包括用户注册、登录、注销、密码修改、权限分配等功能。验证用户注册时输入的信息是否符合格式要求,如用户名长度、密码复杂度等;登录功能是否能正确识别合法用户和非法用户;权限分配是否按照预设的角色和权限规则进行。
- 数据处理模块:数据的录入、查询、修改、删除等操作。检查数据录入时是否能正确处理各种数据类型,如文本、数字、日期等;查询功能是否能准确返回符合条件的数据,支持多种查询条件组合;数据修改和删除操作是否有相应的权限控制和提示信息。
- 界面交互模块:界面的布局是否合理,元素是否齐全,操作是否便捷。验证按钮、菜单、表单等控件的响应是否正确,界面跳转是否流畅,提示信息是否清晰易懂。
(二)业务流程测试
模拟用户在实际使用软件过程中的业务流程,如订单处理流程、审批流程等。从业务的起点开始,按照正常的业务逻辑逐步执行,检查每个环节的功能是否正常,数据是否能正确流转,是否存在业务逻辑错误或漏洞。例如,在订单处理流程中,测试下单、支付、发货、收货等环节是否能顺利完成,各环节之间的数据是否一致。
(三)边界条件测试
对输入数据的边界值、功能的极限情况进行测试。如输入数据的最大值、最小值、空值、默认值等情况,验证软件在这些边界条件下是否能正常处理,是否会出现错误或异常。例如,在输入年龄的字段中,测试输入 0 岁、150 岁等边界值时,软件是否能正确提示输入范围错误。
(四)兼容性测试
- 操作系统兼容性:测试软件在不同的操作系统上是否能正常运行,如 Windows、Linux、macOS 等不同版本的操作系统。
- 浏览器兼容性:如果软件是 Web 应用,测试在不同的浏览器上的显示和功能是否正常,如 Chrome、Firefox、Edge、Safari 等浏览器。
- 硬件设备兼容性:对于需要在特定硬件设备上运行的软件,测试在不同型号、配置的硬件设备上的兼容性,如不同分辨率的显示器、不同性能的显卡等。
三、测试环境
(一)硬件环境
- 服务器:[服务器型号],CPU:[CPU 型号及核数],内存:[内存大小],硬盘:[硬盘容量及类型]。
- 客户端:[客户端设备类型,如台式机、笔记本电脑、平板电脑等],CPU:[CPU 型号],内存:[内存大小],硬盘:[硬盘容量],显示器分辨率:[分辨率参数]。
- 网络设备:路由器、交换机等网络设备的型号和配置,网络带宽:[带宽大小],网络类型:[如局域网、广域网等]。
(二)软件环境
- 操作系统:服务器端操作系统:[操作系统名称及版本];客户端操作系统:[操作系统名称及版本列表]。
- 数据库管理系统:[数据库名称及版本],如 MySQL 8.0、Oracle 19c 等。
- 中间件:[中间件名称及版本],如 Tomcat 9.0、WebSphere 8.5 等。
- 浏览器:[浏览器名称及版本列表],如 Chrome 100.0、Firefox 98.0 等。
- 其他支持软件:如运行软件所需的插件、驱动程序等的名称和版本。
(三)测试工具
- 测试管理工具:[工具名称及版本],如 TestLink、Jira 等,用于测试用例的管理、测试进度的跟踪和缺陷的记录。
- 自动化测试工具:[工具名称及版本],如 Selenium、Appium 等,用于自动化执行测试用例,提高测试效率。
- 性能测试工具:[工具名称及版本],如 LoadRunner、JMeter 等,用于对软件的性能进行测试和评估。
四、测试方法
(一)黑盒测试
- 等价类划分法:将输入数据划分为有效等价类和无效等价类,从每个等价类中选取代表性的测试用例进行测试,以验证软件对不同类型输入数据的处理能力。例如,在用户注册的用户名输入字段中,有效等价类可以是长度在 6-20 位之间的字母和数字组合,无效等价类可以是长度小于 6 位、大于 20 位、包含特殊字符等情况。
- 边界值分析法:针对输入数据的边界值进行测试,如最大值、最小值、刚好等于边界值等情况,以发现软件在边界条件下可能出现的问题。如在输入年龄的字段中,边界值为 0 岁和 150 岁(假设年龄的有效范围是 1-149 岁),测试这两个边界值以及附近的值,如 1 岁和 149 岁。
- 错误推测法:根据经验和直觉,推测软件可能存在的错误和缺陷,设计相应的测试用例进行测试。例如,推测在数据提交过程中,如果网络中断,软件可能会出现数据丢失或提交失败的情况,设计测试用例模拟网络中断的场景,验证软件的处理是否正确。
(二)白盒测试
- 语句覆盖:设计测试用例,使程序中的每条语句至少执行一次,以确保程序中的代码都被覆盖到。
- 分支覆盖:确保程序中的每个分支都被执行过,包括真分支和假分支,以检查程序的逻辑判断是否正确。
- 路径覆盖:覆盖程序中的所有可能的执行路径,以发现程序中可能存在的逻辑错误和漏洞。
(三)手工测试与自动化测试结合
对于一些复杂的业务流程、界面交互等测试,采用手工测试的方法,由测试人员手动操作软件,观察测试结果;对于一些重复执行的测试用例、稳定性测试等,采用自动化测试工具进行自动化测试,提高测试效率和准确性。
五、测试用例设计
(一)测试用例格式
用例编号 | 用例名称 | 测试目的 | 前置条件 | 测试步骤 | 预期结果 | 实际结果 | 测试状态 |
TC-001 | 用户登录测试 | 验证用户能否正确登录系统 | 系统已启动,用户存在且密码正确 | 1. 打开登录界面;2. 输入用户名 "testuser";3. 输入密码 "123456";4. 点击 "登录" 按钮 | 登录成功,跳转到系统主界面 |
(二)设计原则
- 完整性:测试用例应覆盖所有的测试范围和功能点,包括正常情况和异常情况。
- 可操作性:测试步骤应清晰、明确,具有可操作性,能够让测试人员准确地执行测试。
- 独立性:每个测试用例应独立存在,相互之间没有依赖关系,以便于测试的执行和维护。
- 可重复性:测试用例应能够在相同的测试环境下重复执行,并且预期结果一致。
(三)编写示例
用例编号:TC-002
用例名称:用户注册测试(有效数据)
- 测试目的:验证用户使用有效数据注册时是否成功
- 前置条件:注册页面已打开
- 测试步骤:
-
- 在用户名输入框中输入 "newuser123"(长度 8 位,包含字母和数字);
-
- 在密码输入框中输入 "Password123"(长度 8 位,包含大小写字母和数字);
-
- 在确认密码输入框中输入 "Password123";
-
- 在邮箱输入框中输入 "newuser@example.com";
-
- 点击 "注册" 按钮。
- 预期结果:注册成功,显示注册成功提示信息,跳转到登录页面。
用例编号:TC-003
用例名称:用户注册测试(无效用户名)
- 测试目的:验证用户使用无效用户名注册时是否给出正确提示
- 前置条件:注册页面已打开
- 测试步骤:
-
- 在用户名输入框中输入 "us"(长度 2 位);
-
- 在密码输入框中输入 "Password123";
-
- 在确认密码输入框中输入 "Password123";
-
- 在邮箱输入框中输入 "newuser@example.com";
-
- 点击 "注册" 按钮。
- 预期结果:显示错误提示信息 "用户名长度应在 6-20 位之间"。
六、测试执行
(一)测试执行流程
- 测试准备:搭建测试环境,安装测试工具和被测软件,准备测试数据,熟悉测试用例。
- 测试用例执行:按照测试用例的顺序依次执行测试,记录测试过程中的实际结果,包括软件的响应时间、界面显示、功能是否正常等。对于自动化测试用例,使用自动化测试工具运行测试脚本,并生成测试报告。
- 缺陷记录:当发现软件存在缺陷时,及时记录缺陷的详细信息,包括缺陷的描述、出现的步骤、预期结果和实际结果等,使用缺陷管理工具进行管理。
- 测试结果反馈:定期向测试团队和开发团队反馈测试进度和测试结果,沟通测试过程中发现的问题和缺陷。
(二)测试执行策略
- 按优先级执行:根据测试用例的优先级,先执行高优先级的测试用例,确保软件的核心功能和关键业务流程得到充分测试。
- 按模块执行:将测试用例按照功能模块进行分组,依次对每个模块进行测试,便于集中精力发现模块内的问题。
- 回归测试:当软件进行修改或修复缺陷后,对相关的测试用例进行重新执行,以验证修改是否正确,是否引入新的缺陷。
七、缺陷管理
(一)缺陷分类
根据缺陷的严重程度和影响范围,将缺陷分为以下几类:
- 严重缺陷:导致软件无法正常运行,如系统崩溃、数据丢失、关键功能无法实现等。
- 主要缺陷:影响软件的主要功能和业务流程,但软件仍可以运行,如重要功能存在错误、界面显示严重错误等。
- 次要缺陷:对软件的功能和使用体验有一定影响,但不影响主要业务流程,如 minor 的界面布局问题、提示信息不准确等。
- 建议性缺陷:不影响软件的正常使用,而是对软件的改进和优化提出的建议,如用户界面的优化建议、功能增强建议等。
(二)缺陷跟踪流程
- 缺陷发现与记录:测试人员在测试过程中发现缺陷后,使用缺陷管理工具详细记录缺陷的信息,包括缺陷编号、标题、描述、重现步骤、预期结果、实际结果、优先级、严重程度、所属模块、发现人、发现时间等。
- 缺陷审核:测试团队负责人或项目经理对缺陷进行审核,确认缺陷的有效性和正确性,排除重复或无效的缺陷。
- 缺陷分配:将审核通过的缺陷分配给相应的开发人员进行修复,明确修复的时间要求和优先级。
- 缺陷修复:开发人员收到缺陷后,对缺陷进行分析和修复,修复完成后将缺陷状态设置为 "已修复",并提交给测试人员进行验证。
- 缺陷验证:测试人员对修复后的缺陷进行验证,按照缺陷的重现步骤重新执行测试,检查缺陷是否已修复。如果修复成功,将缺陷状态设置为 "已关闭";如果未修复,将缺陷状态设置为 "重新打开",并反馈给开发人员重新修复。
- 缺陷统计与分析:定期对缺陷进行统计和分析,生成缺陷报表,如缺陷数量统计、缺陷严重程度分布、缺陷模块分布等,为软件的质量评估和改进提供依据。
八、测试结果分析
(一)测试用例执行情况分析
统计测试用例的执行总数、通过数、失败数和未执行数,计算测试用例的通过率和执行率。例如,测试用例总数为 100 个,执行数为 95 个,通过数为 85 个,失败数为 10 个,未执行数为 5 个,则通过率为 85/95×100%≈89.47%,执行率为 95/100×100%=95%。通过分析测试用例的执行情况,了解测试的覆盖程度和软件的功能实现情况。
(二)缺陷分析
- 缺陷分布分析:按缺陷所属的模块、严重程度、优先级等进行分类统计,分析缺陷在各个模块中的分布情况,找出存在缺陷较多的模块,作为后续测试和改进的重点。例如,用户管理模块发现了 20 个缺陷,数据处理模块发现了 30 个缺陷,界面交互模块发现了 10 个缺陷,说明数据处理模块可能存在较多的问题,需要进一步关注。
- 缺陷趋势分析:随着测试的进行,统计每个阶段发现的缺陷数量,绘制缺陷趋势图,观察缺陷数量的变化趋势。如果在测试后期发现的缺陷数量仍然较多,说明软件的质量可能存在较大问题,需要重新审视测试策略和方法。
- 缺陷修复情况分析:统计缺陷的修复率、修复时间等指标,分析开发团队对缺陷的修复效率和质量。例如,缺陷总数为 50 个,已修复 40 个,修复率为 80%,平均修复时间为 2 天,说明开发团队对缺陷的修复效率较高,但仍有 20% 的缺陷未修复,需要跟踪督促。
(三)软件质量评估
根据测试用例的执行情况和缺陷分析结果,对软件的质量进行综合评估。评估内容包括软件的功能完整性、正确性、可用性、兼容性、稳定性等方面。如果软件的测试用例通过率较高,缺陷数量较少且严重程度较低,说明软件的质量较好;反之,说明软件的质量存在一定问题,需要进行改进和优化。
九、测试结论与建议
(一)测试结论
- 功能实现情况:总结软件的各项功能是否按照需求规格说明书的要求实现,是否存在功能缺失或功能错误的情况。例如,经过测试,软件的用户管理、数据处理、界面交互等功能均能正常实现,满足用户的基本需求。
- 缺陷情况:说明测试过程中发现的缺陷总数、严重程度分布、修复情况等,评估缺陷对软件质量的影响。例如,本次测试共发现缺陷 50 个,其中严重缺陷 5 个,主要缺陷 20 个,次要缺陷 20 个,建议性缺陷 5 个。目前已修复 45 个缺陷,剩余 5 个次要缺陷和建议性缺陷不影响软件的正常使用。
- 测试覆盖程度:说明测试用例对软件功能的覆盖程度,是否存在未覆盖的功能点或测试盲区。例如,测试用例覆盖了软件的所有主要功能模块和业务流程,覆盖度达到 95%,但对于一些特殊的用户场景和极端情况的测试覆盖不足。
- 软件质量总体评价:根据以上分析,对软件的质量进行总体评价,判断软件是否具备发布或交付的条件。例如,软件的主要功能正常,缺陷修复情况良好,虽然存在一些次要缺陷和测试覆盖不足的问题,但不影响软件的正常使用,建议可以发布,但需要在后续的版本中进行改进和完善。
(二)建议
- 对开发团队的建议:针对测试过程中发现的问题和缺陷,建议开发团队对存在缺陷较多的模块进行深入分析和优化,加强代码的质量控制和测试,避免类似问题的再次出现。同时,建议开发团队关注用户体验,对软件的界面和操作流程进行优化,提高软件的可用性和易用性。
- 对测试团队的建议:建议测试团队进一步完善测试用例,增加对特殊用户场景和极端情况的测试,提高测试的覆盖程度。同时,加强对自动化测试工具的学习和应用,提高测试效率和准确性。
- 对后续版本的建议:根据本次测试的结果,建议在后续的版本中增加新的功能模块,改进现有功能的不足,提高软件的性能和兼容性。同时,建立完善的软件维护和更新机制,及时修复用户反馈的问题和缺陷。
十、附录
(一)测试用例模板
用例编号 | 用例名称 | 测试目的 | 前置条件 | 测试步骤 | 预期结果 | 实际结果 | 测试状态 | 缺陷编号 | 备注 |
(二)缺陷报告模板
缺陷编号 | 标题 | 严重程度 | 优先级 | 所属模块 | 发现人 | 发现时间 | 重现步骤 | 预期结果 | 实际结果 | 状态 | 修复人 | 修复时间 | 验证人 | 验证时间 | 备注 |
(三)相关文档
- 软件需求规格说明书
- 软件设计文档
- 测试计划文档
相关文章:
AI生成功能测试文档|测试文档
AI生成功能测试文档:链接直达 计算机功能测试文档撰写教程 链接直达:生成功能测试文档工具 一、文档概述 (一)文档目的 明确计算机功能测试的流程、方法和标准,确保测试的有效性和可靠性,为软件的质量评…...
Python 常用模块(八):logging模块
目录 一、引言:日志模块在项目开发中的重要性二、从 Django 日志配置看 Logging 模块的核心组成三、logging模块核心组件详解3.1 记录器Logger3.2 级别Level3.3 根记录器使用3.4 处理器Handler3.5 格式化器Formatter3.6 日志流3.7 日志示例 四、日志模块总结 一、引…...
入门OpenTelemetry——可观测性与链路追踪介绍
可观测性 什么是可观测性 可观察性(Observability)是从外部输出知识中推断所获得,可理解为衡量一个系统内部状态的方法。可观测性是一种能力,它能帮助你回答系统内部发生了什么——无需事先定义每种可能的故障或状态。系统的可观…...
c#队列及其操作
可以用数组、链表实现队列,大致与栈相似,简要介绍下队列实现吧。值得注意的是循环队列判空判满操作,在用链表实现时需要额外思考下出入队列条件。 设计头文件 #ifndef ARRAY_QUEUE_H #define ARRAY_QUEUE_H#include <stdbool.h> #incl…...
【Linux C/C++开发】轻量级关系型数据库SQLite开发(包含性能测试代码)
前言 之前的文件分享过基于内存的STL缓存、环形缓冲区,以及基于文件的队列缓存mqueue、hash存储、向量库annoy存储,这两种属于比较原始且高效的方式。 那么,有没有高级且高效的方式呢。有的,从数据角度上看,࿰…...
77. 组合【 力扣(LeetCode) 】
文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 77. 组合 一、题目描述 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 二、测试用例 示例 1: 输入&…...
GpuGeek全栈AI开发实战:从零构建企业级大模型生产管线(附完整案例)
目录 背景一、算力困境:AI开发者的「三重诅咒」1.1 硬件成本黑洞1.2 资源调度失衡1.3 环境部署陷阱 二、三大核心技术突破GpuGeek的破局方案2.1 分时切片调度引擎(Time-Slicing Scheduler)2.2 异构计算融合架构2.3 AI资产自动化…...
LeetCode 热题 100_颜色分类(98_75_中等_C++)(技巧)(计数;双指针)
LeetCode 热题 100_颜色分类(98_75_中等_C) 题目描述:输入输出样例:题解:解题思路:思路一(计数):思路二(双指针): 代码实现代码实现&a…...
【前端】:单 HTML 去除 Word 批注
在现代办公中,.docx 文件常用于文档编辑,但其中的批注(注释)有时需要在分享或归档前被去除。本文将从原理出发,深入剖析如何在纯前端环境下实现对 .docx 文件注释的移除,并提供完整的实现源码。最后&#x…...
TTS-Web-Vue系列:Vue3实现内嵌iframe文档显示功能
🖼️ 本文是TTS-Web-Vue系列的新篇章,重点介绍如何在Vue3项目中优雅地实现内嵌iframe功能,用于加载外部文档内容。通过Vue3的响应式系统和组件化设计,我们实现了一个功能完善、用户体验友好的文档嵌入方案,包括加载状态…...
AWS CloudTrail日志跟踪启用
问题 启用日志管理。 步骤 审计界面,如下图: 点击创建跟踪,AWS云就会记录AWS账号在云中的操作。...
PHP 编程:现代 Web 开发的基石与演进
引言 PHP(Hypertext Preprocessor)自1995年诞生以来,已成为全球最流行的服务器端脚本语言之一。尽管近年来Node.js、Python等语言在特定领域崭露头角,但PHP仍占据着超过78%的网站市场份额(W3Techs数据)。本…...
NAT/代理服务器/内网穿透
目录 一 NAT技术 二 内网穿透/内网打洞 三 代理服务器 一 NAT技术 跨网络传输的时候,私网不能直接访问公网,就引入了NAT能讲私网转换为公网进行访问,主要解决IPv4(2^32)地址不足的问题。 1. NAT原理 当某个内网想访问公网,就必…...
[已解决] VS Code / Cursor / Trae 的 PowerShell 终端 conda activate 进不去环境的常见问题
背景 PS C:\Users\Lenovo\WPSDrive\669715199_3\WPS云盘\课程\研一\ROAS5700 Robot Motion Planning and Control\Final\LaTex报告\final-v1> conda activate mpPS C:\Users\Lenovo\WPSDrive\669715199_3\WPS云盘\课程\研一\ROAS5700 Robot Motion Planning and Control\Fin…...
Kuka AI音乐AI音乐开发「人声伴奏分离」 —— 「Kuka Api系列|中文咬字清晰|AI音乐API」第6篇
导读 今天我们来了解一下 Kuka API 的人声与伴奏分离功能。 所谓“人声伴奏分离”,顾名思义,就是将一段完整的音频拆分为两个独立的轨道:一个是人声部分,另一个是伴奏(乐器)部分。 这个功能在音乐创作和…...
深度伪造对知识产权保护的新挑战与应对之策
首席数据官高鹏律师团队 在科技的飞速发展带来了诸多便利的同时,也引发了一系列复杂的法律问题,其中深度伪造技术对知识产权保护的冲击尤为显著,亟待引起广泛关注与深入探讨。 深度伪造,简单来说,是借助先进的人工智…...
【嵌入式开发-软件定时器】
嵌入式开发-软件定时器 ■ 1.■ 2.■ 3.■ 4. ■ 1. ■ 2. ■ 3. ■ 4....
3天重庆和成都旅游规划
重庆和成都都是大城市,各自都有丰富的旅游资源。如果要在三天内两头都游览,可能需要合理安排时间,确保既能体验到重庆的特色,又能在成都游览主要景点。然而,考虑到交通时间,如果从重庆到成都需要一定的时间…...
JAVA中的文件操作
文章目录 一、文件认识(一)文件的分类(二)目录结构 二、文件操作(一)File类1.属性2.构造方法3.方法 (二)File类的具体使用1.文件路径的查看2.文件的基本操作(1࿰…...
深度解析网闸策略:构建坚固的网络安全防线
深度解析网闸策略:构建坚固的网络安全防线 在数字化浪潮中,网络安全已成为企业、机构乃至国家稳定发展的关键要素。随着网络攻击手段日益复杂多样,传统的网络安全防护措施难以满足日益增长的安全需求。网闸作为一种先进的网络安全设备&#x…...
【Rust trait特质】如何在Rust中使用trait特质,全面解析与应用实战
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
滑动窗口算法笔记
力扣209 题目分析:想象一个窗口遍历着这个数组,不断扩大右边界,让r。往窗口中添加数字: 此时我们找到了这个窗口,它的和满足了大于等于target的条件,题目让我求最短的,那么我们就尝试来缩短它&…...
Problem A: 歌手打分
1.题目描述 在歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。输入每个评委的评分,求某选手的得分…...
容器安全-核心概述
文章摘要 本文探讨了容器安全的四个核心类别,包括环境基础设施安全、镜像安全、运行时安全和生态安全。尽管 EDR 能提供主机安全层面的部分防护,但无法覆盖容器的镜像安全和生态安全。容器的镜像安全和生态安全问题,如镜像漏洞、恶意镜像、容…...
Golang实践录:在go中使用curl实现https请求
之前曾经在一个 golang 工程调用 libcur 实现 https的请求,当前自测是通过的。后来迁移到另一个小系统出现段错误,于是对该模块代码改造,并再次自测。 问题提出 大约2年前,在某golang项目使用libcurl进行https请求(参…...
nvrtc环境依赖
一 下载 1.1 添加nvidia的源(不同于pypi) pip install nvidia-pyindex 1.2 pip dowload 执行 pip download nvidia-cuda-runtime nvidia-cuda-python 会发现文件夹多了以下几个文件 而需要安装的则只有红框的三个文件, 二 安装 对红框的…...
【计算机视觉】OpenCV实战项目:GraspPicture 项目深度解析:基于图像分割的抓取点检测系统
GraspPicture 项目深度解析:基于图像分割的抓取点检测系统 一、项目概述项目特点 二、项目运行方式与执行步骤(一)环境准备(二)项目结构(三)执行步骤 三、重要逻辑代码解析(一&#…...
Redis持久化存储
我们知道Redis是将数据放在内存中的,那怎么做到持久化存储呢?很简单,就是内存存一份,硬盘也存一份.那么两个地方都存会不会影响效率?答案是影响是不大的,要看具体的策略.同时也要注意内存的数据和硬盘中的数据可能会有一点不同.这也是取决于策略的不同. Redis持久化存储的两个…...
网络检测工具InternetTest v8.9.1.2504 单文件版,支持一键查询IP/DNS、WIFI密码信息
—————【下 载 地 址】——————— 【本章下载一】:https://drive.uc.cn/s/295e068b79314 【本章下载二】:https://pan.xunlei.com/s/VOQDXguH0DYPxrql5y2zlkhTA1?pwdg2nx# 【百款黑科技】:https://ucnygalh6wle.feishu.cn/wiki/…...
elpis-core: 基于 Koa 实现 web 服务引擎架构设计解析
前言 内容来源于抖音【哲玄前端】大佬的《大前端全栈实践》课程,此课程是从零开始做一个企业级的全栈应用框架。此框架是基于koa.js构建的服务引擎,对BFF层的框架封装,让我感受颇深。 整体elpis项目架构设计 elpis-core设计思路 可以看到elpi…...
计算机网络-MPLS LDP基础实验配置
前面我们学习了LDP的会话建立、标签发布与交换、LDP的工作原理,今天通过一个基础实验来加深记忆。 一、LDP基础实验 实验拓扑: 1、IGP使用OSPF进行通告,使用Lookback接口作为LSR ID,LDP ID自动生成。 2、实验目的:使…...
搜索二维矩阵 II
存储m和n,用i表示行,j表示列,i从最后一行开始遍历,j从0开始遍历,当前值比目标值小j,反之i-- class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int…...
C++中如何实现一个单例模式?
单利模式是指对象在整个程序中只有一个实例,提供一个访问方法供全局访问。实现单例模式有如下要求: 1.私有化构造函数:将构造函数定义为私有,以防外部通过构造函数创建其它实例。 2.静态实例:在内部提供一个静态实例…...
进程与线程
进程与线程:计算机世界的"公司与员工" 进程与线程的本质区别 进程(Process)是计算机中独立运行的程序实例,拥有自己的内存空间和系统资源;而线程(Thread)是进程内的执行单元,共享所属进程的资源,但拥有独立的执行路径。 🏢 生活类比:想象一个大型企业的运…...
JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践
JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践 Java开发与运维过程中,JDK自带的命令行工具是定位问题、性能调优、编译调试的基石。本文全面梳理JDK常用命令工具、帮助文档的获取方式,并总结类似Linux命令行的学习方法,助你系…...
行业趋势与技术创新:驾驭工业元宇宙与绿色智能制造
引言 制造业发展的新格局:创新势在必行 当今制造业正经历深刻变革,面临着供应链波动、个性化需求增长、可持续发展压力以及技能人才短缺等多重挑战。在这样的背景下,技术创新不再是可有可无的选项,而是企业保持竞争力、实现可持…...
代码随想录算法训练营第三十九天(打家劫舍专题) | 198.打家劫舍、213.打家劫舍II、337.打家劫舍III
一、198.打家劫舍 题目链接:198. 打家劫舍 - 力扣(LeetCode) 文章讲解:代码随想录 视频讲解:动态规划,偷不偷这个房间呢?| LeetCode:198.打家劫舍_哔哩哔哩_bilibili 1. 思路 大家如…...
Linux514 rsync 解决方案环境配置
节点ab都改为NAT模式 网关和VMnet8网卡不一致 ping 不通外网 ping不通外网 是这里的问题吗 怎么突然就ping通了 没改啥啊 上面改了dhcp范围后 ping还是ping不通 为啥现在又ping通了 设置节点b 推测应该是dhcp范围问题 今日源码 节点b MX...
STM32F103_LL库+寄存器学习笔记23 - PWM波形输出及软件方式调整周期与占空比
导言 脉宽调制(PWM)是 STM32 定时器最常用的输出模式之一,广泛应用于电机驱动、LED 调光、伺服控制和功率管理等场景。本篇文章将以 TIM5 为例,从寄存器层面深入剖析 PWM 输出的原理与实现步骤。通过本篇博客,你不仅能…...
Canvas知识框架
一、Canvas基础 核心概念 Canvas是位图绘图区域,通过JavaScript(或Python等)动态绘制图形。 坐标系:左上角为原点 (0, 0),x向右递增,y向下递增。 绘图流程: const canvas document.getElemen…...
【SSL证书系列】客户端如何验证https网站服务器发的证书是否由受信任的根证书签发机构签发
客户端验证HTTPS网站证书是否由受信任的根证书颁发机构(CA)签发,是一个多步骤的过程,涉及证书链验证、信任锚(Trust Anchor)检查、域名匹配和吊销状态验证等。以下是详细的验证流程: 1. 证书链的…...
spark小任务
import org.apache.spark.{Partitioner, SparkConf, SparkContext}object PartitionCustom {// 分区器决定哪一个元素进入某一个分区// 目标: 把10个分区器,偶数分在第一个分区,奇数分在第二个分区// 自定义分区器// 1. 创建一个类继承Partitioner// 2. …...
git push 报错:send-pack: unexpected disconnect while reading sideband packet
背景 新建了一个仓库,第一次push 代码文件,文件中有一个依赖的jar,有80MB,结果push的时候报错。 错误信息 error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500 send-pack: unexpected disconnect whi…...
读入csv文件写入MySQL
### 使用 Spark RDD 读取 CSV 文件并写入 MySQL 的实现方法 #### 1. 环境准备 在使用 Spark 读取 CSV 文件并写入 MySQL 数据库之前,需要确保以下环境已配置完成: - 添加 Maven 依赖项以支持 JDBC 连接。 - 配置 MySQL 数据库连接参数,包括 …...
5.18-AI分析师
强化练习1 神经网络训练案例(SG) #划分数据集 #以下5行需要背 folder datasets.ImageFolder(rootC:/水果种类智能训练/水果图片, transformtrans_compose) n len(folder) n1 int(n*0.8) n2 n-n1 train, test random_split(folder, [n1, n2]) #训…...
腾讯云运营开发 golang一面
redis为什么单线程会快 每秒10w吞吐量 io多路复用 一个文件描述符整体拷贝;调用epoll_ctl 单个传递 内核遍历文件描述符判断是否有事件发送;回调函数列表维护 修改有事件发送的socket为可读或可写,返回整个文件描述符;返回链…...
spark数据压缩
### Spark 数据压缩方法及其实现 在大数据处理框架中,数据压缩是一个重要的环节,它不仅能够减少磁盘占用空间,还能降低网络传输成本。然而,在分布式计算环境中(如 Spark),选择合适的压缩编解码…...
synchronized关键字详解
synchronized关键字详解 1. 基本概念与使用方式 作用:确保多个线程在访问共享资源时的互斥性,防止数据不一致。使用方式: 修饰实例方法:锁对象为当前实例(this)。public synchronized void instanceMethod() {// 同步代码 }修饰静态方法:锁对象为类的Class对象。public…...
React useState 的同步/异步行为及设计原理解析
一、useState 的同步/异步行为 异步更新(默认行为) • 场景:在 React 合成事件(如 onClick)或生命周期钩子(如 useEffect)中调用 useState 的更新函数时,React 会将这些更新放入队列…...
《社交应用动态表情:RN与Flutter实战解码》
React Native依托于JavaScript和React,为动态表情的实现开辟了一条独特的道路。其核心优势在于对原生模块的便捷调用,这为动态表情的展示和交互提供了强大支持。在社交应用中,当用户点击发送动态表情时,React Native能够迅速调用相…...