引言前几天,我在阅读一些Selenium文档时偶然发现了一个奇怪的声明。上面写着:“页面对象本身绝不应该进行验证或断言测试。因为这是测试的一部分,应该始终放在测试代码中,而不是在页面对象中。”这句话让我的感觉很复杂(™),我决定更深入地研究一下。于是就有了这篇文章。©那么...使用POM的时候,我们需要弄清楚下面这几个情况:-没有断言,从来没有?-也许有一些断言。-是的,有断言,总是有!注意:本文
2024-11-03/1495 人阅读/244 人点赞
最近,我看到了一张截图,展示了两个Cypress测试,它们使用了强大的cy.intercept命令来测试加载消息和错误处理。你可以在Twitter和LinkedIn上看到原帖。以下是截图内容:两个使用cy.intercept命令的Cypress测试让我们稍微改进一下这些测试。在执行动作之前设置网络拦截我们要做的第一个改进是消除第一个测试中的潜在不稳定因素://cypress/e2e/bon
2024-11-03/1484 人阅读/242 人点赞
压力测试是软件开发不可或缺的一部分,因为它有助于确保应用程序能够处理极端情况和负载的意外波动。通过将软件推到正常运行能力之外,压力测试可以识别潜在的瓶颈、漏洞和弱点,这些都可能在现实压力下导致系统故障。这种积极主动的方法不仅增强了软件的稳定性和性能,而且即使是在最苛刻的情况下,也能建立其能提供持续稳定用户体验的能力的信心。今天,将演示3个可以帮助我们完成工作的开源工具。HEYHey是一个很小的程序
2024-11-03/1523 人阅读/242 人点赞
让我们从一个简单的小实验开始。我问了ChatGPT以下问题:“你能描述一下软件测试概念的三个不同定义吗?”以下是我收到的回答:这些对我来说是可以接受的。我明白,如果你遵循不同的测试理念,可能不会完全认同这些定义。但因为没有一个放之四海而皆准的定义,我对此表示理解。简而言之,我认为测试就是确保应用程序满足需求并找到错误。我知道这听起来是过度简化了,但我还是坚持这个观点。当需求不明确、不完整或
2024-11-03/1506 人阅读/243 人点赞
你和你的团队是否经常头脑风暴讨论如何提高质量?在我的团队中,“质量改进”几乎在每次回顾会议中都是讨论的重点之一,因为测试从未真正足够。通过积极使用“质量保证成熟度(QAM)评估”框架,我们总能确定下一步要做的事情,今天我想与大家分享这一点。定义质量保证成熟度(QAM)评估有助于识别需要采取措施的差距,从而提高QA团队的生产力和最终产品的质量,并缩短开发周期。这段通往QA成熟度的旅程包括结构化的阶段
2024-11-03/1508 人阅读/244 人点赞
在使用Playwright进行端到端网站测试和监控时,选择合适的定位器至关重要。正确的定位器有助于创建更可靠、稳定性更强的测试。让我们来探讨面向用户的定位器,以及如何筛选定位器以增强测试的稳健性。示例场景考虑一个包含标题、按钮和状态更新框的简单网页。点击按钮后,状态会更新并触发彩纸动画。我们将通过这个场景来展示如何测试。为什么不使用CSS选择器查找页面元素?如果你习惯了使用一些老旧的自动化
2024-11-03/1490 人阅读/242 人点赞
如果你是一名软件测试人员,那么在你的职业生涯中很有可能做过web测试。web应用程序非常流行,以至于现在最流行的测试工具实际上都属于web应用程序测试和自动化类别。然而,从另一方面来说,并非所有的工具都那么流行。bookmarklet就是这样一个例子。你从未听说过它?别担心,我们会为你讲解。在本文中,我们将深入bookmarklet的世界,探究它们是什么,以及它们如何增强你的web测试能力。此
2024-11-03/1486 人阅读/242 人点赞
遇到的问题工作中,当试着为包含无头(headless)UI单选按钮组功能的用户流编写Playwright测试时,我遇到了一个问题。某个测试偶尔总会失败,原因是没有成功点击到某个单选按钮。但可操作性验证步骤是成功的,然后Playwrite测试就尝试点击这个单选按钮。在此期间,Playwright没有抛出任何错误。但整个测试最后失败了,这是因为随后的断言部分依赖该单选按钮的选择状态。当我检查相关运行追
2024-11-03/1514 人阅读/245 人点赞
第一幕:展示你的目标无障碍测试对于确保网页项目的包容性和可用性至关重要,无论用户的能力如何。然而,将无障碍测试集成到Cypress框架中,传统上一直面临多种限制。目前,许多开发者依赖于cypress-axe插件,它是Deque的axe-core®包的一个友好封装,专为Cypress框架定制。Axe-core®已成为无障碍分析的标准和强大工具。然而,axe-core®提供的结果是原始数据,cypre
2024-11-03/1493 人阅读/244 人点赞
Appium是Android和iOS平台上自动化测试移动应用程序的热门开源工具之一。要真正发挥Appium的强大功能,了解其内部工作原理至关重要。因此,理解Appium架构对于充分利用其在移动端自动化测试方面的潜力至关重要。在这篇博文中,让我们一起深入了解Appium架构,并通过结合Appium不同组件的示例来有效地自动化测试移动应用程序。什么是Appium?Appium是一款开源的移动端自动
2024-11-03/1516 人阅读/243 人点赞
大家好,我是陈哥,今天想和大家聊聊Git合并冲突解决~背景前几天,我正好收到了一位读者的留言:又又又又遇到了Git合并冲突,解决冲突比写代码还费劲,突然想起SVN的好。该怎么避免Git冲突啊?我想,比如这样?在我看来,Git合并冲突是不可避免的。在本文,我想和大家简单分享一下遇到Git冲突该如何解决,希望对大家有所帮助。在此之前,我们先来了解一下Git的合并冲突是什么以及合并冲突的类型有哪
92°
/925 人阅读/244 人点赞/0 条评论
大家好,我是陈哥,今天聊聊禅道的代码提交规范~背景在《还不知道这个原则的程序员,要小心了》的文章中,我提到了禅道的代码提交规范。简单来说,我们将工具融入到禅道团队的日常代码提交过程中,利用工具对流程、行为进行规范和约束。接下来,我将从编码规范、测试规范等方面,和大家简单分享一下禅道团队的代码提交规范。为了方便大家了解和学习,大家可以发送【代码提交规范】,免费领取禅道团队的代码提交规范。
94°
/940 人阅读/244 人点赞/0 条评论
一位读者在看过我的《理解这八大优势,才算精通单元测试》后,问我:知道单元测试有好处,但实在没空写。看完文章后又想重新落实一下,有没有啥写好单元测试的技巧?这位读者绝对不是第一个和我抱怨单元测试的人。这很好理解,中国互联网公司太多太卷,想要抢夺市场就要推出不同功能,而这些压力一部分落在了程序员身上,拼命赶需求。单元测试这种费力不讨好的事情,自然而然就没有人做。就我多年的经验来看,写单元测试其实不
133°
/1336 人阅读/244 人点赞/0 条评论
在准备将软件上线到生产环境之前需要进行测试。随着软件测试方式日趋成熟,软件开发团队的测试也在取代大量手动测试,逐渐实现自动化测试。通过自动化测试,开发团队可以在短短几分钟内就了解到软件是否存在问题,而不需要等待几天的时间。自动化测试大大地缩短了反馈周期,与敏捷开发、持续集成和DevOps文化密切相关。本文将分为上、下篇来探讨如何构建一个高响应、可靠并且可维护的测试组合,无论是针对微服务架构、移动
256°
/2569 人阅读/243 人点赞/0 条评论
作为开发人员,我们应该遵守这样一句话:“质量不是来自检查,而是来自生产过程的改进。”——爱德华·戴明 “测试即代码。”太多的组织将任何未编码的东西视为一次性的。很明显,测试是必不可少的,但我们一次又一次地发现,团队将测试自动化和相关材料视为二等公民。测试是用户行为的文档,与产品组织产生的需求密不可分,并在虚拟层面与用于创建功能的代码相连。 如果它提供了价值,就应该对它进行版本化、维护、照顾和尊重,
291°
/2912 人阅读/137 人点赞/0 条评论
技术性债务在DevOps到底意味着什么?从本质上讲,这是小的开发缺陷的积累,需要不断地返工。它可能由多种原因引起,例如快速交付新功能的压力,这可能会导致团队不得不牺牲代码的整洁和完善。但这些不完整的小代码,如经济上的债务一样,随着时间的推移会产生“利息”,在软件工程里就表现为修改的挑战或添加新功能的困难。 一、技术债务的原因技术债务的主要原因之一是组织的开发方和业务方之间的脱节。开发团队经常会感到
246°
/2464 人阅读/245 人点赞/0 条评论
在《TDD、BDD、ATDD都是什么、有什么区别?(上)》一文中,探讨了探讨TDD、BDD和ATDD的概念。虽然TDD、BDD和ATDD都是软件开发中使用的测试方法,但它们在方法和重点上有所不同。TDD、BDD和ATDD之间的主要区别在于关注点、抽象层级和协作。1、关注点TDD侧重于测试代码并确保它满足需求。BDD关注软件的行为,并确保它满足业务需求。ATDD关注于验收标准,并确保软件满足业务
270°
/2702 人阅读/134 人点赞/0 条评论
tynam —-倔强的测试人 几年前,当我第一次看到《海盗派测试分析:MFQ&PPDCS》这本书的时候,便带给我一种非常亲切的感觉,书中的部分思想和我当时的认知非常切合。那几年,我一直从事软件测试工作,按照自己的想法完成着测试任务,与接受的测试理论存在非常大的差异,一度怀疑自己是否走偏,但感觉又应该是自己走的那样,直至了解到海盗派Tester,心中顿有方向,有理论支持。至今,还在一如既往的
262°
/2629 人阅读/271 人点赞/0 条评论
作者:王凌云|QE_LAB 背景:最早接触和了解无障碍测试是在去年参加公司的一项“无障碍测试公益培训” 的助教工作,这个活动是计划为“有人”基金会的视障人群展开一期“无障碍测试公益培训”活动。后来通过公司的Accessibility Community上的文章对无障碍测试有了更进一步的了解。目前所在的项目中正在做有关Mobile端的Accessibility的测试和相关的开发改进工作,借此做一个总
302°
/3028 人阅读/245 人点赞/0 条评论
作者:赵泽鑫|QE-LAB浅谈DataDrivenTestingWhatisDataDrivenTesting数据驱动测试(Data-driventest)是一种软件测试方法,其中测试数据以表格或电子表格格式存储。数据驱动测试允许测试人员输入一个单一的测试脚本,可以对表格中的所有测试数据执行测试,并期望在同一表格中的测试输出。它也被称为表驱动测试或参数化测试。尤其是针对于自动化
338°
/3380 人阅读/379 人点赞/0 条评论