前言在以前传统的软件开发流程中,大部分项目都是使用瀑布模型来进行开发。瀑布模型中最为典型的一个步骤就是将大规模的测试工作放在软件功能开发完成之后。但是随着软件规模的增大和业务需求的不确定增多,测试工作越来越困难,成本也越来越高,导致测试效率越来越低。并且随着公司对于研发效能的追求,所以业界有些公司发起了去测试化的活动,并且裁掉大量的在传统研发流程中只做手动测试的测试人员。那么在当前这样的情况下,测
1 天前| 442 人阅读|0 人点赞

之前本公众号曾经写过几篇和前端性能分析相关的文章。《性能工具之前端工具梳理》《前端分析工具之Charles录制Android/IOS手机的https应用》《性能分析之压力工具是否模拟出了前端的请求》首先这些文章还不够成体系,其次也不够有深度。这一点后面我们要尽量补齐,其实还是和思维逻辑有关。在我写的两个性能专栏中,也没有关于前端的描述。但在我参与过的性能相关的场合,像咨询、培训、讨论等,都会被问到
1 天前| 638 人阅读|0 人点赞

本文只探讨需求质量的度量,需求价值的度量不在讨论范围内。一天晚上,给娃讲绘本《肚子里有个火车站》,故事用形象生动的比喻讲解消化吸收的原理与科学饮食的重要性。绘本故事:《肚子里有个火车站》简单描述一下:我们的肚子里有个火车站,吃进来的食物会被小精灵们加工好后进行装车,然后以一定的频率发车。有时很久没有食物进来,小精灵们就会闲得睡大觉。有时突然一下食物堆积成山,小精灵们就加班加点忙个不停。进来的食物需
2 天前| 1219 人阅读|1 人点赞

昨天天去github上的PowerMock项目去看了一下。这个项目上次的commit和发布已经是10个月之前了。还积攒了400个问题和13个PR没有合并。当然,作为一个出道很久的小众Mock工具的项目,本身的活跃度低也是比较正常的。不过,很多Issue其实是关于新JDK兼容性的。从这点上看,维护者已经不是在积极维护这个项目了。而造成这些问题的一个重要因素,其实和JUnit5有关。众所周知,Mock
2021-11-24| 1217 人阅读|0 人点赞

产品Backlog是一个简单而强大的工具,用来捕获产品创意和调整产品决策,并且为开发工作的方向提供指引。不幸的是,想要用好产品Backlog这个工具并不容易。本文讨论了七个常见的产品Backlog错误,以帮助您识别和规避这些错误。产品Backlog太大几年前,一家医疗保健公司期望我能够在敏捷转型上提供一些帮助,特别是敏捷转型后对产品管理的影响。这个公司的敏捷转型团队所关心的一个关键挑战是如何选择正
2021-11-21| 1235 人阅读|0 人点赞

图片来源:GeeksforGeeks这篇文章的观点可能并不适用于每个公司或每个工科学生。但这个观点已经非常广泛地存在我的经验中,以至于我觉得有必要宣扬一番。观点编程竞技是锻炼编程能力的一个好工具。但对竞争性编程的极端追求与其说毫无用处,不如说比毫无用处还要糟糕。事实上,不仅学生在朝这个方向努力,公司也在朝着这个方向努力而不是去寻找兴趣广泛的工程师。迷失—从起初的能力训练到不顾一切地痴狂编程竞技开始
2021-11-19| 1240 人阅读|3 人点赞

本文分享一些技术改进类项目(以下简称“技改项目”)的质量保障思路。1.技改项目的质量挑战何为技改项目?即目标是服务于技术改进或架构升级,而非服务于常规的业务功能更新。常见的技改项目有:大规模的前端重构或后端重构、技术架构升级、数据库拆分、数据迁移、系统上云和云迁移、非对客的支撑性项目等。(非对客:不直接面对前端用户的功能,通常是系统的支撑性需求)为什么这类项目的质量保障思路值得单独讨论?区别于常见
2021-11-18| 1285 人阅读|8 人点赞

很多成功的软件工程师都具有高效的时间管理能力。这项能力可以助你在职场中快速进步,而不必在冲刺阶段长时间加班。每个组织都试图通过自动化管道、增强型IDE和DevOps减少时间浪费并提高生产力。通过避免这6大时间浪费,让你的一天更有效率。作为软件工程师的6大时间浪费1.添加太多功能为了考虑所有“假设”,你有多少次把需求过度复杂化了?如果你正在开发的API可以设计为无缝集成到其他平台,要怎么办?如果你的
2021-11-17| 1306 人阅读|2 人点赞

“敏捷测试强调团队为质量负责,那质量变成是团队的事情,可能有团队人员认为个人不那么负责问题不大,毕竟天塌下来有团队在。”一位转型中的测试经理表达了这样的担忧。这跟传统职责分明的做法有关,“我”管“我的”,“你”管“你的”,各自做好自己的本分就可以了。现在,既然说要团队来负责,那么“你”就可以多帮“我”负责一点,“我”少负责一点也没问题。听起来似乎还挺合情合理的。显然,这种想法是有问题的,把个人跟团
2021-11-16| 1271 人阅读|2 人点赞

