测试是每个从事技术工作的人日常生活中都会遇到的事情,但是,对于一些开发人员来说,当他们听到“QA正在测试“这句话时,他们就知道很可能会在周五下午5点收到一条信息,要求他们修复一个找不到的bug。我写这篇文章就是为了帮你避免或者至少减少这种情况的发生。为什么需要测试?我们已经知道测试的重要性,但是,为什么在软件开发中测试如此重要呢?为什么我的团队需要一个人来做这件事(QA、测试员)?要理解这一点,我
2024-03-24/1258 人阅读/9 人点赞
作为开发人员,我们努力编写准确无误的代码,但实际上没有人这样做,因为……bug。为了在这些讨厌的bug对我们的应用程序造成严重破坏之前将其捕获,我们依赖于自动化测试。正向测试可以确保我们的代码按照预期运行,而负向测试则在验证我们的应用程序是否足够强大,在处理意外输入和边缘情况方面发挥着至关重要的作用。我正在开发Pythagora,这是一款开源工具,它可以自己编写自动化集成测试(当然,GPT-4也会
2024-03-24/1243 人阅读/6 人点赞
质量保证(QA)是软件开发生命周期中一个重要过程,意在满足所有需求,并提高客户体验。QA通过提升效率,降低缺陷来帮助提高质量,降低成本。如同软件产品和服务趋向于复杂,也需要更多综合性的测试来寻找缺陷并进行必要的修复后才能进行对外发布。QA过程中需要制定计划并且监控才能获得成功。最有效的方法是使用经过深思熟虑后产生的指标。在描述相关流程的重要信息中,指标是非常重要的数字。它可以展示出有关流程是如何运
2024-03-16/1278 人阅读/0 人点赞
(在我的同事DougHoffman、MichaelBolton、KenPugh、CemKaner、BretPettichord、JimBatterson和GeoffSutton以及许多参加过“雷区辩论”的学生的帮助下,作为我测试课的一部分。这个"雷区"比喻的灵感来自BrianMarick的演讲《经典测试错误》)在测试中查找bug就像在雷区中寻找地雷。如果你只是一遍又一遍地在雷区中走同一条路,你就不
2024-03-16/1300 人阅读/0 人点赞
开发组织常常面临的一个标准问题是,代码实现往往需要与原始设计和架构更加一致。这个问题很常见,尤其是在大型项目中。软件架构对于代码库的可理解性、可变性和遵循软件质量目标至关重要。就代码库而言,有三个重要的软件架构目标:可维护性、可替代性、可扩展性。要使软件系统保持良好的状态,就必须确保它是模块化的,相互依赖关系尽可能小且正确,从而实现高内聚和低耦合。这些目标可以通过引入特定的模式和代码约定来实现,并
2024-03-16/1281 人阅读/0 人点赞
上周五,也就是2021年5月21日,距离我在苹果公司担任测试人员的第一天已经过去了整整34年。在此之前,我是一名开发人员,但从那之后我一直都在从事测试工作,这让我不禁陷入回忆。是的,这个行业经历了很多变化,但在我观察这个领域的整个过程中,似乎有一个不变的事实:软件世界中几乎每个人都认为他们了解测试,但几乎没有人想去学习相关知识。在80年代,尽管有很多人被称为测试人员,并且在测试上投入了大量资金,但
2024-03-16/1325 人阅读/3 人点赞
如果你问10名软件测试人员,“你是如何进入软件测试的?”,我敢打赌你会得到5-8个不同的答案。为什么会这样呢?一般情况下,在大学里是学不到软件测试的,软件测试通常是计算机专业技能的一小部分,遗憾的是,在大学这段时间里没有得到足够的关注。与我交谈过的大多数人都声称这是偶然进入软件测试的,包括我自己。当软件测试人员想要成为一名管理人员时,情况也是类似的。进入这个角色没有直接的途径。每个人的途径都不一样
2024-03-16/1305 人阅读/10 人点赞
软件测试的世界是广阔的,而且在不断发展。随着技术的快速变化,测试人员必须随时了解最新趋势、工具和最佳实践。加入测试社区是随时了解情况、与其他专业人士建立联系并为社区做出贡献的好方法。以下是2023-2024年加入的前10个测试社区的列表。测试部落概述:TestTribe是印度最大的软件测试社区,其全球足迹不断扩大。它致力于为软件测试人员创建和增强协作、学习和共同成长的平台。措施:thrive.no
2024-03-16/1367 人阅读/0 人点赞
要点概览单元测试应该增加对代码正常工作的信心,允许我们记录代码应该如何工作,并帮助设计低耦合、高内聚的软件。单元测试与代码库的其余部分隔离,这有助于它们快速运行、编写简单、易于理解和维护。测试替身(TestDoubles)有助于促进单元测试的隔离。在单元测试中大量使用MockObject提供了较少的信心,即被测行为正常运行。FakeObject可以使单元测试保持隔离,同时增加它测试所需行为的信心。
2024-03-09/1324 人阅读/4 人点赞
通俗地说,人工智能(AI)是计算机科学的一个领域,它专注于使机器“智能化”。所谓智能,就是使系统能够像人类一样学习和做出决策。因此,人工智能机器将能够学习如何在特定情况下做出反应,然后根据其学习情况在未来场景中做出决策。人工智能(AI)在大多数领域的应用仍处于早期阶段,想要完美运行还需要很长时间。今天的人工智能(AI)技术可以帮助我们完成许多不需要复杂思考的重复性日常任务。接下来,让我们讨论软件测
2024-03-08/1401 人阅读/29 人点赞
在准备将软件上线到生产环境之前需要进行测试。随着软件测试方式日趋成熟,软件开发团队的测试也在取代大量手动测试,逐渐实现自动化测试。通过自动化测试,开发团队可以在短短几分钟内就了解到软件是否存在问题,而不需要等待几天的时间。自动化测试大大地缩短了反馈周期,与敏捷开发、持续集成和DevOps文化密切相关。本文将分为上、下篇来探讨如何构建一个高响应、可靠并且可维护的测试组合,无论是针对微服务架构、移动
58°
/580 人阅读/0 人点赞/0 条评论
作为开发人员,我们应该遵守这样一句话:“质量不是来自检查,而是来自生产过程的改进。”——爱德华·戴明 “测试即代码。”太多的组织将任何未编码的东西视为一次性的。很明显,测试是必不可少的,但我们一次又一次地发现,团队将测试自动化和相关材料视为二等公民。测试是用户行为的文档,与产品组织产生的需求密不可分,并在虚拟层面与用于创建功能的代码相连。 如果它提供了价值,就应该对它进行版本化、维护、照顾和尊重,
83°
/835 人阅读/0 人点赞/0 条评论
技术性债务在DevOps到底意味着什么?从本质上讲,这是小的开发缺陷的积累,需要不断地返工。它可能由多种原因引起,例如快速交付新功能的压力,这可能会导致团队不得不牺牲代码的整洁和完善。但这些不完整的小代码,如经济上的债务一样,随着时间的推移会产生“利息”,在软件工程里就表现为修改的挑战或添加新功能的困难。 一、技术债务的原因技术债务的主要原因之一是组织的开发方和业务方之间的脱节。开发团队经常会感到
78°
/786 人阅读/1 人点赞/0 条评论
在《TDD、BDD、ATDD都是什么、有什么区别?(上)》一文中,探讨了探讨TDD、BDD和ATDD的概念。虽然TDD、BDD和ATDD都是软件开发中使用的测试方法,但它们在方法和重点上有所不同。TDD、BDD和ATDD之间的主要区别在于关注点、抽象层级和协作。1、关注点TDD侧重于测试代码并确保它满足需求。BDD关注软件的行为,并确保它满足业务需求。ATDD关注于验收标准,并确保软件满足业务
79°
/792 人阅读/0 人点赞/0 条评论
tynam —-倔强的测试人 几年前,当我第一次看到《海盗派测试分析:MFQ&PPDCS》这本书的时候,便带给我一种非常亲切的感觉,书中的部分思想和我当时的认知非常切合。那几年,我一直从事软件测试工作,按照自己的想法完成着测试任务,与接受的测试理论存在非常大的差异,一度怀疑自己是否走偏,但感觉又应该是自己走的那样,直至了解到海盗派Tester,心中顿有方向,有理论支持。至今,还在一如既往的
76°
/767 人阅读/1 人点赞/0 条评论
作者:王凌云|QE_LAB 背景:最早接触和了解无障碍测试是在去年参加公司的一项“无障碍测试公益培训” 的助教工作,这个活动是计划为“有人”基金会的视障人群展开一期“无障碍测试公益培训”活动。后来通过公司的Accessibility Community上的文章对无障碍测试有了更进一步的了解。目前所在的项目中正在做有关Mobile端的Accessibility的测试和相关的开发改进工作,借此做一个总
93°
/930 人阅读/0 人点赞/0 条评论
作者:赵泽鑫|QE-LAB浅谈DataDrivenTestingWhatisDataDrivenTesting数据驱动测试(Data-driventest)是一种软件测试方法,其中测试数据以表格或电子表格格式存储。数据驱动测试允许测试人员输入一个单一的测试脚本,可以对表格中的所有测试数据执行测试,并期望在同一表格中的测试输出。它也被称为表驱动测试或参数化测试。尤其是针对于自动化
158°
/1588 人阅读/135 人点赞/0 条评论
作者:赵泽鑫,张海云,冯曌 | QE-LAB 写在前面:该项目是某企业CRM+ERP系统 0 - 1 的数字化转型中最重要的一个产品之一,需要拉通上下游30+系统,有上百名的同事与我们共同在一线战斗。我们将项目上的实践,遇到的问题,以及我们的辛酸苦辣落笔为大家眼前这些朴实的文字,希望能够给大家带来在大规模项目中做敏捷测试的不一样体验,感受大规模0到1数字化转型中的QA的机遇与挑战。由于篇幅很长,
203°
/2039 人阅读/134 人点赞/0 条评论
常用的配置文件类型在做自动化测试中,配置文件常用的有2种。第一种是.ini文件,实际上.ini文件是Initializationfile的缩写,即为初始化文件,是Windows系统配置文件所采用的存储格式,统管Windows的各项配置,用户可以通过修改对应的*.ini文件来实现不同的初始化配置第二种是yaml文件,YML文件格式是YAML(YAMLAintMarkupLanguage)编
201°
/2007 人阅读/138 人点赞/1 条评论
本文首发于「BY林子」,转载请参考版权声明。 “小淘,吃石榴吧。” “吃石榴太麻烦了,不想吃。” “这是软籽石榴,籽儿可以吃的,很好吃的哈。”说完,我大口嚼着石榴直接咽下。 “不用吐籽吗?那我试一下。”小淘拿起几颗石榴粒放嘴里嚼了一下,还是把籽儿吐出来了。“不行,这籽儿我没法咽下。” 的确,在没有软籽石榴的时候,我也这样吃石榴,也觉得石榴吃起来太麻烦,而不愿意吃。而小淘由于对硬籽石榴中的籽儿
228°
/2280 人阅读/143 人点赞/0 条评论