自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

崔博效率手册

区块链,DevOps,云/Azure,自动化测试,前端

  • 博客(23)
  • 收藏
  • 关注

原创 面对区块链,普通人应该做什么?

上周末我参加了芜湖一中京津校友会举办的聚餐活动,校友们活跃在各行各业,人才济济,欢聚一堂,好不热闹。席间盛情难却,我也斗胆介绍了一下自己对区块链的一些了解和感想。另外还有几位活跃在币圈的校友,分享了自己投资加密货币的心路历程,跌宕起伏,引人入胜。校友们提了很多问题,归结起来,可能最主要的疑问就是:面对热火朝天的区块链、加密货币热潮,普通人应该做什么?与任何一种新技术一样,区块链的传播,伴随着各种观...

2018-05-08 00:09:43 3915

原创 普通人和企业如何拥抱ChatGPT带来的巨变

机器越强大,人性就越珍贵,真正的创造性就越稀缺。

2023-02-08 16:18:01 2967

原创 从ChatGPT的成功看中美创新模式的差异

表面上,这貌似是一个偶然的突破,但是冰山之下,是两国创新体系的截然不同。

2023-02-07 23:33:55 839

原创 三分钟读懂核聚变

到底什么是核聚变?“净能量增益”意味着什么?人类真的从此进入了“无限能源”的阶段了吗?

2022-12-20 23:15:13 615

原创 五分钟读懂联邦学习

联邦学习的原理、分类和应用。

2022-12-03 23:37:44 153

原创 三分钟读懂数字藏品

在购买数字藏品的时候,到底在买什么?

2022-06-05 07:45:06 3076

原创 管人和技术是两种不同的能力

程序员、工程师当久了以后,如果项目顺利,一般都有机会组建或者负责团队,开始管人。管人其实比开发更难。技术是死的,人是活的,随时会变。把大家团结起来,一起奋斗,很不容易。我认识的许多技术人员,都不愿意管人。一个创业的朋友开一个工作室,他说这几年有好几次机会做大,但是都放弃了,因为不知道怎么管人。他说,我可以管好自己,但我不知道怎么管好别人。首先,招聘或者解雇,都是非常麻烦的事情。然后,绩效的评估,奖金的分配,很容易产生矛盾。只要有人心怀不满,就会有内耗,影响企业或团队的发展。万一出现“删库跑路”这种极

2022-01-23 14:26:03 216

原创 费曼:“只要我不能创造的,我就还不理解”

别人造的轮子始终不是你的轮子,只有你自己造的轮子可以助你飞驰!

2022-01-18 23:45:21 3451

原创 一篇感人至深的授权协议

我们每个人可能都读过很多的合同、协议、声明,但是很少有哪个会让我们感到感动,甚至催泪的。我最近遇到了一篇,分享给大家。“PDF补丁丁”是一款用于处理PDF文件的Windows软件,已经拥有12年历史,可以修改、编辑、合并、拆分PDF文件,提取页面内容,还支持OCR,而且完全绿色、免费、无广告,真可谓是一款“良心”软件。在几周前的12月24日,作者@wmjordan 正式在Github上开放了源代码。最值得一提的是,作者@wmjordan发布了一个非常、非常特别的授权协议,看了让人很感动。授权协议《P

2022-01-06 21:13:49 249

原创 系统架构设计的十大原则

千万不要只依赖自己的经验做决定。

2022-01-05 18:45:29 2653

原创 第01课:什么是微服务?

微服务的由来微服务的前身是 Peter Rodgers 博士在 2005 年度云端运算博览会上提出的微 Web 服务 (Micro-Web-Service) 。微软的 Juval Löwy 随后也提出了类似的想法,并提议将其作为微软下一阶段最主要的软件架构。2014年,Martin Fowler 与 James Lewis 共同提出了微服务的概念,给出了微服务的具体定义:从本质上来说,微服务是...

2020-09-22 12:21:36 367

原创 第02课:微服务对软件测试提出的挑战

在上一课里,我们学习了微服务的来源和主要特点。对于软件测试人员而言,微服务架构对软件测试带来了哪些新的挑战呢?我们应该用什么样的策略和方法来迎接这些挑战?总体的测试策略软件测试的目的是确保软件产品的质量符合预期。衡量测试质量的指标有很多,最常见的是测试覆盖率和测试成本(包括测试所用时间、测试维护成本),而衡量测试效果的主要手段则是最终产品在实际使用中暴露出来的问题数量(Bug Number)。...

2020-09-22 12:21:35 468

原创 第03课:怎么针对微服务架构做单元测试?

单元测试是开发人员编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序 list 中去,然后确认该值出现在 list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。对于单元测试中单元的含义,一般来说,要根据实际情况...

2020-09-22 12:21:33 705

原创 第04课:怎么针对微服务架构做集成测试?

在上一课中,我们讲解了怎么进行单元测试。虽然单独测试微服务内部的各个单元非常重要,但是,测试微服务的模块或者子系统能否正确地与外界交互也同样重要,这项工作可以通过集成测试来完成。这节课,我们将分别探讨在微服务架构下,集成测试的概念和实现方法,并分别以几个实例来说明。集成测试(Integration Test)的定义有很多。简单来说,集成测试(也叫组装测试、联合测试)是单元测试的逻辑扩展,即把两个...

2020-09-22 12:21:32 412

