iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
Modern Web

每天一篇文章系列 第 2

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


今天分享的是真實又好笑的工程師漫畫,會寫程式又幽默,還會畫漫畫,好崇拜 ><


上一篇
01. Laravel x Sail x Mac
下一篇
03. Unit Test x PHPUnit x FizzBuzz
系列文
每天一篇文章30

1 則留言

0
Ken Chen
iT邦新手 5 級 ‧ 2021-09-18 10:20:53

資科技新桂綸鎂大大也要開始用漫畫講測試的旅程了嗎

期待期待

我要留言

立即登入留言