网上读书关于软件测试,【读书笔记】之软件测试
1.引論
1.1 什么是軟件測(cè)試
軟件測(cè)試主要是對(duì)制作的軟件產(chǎn)品進(jìn)行檢查和測(cè)試,及時(shí)地發(fā)現(xiàn)程序中的故障和邏輯錯(cuò)誤,以保障軟件產(chǎn)品的可靠性。軟件測(cè)試是保證軟件質(zhì)量的關(guān)鍵步驟,也是提高軟件可靠性的重要手段,因此它是軟件工程的的重要重要組成部分之一。
軟件測(cè)試的內(nèi)容包括兩個(gè)方面,即文檔和程序。
軟件測(cè)試的宗旨是要采用費(fèi)用最少而效果最好的方法提高軟件產(chǎn)品的質(zhì)量。
Dijkstra關(guān)于軟件測(cè)試有一句極精辟的話(huà)“測(cè)試只能證明程序有錯(cuò),不能保證程序無(wú)錯(cuò)”。
1.2 軟件測(cè)試的目標(biāo)
G.Myers在他的優(yōu)秀著作《軟件測(cè)試技巧》中,精辟的闡述測(cè)試的目的或定義:
1. 程序測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;
2. 好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤;
3. 成功的測(cè)試是能夠發(fā)現(xiàn)以前尚未發(fā)現(xiàn)的錯(cuò)誤。
由此可見(jiàn),傳統(tǒng)觀念“程序測(cè)試是為了證明程序中不存在錯(cuò)誤”,“成功的測(cè)試是一個(gè)未能發(fā)現(xiàn)錯(cuò)誤的測(cè)試”是不正確的。
1.3 軟件測(cè)試的原則
1. 預(yù)先確定測(cè)試結(jié)果
2. 軟件的開(kāi)發(fā)者(或部門(mén))不應(yīng)該測(cè)試自己的程序
3. 制定嚴(yán)格的測(cè)試計(jì)劃,防止測(cè)試的隨意性
4. 設(shè)計(jì)和選擇測(cè)試方案要有利于發(fā)現(xiàn)錯(cuò)誤
5. 集中力量測(cè)試容易出錯(cuò)的程序段
在許多程序中,錯(cuò)誤好像是成群出現(xiàn)的,這些錯(cuò)誤往往比較集中在一段程序中。存在錯(cuò)誤的概率與這段程序中發(fā)現(xiàn)的錯(cuò)誤成比列。這就是所謂群集現(xiàn)象。
6. 保存好測(cè)試計(jì)劃,測(cè)試方案,錯(cuò)誤數(shù)據(jù)統(tǒng)計(jì)和分類(lèi),以及最終的分析報(bào)告。
2.軟件測(cè)試方法
軟件測(cè)試通常有三種方法,第一種是程序正確性證明,即驗(yàn)證;第二種是靜態(tài)測(cè)試,即不執(zhí)行被測(cè)試的程序而發(fā)先程序中的錯(cuò)誤;第三種是動(dòng)態(tài)測(cè)試。
2.1 程序正確性證明
程序正確性證明是從理論上對(duì)程序的正確性進(jìn)行論證,通過(guò)證明可以得出程序邏輯上是否正確。
在許多情況下,一個(gè)完全的形式證明可能是不必要的。在某些情況下,若不能實(shí)現(xiàn)完全測(cè)試,則也不可能實(shí)現(xiàn)完全的形式證明。然而,我們常常用程序正確性證明所開(kāi)發(fā)的推理風(fēng)格來(lái)指導(dǎo)測(cè)試過(guò)程,以增強(qiáng)對(duì)程序的信任,有時(shí)可以把某些性質(zhì)的程序證明和其他性質(zhì)的測(cè)試結(jié)合起來(lái)。
2.2 靜態(tài)測(cè)試
所謂靜態(tài)測(cè)試是指不執(zhí)行程序而找出程序存在錯(cuò)誤的方法。這種方法以人工的,非形式化的方法對(duì)程序進(jìn)行分析和測(cè)試,它是不依賴(lài)于計(jì)算機(jī)的測(cè)試。實(shí)踐表明,靜態(tài)測(cè)試可以發(fā)現(xiàn)大約30%-70%的邏輯設(shè)計(jì)錯(cuò)誤和編碼錯(cuò)誤。
2.2.1 功能檢查(自我測(cè)試)
功能檢查也叫自我測(cè)試,由程序員將模塊功能(說(shuō)明,算法,語(yǔ)法規(guī)則),流程圖和編碼對(duì)照起來(lái)反復(fù)閱讀,檢查程序的語(yǔ)法和邏輯錯(cuò)誤。
2.2.2 群體檢查
群體檢查是由自于人聽(tīng)社記者對(duì)功能說(shuō)明,流程圖,程序編碼的自我測(cè)試等情況的匯報(bào)之后,對(duì)程序進(jìn)行動(dòng)態(tài)分析的過(guò)程。
2.2.3 人工運(yùn)行檢查
人工運(yùn)行檢查是由人扮演計(jì)算機(jī)來(lái)執(zhí)行程序,將測(cè)試方案按程序的邏輯結(jié)構(gòu)執(zhí)行一遍,從而找出程序的錯(cuò)誤供測(cè)試者分析。
2.3 動(dòng)態(tài)測(cè)試
靜態(tài)測(cè)試主要是檢查程序的邏輯設(shè)計(jì)和編碼錯(cuò)誤,但在理論上和實(shí)踐上還存在局限性,所以還比尋進(jìn)行動(dòng)態(tài)測(cè)試。
所謂動(dòng)態(tài)測(cè)試,就是把程序看作函數(shù),取函數(shù)定義域中的每一個(gè)元素作為輸入,實(shí)際運(yùn)行程序,檢查程序的執(zhí)行結(jié)果是否全部落在函數(shù)的值域之內(nèi),以此來(lái)檢查程序的正確性,可靠性和有效性。
1. 如果產(chǎn)品要實(shí)現(xiàn)的功能是已知的,就可以分別測(cè)試是否達(dá)到每個(gè)功能要求,稱(chēng)之為“黑盒測(cè)試”
2. 如果知道產(chǎn)品的內(nèi)部邏輯結(jié)構(gòu)和處理過(guò)程,可以根據(jù)規(guī)格說(shuō)明來(lái)完成內(nèi)部操作的測(cè)試,稱(chēng)之為“白盒測(cè)試”
2.3.1 黑盒測(cè)試法(功能測(cè)試法)
黑盒測(cè)試法又稱(chēng)為功能測(cè)試法,它是在軟件接口上進(jìn)行測(cè)試,根據(jù)對(duì)軟件功能的分析,推演出函數(shù)定義域中有代表性的元素組成測(cè)試方案。測(cè)試者使用這種方法時(shí),把程序看成一個(gè)黑盒,完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過(guò)程。其目的是用來(lái)證明與程序內(nèi)部工作無(wú)關(guān)的功能需求的有效性,很少考慮軟件的內(nèi)部邏輯結(jié)構(gòu)。
41/41234>
總結(jié)
以上是生活随笔為你收集整理的网上读书关于软件测试,【读书笔记】之软件测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (dijkstra记录路径)find t
- 下一篇: (二叉树DFS)天平UVa 839