深入探讨在你的Cypress测试套件中使用页面对象模型(POM)的优点和缺点。发现这种抽象工具可能增强或阻碍你的自动化策略的一些场景。1、引言众所周知,在Cypress生态系统中,普遍认为页面对象模型(POM)并不真正适用于此。许多人认为它由从Selenium转型过来的测试者引入的。即使是经验丰富的Cypress专业人士和Cypress官方博客也常常反对在设置测试套件时使用POM方法。如何在Cyp
2025-03-27/71 人阅读/0 人点赞
探索这些创新的测试策略,如何帮助AI系统发现潜在的缺陷,并使其为应对不可预测的真实场景做好准备。“归根结底,测试AI系统不仅仅是为了发现缺陷;更重要的是为我们的模型应对现实世界中的不可预测性做准备。”AI迅速在技术领域引起了轰动,尤其是大规模语言模型(LLM)在这场变革中处于领导地位。但当我们构建AI驱动的应用时,质量依然至关重要。测试AI系统的一个关键方面是处理可能决定应用成败的意外场景。由
2025-03-27/70 人阅读/0 人点赞
让我们聊聊测试生成技术。因为无论是ChatGPT、Copilot还是其他工具,它们都能在眨眼间生成大量的测试用例。但总有人要来泼泼冷水。我见证过各类测试生成技术超过20年的发展。是的,20年前,我还在钻研代码的时候,就已经有工具能根据我写的代码生成测试用例了。墙上(这里指界面啦)就已经有了一个按钮,点击它就能基于我写在“墙上”(代码编辑区域)的代码创建一个测试用例。虽然有点原始,但它确实有效。在过
2025-03-27/81 人阅读/0 人点赞
如今我们面临着一个难题。当一名测试人员离职时,仅从预算报表来看,很难说服公司再招聘一名测试人员。哪怕是离开一位支持多个团队的测试人员,也可能会影响整个部门,导致产品质量下降、集成环节出现问题。作为一名软件开发经理,面对无法控制的外部因素,处境非常艰难。他们依赖越来越少的测试人员来维护一个持续变化的系统。为了思考如何提高工作效率、减少重复性工作,并腾出更多时间处理更有挑战性的问题,今天一位软件开
2025-03-27/65 人阅读/0 人点赞
最近,有几位同仁问我如何测试AI。很高兴分享我的经验,但我倾向于从更广义的视角来解读这个问题,也许可以这样问:在测试包含人工智能组件的系统时,我会考虑哪些方面。第一次回答这个问题时,我是自由发挥的,但当问题再次出现时,我决定写下一些要点,帮助我记住关键内容。这篇文章就是这个列表的最新版本。重要声明:我不是专家;以下内容是我在对话中提醒自己注意的事项,因此非常简洁;它也比较杂乱;绝对不是一个指南
2025-03-27/86 人阅读/0 人点赞
我很高兴地宣布,coTestPilot.ai已经发布,支持Playwright和Selenium。这个开源扩展来自Checkie.AI的测试团队,为自动化测试引入了额外的AI驱动的测试能力。该项目旨在通过简单地集成到现有的Playwright和Selenium测试中,让每位自动化工程师都能享受到基于AI测试带来的价值。什么是coTestPilot?coTestPilot是Checkie.AI和
2025-03-27/83 人阅读/0 人点赞
软件测试是现代软件开发的基石,但它仍然是资源密集型且重复性高的任务之一。为了应对这一挑战,我们的团队开发了一种基于人工智能驱动的单元测试代码生成器,旨在简化测试工作流、提高代码质量并节省开发者的宝贵时间。以下是对该工具的详细介绍,以及它的革新性所在。介绍AI单元测试生成器是一款创新工具,旨在自动生成软件项目的单元测试用例,从而简化这一过程。架构概述我们的系统采用了基于智能体的架构设计。在这种架
2025-03-27/93 人阅读/0 人点赞
一个多月前,我与几位DeepEval用户进行交流,发现他们明显分为两类:一类对开箱即用的指标(metrics)感到满意,另一类则不然。需要说明的是,DeepEval是一个我过去一年一直在开发的开源LLM评测框架,其所有LLM评测指标都采用以LLM作为评委(LLM-as-a-judge)的方式。这个项目的月下载量已接近50万次,GitHubstar数接近5000(编辑注:现在已经5.4K+)。如
2025-03-27/65 人阅读/0 人点赞
在CI/CD管道中,管理测试数据是一个至关重要但常常被忽视的方面。如果没有适当的清理,陈旧或冲突的数据可能导致测试失败、假阳性结果和数据库膨胀,最终会减慢部署速度。自动化测试数据清理确保每次测试运行都从一个干净的状态开始,提高了测试的可靠性,并防止了不必要的副作用。在本文中,我们将探讨在CI/CD工作流中自动化测试数据清理的策略,从数据库回滚到基于API的方法,并且如何将它们无缝集成到我们的管
2025-03-05/215 人阅读/0 人点赞
代码覆盖率是一个重要指标,用于描述特定测试套件对应用程序源代码的测试程度。在自动化测试的背景下,你可以使用不同的编程语言来测量代码覆盖率,比如Python。Python提供了各种测试框架,如pytest,这些框架具有为自动化测试生成pytest代码覆盖率报告的能力。让我们学习如何使用pytest框架生成代码覆盖率报告。什么是代码覆盖率?代码覆盖率是一个简单的统计指标,用于衡量测试套件验证的总代
2025-03-05/267 人阅读/0 人点赞
《聊聊其他“Ops”(一)》中跟大家简单介绍了DevOps,以及与其概念相近的NoOps、DevSecOps和GitOps。“Ops家族”还包含其他形式,但归根结底,DevOps之所以更为流行,是因为其提供了改进工作流程的最全面的方法,因而被广泛应用。一、DevOpsvs.ITOps接下来,我们将更仔细地了解一下ITOps。许多开发人员将ITOps视为DevOps更传统的版本,但实际上它不止
32°
/320 人阅读/0 人点赞/0 条评论
大家好,我是陈哥,今天想和大家聊聊敏捷团队项目的准时交付~敏捷方法和硬性期限看似是两个不相容的概念。提到“敏捷”,我们通常会想到灵活性、适应性、迭代和持续改进,而“期限”往往与固定日期、最终性和时间压力有关。实际上,敏捷与期限并非完全对立,它们之间可以找到一个合适的平衡点,使得项目既能保持灵活性,又能遵守时间节点。正如知名敏捷教练玛丽·波彭迪克(MaryPoppendieck)所说:准时交
59°
/594 人阅读/0 人点赞/0 条评论
大家好,我是陈哥,今天想和大家聊聊Git合并冲突解决~背景前几天,我正好收到了一位读者的留言:又又又又遇到了Git合并冲突,解决冲突比写代码还费劲,突然想起SVN的好。该怎么避免Git冲突啊?我想,比如这样?在我看来,Git合并冲突是不可避免的。在本文,我想和大家简单分享一下遇到Git冲突该如何解决,希望对大家有所帮助。在此之前,我们先来了解一下Git的合并冲突是什么以及合并冲突的类型有哪
171°
/1714 人阅读/295 人点赞/0 条评论
大家好,我是陈哥,今天聊聊禅道的代码提交规范~背景在《还不知道这个原则的程序员,要小心了》的文章中,我提到了禅道的代码提交规范。简单来说,我们将工具融入到禅道团队的日常代码提交过程中,利用工具对流程、行为进行规范和约束。接下来,我将从编码规范、测试规范等方面,和大家简单分享一下禅道团队的代码提交规范。为了方便大家了解和学习,大家可以发送【代码提交规范】,免费领取禅道团队的代码提交规范。
183°
/1838 人阅读/293 人点赞/0 条评论
一位读者在看过我的《理解这八大优势,才算精通单元测试》后,问我:知道单元测试有好处,但实在没空写。看完文章后又想重新落实一下,有没有啥写好单元测试的技巧?这位读者绝对不是第一个和我抱怨单元测试的人。这很好理解,中国互联网公司太多太卷,想要抢夺市场就要推出不同功能,而这些压力一部分落在了程序员身上,拼命赶需求。单元测试这种费力不讨好的事情,自然而然就没有人做。就我多年的经验来看,写单元测试其实不
216°
/2164 人阅读/293 人点赞/0 条评论
在准备将软件上线到生产环境之前需要进行测试。随着软件测试方式日趋成熟,软件开发团队的测试也在取代大量手动测试,逐渐实现自动化测试。通过自动化测试,开发团队可以在短短几分钟内就了解到软件是否存在问题,而不需要等待几天的时间。自动化测试大大地缩短了反馈周期,与敏捷开发、持续集成和DevOps文化密切相关。本文将分为上、下篇来探讨如何构建一个高响应、可靠并且可维护的测试组合,无论是针对微服务架构、移动
339°
/3393 人阅读/292 人点赞/0 条评论
作为开发人员,我们应该遵守这样一句话:“质量不是来自检查,而是来自生产过程的改进。”——爱德华·戴明 “测试即代码。”太多的组织将任何未编码的东西视为一次性的。很明显,测试是必不可少的,但我们一次又一次地发现,团队将测试自动化和相关材料视为二等公民。测试是用户行为的文档,与产品组织产生的需求密不可分,并在虚拟层面与用于创建功能的代码相连。 如果它提供了价值,就应该对它进行版本化、维护、照顾和尊重,
374°
/3745 人阅读/189 人点赞/0 条评论
技术性债务在DevOps到底意味着什么?从本质上讲,这是小的开发缺陷的积累,需要不断地返工。它可能由多种原因引起,例如快速交付新功能的压力,这可能会导致团队不得不牺牲代码的整洁和完善。但这些不完整的小代码,如经济上的债务一样,随着时间的推移会产生“利息”,在软件工程里就表现为修改的挑战或添加新功能的困难。 一、技术债务的原因技术债务的主要原因之一是组织的开发方和业务方之间的脱节。开发团队经常会感到
314°
/3144 人阅读/270 人点赞/0 条评论
在《TDD、BDD、ATDD都是什么、有什么区别?(上)》一文中,探讨了探讨TDD、BDD和ATDD的概念。虽然TDD、BDD和ATDD都是软件开发中使用的测试方法,但它们在方法和重点上有所不同。TDD、BDD和ATDD之间的主要区别在于关注点、抽象层级和协作。1、关注点TDD侧重于测试代码并确保它满足需求。BDD关注软件的行为,并确保它满足业务需求。ATDD关注于验收标准,并确保软件满足业务
347°
/3479 人阅读/184 人点赞/0 条评论
tynam —-倔强的测试人 几年前,当我第一次看到《海盗派测试分析:MFQ&PPDCS》这本书的时候,便带给我一种非常亲切的感觉,书中的部分思想和我当时的认知非常切合。那几年,我一直从事软件测试工作,按照自己的想法完成着测试任务,与接受的测试理论存在非常大的差异,一度怀疑自己是否走偏,但感觉又应该是自己走的那样,直至了解到海盗派Tester,心中顿有方向,有理论支持。至今,还在一如既往的
333°
/3337 人阅读/296 人点赞/0 条评论