软件测试相关知识库
一、软件测试概述1.1 定义与目标定义:软件测试是通过人工或自动化手段验证系统是否满足需求,并评估软件质量的过程。核心目标:发现缺陷(Defect/Bug)验证功能符合需求规格评估系统性能、安全性和可靠性降低产品风险,提升用户满意度1.2 测试基本原则测试显示缺陷的存在(无法证明无缺陷)穷尽测试不可行(需通过风险评估确定优先级)早期测试(需求阶段介入,遵循Shift-Left原则)缺陷集群性(少数模块包含多数缺陷)杀虫剂悖论(需定期更新测试用例)测试依赖上下文(不同场景需不同策略)1.3 测试生命周期(STLC)需求分析 → 2. 测试计划 → 3. 用例设计 → 4. 环境搭建 → 5. 测试执行 → 6. 缺陷管理 → 7. 报告与复盘二、软件测试分类2.1 按测试层级分类测试类型测试对象典型工具验证目标单元测试代码函数/类JUnit, pytest, Mockito代码逻辑正确性集成测试模块/服务间接口Postman, RestAssured接口通信与数据交互系统测试完整系统Selenium, Ap ...
一、简单的性能分析AI智能体 性能分析智能体工作流
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 ...
一、需求分析工作流 需求分析智能体工作流
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518 ...
一、MD文档生成测试用例实战Dify 中 迭代与循环的区别:
特性
迭代 (Iteration)
循环 (Loop)
核心定义
针对列表/数组数据中的每一项逐个执行相同的操作。
根据条件判断重复执行一段逻辑,直到条件不再满足。
处理对象
集合数据(如搜索结果列表、文档切片)。
逻辑状态(如“重试直到成功”、“递归搜索”)。
执行次数
预先确定的(等于列表中元素的数量)。
动态确定的(取决于条件何时满足,可能陷入死循环)。
典型场景
批量翻译一组句子、对搜索出的 5 条新闻分别做摘要。
引导 Agent 反思改进输出、不断重试 API 调用直到返回正确结果。
数据关系
每一项处理通常是独立的(也可配置为累积)。
后一次循环往往依赖前一次的结果或状态。
工作流运行效果
代码执行执行代码代码执行输出变量名称需要与执行代码中return 出来的值一致
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152from p ...
一、MCP1. 什么是MCP?MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 在 2024 年底推出的一种开放协议,被誉为 AI 领域的“USB 接口”。
它标准化了人工智能模型(LLM)与外部数据源、工具、开发环境(如本地文件、数据库、GitHub)的连接方式,旨在解决碎片化集成痛点,让 AI Agent 能像人类一样通过“手脚”访问和操作数据。
核心概览:
定义: 一种开放通信协议,旨在统一 AI 大模型与外部环境的对接标准。
类比:
USB接口: 一种通用的“插口”,让 LLM 轻松连接不同的软件和数据源。
AI 的手脚: 将 LLM 仅作为“说话的机器”提升为可以操作外界的 Agent。
应用场景:
读取私有数据: 安全访问个人或企业的本地文档、数据库。
工具调用: 执行编写代码、预订航班、更新 CRM 等具体动作。
上下文增强: 使模型获得最新的实时数据或深入的背景信息。
优势: 相比碎片化的集成,MCP 更安全(数据可保留在本地)、标准统一、减少适配成本。
MCP 的关键优势在于它提供了一种安全且标准化的一对多解决 ...
写提示词的大模型: gemini
1. 工作流-图片文字提取大模型图片识别提示词通过 gemini 生成,提示词如下:
图片文字提取 提示词
Role你是一位拥有 20 年经验的高级 OCR(光学字符识别)专家,精通多种语言、复杂排版及各类手写体识别,能够以极高的准确度还原图片中的文本信息。Task请完整、精确地提取所提供图片中的所有文字内容,并保持其逻辑结构。Rules & Constraints忠实原意:严禁对图片文字进行总结、修改或拼写纠错。无论原图文字是否有误,均按视觉呈现原样输出。结构还原:保持段落分明,确保标题、正文、列表、脚注的层次感。若有表格,请使用 Markdown 表格格式还原。若有分栏排版,请按人类正常阅读顺序(从左到右,从上到下)排列。视觉标注:无法辨认的模糊字符请使用 [?] 代替。图片中的特殊符号或图标,可用文字描述(例如:[检查框已勾选])。负面约束:不要输出诸如“好的,这是我为你识别的文字”之类的开场白。不要输出任何关于图片质量的评价。严禁忽略图片边缘的小字或水印文字(除非特别要求) ...
一、Dify平台简介Dify是一款开源的AI助手平台,旨在为用户提供一个便捷的环境来构建和部署AI助手。它支持多种AI模型和框架,具有高度的可扩展性和灵活性。通过Docker部署Dify平台,可以简化安装和配置过程,提高系统的稳定性和可维护性。
Dify平台简介
Dify 是一款开源的大语言模型( LLM ) 应用开发平台。它融合了后端即服务( Backend as Service )和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API 。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。Dify 是开源的,它由一个专业的全职团队和社区共同打造。你可以基于任何模型自部署类似 Assistants API 和 ...
一. 解决 安装 wsl2 失败错误 0x80370114 解决 失败错误 `0x80370114`
1. 错误 0x80370114 的根源分析0x80370114本质上表示系统无法正确初始化WSL 2所需的虚拟机环境。Windows Subsystem for Linux第二代架构依赖Hyper-V虚拟化技术,但很多电脑出厂时为了兼容性考虑,默认关闭了相关功能模块。这就好比你要用微波炉加热食物,却发现电源插座根本没通电——不是微波炉坏了,只是能量供给没到位。常见触发场景包括:全新安装的Windows系统未进行虚拟化配置BIOS/UEFI中未开启硬件虚拟化支持(Intel VT-x/AMD-V)系统曾安装过其他虚拟化软件导致功能冲突Windows功能组件被意外修改或损坏2. 启用虚拟机监控程序的完整指南2.1 BIOS/UEFI层面的设置在Windows里折腾之前,首先要确保硬件基础支持。我遇到过不少案例,用户按照网上的教程操作了半天,最后发现是BIOS设置的问题。不同品牌主板的进入方式略有差异:联想/ThinkPad:开机 ...
问题背景在最近的性能测试项目中,需要生成10万条测试数据并写入数据库。这是一个典型的批量数据处理场景。
解决方案1. 数据生成优化使用Python的Faker库生成测试数据,但要注意内存使用:1234567891011from faker import Fakerimport itertoolsdef generate_data_batch(batch_size=1000): fake = Faker('zh_CN') for _ in range(batch_size): yield { 'name': fake.name(), 'email': fake.email(), 'created_at': fake.date_time_this_year() }
2. 批量写入策略
MySQL: 使用executemany()配合批量提交
PostgreSQL: 使用COPY命令,速度 ...
断言的重要性在接口自动化测试中,断言是验证接口响应正确性的关键环节。
常见断言问题1. 硬编码断言123# 不推荐assert response['code'] == 200assert response['data']['name'] == '张三'
2. 动态数据断言对于动态生成的数据(如ID、时间戳),需要使用模式匹配:12345import re# 验证UUID格式assert re.match(r'^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$', response['data']['id'])
优化方案1. 使用JSON Schema验证123456789101112from jsonschema import validates ...



































