精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:測試企業(yè)動(dòng)態(tài) → 正文

1分鐘告訴你為何要進(jìn)行前端代碼測試?

責(zé)任編輯:editor006 作者:許真真 |來源:企業(yè)網(wǎng)D1Net  2017-09-20 15:35:21 本文摘自:it168網(wǎng)站

應(yīng)用程序上線之前如何進(jìn)行有效的測試?今年的JAX London大會(huì)Gil Tayar向初學(xué)者介紹了前端測試的方法以及為什么測試碼不可選的原因。以下是關(guān)于他對大會(huì)內(nèi)容的部分介紹。

1分鐘告訴你為何要進(jìn)行前端代碼測試?

Gil Tayar:我的一位朋友曾經(jīng)問我,前端測試到底應(yīng)該怎樣做。為了更加系統(tǒng)全面的回答他這個(gè)問題,我在網(wǎng)上查閱了大量的資料,但是卻發(fā)現(xiàn)這些方法理論卻差強(qiáng)人意,至少在我看來,這些方法的深度還遠(yuǎn)遠(yuǎn)不夠。從前端測試新手的角度,我找不到全面指導(dǎo)前端測試指南的應(yīng)用程序,更別說理論和實(shí)踐的結(jié)合了,所以我決定自己來做這件事。

首先,什么是測試?

測試的含義在我看來就是你在APP中寫的檢測代碼,也被稱為“生產(chǎn)代碼”,它是按照預(yù)期工作的。也有人稱之為“TDD”,但” TDD” 一般指的是具體的測試方法。

其實(shí)不管在編程之前寫代碼還是之后這都無關(guān)緊要,只要你寫出足夠的測試能夠讓你的APP正常運(yùn)行這就可以了。但令人悲哀的是,很多人都覺得這一點(diǎn)也不重要。

現(xiàn)在軟件測試行業(yè)已經(jīng)將測試與TDD相結(jié)合,因此程序員和生產(chǎn)代碼一起編寫代碼沒有標(biāo)準(zhǔn)術(shù)語。我稱軟件測試為“開發(fā)者測試”,或者你也可以這樣理解,軟件測試就是普通的測試而已。

1分鐘告訴你為何要進(jìn)行前端代碼測試?

  為什么要測試?

其實(shí)測試沒有什么必須的理由。如果你真的不想測試,肯定也沒人強(qiáng)迫你。假如一次又一次的網(wǎng)頁測試讓你越來越煩躁,那就沒有測試的必要。但是,如果你不測試,有些潛在的bug可能會(huì)在未來的時(shí)間里一次又一次的困擾你,從部署到生產(chǎn)都將會(huì)是一個(gè)噩夢。

測試類型有哪些?

對于初學(xué)者而言,剛開始研究各種類型測試的時(shí)候非常抓狂。你可能聽過幾個(gè)軟件測試大概的類別:單元測試、驗(yàn)收測試、集成測試、端到端測試、組件測試以及服務(wù)測試。

更讓人哭笑不得的是,假如一群軟件測試的人在一起頭腦風(fēng)暴,他們對軟件測試中的術(shù)語定義可能都不一樣。

1分鐘告訴你為何要進(jìn)行前端代碼測試?

但對我而言不太在乎使用哪個(gè)術(shù)語,因?yàn)槲艺J(rèn)為測試類型沒有硬性定義。在我看來,所有的測試其實(shí)都在一個(gè)頻譜范圍內(nèi)。

測試類型的范圍是什么?

我們從最簡單的類型——單元測試開始。從定義來看,所謂單元測試就是測試“單位”的代碼,那什么是單位呢?這就取決于你使用的編程語言了。單位可以是一個(gè)函數(shù),一個(gè)模塊,一個(gè)包,一個(gè)類,甚至是一個(gè)對象(相對于JavaScript和Scala這樣的語言)。舉個(gè)例子,在JavaScript中,單元通常就是指一個(gè)類或者一個(gè)模塊。

重要的是這個(gè)單元要進(jìn)行隔離測試,這些算法、功能就像一個(gè)函數(shù)、計(jì)算字符串中的字符數(shù)或者具有一組驗(yàn)證函數(shù)的類,這是非常完美的。

隔離測試還是比較容易的,因?yàn)閱卧c單元之間沒有依賴性。但我如何知道一個(gè)單元和另一個(gè)單元是否依賴呢?兩種方法:要么對兩個(gè)單元同時(shí)測試,要么模擬另一個(gè)單元。

那么問題來了,如果我同時(shí)測量兩個(gè)單元,還能稱為“單元測試”嗎?有些人會(huì)不再將它稱為單元測試。但是我仍傾向于叫做“單元測試”。但是如果有人叫做“集成測試”或者“兩單元測試”,那我沒有任何意見。

