02. Hello x Test x Test Pyramid

很多 web 框架的范例都是 127.0.0.1,今天我们换个哈罗方式。

sail test

两个绿灯跟你说哈罗。

自动化测试

自动化测试是什麽?

自动化测试是写程序来帮你测试程序。

为什麽要自动化测试?

1.工作上的优缺点

好处

  • 不会忘记要测什麽,进版控!
  • 你想的跟你手做的不一样,但程序会按照写的执行。
  • 通常测试很花时间,所以才会想要自动化。

坏处

  • 要维护两份程序

2.成长(or 跳槽)

根据调查 [1],年资两年以上的工程师写测试高於平均,团队数5人以上写测试的也高於平均。

Test Pyramid

自动测试要从哪里开始学起?

  • unit test: phpunit (js⇒jest)
  • intergtion test/feature test: phpunit
  • E2E test/browser test: selenium, cypress, browser test dusk

unit test: 最小单位,测试一个元件

intergration test: 测试许多 unit 是否能整合好
feature test: 测试真实的情况,通常是使用者的真实行为,例如点下按钮後出现什麽

end to end test: 测试在 production 环境下真实的情况,测试的最顶点的测试

等等,intergration 和 feature test 怎麽有点像啊,为什麽放在一起?

因为等下要介绍的测试金字塔上是写 intergration test,而我要用的 phpunit 叫 feature test,所以我只好都先列出来 >"<

什麽,所以还有其他种测试?

是的,testing anti-patterns [2]这篇文章在开头就告诉我们,测试的术语目前还没有被明确的定义过。但不用担心,我们不用每一种懂,只要知道我们做的测试属於测试三角形哪一层即可。

例如 intergration, feature test 属於中间层,end to end test, system test 属於最顶层。

我也是为了写文章开始研究测试之後才知道还有其他种测试术语 [3],例如冒烟测试系统测试等等。

https://ithelp.ithome.com.tw/upload/images/20210917/20139745cJVvDxl893.png

要怎麽开始?

我们明天再讲。

延伸阅读

bonus 三角形不够,你没有听过四角型

https://ithelp.ithome.com.tw/upload/images/20210917/20139745auw1TRYBaQ.png


今天分享的是真实又好笑的工程师漫画,会写程序又幽默,还会画漫画,好崇拜 ><


<<:  DAY 5- 《串流密码1》 - OTP

>>:  LeetCode 解题的思考策略与解题地图

D2 (9/2)-台积电(2330)

注:发文日和截图的日期不一定是同一天,所以价格计算上和当日不同,是很正常的。 买进台积电(2330)...

Spring Cloud Netflix Eureka 简介

Spring Cloud Netflix Eureka 简介 ...

设定字体颜色及文字大小、行距及间距

设定基本段落样式,字体大小、行距及行距设定方式以及嵌入google font方式 设定基本字体 f...

【Day18】Uart_TX 的实现

既上一篇我们设计了 Uart_TX 的状态机,我们今天要来引用状态机模块来实现这个 Uart_TX ...

【C++】Number Random

这次来看到Number Random啦,也就是随机乱数。 随机乱数很常出现在面试的考题~ 所以我写了...