今天繼續(xù)修煉,第一句話就深表認(rèn)同:
信任权薯,但要核實(shí)
這句話說得太好了,以前我就掉過光信任但不核實(shí)的坑局扶,核心確實(shí)重要就谜,核心才能和信任首尾呼應(yīng)形成閉環(huán)。
什么是特性測試呢娩践?特性 = 契約 + 不變式活翩,比如一個(gè)排序函數(shù)烹骨,輸入是一個(gè)列表,輸出是一個(gè)排過序的列表材泄,列表的長度不變沮焕,這些都是這個(gè)排序功能的特性。那基于這些特性的測試就是特性測試拉宗。
為什么還基于特性進(jìn)行測試呢峦树?因?yàn)樘匦詼y試總能給我們帶來驚喜,測出意料之外的bug旦事,測試數(shù)據(jù)可以讓計(jì)算機(jī)按照事先設(shè)置的條件隨機(jī)生成魁巩,因?yàn)檫@樣更容易發(fā)現(xiàn)bug。
另外基于特性的測試可以讓我們站在使用者的角度去思考姐浮,讓API的設(shè)計(jì)更加簡單易懂谷遂。感覺測試也是一門藝術(shù),但是真正喜歡這門藝術(shù)的人太少了卖鲤。