上回我們整合了包括使用sqlcmd匯出來源物件、使用mssql-scripter匯出.sql腳本以及sqlcmd執行產出的腳本,關於SQL的主題大概也告一個段落了,後續我們將一起學習另一個新的主題:Cypress自動化測試。
先前在學習及工作上已經有接觸過後端C#的單元測試以及API的整合測試,雖然我認為我對於測試的理解依然還只是皮毛,所以在這邊也想要放慢腳步,除了新接觸的自動化測試以外,也一併回味所接觸到的其他類型測試的心得。
我們常會看到單元測試(Unit Test)就是以程式碼的最小單位進行測試,在我們的程式碼中我以方法為單位,並且對我來說單元測試就像是一道關卡,無論後續我如何更動方法裡的內容,最終還是得通過我設立的關卡。在生活上我會以延長線為例,延長線應該要能通電,無論我將內部的材料如何更換,最後還是必須要能通電。
當我們每個最小單位(方法)的測試皆通過時,為了確保最後所有的內容整合在一起時不會有問題,這時候我們就需要做整合測試(Integration Test),當然對於我來說,通常一個Web API裡面會包含許多方法,這時候就可以做API的整合測試來驗證API回傳資料的正確性,或者各項功能間是否互相影響、QUEUE是否能正常執行,就好比延長線,即使能通電,也必須要確保插座的功能是正常的,否則它就真的只能通電而已。
端對端測試(End-To-End Test)可理解為使用者端對於系統端的測試,最常看到的其實就是人工測試系統是否符合預期結果,就像延長線各個插座功能皆正常,但是每個人應該都有遇過,相鄰的兩個插座因為距離太近導致無法同時使用(會卡到),以功能面來說是正常的,但以使用者體驗來說他可能是不如預期的,而近期學到的Cypress自動化測試就有助於我們在對這些繁瑣的測試提升效率。
更多小知識,我們下次見~~