一跺株、什么是軟件測(cè)試蚂四?
百度百科中是這樣寫的:
軟件測(cè)試(英語(yǔ):Software Testing),描述一種用來(lái)促進(jìn)鑒定軟件的正確性、完整性唇礁、安全性和質(zhì)量的過(guò)程。換句話說(shuō)危喉,軟件測(cè)試是一種實(shí)際輸出與預(yù)期輸出之間的審核或者比較過(guò)程钻趋。軟件測(cè)試的經(jīng)典定義是:在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤毁靶,衡量軟件質(zhì)量胧奔,并對(duì)其是否能滿足設(shè)計(jì)要求進(jìn)行評(píng)估的過(guò)程。
一句話形容预吆,其實(shí)軟件測(cè)試就是通過(guò)人力或者計(jì)算機(jī)來(lái)測(cè)試某一軟件是否正確的實(shí)現(xiàn)了它所需要實(shí)現(xiàn)的功能龙填。
二、軟件測(cè)試的目的:
?一拐叉、軟件測(cè)試的目的? ? ? ?
1)軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程岩遗。? ? ? ?
2)測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)巷嚣。(發(fā)現(xiàn)錯(cuò)誤不是唯一目的)? ? ? ?
3)一個(gè)好的測(cè)試用例在于它發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤喘先。? ? ? ?
4)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。
注意:? ? ? ?
????????1廷粒、測(cè)試并不僅僅是為了要找出錯(cuò)誤窘拯。通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征“泳ィ可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過(guò)程的缺陷涤姊,以便改進(jìn)。同時(shí)嗤放,通過(guò)分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性的檢測(cè)方法思喊,改善測(cè)試的有效性。? ? ? ?
????????2次酌、沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的恨课,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。詳細(xì)而嚴(yán)謹(jǐn)?shù)目煽啃栽鲩L(zhǎng)模型可以證明這一點(diǎn)岳服。例如Bev Littlewood發(fā)現(xiàn)一個(gè)經(jīng)過(guò)測(cè)試而正常運(yùn)行了n個(gè)小時(shí)的系統(tǒng)有繼續(xù)正常運(yùn)行n個(gè)小時(shí)的概率剂公。
三、軟件測(cè)試的原則:
1)應(yīng)當(dāng)把“盡早地不斷地進(jìn)行軟件測(cè)試“作為軟件開發(fā)者的座右銘吊宋。? ? ? ? ?
2)測(cè)試用例應(yīng)由測(cè)試數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果這兩部分組成纲辽。? ? ? ?
3)程序員應(yīng)避免檢查自己的程序。? ? ? ?
4)在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件拖吼。? ? ? ?
5)充分注意測(cè)試中的群集現(xiàn)象鳞上。? ? ? ?
6)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性吊档。? ? ?
7)應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果做全面的檢查篙议。? ? ? ?
8)妥善保存測(cè)試計(jì)劃、測(cè)試用例怠硼、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告涡上,為維護(hù)提供方便。
四拒名、軟測(cè)行業(yè)中流行的軟件質(zhì)量模型的6大特性和27個(gè)子特性
ISO9126質(zhì)量模型:軟件質(zhì)量模型的6大特性和27個(gè)子特性。
ISO9126軟件質(zhì)量模型是評(píng)價(jià)軟件質(zhì)量的國(guó)際標(biāo)準(zhǔn)芋酌,由6個(gè)特性和27個(gè)子特性組成增显,建議大家深入理解各特性、子特性的含義和區(qū)別脐帝,在測(cè)試工作需要從這6個(gè)特性和27個(gè)子特性去測(cè)試同云、評(píng)價(jià)一個(gè)軟件。這個(gè)模型是軟件質(zhì)量標(biāo)準(zhǔn)的核心堵腹,對(duì)于大部分的軟件炸站,都可以考慮從這幾個(gè)方面著手進(jìn)行測(cè)評(píng)。?
其6大特性和27個(gè)子特性
1疚顷、功能性
1)適合性:提供了相應(yīng)的功能
2)準(zhǔn)確性:正確(用戶需要的)
3)互操作性:產(chǎn)品與產(chǎn)品之間交互數(shù)據(jù)的能力
4)保密安全性:允許經(jīng)過(guò)授權(quán)的用戶和系統(tǒng)能夠正常的訪問(wèn)相應(yīng)的數(shù)據(jù)和信息旱易,禁止未授權(quán)的用戶訪問(wèn)
5)功能性的依從性:國(guó)際/國(guó)家/行業(yè)/企業(yè) 標(biāo)準(zhǔn)規(guī)范一致性
2、可靠性:產(chǎn)品在規(guī)定的條件下腿堤,在規(guī)定的時(shí)間內(nèi)完成規(guī)定功能的能力
1)成熟性:防止內(nèi)部錯(cuò)誤導(dǎo)致軟件失效的能力
2)容錯(cuò)性:軟件出現(xiàn)故障阀坏,自我處理能力
3)易恢復(fù)性:失效情況下的恢復(fù)能力
4)可靠性的依從性
3、易用性:在指定使用條件下笆檀,產(chǎn)品被理解忌堂、 學(xué)習(xí)、使用和吸引用戶的能力
1)易理解性
2)易學(xué)性
3)易操作性
4)吸引性
5)易用性的依從性
4酗洒、效率性:在規(guī)定臺(tái)條件下士修,相對(duì)于所用資源的數(shù)量,軟件產(chǎn)品可提供適當(dāng)性能的能力
1)時(shí)間特性:平均事務(wù)響應(yīng)時(shí)間樱衷,吞吐率棋嘲,TPS(每秒事務(wù)數(shù))
2)資源利用性:CPU 內(nèi)存 磁盤 IO 網(wǎng)絡(luò)帶寬 隊(duì)列 共享內(nèi)存
3)效率依從性
5、軟件維護(hù)性:"四規(guī)"箫老, 在規(guī)定條件下封字,規(guī)定的時(shí)間內(nèi),使用規(guī)定的工具或方法修復(fù)規(guī)定功能的能力
1)易分析性:分析定位問(wèn)題的難易程度
2)易改變性:軟件產(chǎn)品使指定的修改可以被實(shí)現(xiàn)的能力
3)穩(wěn)定性:防止意外修改導(dǎo)致程序失效
4)易 測(cè)試性:使已修改軟件能被確認(rèn)的能力
5)維護(hù)性的依從性
6、軟件可移植性:從一種環(huán)境遷移到另一種環(huán)境的能力
1)適應(yīng)性:適應(yīng)不同平臺(tái)
2)易安裝性:被安裝的能力
3)共存性
4)易替換性
5)可移植性的依從性
五阔籽、測(cè)試的基本流程
軟件測(cè)試的流程
? ? ? ?立項(xiàng)階段-需求階段----設(shè)計(jì)階段----編碼和單元測(cè)試階段----集成測(cè)試階段----系統(tǒng)測(cè)試階段-----驗(yàn)收測(cè)試階段-----結(jié)項(xiàng)總結(jié)階段
補(bǔ)充:
根據(jù)不同的測(cè)試階段流妻,測(cè)試可以分為單元測(cè)試、集成測(cè)試笆制、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試绅这,體現(xiàn)了測(cè)試由小到大、又內(nèi)至外在辆、循序漸進(jìn)的測(cè)試過(guò)程和分而治之的思想证薇。
單元測(cè)試的粒度最小,一般由開發(fā)小組采用白盒方式來(lái)測(cè)試匆篓,主要測(cè)試單元是否符合“設(shè)計(jì)”浑度。
集成測(cè)試界于單元測(cè)試和系統(tǒng)測(cè)試之間,起到“橋梁作用”鸦概,一般由開發(fā)小組采用白盒加黑盒的方式來(lái)測(cè)試箩张,既驗(yàn)證“設(shè)計(jì)”,又驗(yàn)證“需求”窗市。
系統(tǒng)測(cè)試的粒度最大先慷,一般由獨(dú)立測(cè)試小組采用黑盒方式來(lái)測(cè)試,主要測(cè)試系統(tǒng)是否符合“需求規(guī)格說(shuō)明書”咨察。
驗(yàn)收測(cè)試與系統(tǒng)測(cè)試相似论熙,主要區(qū)別是測(cè)試人員不同,驗(yàn)收測(cè)試由用戶執(zhí)行摄狱。
黑盒測(cè)試不考慮程序內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu)脓诡,主要是用來(lái)測(cè)試系統(tǒng)的功能是否滿足需求規(guī)格說(shuō)明書。一般會(huì)有一個(gè)輸入值媒役,一個(gè)輸入值誉券,和期望值做比較。
白盒測(cè)試主要應(yīng)用在單元測(cè)試階段刊愚,主要是對(duì)代碼級(jí)的測(cè)試踊跟,針對(duì)程序內(nèi)部邏輯結(jié)構(gòu),測(cè)試手段有:語(yǔ)句覆蓋鸥诽、判定覆蓋商玫、條件覆蓋、路徑覆蓋牡借、條件組合覆蓋
集成測(cè)試主要用來(lái)測(cè)試模塊與模塊之間的接口拳昌,同時(shí)還要測(cè)試一些主要業(yè)務(wù)功能。
系統(tǒng)測(cè)試是在經(jīng)過(guò)以上各階段測(cè)試確認(rèn)之后钠龙,把系統(tǒng)完整地模擬客戶環(huán)境來(lái)進(jìn)行的測(cè)試炬藤。