iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
自我挑戰組

沒有厲害的頭腦,也能利用腳本實現懶人寫程式的夢想系列 第 17

DAY 17 :接觸單元測試、API整合測試及UI自動化測試的心得

  • 分享至 

  • xImage
  •  

上回我們整合了包括使用sqlcmd匯出來源物件、使用mssql-scripter匯出.sql腳本以及sqlcmd執行產出的腳本,關於SQL的主題大概也告一個段落了,後續我們將一起學習另一個新的主題:Cypress自動化測試。


先前在學習及工作上已經有接觸過後端C#的單元測試以及API的整合測試,雖然我認為我對於測試的理解依然還只是皮毛,所以在這邊也想要放慢腳步,除了新接觸的自動化測試以外,也一併回味所接觸到的其他類型測試的心得。

單元測試

我們常會看到單元測試(Unit Test)就是以程式碼的最小單位進行測試,在我們的程式碼中我以方法為單位,並且對我來說單元測試就像是一道關卡,無論後續我如何更動方法裡的內容,最終還是得通過我設立的關卡。在生活上我會以延長線為例,延長線應該要能通電,無論我將內部的材料如何更換,最後還是必須要能通電。


整合測試

當我們每個最小單位(方法)的測試皆通過時,為了確保最後所有的內容整合在一起時不會有問題,這時候我們就需要做整合測試(Integration Test),當然對於我來說,通常一個Web API裡面會包含許多方法,這時候就可以做API的整合測試來驗證API回傳資料的正確性,或者各項功能間是否互相影響、QUEUE是否能正常執行,就好比延長線,即使能通電,也必須要確保插座的功能是正常的,否則它就真的只能通電而已。


端對端測試

端對端測試(End-To-End Test)可理解為使用者端對於系統端的測試,最常看到的其實就是人工測試系統是否符合預期結果,就像延長線各個插座功能皆正常,但是每個人應該都有遇過,相鄰的兩個插座因為距離太近導致無法同時使用(會卡到),以功能面來說是正常的,但以使用者體驗來說他可能是不如預期的,而近期學到的Cypress自動化測試就有助於我們在對這些繁瑣的測試提升效率。

更多小知識,我們下次見~~


上一篇
DAY 16 :PowerShell整合匯出來源物件、匯出腳本及執行腳本
下一篇
DAY 18 :利用Visual Studio建立測試專案
系列文
沒有厲害的頭腦,也能利用腳本實現懶人寫程式的夢想30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言