舉個(gè)例子:

1分鐘告訴你為何要進(jìn)行前端代碼測試?

這個(gè)單元是一個(gè)具有writeSumToFile功能的模塊,它接受兩個(gè)數(shù)字并且可以將他們直接寫入文件中。

但是值得注意的是,它本身并沒有被寫出來。它使用另一個(gè)單元fileSumWriter來編寫。為了測試這個(gè)單元,我們可以通過實(shí)際的文件編輯器或創(chuàng)建一個(gè)模擬來實(shí)現(xiàn)。

從最純粹的意義上講,如果將mock傳遞給函數(shù),無疑這個(gè)測試就是一個(gè)單元測試。但是當(dāng)它們一起測試時(shí),很多人就會(huì)認(rèn)為這不是單元測試。

其實(shí)這都無關(guān)緊要。一方面,我們有代碼測試一個(gè)單位。另一方面,有E2E測試——整個(gè)應(yīng)用的測試。一切測試都在E2E中進(jìn)行,并且APP運(yùn)行時(shí)會(huì)在與生產(chǎn)系統(tǒng)類似的環(huán)境中運(yùn)行。

1分鐘告訴你為何要進(jìn)行前端代碼測試?

這代表著兩個(gè)極端點(diǎn)——它們定義了越來越大的測試范圍,在這個(gè)范圍內(nèi),越來越多的代碼被測試。

有些人稱這些測試為處于“集成測試”之間的測試,但對于TDD-ers,集成測試意味著一個(gè)完全不同的東西。集成測試確切的說即使測試超過了一個(gè)單元但不包括所有的單元。

大多數(shù)人都認(rèn)為有一個(gè)測試金字塔——其中包括許多單元測試、較少的集成測試以及少量的E2E測試。

更多內(nèi)容,詳見https://jaxenter.com/testing-frontend-code-introduction-137219.html

關(guān)鍵字:測試類型fileSumWriter

本文摘自:it168網(wǎng)站

x 1分鐘告訴你為何要進(jìn)行前端代碼測試? 掃一掃
分享本文到朋友圈
當(dāng)前位置:測試企業(yè)動(dòng)態(tài) → 正文

1分鐘告訴你為何要進(jìn)行前端代碼測試?

責(zé)任編輯:editor006 作者:許真真 |來源:企業(yè)網(wǎng)D1Net  2017-09-20 15:35:21 本文摘自:it168網(wǎng)站

應(yīng)用程序上線之前如何進(jìn)行有效的測試?今年的JAX London大會(huì)Gil Tayar向初學(xué)者介紹了前端測試的方法以及為什么測試碼不可選的原因。以下是關(guān)于他對大會(huì)內(nèi)容的部分介紹。

1分鐘告訴你為何要進(jìn)行前端代碼測試?

Gil Tayar:我的一位朋友曾經(jīng)問我,前端測試到底應(yīng)該怎樣做。為了更加系統(tǒng)全面的回答他這個(gè)問題,我在網(wǎng)上查閱了大量的資料,但是卻發(fā)現(xiàn)這些方法理論卻差強(qiáng)人意,至少在我看來,這些方法的深度還遠(yuǎn)遠(yuǎn)不夠。從前端測試新手的角度,我找不到全面指導(dǎo)前端測試指南的應(yīng)用程序,更別說理論和實(shí)踐的結(jié)合了,所以我決定自己來做這件事。

首先,什么是測試?

測試的含義在我看來就是你在APP中寫的檢測代碼,也被稱為“生產(chǎn)代碼”,它是按照預(yù)期工作的。也有人稱之為“TDD”,但” TDD” 一般指的是具體的測試方法。

其實(shí)不管在編程之前寫代碼還是之后這都無關(guān)緊要,只要你寫出足夠的測試能夠讓你的APP正常運(yùn)行這就可以了。但令人悲哀的是,很多人都覺得這一點(diǎn)也不重要。

現(xiàn)在軟件測試行業(yè)已經(jīng)將測試與TDD相結(jié)合,因此程序員和生產(chǎn)代碼一起編寫代碼沒有標(biāo)準(zhǔn)術(shù)語。我稱軟件測試為“開發(fā)者測試”,或者你也可以這樣理解,軟件測試就是普通的測試而已。

1分鐘告訴你為何要進(jìn)行前端代碼測試?

  為什么要測試?

其實(shí)測試沒有什么必須的理由。如果你真的不想測試,肯定也沒人強(qiáng)迫你。假如一次又一次的網(wǎng)頁測試讓你越來越煩躁,那就沒有測試的必要。但是,如果你不測試,有些潛在的bug可能會(huì)在未來的時(shí)間里一次又一次的困擾你,從部署到生產(chǎn)都將會(huì)是一個(gè)噩夢。

