程序员的测试课
郑晔
开源项目 Moco 作者
18911 人已学习
新⼈⾸单¥59
登录后,你可以任选2讲全文学习
课程目录
已完结/共 23 讲
加餐 (1讲)
结束语 (1讲)
程序员的测试课
15
15
1.0x
00:00/00:00
登录|注册

开篇词 | 为什么写测试是程序员的本职工作?

你好,我是郑晔!
看到开篇词的标题,你或许会疑惑,测试不是测试人员的本职工作吗?什么时候也成了程序员的本职工作了?
别急,让我换个问题来问问你。你说,程序员应该懂设计模式吗?大部分程序员都会说应该。而且很多人会说,这难道不是程序员的基本功吗?但你要知道,如果我们把时间往回拨,在 21 世纪初,程序员不懂设计模式才是常态,很多人会嘲笑设计模式让代码变得复杂了。

时代在要求我们写测试

之所以要说设计模式这个例子,主要是说程序员的职责范围是随着时间逐步变化的。这样的例子还有很多,迭代开发也好,开源项目也罢,这原本都不是程序员需要了解的。想当初,哪里有什么迭代开发,一个软件不开发个几年,怎么好意思出来见人。一个项目如果不是所有的代码都自己编写,怎么能有完全的掌控感,谁敢轻易使用别人开发的开源项目。而今天,哪个程序员不知道这些东西呢?
之所以程序员的职责范围一点点在拓展,关键原因就是,软件开发正在变得越来越复杂。而加入到程序员职责范围内的这些新东西,正是帮助程序员对抗越来越复杂的软件开发。迭代开发,让我们有机会把精力集中在最重要的功能特性上;开源项目,让我们可以减少不必要的代码编写。
测试同样如此,它可以让我们在越来越复杂的软件开发中能够稳步前行。一方面,在编写新功能时,测试可以让我们的代码正确性得到验证,让我们拥有一个个稳定的模块。另一方面,测试可以帮助我们在长期的过程中不断回归,让每一步走得更稳。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

程序员的测试课:编写高质量代码的必备技能 软件开发领域的变革使得程序员的工作不再局限于编写代码,而是扩展到包括编写测试。随着软件开发变得更加复杂,测试的重要性愈发凸显。然而,大部分程序员并不擅长编写测试,导致代码质量的不确定性和团队对高质量代码的追求成为一种幻象。因此,学习编写测试成为程序员必不可少的技能。 《程序员的测试课》旨在通过实战和基础知识的讲解,帮助程序员掌握编写自动化测试的方法。专栏分为基础篇、应用篇和扩展篇,涵盖了测试的基础知识、后端项目中的测试方法以及TDD和BDD两项开发实践。通过这些内容,读者可以更好地理解测试的重要性,掌握编写高质量代码的技能。 作者郑晔是一位经验丰富的程序员,他在专栏中分享了自己对软件开发的思考总结。他强调了任务分解、可测性和代码精简等重要原则,并表示该专栏的实战部分也是一项福利。不过,他也提醒读者,这个课程是给程序员的测试课,重点是如何做好自动化测试,而不是测试用例的设计方法。 总之,本专栏适合想要提升编写高质量代码能力的程序员。通过学习该专栏,读者将获得关于自动化测试的完整认知,从而不断提升自己的编码技能。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《程序员的测试课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(34)

  • 最新
  • 精选
  • 钱鹏 Allen
    郑老师你好,初入职场,测试需要学多深呢?

    作者回复: 初入职场,不是学的东西越多越好吗?

    2021-08-05
    11
  • Bug Killer
    项目在不停的重构,然后测试代码也在不停的改,所以写到后面测试代码就不想写了。请问下老师这种情况怎么解决呀

    作者回复: 测试和实现关联太紧了,面向设计的接口去测试,不要面向实现去测试。

    2021-08-04
    2
    11
  • sylan215
    作为一个测试,冒昧的买课来学了,我来从测试角度来说一下对开发自测的看法: 1、测试不仅仅局限于具体的测试行为,测试思维很关键,写代码的时候就能考虑到可能出现的异常情况,需要覆盖的逻辑分支,修改可以影响的其他功能范围等,这比写 100 条自动化测试都重要; 2、作为一个测试,我自己写代码的时候也会懒得写单元测试,所以很理解开发同学的心情,所以写单测,或者做自测,是和自己习惯的对抗,要有这种接受痛苦的觉悟才行,不经历风雨怎么见彩虹; 3、测试不是为了证明没问题而测试,而是验证是否符合预期,所以不要「骗」自己,不要专门用特殊数据绕过验证逻辑,能发现问题才是价值,才有继续做下去的动力; 以上,期待郑老师后面的精彩内容。

    作者回复: 多谢测试同学的补充

    2021-08-12
    2
    10
  • Triton
    曾经很努力的在团队尝试过如何写好单元测试结果还是失败了,比如数据库代码如何mock. 之前的代码太烂测试写不下去. 前端vue代码写一起也单元测试不了,需求一变代码需要重新写等等问题,最后尝试过前端自动化ui测试但是成本太高放弃,后台接口变成了集成接口测试

    作者回复: 都是一言难尽的悲哀

    2021-08-18
    4
  • 风翱
    程序员编写的代码,通过代码审核和测试人员的测试可以过滤掉一些问题,真正一劳永逸的方式还是要编写自动化测试。

    作者回复: 繁琐的事情交给机器

    2021-08-06
    4
  • Changing
    读过类似介绍Junit的书籍,以及其他怎样写好测试的书籍,但还是不会写测试。一看到日常工作的项目中一堆的外部依赖、猛多字段的POJO,不知道从何开始。但是,在用TDD的方式练习简单的kata时,运行测试后的绿色,能让感到极度安心。所以,希望能通过学习这门课程,练习出在实际工作中也能写出合适测试的能力。

    作者回复: 你已经有了基础,剩下的就是把代码写好

    2021-08-04
    2
    4
  • 阿布黑皮诺
    郑老师, 我了解也实践过TDD,在一些重视测试的代码库上加测试,TDD不算太困难,毕竟框架例子很多,有测试先行的想法就好。 遇到过几次的问题是在老旧的代码里面写测试,这些代码中测试少,范围小,或者几乎没有。如何从零开始,引入测试框架(老旧的代码新的框架兼容也是问题),TDD呢?希望您能在专栏覆盖一下这些话题。 谢谢!

    作者回复: 后面有一讲会讲到遗留系统写测试的问题,前提条件是,你得知道怎么在正常的系统中写测试。

    2021-08-10
    3
  • 亢龙有悔
    我就是那个因为不会写测试,因此要抵制测试的码农。来寻求破局之道。

    作者回复: 你已经开始改变了,这就是破局第一步。

    2021-08-05
    3
  • 码畜
    已经全买 加油

    作者回复: 欢迎回归

    2021-08-04
    3
  • 阿布黑皮诺
    老师出品,必属精品,十分推荐。 郑老师前三个专栏都买了,都是很早读完的,停不下来没有束之高阁。有的还读了好几遍。

    作者回复: 欢迎回归

    2021-08-10
    2
收起评论
显示
设置
留言
34
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部