国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

程序員,軟件測(cè)試知多少?

libxd / 771人閱讀

摘要:?jiǎn)卧獪y(cè)試過(guò)后,機(jī)器狀態(tài)保持不變。單元測(cè)試應(yīng)該產(chǎn)生可重復(fù)一致的結(jié)果。然并卵都說(shuō)國(guó)內(nèi)很多程序員是不寫(xiě)單元測(cè)試的,甚至從來(lái)都不寫(xiě),筆者當(dāng)年做的時(shí)候也沒(méi)寫(xiě)過(guò)幾次捂臉?;貧w測(cè)試在單元測(cè)試的基礎(chǔ)上,我們就能夠建立關(guān)于這一模塊的回歸測(cè)試。

送給初級(jí)程序員的測(cè)試認(rèn)知文

作為開(kāi)發(fā)同學(xué),一些基本的測(cè)試崗位相關(guān)知識(shí)還是很有必要了解一下,免的某些同學(xué)在工作中和測(cè)試同學(xué)斗嘴、打架、群毆等以及被測(cè)試鄙視....。

我們常常聽(tīng)說(shuō)的一些測(cè)試專(zhuān)業(yè)術(shù)語(yǔ),比如白盒、黑盒、單元測(cè)試,相信搞作為程序員的你脫口而出的就是這三個(gè)詞匯吧,筆者在前幾年對(duì)測(cè)試也僅僅停留在這個(gè)兩個(gè)詞匯上,更多的就不得而知了。后來(lái)在一家做跨境電商的公司學(xué)到了一些新術(shù)語(yǔ),也見(jiàn)到了測(cè)試崗位的一些日常,比如冒煙測(cè)試、測(cè)試用例(TC)、回歸測(cè)試、接口測(cè)試以及偶爾和我吵架等等。

白盒黑盒測(cè)試是按測(cè)試設(shè)計(jì)方法分類(lèi)的,是指軟件測(cè)試設(shè)計(jì)的方法,而不是軟件測(cè)試的方法,注意這個(gè)區(qū)別。

黑盒測(cè)試是行為測(cè)試,即從軟件的行為而不是內(nèi)部結(jié)構(gòu)觸發(fā)來(lái)設(shè)計(jì)測(cè)試,也就是在軟件上到處點(diǎn)點(diǎn)等。白盒指的是在設(shè)計(jì)測(cè)試的過(guò)程中,設(shè)計(jì)者可以“看到”軟件系統(tǒng)的內(nèi)部結(jié)構(gòu),并使用軟件的內(nèi)部結(jié)構(gòu)和知識(shí)來(lái)選擇測(cè)試數(shù)據(jù)及具體的測(cè)試方法。

功能測(cè)試和非功能測(cè)試

按測(cè)試的目,分為功能測(cè)試和非功能測(cè)試,單元測(cè)試是功能測(cè)試?yán)锏囊环N,每種測(cè)試的名稱(chēng)和內(nèi)容如下:

一個(gè)軟件除了基本功能之外,還有很多功能之外的特性,這些叫非功能需求,或者服務(wù)質(zhì)量需求。然而,若沒(méi)有軟件的基本功能,這些特性都將無(wú)從表現(xiàn)出來(lái),因此,我們要在軟件開(kāi)發(fā)的適當(dāng)階段——基本功能完成后再來(lái)做這些非功能測(cè)試,非功能測(cè)試有如下這些

其他分類(lèi)下的測(cè)試

在開(kāi)發(fā)軟件的過(guò)程中,不少測(cè)試起著“烽火臺(tái)”的作用,它們告訴我們軟件開(kāi)發(fā)的流程是否順暢,比如冒煙測(cè)試是指測(cè)試不通過(guò)不能進(jìn)行下一步工作,是一種基本驗(yàn)證測(cè)試,據(jù)說(shuō)是從硬件設(shè)計(jì)行業(yè)流傳過(guò)來(lái)的說(shuō)法。當(dāng)年設(shè)計(jì)電路板的時(shí)候,很多情況下,新的電路板一插上電源就冒起白煙,燒壞了。如果插上電源后沒(méi)有冒煙,那就是通過(guò)了“冒煙測(cè)試”,可以進(jìn)一步測(cè)試電路板的功能了。還有驗(yàn)證構(gòu)建是否通過(guò)基本測(cè)試以及全面考核某方面的功能的驗(yàn)收測(cè)試。

