一个喜欢技术,热爱质量的工程师
暂时未有相关通用技术能力~
阿里云技能认证
详细说明本文介绍了利用LangChain的QAGenerationChain从文本生成问题-答案对(QA pairs)的方法,旨在解决LLM应用开发中测试数据生成的格式不统一、库版本过时、模型输出异常及代码可维护性差等问题。文中提供了完整的代码实现,并对生成结果进行了有效性评估,包括语义相似度检查、关键词匹配和重复性检测,确保生成的QA对质量可靠,适用于知识库测试与评估。
queryrewrite 是一个用于大模型应用测试的 Python 库,专注于查询(query)的改写与验证。它支持多种改写方法,包括大型语言模型(LLM)、词汇表替换和同义词替换,同时提供多种验证方法如 ROUGE-L、BLEU、帕累托最优和LLM语义相似度,以确保改写后的查询在语义上保持一致。该项目特别优化了对中文文本的处理,涵盖分词和相似度计算。用户可通过 pip 安装,并支持扩展不同的 LLM 模型,如 OpenAI、Ollama 等。
Chat、Agent 和 Workflow 各具特色,长期共存,满足不同层次的LLM应用需求。Chat 实现高效人机对话,适用于即时交互;Agent 强调自主执行任务,适合复杂推理与工具调用;Workflow 侧重流程标准化,适用于结构化场景。测试设计应根据不同类型定制方案,聚焦业务价值,而非泛化指标。可通过 A/B 测试、用户反馈和错误分析持续优化模型表现。
本文探讨了人工智能驱动下测试左移理念在软件工程中的重要性,分析测试工程师在需求评估、AI代码生成及遗留系统优化中的关键作用,揭示AI带来的挑战与机遇,并指出测试工程师需提升技能、关注合规与可维护性,以在AI时代保障软件质量。
使用Windsurf开发Web应用,全程无需手写代码,仅通过自然语言交流指导大模型完成任务。初期体验流畅高效,尤其适合快速实现小规模项目。然而,面对需求变更时,代码设计易受影响,需细致指导大模型以保持良好设计。整体而言,LLM辅助编程如同结对编程中的导航员角色,用户需提升自身指导能力以发挥其最大效能。
Google推出的“网页指标”计划旨在优化网页用户体验,其中Core Web Vitals为核心指标,包括Largest Contentful Paint (LCP)、Interaction to Next Paint (INP)和Cumulative Layout Shift (CLS),分别衡量加载速度、互动性和视觉稳定性。这些指标采用第75百分位数评估,确保在不同设备和网络环境下提供一致的用户体验。
本文介绍了如何使用讯飞星火大模型API,并通过Python封装实现结构化数据输出。首先,通过封装SparkAI类,实现了与讯飞星火API的交互,确保了调用的安全性和便捷性。接着,利用Pydantic库定义了数据模型`CalendarEvent`,确保从大模型获取的回答能够被正确解析成预设的结构化JSON格式,从而解决了大模型回答不规范的问题。示例代码展示了如何构造请求、接收并解析响应,最终输出结构化的活动信息。
本文探讨了响应时间在人机交互中的重要性及发展。从1968年Rober B.Miller首次定义响应时间的多个维度,到1991年Stuart K.Card等人提出的立即响应时间常数,再到1993年Jakob Nielsen将响应时间划分为三个关键阈值,直至2020年Google提出的RAIL模型,强调了以用户为中心的性能衡量标准。这些研究为提升用户体验提供了理论基础和技术指导。
大模型应用测试需注意三大冲突:时间敏感性冲突,即模型数据可能随时间变得过时;数据真实性冲突,指训练数据中可能存在虚假信息,影响模型准确性;数据一致性冲突,表现为模型对语义相同但句法不同的输入反应不一。测试时应针对这些问题设计用例,确保模型性能。
本文探讨了Testability(可测试性)的概念,指出其并非源自软件工程,而是在硬件领域广泛应用后被引入。文中分析了多个来源对Testability的定义,强调了其核心在于系统或产品在特定条件下支持测试的能力,而非单纯指易于测试。文章还介绍了提高可测试性的几个原则,如设计标准化测试设备、内置自检功能等,旨在提升系统的测试效率和效果。
JaCoCo的XML报告详解:本文介绍了使用JaCoCo生成的XML格式的测试覆盖率报告,包括报告结构、DTD文件定义、counter计数器及其类型(如INSTRUCTION、BRANCH等)、以及package、class、method、sourcefile等元素的具体内容和作用。通过这些信息,开发者可以详细了解测试代码的覆盖率情况,从而优化测试策略。
流量回放的数据隔离
数据脱敏,Data Masking:线上数据线下使用的数据处理方法
性能测试关注多个层面的指标,包括系统层(CPU、内存、磁盘、网络)、中间件层(网关、数据库、缓存、MQ、分布式存储)、应用层(响应时间、吞吐量、应用资源、GC、错误信息)及业务层和发压机指标。这些指标帮助评估系统性能,识别潜在瓶颈,确保软件质量和用户体验。
JaCoCo(Java Code Coverage)是一种广泛使用的代码覆盖率工具,通过在字节码中插入探针(Probe)来收集覆盖率信息。
# Ollama完成本地模型的运行
HyDE
成功注册Google的SerpAPI实现AI Agent的tool
openAI的Red Team
性能测试并发量评估新思考
本文介绍了利用大模型尝试合并Jacoco代码覆盖率报告的过程。通过定义特定的函数,自动识别并合并两个不同版本项目报告中的相同代码行覆盖率信息。尽管此方法存在局限性,但展示了大模型在自动化编程任务中的潜力。
LaVague是一款使用LLM将自然语言转换为Selenium代码以实现自动化测试的工具。由于huggingface的某些模型需付费且访问不便,本文介绍了如何使用智谱的免费大模型作为替代。智谱提供免费的embedding模型和大量令牌。
每一个精心设计的度量模型都是为了提升团队的研发效能,每一个精心设计的度量模型都会驱使出现“高分低能”的团队。
软件测试是质量需求的交付实践
软件测试是质量需求的交付实践
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
测试工程师如何帮助开发域的质量变好
AI 模型:数据收集和清洗
Fine-tune 的简介
基于通用LLM的一次测试用例自动生成的实验
CoT 的方式使用 LLM 设计测试用例实践
为集成LLM到测试平台提供更便捷的方式:为讯飞的LLM星火创建接入LangChain类(全部源代码)
通过Chain Prompts方式将LLM的能力引入测试平台:正交实验测试用例生成
模型评估的指标
在评估一个模型的时候,仅通过ROUGE、BLEU SCORE评价模型还是太单薄了,并不能全面的反馈模型的能力。在相完整评估一个模型的能力的时候,最重要的是提供一套有效的评估模型。现在常见的模型的基准测试有 GLUE、SuperGLUE、HELM、MMLU等等。
OpenAI如何让ChatGPT遵守了伦理道德的底线
性能测试的时机
软件测试的目的就是为了“验证产品质量是否满足用户的需求”。但是搞清楚,用户的需求并不是一件容易的事,因此在软件测试行业发展的漫长历史中,需要一种方式能够积累广大测试工程师的经验。这里的经验就是如何验证用户的需求。这也促使软件质量模型的诞生。软件质量模型是一个衡量软件整体质量效果的度量标准,反映软件满足明确或隐含需要能力的特性总和。如果你的测试活动脱离了软件质量模型,那么很有可能会有一些很重要的内容被忽略。软件质量模型发展到现在也经历了很多演进,但是每一种演进都是是为了交付好系统而发展的。
混沌工程是近些年出现的在稳定性方面的工程学科,英文叫作 Chaos Engineering,是由网飞公司最先提出的,因为最开始混沌工程被叫作 Chaos Monkey,就像一只猴子在系统中捣乱一样,以至于到现在每次出现混沌工程都会提及一只捣乱的猴子的比喻。但是稳定性测试却不是网飞独创的,在混沌工程之前,就已经有很多关于稳定性方面的研究了。随着测试系统的业务逻辑越来越复杂,交付团队不断地通过细化测试、增加发布环节以及各种流程管控,来保障的系统的稳定性,但是的系统还是会出现各式各样的故障,混沌工程就是本着提早暴露系统脆弱环节的理念,以提高系统的稳定性为目的而出现的。
AI 的道德性测试
目前智能系统主要是对 AI 应用最为广泛的四个领域是自然语言处理、图像识别、推荐系统、机器学习这四个方面。每个智能系统都包含了一个及其以上的 AI 模型,那么支撑 AI 模型对外提供服务还需要很多传统组件,例如数据库、Web 容器、交互界面等等。所以非智能系统可能出现的缺陷,在智能系统中都有可能存在,因此我们常规的测试方法、技术、实践还都是适用的。除此之外智能系统与非智能系统相比还有一些其特殊性,所以专门针对智能系统的测试策略、方法和实践也是需要深入研究和探讨的
测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据等的总称,即够支持完成测试工作所需要的软件和硬件。测试环境是测试活动的基础,正确模拟生产环境,稳定支持测试活动是测试环境的基本要求。稳定可控的测试环境能够提升测试工程师的测试工作效率,测试工程师无需花费过多的时间维护测试环境的稳定、测试数据的合理等工作上。测试工程师只需正确执行测试用例(这里既包含了自动化测试用例也包含手工测试用例)就可以稳定复现测试过程。
在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的结果也不一样。如果想把每个因素的每个值都要实验一遍,总实验数就等于各因素的值的个数的乘积,而这个数往往很大,超过了可接受的成本。 例如,假设某个实验由A,B,C,D四个因素,每个因素都有10个不同的取值,那么如果想把每个因素都考虑到,我们需要做 10*10*10*10=10000次实验。 为了减少实验数目,我们必须选出那些最有代表性的例子。于是,就要用到了正交表法(Orthogonal Array Testing Strategy)。
测试团队技术转型实践方法
接口测试的关键技术
测试中的误报和漏报同样的值得反复修正
遗留系统的自动化策略
选好冒烟测试用例,为进入QA的制品包把好第一道关
测试环境建设的基本原则
分层自动化测试模型变与不变