可靠性測(cè)試是測(cè)試/驗(yàn)證系統(tǒng)在各種條件下是否可以繼續(xù)維持功能、性能。實(shí)際測(cè)試中,功能性測(cè)試成功是可靠性測(cè)試可以順利進(jìn)行的前提,即基本功能要先正確,再進(jìn)行可靠性測(cè)試才有意義,這就為如何安排測(cè)試執(zhí)行順序提出了要求。
5種較為通用的可靠性測(cè)試方法,還可以根據(jù)自己的業(yè)務(wù)特點(diǎn)和失效規(guī)律來總結(jié)、完善自己的可靠性測(cè)試方法。
異常值輸入法
異常值輸入法是一種使用系統(tǒng)不允許輸入的數(shù)值(即異常值)作為測(cè)試輸入值的可靠性測(cè)試方法。
異常值輸入法可以測(cè)試系統(tǒng)的容錯(cuò)性,能夠測(cè)試系統(tǒng)處理各種錯(cuò)誤輸入的能力,是最基本的可靠性測(cè)試方法。
單運(yùn)行邊界值輸入法中邊界值為非法輸入值時(shí)(如合法輸入值為[1,10]時(shí)輸入0和11),也可以歸入異常值輸入法。
有時(shí)一個(gè)功能會(huì)要求輸入一組數(shù)值或者多個(gè)參數(shù),對(duì)這個(gè)功能進(jìn)行不完整的輸入測(cè)試,也屬于異常值輸入法。IP地址輸入為空,此時(shí)也屬于異常值輸入法。
故障植入法
故障植入法是把系統(tǒng)放在有問題的環(huán)境中進(jìn)行測(cè)試的一種可靠性測(cè)試方法,主要用于測(cè)試質(zhì)量屬性中的容錯(cuò)性和成熟性。
異常值輸入法是直接輸入一個(gè)系統(tǒng)認(rèn)為是錯(cuò)誤的、不支持的值;而故障植入法是把系統(tǒng)放在有問題的環(huán)境中,但是輸入的是正常值。
一般來說,我們習(xí)慣把系統(tǒng)放在一個(gè)非?!案蓛簟钡沫h(huán)境中去測(cè)試,讓系統(tǒng)運(yùn)行在比較好的環(huán)境中。但是把系統(tǒng)部署在用戶的實(shí)際環(huán)境中時(shí),無法保證條件總是如實(shí)驗(yàn)室般理想,這就會(huì)引發(fā)問題。
從資源、環(huán)境沖突和網(wǎng)絡(luò)幾個(gè)方面對(duì)故障植入點(diǎn)進(jìn)行了分析。
以“用戶發(fā)送電子郵件”為例,對(duì)這個(gè)測(cè)試項(xiàng)來說網(wǎng)絡(luò)是一個(gè)常見的故障植入點(diǎn):
1)在斷網(wǎng)的情況下,用戶發(fā)送郵件會(huì)失敗,系統(tǒng)應(yīng)該有發(fā)送失敗的提示,并在網(wǎng)絡(luò)恢復(fù)的情況下自動(dòng)重新發(fā)送郵件。
2)在網(wǎng)絡(luò)時(shí)斷時(shí)續(xù)、存在丟包的情況下,如果丟包不嚴(yán)重(比如小于15%),則系統(tǒng)能夠通過重傳的方式保證郵件發(fā)送成功;如果丟包嚴(yán)重(比如大于15%),則用戶發(fā)送郵件會(huì)失敗,系統(tǒng)應(yīng)該有發(fā)送失敗的提示,并在網(wǎng)絡(luò)恢復(fù)的情況下自動(dòng)重新發(fā)送郵件。
穩(wěn)定性測(cè)試法
穩(wěn)定測(cè)試法是一種在一段時(shí)間里長(zhǎng)時(shí)間、高負(fù)載運(yùn)行某種業(yè)務(wù)的可靠性測(cè)試方法。穩(wěn)定性測(cè)試法能夠非常有效地測(cè)試系統(tǒng)的成熟性,是一種非常重要的可靠性測(cè)試方法。
穩(wěn)定性測(cè)試、壓力測(cè)試和性能測(cè)試存在一定的關(guān)系,以負(fù)載的高低來區(qū)分不同測(cè)試。
實(shí)際上,可以把負(fù)載擴(kuò)大到系統(tǒng)規(guī)格:
1)超過系統(tǒng)規(guī)格的測(cè)試是壓力測(cè)試。
2)確定是否可以達(dá)到系統(tǒng)規(guī)格的測(cè)試是性能測(cè)試。
3)在系統(tǒng)規(guī)格內(nèi)的測(cè)試是穩(wěn)定性測(cè)試。
系統(tǒng)規(guī)格指系統(tǒng)承諾的能夠處理的最大容量或能力。
一套有趣的穩(wěn)定性測(cè)試心法——穩(wěn)定性測(cè)試四字:多、并、復(fù)、異。
第一訣:“多”字訣的要義是,在測(cè)試中通過增加用戶對(duì)功能的操作數(shù)量來測(cè)試系統(tǒng)的穩(wěn)定性。
以“用戶發(fā)送電子郵件”為例,測(cè)試用戶發(fā)送500封郵件或發(fā)送1000封郵件時(shí)系統(tǒng)的穩(wěn)定性。
第二訣:“并”字訣的要義是,在測(cè)試中讓多個(gè)用戶同時(shí)來操作這個(gè)功能,由此來測(cè)試系統(tǒng)是否依然穩(wěn)定。有時(shí)我們也稱這種測(cè)試為并發(fā)測(cè)試。
以“用戶發(fā)送電子郵件”為例,讓500個(gè)用戶同時(shí)向服務(wù)器發(fā)送電子郵件(假設(shè)系統(tǒng)支持的最大并發(fā)用戶數(shù)低于500)。
第三訣:“復(fù)”字訣的要義是,在測(cè)試中讓一個(gè)或多個(gè)用戶,反復(fù)進(jìn)行新建、刷新、刪除、同步、備份之類的操作,以此來測(cè)試系統(tǒng)是否穩(wěn)定。使用“復(fù)”字訣能夠快速、有效地發(fā)現(xiàn)系統(tǒng)在處理時(shí)序、資源申請(qǐng)/釋放上是否存在問題。這是非常重要的穩(wěn)定性測(cè)試方法。
以“用戶發(fā)送電子郵件”為例,在一段時(shí)間內(nèi)(如1天、1周)通過500個(gè)用戶反復(fù)進(jìn)行登錄郵箱、編寫郵件、發(fā)送郵件、退出郵箱等操作,觀察系統(tǒng)是否依然正常穩(wěn)定。
第四訣:“異”字訣的要義是,在測(cè)試中讓一個(gè)或者多個(gè)用戶反復(fù)進(jìn)行異常操作,驗(yàn)證系統(tǒng)是否能夠持續(xù)做出合理的反應(yīng)。
和異常輸入法和故障植入法相比,“異”字訣強(qiáng)調(diào)的是“持續(xù)”和“累積”。事實(shí)上,開發(fā)者在進(jìn)行編碼的時(shí)候,常會(huì)考慮正確情況下的資源申請(qǐng)和回收而忽視異常情況下的資源回收?!爱悺弊衷E在發(fā)現(xiàn)缺陷方面非常有效。
以“用戶發(fā)送電子郵件”為例,可以測(cè)試用戶持續(xù)(如1天、1周)發(fā)送地址是非法輸入值的郵件,用戶在長(zhǎng)時(shí)間(如1天、1周)處于網(wǎng)絡(luò)故障的情況下持續(xù)發(fā)送郵件等情況。
壓力測(cè)試法
壓力測(cè)試法是一種在一段時(shí)間內(nèi)持續(xù)使用超過系統(tǒng)規(guī)格的負(fù)載的可靠性測(cè)試方法。
所有系統(tǒng)都有其本身的性能規(guī)格。負(fù)載在性能規(guī)格范圍內(nèi),系統(tǒng)要穩(wěn)定提供正確功能。但在負(fù)載超過性能規(guī)格的情況下,對(duì)于系統(tǒng)應(yīng)該怎樣處理,人們的理解往往不統(tǒng)一。那么我們又該如何分析和確定測(cè)試結(jié)果呢?要回答好這個(gè)問題,就要從負(fù)載模型說起。
有兩種和壓力相關(guān)的負(fù)載模型,一種是持續(xù)壓力負(fù)載模型,一種是突發(fā)壓力負(fù)載模型。
1.持續(xù)壓力負(fù)載模型測(cè)試
當(dāng)使用持續(xù)壓力負(fù)載模型進(jìn)行壓力測(cè)試時(shí),允許系統(tǒng)出現(xiàn)負(fù)載處理失效,但我們不希望系統(tǒng)直接宕機(jī)。有些系統(tǒng)能夠?qū)Τ^性能規(guī)格的負(fù)載做bypass(繞過)處理,這樣依然能夠盡力保證正確處理性能規(guī)格內(nèi)的負(fù)載。
從測(cè)試關(guān)注點(diǎn)來說,對(duì)于持續(xù)壓力負(fù)載模型測(cè)試,業(yè)務(wù)負(fù)載處理是否正常并不是我們的重點(diǎn)關(guān)注項(xiàng),需要我們重點(diǎn)關(guān)注的是:
1)系統(tǒng)如果對(duì)超過規(guī)格的負(fù)載做了bypass處理,則需要測(cè)試bypass功能的正確性和有效性;
2)系統(tǒng)不會(huì)因?yàn)槌掷m(xù)壓力負(fù)載而直接宕機(jī)。
盡管我們?cè)试S在持續(xù)壓力負(fù)載模型下出現(xiàn)業(yè)務(wù)失敗,但我們希望當(dāng)業(yè)務(wù)負(fù)載再次恢復(fù)到性能規(guī)格范圍內(nèi)后,系統(tǒng)能夠正確處理所有業(yè)務(wù),這又構(gòu)成了一種新的測(cè)試方法——恢復(fù)測(cè)試法。
2.突發(fā)壓力負(fù)載模型測(cè)試
所謂“突發(fā)”,指業(yè)務(wù)負(fù)載在很短的時(shí)間內(nèi)出現(xiàn)超過性能規(guī)格又立即恢復(fù)的現(xiàn)象。
由于負(fù)載突發(fā)情況持續(xù)時(shí)間極短,用戶甚至無法覺察,整個(gè)過程平均負(fù)載一般都不會(huì)超過性格規(guī)格,所以通常情況下,我們希望系統(tǒng)能夠正確處理“突發(fā)”:系統(tǒng)不會(huì)因?yàn)橥话l(fā)發(fā)生宕機(jī)或出現(xiàn)異常,并可以正確處理突發(fā)業(yè)務(wù),在存在突發(fā)的情況下不會(huì)出現(xiàn)業(yè)務(wù)失敗。
恢復(fù)測(cè)試法
恢復(fù)測(cè)試法指使用持續(xù)超過性能規(guī)格的負(fù)載進(jìn)行測(cè)試后,再將負(fù)載降到性能規(guī)格以內(nèi)的測(cè)試方法。
在恢復(fù)測(cè)試法上,重復(fù)此操作,形成一個(gè)加強(qiáng)版周期性負(fù)載震蕩測(cè)試,以反復(fù)進(jìn)行持續(xù)壓力和恢復(fù)測(cè)試。
恢復(fù)測(cè)試法能夠?qū)ο到y(tǒng)的可恢復(fù)性進(jìn)行測(cè)試,也就是測(cè)試系統(tǒng)的“自愈性”。在使用恢復(fù)測(cè)試法進(jìn)行測(cè)試時(shí),預(yù)期結(jié)果均為:
1)持續(xù)進(jìn)行超過性能規(guī)格的負(fù)載測(cè)試時(shí),允許性能規(guī)格內(nèi)的業(yè)務(wù)不是100%正確,如果產(chǎn)品在可靠性方面的要求不高,甚至允許系統(tǒng)出現(xiàn)死機(jī)、重啟等情況。
2)當(dāng)負(fù)載降到性能規(guī)格以內(nèi)后,業(yè)務(wù)必須能夠恢復(fù)到100%正確,即產(chǎn)品在負(fù)載高的情況下出現(xiàn)的死機(jī)、重啟等問題,在負(fù)載降低后能夠“自愈”。
摘取自劉琛梅老師的《測(cè)試架構(gòu)師修煉之道:從測(cè)試工程師到測(cè)試架構(gòu)師 第2版》
上一篇:溫濕度環(huán)境試驗(yàn)主要測(cè)試哪些哪些項(xiàng)目?
下一篇:可靠性測(cè)試?yán)锩姘男╉?xiàng)目呢? 哪里可以做可靠性測(cè)試?
- 美國(guó)FCC認(rèn)證常規(guī)測(cè)試項(xiàng)目詳細(xì)解析
- 歐盟REACH檢測(cè)報(bào)告適用于哪些產(chǎn)品
- 遙測(cè)終端機(jī)IP69測(cè)試技術(shù)方案
- WF2防腐測(cè)試具體有哪些要求
- 燈具WF2防腐測(cè)試需要哪些資料
- 連接器性能測(cè)試項(xiàng)目
- 移動(dòng)電源(0914)、鋰離子電池和電池組(0915)強(qiáng)制性產(chǎn)品認(rèn)證
- 什么是VOC測(cè)試,VOC測(cè)試怎么收費(fèi)
- 毛絨玩具CPC認(rèn)證申請(qǐng)要符合哪些要求
- 汽車地毯防霉菌試驗(yàn)