另一些測(cè)試名稱(chēng)則是說(shuō)明不同的測(cè)試方法

單元測(cè)試

對(duì)于開(kāi)發(fā)來(lái)講,最最常用和熟悉的還是單元測(cè)試,怎樣才算一個(gè)好的單元測(cè)試?單元測(cè)試應(yīng)該準(zhǔn)確、快速地保證程序基本模塊的正確性。下面是驗(yàn)證單元測(cè)試好壞的一系列標(biāo)準(zhǔn):

單元測(cè)試應(yīng)該在最基本的功能/參數(shù)上驗(yàn)證程序的正確性。

單元測(cè)試必須由最熟悉代碼的人(程序的作者)來(lái)寫(xiě)。

單元測(cè)試過(guò)后,機(jī)器狀態(tài)保持不變。如果單元測(cè)試創(chuàng)建了臨時(shí)的文件或目錄,應(yīng)該在Teardown(拆卸)階段刪掉。如果單元測(cè)試在數(shù)據(jù)庫(kù)中創(chuàng)建或修改了記錄,那么也許要?jiǎng)h除或恢復(fù)這些記錄,或者每一個(gè)單元測(cè)試使用一個(gè)新的數(shù)據(jù)庫(kù),這樣可以保證單元測(cè)試不受以前單元測(cè)試實(shí)例的干擾。

單元測(cè)試要快(一個(gè)測(cè)試的運(yùn)行時(shí)間是幾秒鐘,而不是幾分鐘)。

單元測(cè)試應(yīng)該產(chǎn)生可重復(fù)、一致的結(jié)果。

獨(dú)立性—單元測(cè)試的運(yùn)行/通過(guò)/失敗不依賴(lài)于別的測(cè)試,可以人為構(gòu)造數(shù)據(jù),以保持單元測(cè)試的獨(dú)立性。

單元測(cè)試應(yīng)該覆蓋所有代碼路徑。

單元測(cè)試應(yīng)該集成到自動(dòng)化測(cè)試的框架中。

單元測(cè)試必須和產(chǎn)品代碼一起保存和維護(hù)。

然并卵!都說(shuō)國(guó)內(nèi)很多程序員是不寫(xiě)單元測(cè)試的,甚至從來(lái)都不寫(xiě),筆者當(dāng)年做Java的時(shí)候也沒(méi)寫(xiě)過(guò)幾次(捂臉)。

回歸測(cè)試

在單元測(cè)試的基礎(chǔ)上,我們就能夠建立關(guān)于這一模塊的回歸測(cè)試(Regression Test)。Regress:return to a worse or less developed state,是倒退、退化、退步的意思。在軟件項(xiàng)目中,如果一個(gè)模塊或功能以前是正常工作的,但是在一個(gè)新的構(gòu)建中出了問(wèn)題,那么這個(gè)模塊就出現(xiàn)了一個(gè)“退步”(Regression),從正常工作的狀態(tài)退化到不正常工作的狀態(tài)。在一個(gè)模塊的功能逐步完成的同時(shí),與此功能有關(guān)的測(cè)試用例也同樣在完善中。一旦有關(guān)的測(cè)試用例通過(guò),我們就得到了此模塊的功能基準(zhǔn)線(Baseline),一個(gè)模塊的所有單元測(cè)試就是這個(gè)模塊最初的Baseline。

針對(duì)一個(gè)Bug Fix,我們也要做Regression(海退) Test。目的是:

驗(yàn)證新的代碼的卻改正了缺陷。

同時(shí)要驗(yàn)證新的代碼有沒(méi)有破壞模塊的現(xiàn)有功能,有沒(méi)有Regression

