在AI、云原生、区块链等技术狂潮下,软件系统复杂度指数级攀升。如何让测试不再成为研发流程的“短板”?如何用智能化手段应对千亿级数据校验?如何保障分布式架构下的系统稳定性?种种难题都围绕着软件测试人,时刻刺激他们的神经……直到《现代软件测试技术权威指南》出现。这是一本由20+顶尖专家历时多年打磨的实战宝典,系统覆盖从经典方法论到前沿技术的全场景测试方案,助力测试人成为质量保障领域的“破局者”!3大
2 天前/64 人阅读/0 人点赞
作为QA工程师,我们将越来越多地接触到LLM和类似工具。这一新范式既令人着迷又令人担忧,因为目前缺乏关于何时以及如何测试这些工具的指导。本文旨在提供一些见解,或许能为新思路打开大门。让我们深入探讨LLM响应的语义测试。1.为何要自动测试LLM?像GPT、DeepSeek、Ngrok或LLaMA这样的语言模型会生成复杂响应(即对查询的回答),手动评估往往困难重重。虽然人工评估很有价值,但存在诸多
2025-05-11/90 人阅读/0 人点赞
想象一下,JMeter内部有一位智能助手,能轻松帮您设计、优化和排查测试计划——这就是FeatherWand插件带来的体验,它将AI魔法融入性能测试,彻底改变您的工作方式。本文将深入解析它的独特功能、工作原理,以及为何它能成为性能测试工程师的得力助手。目录名称背后的故事FeatherWand的核心功能为何性能测试工程师需要它通过AI聊天界面进行头脑风暴一键添加测试元素生成Groovy代码片段实现自
2025-05-11/80 人阅读/0 人点赞
对象池模式(ObjectPoolPattern)对象池模式是一种创建型设计模式,它维护一组预先初始化的对象——称为“池”——以供使用,而不是按需创建和销毁它们。它通过四个简单的步骤工作:初始化池:创建并加载对象到池中。查找合适的对象:根据特定条件选择一个可用的对象。获取对象:将该对象保留供独占使用。释放对象:在使用后将对象归还到池中。为什么使用对象池模式?主要优势是高效的资源管理和并行化协同,
2025-05-11/72 人阅读/0 人点赞
“质量绝非偶然;它始终是智能努力的结果。”—约翰·拉斯金注:在开始之前,我想说明一下,我将在本文中使用人工智能(AI)的简写版本。如今,您无法在LinkedIn或Reddit上滚动,或打开一份技术通讯,而不看到另一篇关于人工智能的头条新闻。尽管媒体的炒作列车全速前进,但事实是,人工智能正在成为帮助我们更聪明、而不是更努力工作的强大工具。在我之前探索三种质量叙事的基础上,我现在看到了一种由人工智
2025-05-11/62 人阅读/0 人点赞
给初创公司CTO和VPE的一些智慧箴言作者注:这是对我之前那篇《你真的需要聘请QA或组建QA团队吗?》一文的后续。在那篇文章中,我总结说,到了某个时候,你可能需要聘请你的第一位测试工程师并开始组建质量团队。本文讨论了你应该何时考虑这一点,以及我认为较好的方法是什么,以及为什么。首先,你甚至需要QA或测试团队吗?工程师主导型公司与产品/业务主导型公司我在Plato的Elevate2024会议上参
2025-05-11/63 人阅读/0 人点赞
介绍在我们系列文章的第一部分中,我们通过构建一个具有强大测试能力的SpringBootRESTAPI,为我们的测试自动化流程奠定了坚实的基础。我们实现了/hello端点,并通过/health和/info端点启用了执行器支持的健康监测。我们使用maven-checkstyle-plugin和Google的风格指南进行了静态代码分析,为我们的控制器编写了单元测试,使用Docker容器化了我们的应用
2025-05-11/72 人阅读/0 人点赞
介绍在上一篇文章中,我们介绍了使用CI/CD的测试自动化流程的概念。现在,让我们开始创建我们应用的基础:一个SpringBootRESTAPI。虽然任何后端技术都可以满足我们的需求,但SpringBoot提供了一个强大且文档齐全的框架,非常适合演示最佳实践。在本教程结束时,你将拥有:一个带有简单“HelloWorld”端点的运行中的SpringBootRESTAPI单元和API测试以确保质量使
2025-05-11/65 人阅读/0 人点赞
第一部分:引言在当今瞬息万变的网络世界中,应用程序不仅要能运行,还需要在所有设备和浏览器上呈现出正确的外观。这就是可视化测试的用武之地。虽然功能测试可以检查应用程序是否正常工作,但可视化测试通过比较截图来捕捉设计或布局中的任何不希望出现的变化。Playwright是微软推出的一款强大的端到端测试工具,它内置了对可视化比较的支持。通过简单的命令(如awaitexpect(page).toHave
2025-05-11/73 人阅读/0 人点赞
初创公司CTO或VPE面临的必然问题作者注:这篇文章于2025年1月发布,但在同年3月,我意识到遗漏了合成监控的部分,因此在此进行了补充。你是如何走到这一步的你努力工作,带领公司的技术团队和产品度过了MVP阶段。你的客户群正在增长,你开始看到一些bug出现,其中一些导致了严重的客户投诉。不断增加的bug数量以及由于关键bug而不得不回滚发布,让产品和业务感到沮丧,也让开发团队感到疲惫。你希望能
2025-05-11/55 人阅读/0 人点赞
大家好,我是陈哥。当下,国产化替代稳步推进,不少企事业单位对工作中所用的到信创产品提出了更高的要求。硬件、操作系统和数据库等产品的国产化替代受到了一定的重视,但底层框架的国产化同样不容忽视。正如华为创始人任正非所说:“核心技术是买不来的,只有自主创新才能立于不败之地。”这与禅道的观点不谋而合,我们一直在不断探索和优化软件的架构。在《国产化替代是个伪命题?被误解多年的开源软件,如今怎么样了?
19°
/196 人阅读/0 人点赞/0 条评论
《聊聊其他“Ops”(一)》中跟大家简单介绍了DevOps,以及与其概念相近的NoOps、DevSecOps和GitOps。“Ops家族”还包含其他形式,但归根结底,DevOps之所以更为流行,是因为其提供了改进工作流程的最全面的方法,因而被广泛应用。一、DevOpsvs.ITOps接下来,我们将更仔细地了解一下ITOps。许多开发人员将ITOps视为DevOps更传统的版本,但实际上它不止
65°
/658 人阅读/0 人点赞/0 条评论
大家好,我是陈哥,今天想和大家聊聊敏捷团队项目的准时交付~敏捷方法和硬性期限看似是两个不相容的概念。提到“敏捷”,我们通常会想到灵活性、适应性、迭代和持续改进,而“期限”往往与固定日期、最终性和时间压力有关。实际上,敏捷与期限并非完全对立,它们之间可以找到一个合适的平衡点,使得项目既能保持灵活性,又能遵守时间节点。正如知名敏捷教练玛丽·波彭迪克(MaryPoppendieck)所说:准时交
99°
/995 人阅读/0 人点赞/0 条评论
大家好,我是陈哥,今天想和大家聊聊Git合并冲突解决~背景前几天,我正好收到了一位读者的留言:又又又又遇到了Git合并冲突,解决冲突比写代码还费劲,突然想起SVN的好。该怎么避免Git冲突啊?我想,比如这样?在我看来,Git合并冲突是不可避免的。在本文,我想和大家简单分享一下遇到Git冲突该如何解决,希望对大家有所帮助。在此之前,我们先来了解一下Git的合并冲突是什么以及合并冲突的类型有哪
208°
/2085 人阅读/295 人点赞/0 条评论
大家好,我是陈哥,今天聊聊禅道的代码提交规范~背景在《还不知道这个原则的程序员,要小心了》的文章中,我提到了禅道的代码提交规范。简单来说,我们将工具融入到禅道团队的日常代码提交过程中,利用工具对流程、行为进行规范和约束。接下来,我将从编码规范、测试规范等方面,和大家简单分享一下禅道团队的代码提交规范。为了方便大家了解和学习,大家可以发送【代码提交规范】,免费领取禅道团队的代码提交规范。
226°
/2264 人阅读/293 人点赞/0 条评论
一位读者在看过我的《理解这八大优势,才算精通单元测试》后,问我:知道单元测试有好处,但实在没空写。看完文章后又想重新落实一下,有没有啥写好单元测试的技巧?这位读者绝对不是第一个和我抱怨单元测试的人。这很好理解,中国互联网公司太多太卷,想要抢夺市场就要推出不同功能,而这些压力一部分落在了程序员身上,拼命赶需求。单元测试这种费力不讨好的事情,自然而然就没有人做。就我多年的经验来看,写单元测试其实不
253°
/2530 人阅读/293 人点赞/0 条评论
在准备将软件上线到生产环境之前需要进行测试。随着软件测试方式日趋成熟,软件开发团队的测试也在取代大量手动测试,逐渐实现自动化测试。通过自动化测试,开发团队可以在短短几分钟内就了解到软件是否存在问题,而不需要等待几天的时间。自动化测试大大地缩短了反馈周期,与敏捷开发、持续集成和DevOps文化密切相关。本文将分为上、下篇来探讨如何构建一个高响应、可靠并且可维护的测试组合,无论是针对微服务架构、移动
378°
/3786 人阅读/292 人点赞/0 条评论
作为开发人员,我们应该遵守这样一句话:“质量不是来自检查,而是来自生产过程的改进。”——爱德华·戴明 “测试即代码。”太多的组织将任何未编码的东西视为一次性的。很明显,测试是必不可少的,但我们一次又一次地发现,团队将测试自动化和相关材料视为二等公民。测试是用户行为的文档,与产品组织产生的需求密不可分,并在虚拟层面与用于创建功能的代码相连。 如果它提供了价值,就应该对它进行版本化、维护、照顾和尊重,
402°
/4027 人阅读/189 人点赞/0 条评论
技术性债务在DevOps到底意味着什么?从本质上讲,这是小的开发缺陷的积累,需要不断地返工。它可能由多种原因引起,例如快速交付新功能的压力,这可能会导致团队不得不牺牲代码的整洁和完善。但这些不完整的小代码,如经济上的债务一样,随着时间的推移会产生“利息”,在软件工程里就表现为修改的挑战或添加新功能的困难。 一、技术债务的原因技术债务的主要原因之一是组织的开发方和业务方之间的脱节。开发团队经常会感到
348°
/3483 人阅读/270 人点赞/0 条评论
在《TDD、BDD、ATDD都是什么、有什么区别?(上)》一文中,探讨了探讨TDD、BDD和ATDD的概念。虽然TDD、BDD和ATDD都是软件开发中使用的测试方法,但它们在方法和重点上有所不同。TDD、BDD和ATDD之间的主要区别在于关注点、抽象层级和协作。1、关注点TDD侧重于测试代码并确保它满足需求。BDD关注软件的行为,并确保它满足业务需求。ATDD关注于验收标准,并确保软件满足业务
384°
/3845 人阅读/184 人点赞/0 条评论