刚加入互联网企业时,有两个事情让我印象深刻,并给我很深的思考,1.互联网企业做性能测试时,一般10分钟左右就完成测试,而传统企业性能测试时间大多在几个小时,有什么甚至要做到7*24小时,为什么会这样呢?到底是什么原因导致有这么大的差异?2.另外一个事情是刚到金融不久,开发金条项目,第一个版本上线的是借款,第二个版本上线的是还钱(大概2周后),后续的版本逐渐上线的合规风控等。这个事情当时给我一个很大
2021-11-12| 1293 人阅读|9 人点赞


有人说:“杂乱无章的自动化只会带来更快的混乱。”不仅更快,而且是更严重、更大的混乱。如果使用得当,自动化可以成为测试团队中令人惊叹的生产力助推器和系统的质量增强器。自动化测试的关键是要正确运用,这是初始最困难的部分。下面,我们会了解最常见的自动化测试挑战以及应对措施。挑战1:获得管理层的批准跟任何公司部门一样,员工总要知道预算允许和不允许的东西。测试人员可能已经知道自动化在商业和技术两方面的优

56°|562 人阅读|3 人点赞|0 条评论


通过上篇文章,可以意识到自动化的重要性和优势,必须确定可以自动化的用例。为此,必须考虑所追求的目标,以及这个目标在测试金字塔中处于什么层次。尝试回答以下问题:目标是什么?需要确认的第一件事是始终以更高水平的软件质量为目标,并分析自动化是否适合项目。要回答这个问题,建议对目标进行可行性分析。以下是最有可能实现自动化的一些场景:有技术债务需要消除;回归测试非常耗时;

67°|672 人阅读|3 人点赞|0 条评论


自动化测试和敏捷软件开发常常是成对出现,但敏捷中的自动化往往说起来容易做起来难。大多数开发人员都已经认识到测试自动化的好处:它加快了测试速度、降低了成本、增加了覆盖率等。但是,许多人从未超过开始所需的初始投资。就像这幅漫画中的穴居人一样,许多团队陷入了困境,他们采用着低效率的方式,因为自认为根本没有时间去做出改变。而实际上,他们自己受到损害。不要养成这个坏习惯!今天,与你分享敏捷团队

226°|2267 人阅读|6 人点赞|0 条评论


低代码是一种软件开发方法,它可以更快地交付应用程序,并且只需最少的手工编码。低代码平台是通过建模和图形界面实现应用程序可视化开发的工具集合。低代码使开发人员能够跳过手工编码,从而加快将应用程序投入生产的过程。据Gartner称,到2024年,低代码将负责65%以上的应用程序开发活动,而为应对COVID-19大流行提供数字化解决方案的压力只会加速这一应用程序的采用。为了理解这种开发方法的日益流行

104°|1044 人阅读|8 人点赞|0 条评论


前面文章我们讲到,容器是运行在宿主机上的一个进程,多个容器之间使用同一个宿主机上的操作系统内核。此处以Ubuntu20.04系统为例,介绍Docker容器引擎的安装过程。安装安装依赖。sudoaptupdatesudoaptinstallapt-transport-httpsca-certificatescurlgnupg-agentsoftwa

114°|1142 人阅读|5 人点赞|0 条评论


自动化测试是应用程序在非常短的时间内执行软件的整个生命周期的过程,使测试软件具有很大的充分性和有效性。在这个程序设计的系统中,测试人员编写一个脚本,并借助合适的软件对软件进行测试。自动化测试背后的基本目标是提高测试效率和提高软件的价值。自动化测试有助于揭示那些未经测试的代码片段。自动化代码覆盖率低会影响产品质量,给测试人员带来不必要的物理检查的压力。自动化测试并不容易,并且需要适当的指导

127°|1273 人阅读|2 人点赞|0 条评论


首先,我们来了解一下KVM虚拟机有关的几个概念和工具。kvm:基于内核的虚拟机(引擎)qemu:用于模拟虚拟机IO设备qemu-img:虚拟机磁盘管理工具libvirt:虚拟化服务的API接口virsh:基于libvirt实现的命令行工具qemu-manager:图形化管理工具新建KVM虚拟机时,可以指定另一磁盘文件作为BackingFile。Back

110°|1109 人阅读|2 人点赞|0 条评论


开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议。开源协议规定了用户在使用开源软件时的权利和责任,虽然不一定具备法律效力,但是当涉及软件版权纠纷时,也是非常重要的证据之一。软件在追求“自由”的同时,不能牺牲程序员的利益,否则将会影响程序员的创造激情,因此世界上现在有90多种被开源促进组织(OpenSourceInit

161°|1614 人阅读|32 人点赞|0 条评论


美国政治传播学家拉斯韦尔提出了5W传播模式,经过后人的不断运用和发展总结,形成了一套逐渐成熟的“5W1H”体系,即:对选定的项目、工序或操作,都要从原因(何因Why)、对象(何事What)、地点(何地Where)、时间(何时When)、人员(何人Who)、方法(何法How)等六个方面提出问题进行思考。本系列文章就以5W1H体系来讲一讲开源的那些事。What——开源是什么?开源即开

144°|1440 人阅读|53 人点赞|0 条评论


测试开发工程师,通常是指具备开发能力的测试人员。近年来,随着DevOps和敏捷过程越来越广泛地被采用,软件测试、特别是自动化测试得到了迅速的发展。DevOps希望建立一个快速、频繁、可靠的一体化交付过程;敏捷则要求对交付件质量进行持续、及时、全面的反馈。软件测试作为研发过程中的重要环节,其能否达到快速响应、有效度量,实现过程自动化、系统一体化的目标,对整个组织的研发效率和产品质量将产生

141°|1413 人阅读|54 人点赞|0 条评论