對(duì)于“回歸測(cè)試”中的“回歸”,我們可以將其理解為“回歸到以前不正常的狀態(tài)”。回歸測(cè)試最好要自動(dòng)化,因?yàn)檫@樣就可以對(duì)于每一個(gè)構(gòu)建快速運(yùn)行所有回歸測(cè)試,以保證盡早發(fā)現(xiàn)問(wèn)題。單元測(cè)試是回歸測(cè)試的基礎(chǔ)。在專(zhuān)注于模塊基本功能的單元測(cè)試之外,還有功能測(cè)試——從用戶的角度檢查功能完成得怎么樣。

探索性測(cè)試

探索性測(cè)試是為了某一個(gè)特定目的而進(jìn)行的測(cè)試,且就這一次,以后一般也不會(huì)重復(fù)測(cè)試。在軟件工程的實(shí)踐中,“Ad hoc”大多是指隨機(jī)進(jìn)行的、探索性的測(cè)試。

探索式測(cè)試的測(cè)試流程是不可重復(fù)的,因?yàn)樗臏y(cè)試都是“特定”測(cè)試,沒(méi)法重復(fù)。這一原因,使得探索式測(cè)試不能自動(dòng)化,就這一點(diǎn)而言,還達(dá)不到CMMI二級(jí)——可重復(fù)級(jí)。

作為管理人員來(lái)說(shuō),如果太多的小強(qiáng)是在探索式測(cè)試中找出來(lái)的,那我們就要看看測(cè)試計(jì)劃是否基于實(shí)際的場(chǎng)景,開(kāi)發(fā)人員的代碼邏輯是否完善,等等。

場(chǎng)景/集成/系統(tǒng)測(cè)試

在軟件開(kāi)發(fā)的一定階段,我們要對(duì)一個(gè)軟件進(jìn)行全面和系統(tǒng)的測(cè)試,以保證軟件的各個(gè)模塊都能共同工作,各方面均能滿足用戶的要求。這類(lèi)測(cè)試叫系統(tǒng)/集成測(cè)試。這一方法的核心思想是:當(dāng)用戶使用一個(gè)軟件時(shí),他/她并不會(huì)獨(dú)立使用各個(gè)模塊,而是把軟件作為一個(gè)整體來(lái)使用。我們?cè)谧鰣?chǎng)景測(cè)試的時(shí)候,就需要考慮在現(xiàn)實(shí)環(huán)境中用戶使用軟件的流程是怎樣的,然后模擬這個(gè)流程,看看軟件能不能滿足用戶的需求。這樣,才能使軟件符合用戶的實(shí)際需求。

應(yīng)該什么時(shí)候做集成測(cè)試呢?是不是越早越好?原則上是當(dāng)一個(gè)模塊穩(wěn)定的時(shí)候,就可以把它集成到系統(tǒng)中,和整個(gè)系統(tǒng)一起進(jìn)行測(cè)試。在模塊本身穩(wěn)定之前就提早做集成測(cè)試,可能會(huì)報(bào)告出很多Bug,但是這些由于提早測(cè)試而發(fā)現(xiàn)的Bug,有點(diǎn)像汽車(chē)司機(jī)在等待綠燈時(shí)不耐煩而拼命地按喇叭——也就是說(shuō),有點(diǎn)像噪音。我們還是要等到適當(dāng)?shù)臅r(shí)機(jī)再開(kāi)始進(jìn)行集成測(cè)試。

了解完這些概念后,我們來(lái)看看究竟一個(gè)測(cè)試工程師的職責(zé)是怎么樣的呢,下面列舉一些:

制定測(cè)試計(jì)劃

設(shè)計(jì)與編寫(xiě)測(cè)試用例

實(shí)施測(cè)試

BUG跟蹤

測(cè)試報(bào)告與總結(jié)

其他測(cè)試工程活動(dòng)