測試類型有哪些?

對于初學(xué)者而言,剛開始研究各種類型測試的時(shí)候非常抓狂。你可能聽過幾個(gè)軟件測試大概的類別:單元測試、驗(yàn)收測試、集成測試、端到端測試、組件測試以及服務(wù)測試。

更讓人哭笑不得的是,假如一群軟件測試的人在一起頭腦風(fēng)暴,他們對軟件測試中的術(shù)語定義可能都不一樣。

1分鐘告訴你為何要進(jìn)行前端代碼測試?

但對我而言不太在乎使用哪個(gè)術(shù)語,因?yàn)槲艺J(rèn)為測試類型沒有硬性定義。在我看來,所有的測試其實(shí)都在一個(gè)頻譜范圍內(nèi)。

測試類型的范圍是什么?

我們從最簡單的類型——單元測試開始。從定義來看,所謂單元測試就是測試“單位”的代碼,那什么是單位呢?這就取決于你使用的編程語言了。單位可以是一個(gè)函數(shù),一個(gè)模塊,一個(gè)包,一個(gè)類,甚至是一個(gè)對象(相對于JavaScript和Scala這樣的語言)。舉個(gè)例子,在JavaScript中,單元通常就是指一個(gè)類或者一個(gè)模塊。

重要的是這個(gè)單元要進(jìn)行隔離測試,這些算法、功能就像一個(gè)函數(shù)、計(jì)算字符串中的字符數(shù)或者具有一組驗(yàn)證函數(shù)的類,這是非常完美的。

隔離測試還是比較容易的,因?yàn)閱卧c單元之間沒有依賴性。但我如何知道一個(gè)單元和另一個(gè)單元是否依賴呢?兩種方法:要么對兩個(gè)單元同時(shí)測試,要么模擬另一個(gè)單元。

那么問題來了,如果我同時(shí)測量兩個(gè)單元,還能稱為“單元測試”嗎?有些人會(huì)不再將它稱為單元測試。但是我仍傾向于叫做“單元測試”。但是如果有人叫做“集成測試”或者“兩單元測試”,那我沒有任何意見。

舉個(gè)例子:

1分鐘告訴你為何要進(jìn)行前端代碼測試?

這個(gè)單元是一個(gè)具有writeSumToFile功能的模塊,它接受兩個(gè)數(shù)字并且可以將他們直接寫入文件中。

但是值得注意的是,它本身并沒有被寫出來。它使用另一個(gè)單元fileSumWriter來編寫。為了測試這個(gè)單元,我們可以通過實(shí)際的文件編輯器或創(chuàng)建一個(gè)模擬來實(shí)現(xiàn)。

從最純粹的意義上講,如果將mock傳遞給函數(shù),無疑這個(gè)測試就是一個(gè)單元測試。但是當(dāng)它們一起測試時(shí),很多人就會(huì)認(rèn)為這不是單元測試。

其實(shí)這都無關(guān)緊要。一方面,我們有代碼測試一個(gè)單位。另一方面,有E2E測試——整個(gè)應(yīng)用的測試。一切測試都在E2E中進(jìn)行,并且APP運(yùn)行時(shí)會(huì)在與生產(chǎn)系統(tǒng)類似的環(huán)境中運(yùn)行。

1分鐘告訴你為何要進(jìn)行前端代碼測試?

這代表著兩個(gè)極端點(diǎn)——它們定義了越來越大的測試范圍,在這個(gè)范圍內(nèi),越來越多的代碼被測試。

有些人稱這些測試為處于“集成測試”之間的測試,但對于TDD-ers,集成測試意味著一個(gè)完全不同的東西。集成測試確切的說即使測試超過了一個(gè)單元但不包括所有的單元。

大多數(shù)人都認(rèn)為有一個(gè)測試金字塔——其中包括許多單元測試、較少的集成測試以及少量的E2E測試。

更多內(nèi)容,詳見https://jaxenter.com/testing-frontend-code-introduction-137219.html

關(guān)鍵字:測試類型fileSumWriter

本文摘自:it168網(wǎng)站

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號-6 京公網(wǎng)安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 岐山县| 泰和县| 广昌县| 尚义县| 泸定县| 万全县| 舞阳县| 四子王旗| 饶阳县| 改则县| 德钦县| 香格里拉县| 竹溪县| 五常市| 满城县| 沧源| 黄平县| 甘泉县| 泗洪县| 徐闻县| 固原市| 建阳市| 吉首市| 蓬溪县| 雷山县| 台湾省| 囊谦县| 孝义市| 梨树县| 松江区| 宝山区| 金平| 敦煌市| 治多县| 普兰县| 柘荣县| 电白县| 中江县| 高陵县| 古交市| 福安市|