原创 第05课:组件测试详解

本课程中所说的组件(Component),是指一个大型系统中,某一个可以独立工作的、封装完整的组成部分。在微服务架构中,组件实际上就代表着微服务本身,或者说单个微服务。以下将其称为“单服务测试”(Single-service Test)。这个测试的实质,就是将一个微服务与其所依赖的所有其他服务或资源全部隔离开,从该服务外部“用户”的角度来审视服务能否提供预期的输出。这样做有很多好处:通过把测试...

2020-09-22 12:21:31 904

原创 第06课:契约测试入门

在前面几篇文章中,我们学习了怎么对一个微服务,实施从单元到整体的全部测试。下一步,我们就需要考虑怎么测试不同微服务之间的协同、交互。如果采用传统的总体测试方法,对服务之间的协作进行验证,那么随着服务数量和调用关系复杂度的增加,必须面临成本呈现指数级增长的挑战,这表现在:验证成本高:为了验证多个服务协作后的功能正确与否,需要为每个服务搭建基础设施(包括其依赖的数据库、缓存等),并执行部署、配置等...

2020-09-22 12:21:29 305

原创 第07课:端到端测试的优化策略

上篇中的契约测试解决了我们对微服务之间协作、交互的验证需求。本达人课到目前为止介绍的测试都是后端或者 API 级别的测试,可以说都属于“白盒测试”。自动化测试的最后一步,就是所谓的端到端测试(End-to-End Test),又称黑盒测试,即从用户角度验证整个系统的功能,看其从启动到结束是否全部符合用户预期。 黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或...

2020-09-22 12:21:28 275

原创 第08课:云端测试和性能测试实战

到上一课为止,我们已经介绍了微服务自动化测试的主要组成部分:单元测试、集成测试、组件测试(单服务测试)和端到端测试。它们足以确保对本地部署、运行的应用程序有足够的测试覆盖率。但是,随着越来越多的应用程序开始采用云端部署的方式,包括微软 Azure、谷歌云、亚马逊 AWS 或者国内的阿里云、腾讯云等, 怎样确保在本地正常工作的生产代码(Production Code)在部署到云端以后,还能继续提供符...

2020-09-22 12:21:26 766

原创 第09课:揭开测试流水线的奥秘

在上面几节课中,我们陆续介绍了微服务架构的主要测试类型。现在,让我们再回顾一下它们的特点:单元测试:对生产代码中最小的可测试片段进行检查,判断其是否符合预期。集成测试:检查模块的组合能否发挥作用,以及模块和外部服务、资源、数据库的通信是否正常。组件测试:以单个微服务作为对象,通过内部接口和外部模拟,将微服务与外界隔离开,测试其功能。契约测试:在各个微服务之间的接口上,检查它们的交互是否符...

2020-09-22 12:21:25 334

原创 第10课:测试人员在微服务时代的角色演变

本达人课到目前为止,谈得都是如何实施自动化的测试。但是,无论整个流程多自动化,都需要“人”这个角色来加以设计、开发、管理和维护。这离不开测试人员的全力投入。长期以来,测试人员在开发企业中常常面临着定位不清晰、职业发展路径未明,乃至被管理层认为可有可无的窘境。这一方面,固然与企业对于质量的重视不足有关,需要企业管理层、开发团队负责人员加以改进,另一方面,也的确需要测试人员从自身角度分析原因:怎么样不...

2020-09-22 12:21:23 264

原创 在母亲节刷屏几天后,为母亲踏踏实实做点事

上周日的母亲节,和往年一样,朋友圈里、各种群里,都被和母亲相关的照片、合影、文章刷了屏。热闹之余,我们也应该想想,除了在朋友圈点赞以外,还可以为父母踏踏实实做点什么呢?这里崔哥总结一些自己的经验,和大家分享一些实践,怎么像思考一个软件项目一样,周密地考虑怎样让父母更加安全、健康,老有所乐、老有所养。 这些实践,跟崔哥过去的建议一样,既不用花费超过一两个小时的时间,也不会超过一顿饭的价钱。给父...

2018-05-20 21:05:43 427

原创 通过乒乓球比赛,学习区块链的“去中心化”

前两堂课我们介绍了区块链的起源和三个主要特点,今天接着回答大家最关心的一个问题:“去中心化”到底是什么意思?这里我想用一个简单的例子来说明。认识崔哥的人都知道,崔哥是个乒乓球迷, 前些年在日本工作的时候,每年我都会在单位组织“富士杯”,中日选手汇聚一堂,切磋球技,相当热闹。现在回到北京,我还是每周带同事们去附近的乒乓球馆打球,偶尔还给小朋友们做做教练。只要有乒乓球比赛,就涉及到记分问题。假...

2018-05-10 12:01:37 453

原创 微服务架构下的软件测试实践

随着企业开发模式逐渐从传统的整体式(Monolithic)产品交付,向快节奏的微服务架构迁移,软件测试人员也必须相应地调整自己的测试方法和工具,才能多快好省地提高测试覆盖率,尽早发现潜在的缺陷。在快速迭代的背景之下,依然能够满足企业对产品质量的严格要求。本文将结合 Martin Fowler、Rick Osowski 等行业大师们关于微服务的理论观点,以及我在 DevOps、自动化测试领域所积累的...

2018-04-20 23:06:13 13284 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除