很多測(cè)試工作并不是說(shuō),有了測(cè)試工程師,把測(cè)試相關(guān)的全部事情扔給他們就完事了,需要開(kāi)發(fā)和測(cè)試配合,共同完成某些測(cè)試任務(wù),軟件測(cè)試也不僅僅是為了發(fā)現(xiàn)bug然后提給開(kāi)發(fā),測(cè)試=質(zhì)量保障,提升質(zhì)量相關(guān)的都是測(cè)試工程師需要關(guān)注和負(fù)責(zé)的,軟件測(cè)試的目標(biāo)是幫助項(xiàng)目打造用戶喜歡的產(chǎn)品。

文章首發(fā)于我的微信公眾號(hào),關(guān)注可獲得每次最新推送


《構(gòu)建之法》讀書(shū)筆記之二

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/8776.html

相關(guān)文章

  • 函數(shù)多少(二)

    摘要:前言上次聊了關(guān)于定義函數(shù)的知識(shí),還有參數(shù)方面的,這次先補(bǔ)充一點(diǎn)參數(shù)小知識(shí),還有簡(jiǎn)單的講一下閉包。在這里,函數(shù)包含了一個(gè)內(nèi)部函數(shù),所以可以使用引入的參數(shù)。我們把函數(shù)作為返回值賦給,當(dāng)然,同時(shí)返回的還有。 前言 上次聊了關(guān)于定義函數(shù)的知識(shí),還有參數(shù)方面的,這次先補(bǔ)充一點(diǎn)參數(shù)小知識(shí),還有簡(jiǎn)單的講一下閉包。 arguments對(duì)象 引入的參數(shù)會(huì)保存在arguments數(shù)組對(duì)象中,第一個(gè)引入的參...

    Eidesen 評(píng)論0 收藏0
  • [js高手之路]this多少

    摘要:關(guān)鍵字在中的變化非常的靈活,如果用的不好就非常惡心,用的好程序就非常的優(yōu)雅,靈活,飄逸所以掌握的用法,是每一個(gè)前端工程師必知必會(huì)的而且這個(gè)也是一些大公司筆試中常見(jiàn)的考察項(xiàng)第一種單獨(dú)的,指向的是這個(gè)對(duì)象注當(dāng)前的執(zhí)行環(huán)境是所以指向了第二種全局函 this關(guān)鍵字在javascript中的變化非常的靈活,如果用的不好就非常惡心,用的好,程序就非常的優(yōu)雅,靈活,飄逸.所以掌握this的用法,是每...

    APICloud 評(píng)論0 收藏0
  • 數(shù)組大概多少

    摘要:博客文章鏈接數(shù)組大概知多少判斷一個(gè)變量是否為數(shù)組可靠地檢測(cè)數(shù)組方法利用的方法利用的方法數(shù)組的原生方法有哪些會(huì)改變自身的方法不會(huì)改變自身的方法遍歷方法如何將類(lèi)數(shù)組的變量轉(zhuǎn)化為數(shù)組如果是,可以用方法。通常用的方法,將類(lèi)似數(shù)組轉(zhuǎn)換為數(shù)組。 博客文章鏈接:數(shù)組大概知多少 判斷一個(gè)變量是否為數(shù)組? 可靠地檢測(cè)數(shù)組方法 1.利用Object的toString方法 var list = [1, 2,...

    pcChao 評(píng)論0 收藏0
  • JS 加法多少?

    摘要:今天收到一個(gè)問(wèn)題別用控制臺(tái),能說(shuō)出來(lái)是多少一下沒(méi)反應(yīng)過(guò)來(lái),不知道你說(shuō)對(duì)了沒(méi)反正我說(shuō)錯(cuò)了,哈哈哈好了,先公布結(jié)果下面好好分析分析到底是啥原理。 今天收到一個(gè)問(wèn)題 var a = +[] 別用控制臺(tái),能說(shuō)出來(lái)是多少? 一下沒(méi)反應(yīng)過(guò)來(lái),不知道你說(shuō)對(duì)了沒(méi) 反正我說(shuō)錯(cuò)了,哈哈哈~ 好了,先公布結(jié)果 console.log(+[]) // 0 console.log(0 + []) // 0 c...

    xuhong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<