软件测试的基础知识
1.1測(cè)試的方法
| 測(cè)試方法 | 內(nèi)容描述 |
| 系統(tǒng)測(cè)試 | 系統(tǒng)測(cè)試是通過與系統(tǒng)的需求規(guī)格作比較-,發(fā)現(xiàn)軟件與系統(tǒng)需求規(guī)格不相符合或與之矛盾的地方。它將通過確認(rèn)測(cè)試的軟件,作為整個(gè)基于計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合起來,在實(shí)際運(yùn)行(使用)環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行的測(cè)試。 |
| ? 功能測(cè)試 | 就是對(duì)產(chǎn)品的各功能進(jìn)行驗(yàn)證,根據(jù)功能測(cè)試用例,逐項(xiàng)測(cè)試,檢查產(chǎn)品是否達(dá)到用戶要求的功能。是基于用戶觀點(diǎn)出發(fā)的測(cè)試,主要是驗(yàn)證功能是否符合需求,包括原定功能的檢驗(yàn)、是否有冗余功能、遺漏功能。功能測(cè)試也叫黑盒測(cè)試。通常又將黑盒測(cè)試叫做:基于規(guī)格的測(cè)試、輸入輸出測(cè)試、功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。 |
| 安全測(cè)試 | 主要是測(cè)試系統(tǒng)在沒有授權(quán)的內(nèi)部或者外部用戶對(duì)系統(tǒng)進(jìn)行攻擊或者惡意破壞時(shí)如何進(jìn)行處理,是否仍能保證數(shù)據(jù)的安全。測(cè)試人員可以學(xué)習(xí)一些黑客技術(shù),來對(duì)系統(tǒng)進(jìn)行攻擊。 |
| 壓力測(cè)試 | 對(duì)系統(tǒng)不斷施加壓力的測(cè)試,是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試。例如測(cè)試一個(gè)Web?站點(diǎn)在大量的負(fù)荷下,何時(shí)系統(tǒng)的響應(yīng)會(huì)退化或失敗。 |
| 接口測(cè)試 | 程序員對(duì)各個(gè)模塊進(jìn)行系統(tǒng)聯(lián)調(diào)的測(cè)試,包含程序內(nèi)接口和程序外接口測(cè)試。這個(gè)測(cè)試,在單元測(cè)試階段進(jìn)行了一部分工作,而大部分都是在集成測(cè)試階段完成的。建議由開發(fā)人員進(jìn)行。 |
| 兼容性測(cè)試 | 兼容性測(cè)試是指測(cè)試軟件在特定的硬件平臺(tái)上、不同的應(yīng)用軟件之間、不同的操縱系統(tǒng)平臺(tái)上、不同的網(wǎng)絡(luò)等環(huán)境中是否能夠很友好的運(yùn)行的測(cè)試。 |
| 性能測(cè)試 | 在交替進(jìn)行負(fù)荷和強(qiáng)迫測(cè)試時(shí)常用的術(shù)語。性能測(cè)試關(guān)注的是系統(tǒng)的整體。它和通常所說的強(qiáng)度、壓力/負(fù)載測(cè)試有密切關(guān)系。所以壓力和強(qiáng)度測(cè)試應(yīng)該于性能測(cè)試一同進(jìn)行。 |
| 可靠性測(cè)試 | 這里是比較狹義的可靠性測(cè)試,它主要是對(duì)系統(tǒng)能否穩(wěn)定運(yùn)行進(jìn)行一個(gè)統(tǒng)計(jì),在實(shí)際工作中如果沒有條件可以不必特意去做。重點(diǎn)做好與之緊密相關(guān)的功能測(cè)試、健壯性測(cè)試就可以了。 |
?
?
?
?
1.1.1?系統(tǒng)測(cè)試
??系統(tǒng)測(cè)試的概念
?
系統(tǒng)測(cè)試就是將已經(jīng)集成好的軟件系統(tǒng),作為整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行(使用)環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。
?
??系統(tǒng)測(cè)試的目的
?
系統(tǒng)測(cè)試的目的在于通過與系統(tǒng)的需求定義比較,檢查軟件是否存在與系統(tǒng)定義不符合或與之矛盾的地方,以驗(yàn)證軟件系統(tǒng)的功能和性能等滿足其規(guī)約所指定的要求。發(fā)現(xiàn)缺陷并度量產(chǎn)品質(zhì)量,按照系統(tǒng)的功能和性能需求進(jìn)行的測(cè)試。
一般使用黑盒測(cè)試技術(shù)
一般由獨(dú)立的測(cè)試人員完成
是檢驗(yàn)所開發(fā)的軟件是否按軟件需求規(guī)格說明中確定的軟件功能、性能、約束及限制等技術(shù)要求進(jìn)行工作
從用戶的角度出發(fā)進(jìn)行測(cè)試
?
??系統(tǒng)測(cè)試的意義
1)系統(tǒng)測(cè)試的環(huán)境是軟件真實(shí)運(yùn)行環(huán)境的最逼真模擬。系統(tǒng)測(cè)試中,各部分研制完成的真實(shí)設(shè)備逐漸替代了模擬器,是軟件從未有過的運(yùn)行環(huán)境。有關(guān)真實(shí)性?的一類錯(cuò)誤,包括外圍設(shè)備接口、輸入/輸出、或多處理器設(shè)備之間的接口不相容,整個(gè)系統(tǒng)的時(shí)序匹配等,在這種運(yùn)行環(huán)境下能得到比較全面的暴露。?
2)通常系統(tǒng)測(cè)試的困難在于不容易從系統(tǒng)目標(biāo)直接生成測(cè)試用例。而系統(tǒng)測(cè)試由系統(tǒng)人員組織,從系統(tǒng)完成任務(wù)的角度測(cè)試,軟件在系統(tǒng)測(cè)試下獲得了系統(tǒng)任務(wù)下直接的“測(cè)試實(shí)例”,這對(duì)檢驗(yàn)軟件是否滿足系統(tǒng)任務(wù)要求是非常有意義的。
?
1.1.2?功能測(cè)試
??功能測(cè)試的目的和內(nèi)容
?
2??程序安裝、啟動(dòng)正常,有相應(yīng)的提示框、錯(cuò)誤提示等
2??每項(xiàng)功能符合實(shí)際要求
2??系統(tǒng)的界面清晰、美觀
2??菜單、按鈕操作正常、靈活,能處理一些異常操作
2??能接受正確的數(shù)據(jù)輸入,對(duì)異常數(shù)據(jù)的輸入有提示、容錯(cuò)處理等
2??數(shù)據(jù)的輸出結(jié)果準(zhǔn)確,格式清晰,可以保存和讀取
2??功能邏輯清楚,符合使用者習(xí)慣
2??系統(tǒng)的各種狀態(tài)按照業(yè)務(wù)流程而變化,并保持穩(wěn)定
2??支持各種應(yīng)用的環(huán)境
2??能配合多種硬件周邊設(shè)備
2??軟件升級(jí)后,能繼續(xù)支持舊版本的數(shù)據(jù)
2??與外部應(yīng)用系統(tǒng)的接口有效?
?
如:
???1.頁面鏈接檢查???
???2.相關(guān)性檢查?
???3.檢查按鈕的功能是否正確?
???4.字符串長(zhǎng)度檢查
???5.字符類型檢查?
???6.標(biāo)點(diǎn)符號(hào)檢查?
???7.中文字符處理? ??
???8.檢查帶出信息的完整性
???9.信息重復(fù)? ??
???10.檢查刪除功能
???11.檢查添加和修改是否一致?
???12.檢查修改重名?
???13.重復(fù)提交表單
???14.檢查多次使用back鍵的情況?
???15.?search檢查?
???16.輸入信息位置
???17.上傳下載文件檢查
???18.必填項(xiàng)檢查
???19.快捷鍵檢查
???20.回車鍵檢查
1.1.3?性能測(cè)試
??性能測(cè)試的概念
?
性能測(cè)試通常會(huì)使用特定的測(cè)試工具,來模擬超常的數(shù)據(jù)量、負(fù)載等,監(jiān)測(cè)系統(tǒng)的各項(xiàng)性能指標(biāo),如CPU和內(nèi)存的使用情況、響應(yīng)時(shí)間、反應(yīng)速度等。?
?
??性能測(cè)試的目的?
為了驗(yàn)證系統(tǒng)是否達(dá)到用戶提出的性能指標(biāo),同時(shí)發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸,起到優(yōu)化系統(tǒng)的目的。
?①?能力驗(yàn)證
?②?能力規(guī)劃
?③?性能調(diào)優(yōu)
?④?缺陷發(fā)現(xiàn)
如,一般用戶登錄系統(tǒng)都是小于3S
?
??性能測(cè)試指標(biāo)的來源
用戶對(duì)各項(xiàng)指標(biāo)提出的明確需求;如果用戶沒有提出性能指標(biāo)則根據(jù)用戶需求、測(cè)試設(shè)計(jì)人員的經(jīng)驗(yàn)來設(shè)計(jì)各項(xiàng)測(cè)試指標(biāo)。(需求+經(jīng)驗(yàn))
?
??主要的性能指標(biāo)
服務(wù)器的各項(xiàng)指標(biāo)(CPU、內(nèi)存占用率等)、后臺(tái)數(shù)據(jù)庫的各項(xiàng)指標(biāo)、網(wǎng)絡(luò)流量、響應(yīng)時(shí)間。
響應(yīng)時(shí)間
從應(yīng)用系統(tǒng)發(fā)出請(qǐng)求開始,到客戶端接收到最后一個(gè)字節(jié)數(shù)據(jù)為止所消耗的時(shí)間。
合理的響應(yīng)時(shí)間取決于實(shí)際的用戶需求。
并發(fā)用戶數(shù)
一般是指同一時(shí)間段內(nèi)訪問系統(tǒng)的用戶數(shù)量。
???系統(tǒng)用戶數(shù),在線用戶數(shù)
吞吐量
單位時(shí)間內(nèi)系統(tǒng)處理的客戶請(qǐng)求數(shù)量。
性能計(jì)數(shù)器
描述服務(wù)器或操作系統(tǒng)性能的一些數(shù)據(jù)指標(biāo),比如Windows系統(tǒng)資源管理器。
如:
中指標(biāo)CPU占用率(CPU?utilization),如果該值持續(xù)超過95%,表明瓶頸是CPU。可以考慮增加一個(gè)處理器或換一個(gè)更快的處理器?。合理使用的范圍在60%至70%。
?
??性能測(cè)試要點(diǎn)
?
(1)測(cè)試環(huán)境應(yīng)盡量與產(chǎn)品運(yùn)行環(huán)境保持一致,應(yīng)單獨(dú)運(yùn)行盡量避免與其他軟件同時(shí)使用。
(2)性能測(cè)試一般使用測(cè)試工具和測(cè)試人員編制測(cè)試腳本來完成。
(3)性能測(cè)試的重點(diǎn)在于前期數(shù)據(jù)的設(shè)計(jì)與后期數(shù)據(jù)的分析。
(4)性能測(cè)試的用例主要涉及到整個(gè)系統(tǒng)架構(gòu)的問題,所以測(cè)試用例一旦生成,改動(dòng)一般不大,所以做性能測(cè)試的重復(fù)使用率一般比較高。
?
??性能測(cè)試的過程
如:
對(duì)于LMS項(xiàng)目,我們至少需要可以測(cè)試這些性能指標(biāo):服務(wù)器響應(yīng)速度、客戶端上傳下載文件的速度和文件大小、能同時(shí)支持的在線人數(shù)、系統(tǒng)運(yùn)行的可靠性(穩(wěn)定性)、郵箱容量、郵件收發(fā)速度、審批的響應(yīng)時(shí)間。
1.1.4?壓力測(cè)試
??壓力測(cè)試的概念
?
壓力測(cè)試是指在正常資源下使用異常的訪問量、頻率或數(shù)據(jù)量來執(zhí)行系統(tǒng)。在一種需要反常(如長(zhǎng)時(shí)間的峰值)數(shù)量、頻率或資源的方式下,執(zhí)行可重復(fù)的負(fù)載測(cè)試,以檢查程序?qū)Ξ惓G闆r的抵抗能力,找出性能瓶頸。
在壓力測(cè)試中可執(zhí)行以下測(cè)試:
?
①如果平均中斷數(shù)量是每秒一到兩次,那么設(shè)計(jì)特殊的測(cè)試用例產(chǎn)生每秒十次中斷。
②輸入數(shù)據(jù)量增加一個(gè)量級(jí),確定輸入功能將如何響應(yīng)。
③在虛擬操作系統(tǒng)下,產(chǎn)生需要最大內(nèi)存量或其它資源的測(cè)試用例,或產(chǎn)生需要過量磁盤存儲(chǔ)的數(shù)據(jù)。
?測(cè)試壓力估算?
?測(cè)試環(huán)境準(zhǔn)備?
?問題的分析?
?累積效應(yīng)?
?
??壓力測(cè)試的類型
??壓力測(cè)試的目的
?
壓力測(cè)試一般用于測(cè)試系統(tǒng)的穩(wěn)定性。
如果一個(gè)系統(tǒng)能夠在壓力環(huán)境下穩(wěn)定運(yùn)行一段時(shí)間,那么該系統(tǒng)在普遍的運(yùn)行環(huán)境下就應(yīng)該可以達(dá)到令人滿意的穩(wěn)定程度。
在壓力測(cè)試中,通常會(huì)考察系統(tǒng)在壓力下是否會(huì)出現(xiàn)錯(cuò)誤等方面的問題。
?
??壓力測(cè)試和性能測(cè)試的區(qū)別
1.1.5?安全測(cè)試
安全測(cè)試用來驗(yàn)證系統(tǒng)內(nèi)部的保護(hù)機(jī)制,以防止非法侵入。要驗(yàn)證系統(tǒng)內(nèi)的保護(hù)機(jī)制能否抵御入侵者的攻擊。在安全測(cè)試中,測(cè)試人員扮演試圖侵入系統(tǒng)的角色,采用各種辦法試圖突破防線。因此系統(tǒng)安全設(shè)計(jì)的準(zhǔn)則是要想方設(shè)法使侵入系統(tǒng)所需的代價(jià)更加昂貴。
如:
??用戶ID及密碼的設(shè)立限制是否有效
??登陸失敗次數(shù)的限制是否有效
??用戶ID及密碼的存儲(chǔ)是否加密
??用戶密碼是否可以剪貼
??登陸后空機(jī)時(shí)間控制是否有效
??登陸后是否按用戶資格規(guī)定在授權(quán)范圍內(nèi)操作
??登陸完畢退出后,是否仍可以利用瀏覽器“退回”按鈕回到登陸才可以進(jìn)入的網(wǎng)頁而不需要重新登陸
??登陸后將任意一網(wǎng)頁的URL存起,然后退出,再將該URL貼上瀏覽器地址欄,看是否可以繞道進(jìn)入而不需登陸
??如果測(cè)試的軟件包含數(shù)據(jù)庫,則所有以用戶輸入數(shù)據(jù)作為數(shù)據(jù)庫查詢語句組成部分的地方,都要找出是否允許一些SQL語言中有特殊意義的字符(如’,”,;,*,%,_等)在輸入數(shù)據(jù)中出現(xiàn),以保護(hù)數(shù)據(jù)庫所有數(shù)據(jù)的完整性
??專門開發(fā)軟件來破壞系統(tǒng)的保護(hù)機(jī)制
???故意導(dǎo)致系統(tǒng)失敗,企圖趁恢復(fù)之機(jī)非法進(jìn)入
???試圖通過瀏覽非保密數(shù)據(jù),推導(dǎo)所需信息
??網(wǎng)頁顯示出錯(cuò)信息時(shí)不應(yīng)顯示一些敏感的資料。如向用戶顯示出錯(cuò)的某個(gè)文件存放處。
例如:File?Not?Found:?\\MachineName\SecretDir\SomeSubDir\xFile
?
評(píng)價(jià)標(biāo)準(zhǔn):有效性;生存性;精確性;出錯(cuò)反應(yīng)時(shí)間;吞吐量
?
v?特別聲明:
理論上講,只要有足夠的時(shí)間和資源,沒有不可進(jìn)入的系統(tǒng)。因此系統(tǒng)安全設(shè)計(jì)的準(zhǔn)則是,使非法侵入的代價(jià)超過被保護(hù)信息的價(jià)值,此時(shí)非法侵入者已無利可圖。
?
1.1.6?容錯(cuò)性測(cè)試
??容錯(cuò)性測(cè)試的概念
?
也叫做健壯性測(cè)試
主要用于測(cè)試系統(tǒng)抵御錯(cuò)誤的能力。這里的錯(cuò)誤通常指的是由于設(shè)計(jì)缺陷而帶來的系統(tǒng)錯(cuò)誤。測(cè)試的重點(diǎn)為當(dāng)出現(xiàn)故障時(shí),是否能夠自動(dòng)恢復(fù)或忽略故障繼續(xù)運(yùn)行。
?
??容錯(cuò)性測(cè)試有兩層含義
?
2?一是高可靠性
?
它體現(xiàn)了軟件系統(tǒng)的質(zhì)量;
需要根據(jù)符合規(guī)格說明的數(shù)據(jù)選擇測(cè)試用例,用于檢測(cè)在正常情況下系統(tǒng)輸出的正確性。
2?二是從錯(cuò)誤中恢復(fù)的能力
?
它體現(xiàn)了軟件系統(tǒng)的適應(yīng)性;
需要在異常數(shù)據(jù)中選擇測(cè)試用例,檢測(cè)非正常情況下的系統(tǒng)行為。
1.1.7可用性測(cè)試
可用性測(cè)試是面向用戶的系統(tǒng)測(cè)試。
進(jìn)行可用性測(cè)試時(shí),測(cè)試人員應(yīng)該關(guān)注如下幾個(gè)方面:
2?系統(tǒng)中是否存在繁瑣的功能以及指令;
2?安裝過程是否復(fù)雜;
2?錯(cuò)誤信息提示內(nèi)容是否詳細(xì);
2?GUI接口是否標(biāo)準(zhǔn);
2?登錄是否方便;
2?需要用戶記住內(nèi)容的多少;
2?幫助文本是否詳細(xì);
2?頁面風(fēng)格是否一致;
2?是否會(huì)造成理解上的歧義。
2?執(zhí)行的操作是否與預(yù)期的功能相符,如點(diǎn)擊保存按鈕時(shí)記錄是否存入數(shù)據(jù)庫。
?
1.1.8?GUI測(cè)試
v?GUI----Graphical?User?Interface,圖形用戶界面
?
2?GUI測(cè)試是對(duì)圖形用戶界面進(jìn)行的測(cè)試。一般來說,當(dāng)一個(gè)軟件產(chǎn)品完成GUI設(shè)計(jì)后,就確定了它的外觀架構(gòu)和GUI元素。
2?GUI測(cè)試主要核實(shí)用戶與軟件之間的交互,驗(yàn)證用戶界面中的對(duì)象是否按照預(yù)期的方式進(jìn)行,并符合國(guó)家或行業(yè)的標(biāo)準(zhǔn)。
2?優(yōu)秀的用戶界面(UI)應(yīng)具有7個(gè)要素:
符合標(biāo)準(zhǔn)和規(guī)范:
?
是否具有良好的可操作性和友好的界面效果,界面測(cè)試的目的是否能最大程度的滿足用戶的使用要求,通過測(cè)試,把系統(tǒng)的不足之處,并加以改進(jìn)
?
1.1.9?兼容性測(cè)試
??兼容性測(cè)試目的
?
就是檢驗(yàn)被測(cè)應(yīng)用對(duì)其他應(yīng)用或者系統(tǒng)的兼容性,比如在對(duì)一個(gè)共享資源(數(shù)據(jù)、數(shù)據(jù)文件或者內(nèi)存)進(jìn)行操作時(shí),檢測(cè)兩個(gè)或多個(gè)系統(tǒng)需求能否正常工作以及相互交互使用。
?
在做兼容性測(cè)試時(shí),要主要關(guān)注如下幾個(gè)問題:
①當(dāng)前系統(tǒng)可能運(yùn)行在哪些不同的操作系統(tǒng)環(huán)境下?
②當(dāng)前系統(tǒng)可能與哪些不同類型的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換?
③當(dāng)前系統(tǒng)可能運(yùn)行在哪些不同的硬件配置的環(huán)境上?
④當(dāng)前系統(tǒng)可能需要與哪些軟件系統(tǒng)協(xié)同工作?這些軟件系統(tǒng)可能的版本有哪些?
⑤是否需要綜合測(cè)試?
1.1.10?恢復(fù)測(cè)試
??恢復(fù)性測(cè)試的目標(biāo)
?
就是驗(yàn)證系統(tǒng)從軟件或者硬件失敗中恢復(fù)的能力。在測(cè)試過程中會(huì)采取各種人工干預(yù)方式使軟件出錯(cuò),而不能正常工作,進(jìn)而檢驗(yàn)系統(tǒng)的恢復(fù)能力。
????在進(jìn)行恢復(fù)性測(cè)試時(shí),同樣首先要進(jìn)行恢復(fù)性測(cè)試分析,經(jīng)常要考慮的主要問題有如下幾個(gè):
1)恢復(fù)期間的安全性過程;
2)恢復(fù)處理日志方面的能力;
3)當(dāng)出現(xiàn)供電問題時(shí)的恢復(fù)能力;
4)恢復(fù)操作后系統(tǒng)性能是否下降。
1.1.11?回歸測(cè)試
??回歸測(cè)試的概念
?
回歸測(cè)試是在軟件發(fā)生變動(dòng)時(shí)保證原有功能正常運(yùn)作的一種測(cè)試策略和方法。
回歸測(cè)試不需要進(jìn)行全面的測(cè)試,而是根據(jù)修改的情況進(jìn)行有選擇性的測(cè)試。
這里所說的保證軟件原有功能正常運(yùn)作,可以從兩方面來理解:
??回歸測(cè)試的目的?
?
2?所做的修改達(dá)到了預(yù)期的目的,例如缺陷得到了修改,新增加的功能得到了實(shí)現(xiàn);
2?軟件的修改沒有引入新的缺陷,沒有影響原有的功能實(shí)現(xiàn)。
2?不影響軟件原有功能的正確性。
?
???回歸測(cè)試的方法
1.測(cè)試用例庫的維護(hù)
(1)?刪除過時(shí)的測(cè)試用例?
(2)?改進(jìn)不受控制的測(cè)試用例?
(3)?刪除冗余的測(cè)試用例
(4)?增添新的測(cè)試用例?
2.回歸測(cè)試包的選擇?
(1)?再測(cè)試全部用例?
(2)?基于風(fēng)險(xiǎn)選擇測(cè)試?
(3)?基于操作剖面選擇測(cè)試?
(4)?再測(cè)試修改的部分?
1.1.12?驗(yàn)收測(cè)試
??驗(yàn)收測(cè)試的概念和目的
?
驗(yàn)證系統(tǒng)是否達(dá)到了用戶需求規(guī)格說明書(可能包括項(xiàng)目或產(chǎn)品驗(yàn)收準(zhǔn)則)中的要求,測(cè)試試圖盡可能地發(fā)現(xiàn)軟件中存留的缺陷,從而為軟件進(jìn)一步改善提供幫助,并保證系統(tǒng)或軟件產(chǎn)品最終被用戶接受。主要包括易用性測(cè)試、兼容性測(cè)試、安裝測(cè)試、文檔(如用戶手冊(cè)、操作手冊(cè)等)測(cè)試等幾個(gè)方面的內(nèi)容。?
驗(yàn)收測(cè)試是將程序與其最初的需求及最終用戶當(dāng)前的需要進(jìn)行比較的過程,是部署軟件之前的最后一個(gè)測(cè)試操作。
?
??驗(yàn)收測(cè)試的步驟
?
2?制定測(cè)試計(jì)劃,測(cè)試項(xiàng),測(cè)試策略及驗(yàn)收通過準(zhǔn)則,并經(jīng)過客戶參與的計(jì)劃評(píng)審。
2?建立測(cè)試環(huán)境,設(shè)計(jì)測(cè)試用例,并經(jīng)過評(píng)審。
2?準(zhǔn)備測(cè)試數(shù)據(jù),執(zhí)行測(cè)試用例,記錄測(cè)試結(jié)果。
2?分析測(cè)試結(jié)果,根據(jù)驗(yàn)收通過準(zhǔn)則分析測(cè)試結(jié)果,作出驗(yàn)收是否通過及測(cè)試評(píng)價(jià)。
l?測(cè)試項(xiàng)目通過;
l?測(cè)試項(xiàng)目沒有通過,并且不存在變通方法,需要很大的修改;
l?測(cè)試項(xiàng)目沒有通過,但存在變通方法,在維護(hù)后期或下一個(gè)版本改進(jìn);
l?測(cè)試項(xiàng)目無法評(píng)估或者無法給出完整的評(píng)估。此時(shí)必須給出原因。如果是因?yàn)樵摐y(cè)試項(xiàng)目沒有說明清楚,應(yīng)該修改測(cè)試計(jì)劃。?
2?提交測(cè)試報(bào)告
驗(yàn)收測(cè)試報(bào)告,也稱為發(fā)布報(bào)告(Release?Report)
??驗(yàn)收測(cè)試完成標(biāo)準(zhǔn)
?
完全執(zhí)行了驗(yàn)收測(cè)試計(jì)劃中的每個(gè)測(cè)試用例。
在驗(yàn)收測(cè)試中發(fā)現(xiàn)的錯(cuò)誤已經(jīng)得到修改并且通過了測(cè)試或者經(jīng)過評(píng)估留待下一版本中修改。?
完成軟件驗(yàn)收測(cè)試報(bào)告。
?
注意事項(xiàng):
必須編寫正式的、單獨(dú)的驗(yàn)收測(cè)試報(bào)告
驗(yàn)收測(cè)試必須在實(shí)際用戶運(yùn)行環(huán)境中進(jìn)行
由用戶和測(cè)試部門共同執(zhí)行。如公司自開發(fā)產(chǎn)品,應(yīng)由測(cè)試人員,產(chǎn)品設(shè)計(jì)部門,市場(chǎng)部門等共同進(jìn)行。
v?特別說明:
實(shí)際上,以上多種測(cè)試內(nèi)容并不是都要進(jìn)行的,而是在制定測(cè)試策略和測(cè)試計(jì)劃的時(shí)候有不同的側(cè)重點(diǎn),這與測(cè)試目標(biāo)、測(cè)試資源、軟件系統(tǒng)特點(diǎn)和業(yè)務(wù)環(huán)境有關(guān)。
?
?
1.2測(cè)試人員的職責(zé)
1.2.1測(cè)試人力的資源
??測(cè)試團(tuán)隊(duì)
?
l?測(cè)試團(tuán)隊(duì)一般4-5人,還可細(xì)分為測(cè)試組
l?測(cè)試經(jīng)理/測(cè)試組長(zhǎng)
2?制定測(cè)試計(jì)劃和測(cè)試方案
2?分配測(cè)試任務(wù)并檢查測(cè)試進(jìn)度
2?代表測(cè)試團(tuán)隊(duì)與開發(fā)、產(chǎn)品、用戶溝通
2?實(shí)際測(cè)試
l?測(cè)試員
2?設(shè)計(jì)測(cè)試用例
2?執(zhí)行測(cè)試用例并填寫缺陷報(bào)告
2?檢查缺陷處理結(jié)果
?
1.2.2測(cè)試員的效率
2?平均每個(gè)工作日發(fā)現(xiàn)3-5個(gè)Bug
2?平均每修正3個(gè)Bug,會(huì)引進(jìn)1個(gè)新的Bug
2?平均75%的Bug會(huì)在單元測(cè)試階段解決掉
2?平均20%的Bug會(huì)在集成測(cè)試和系統(tǒng)測(cè)試階段解決掉
2?平均5%的Bug會(huì)被交付給用戶
2?普通大型民用軟件平均錯(cuò)誤率5個(gè)/10,000LOC
2?電信/銀行/操作系統(tǒng)等軟件平均錯(cuò)誤率5個(gè)/100,000LOC
?
v?說明:
l?軟件規(guī)模代碼行(LOC,?Line?of?Code)是軟件規(guī)模的一種量度,它表示源代碼行數(shù)。
l?對(duì)于圖片、Flash等非文本文件統(tǒng)計(jì)文件數(shù)量、文件大小;
l?對(duì)于文本文件統(tǒng)計(jì)文件數(shù)量、文本行數(shù)、字符數(shù);
1.2.3測(cè)試和開發(fā)的人員比例
與產(chǎn)品大小、復(fù)雜度、質(zhì)量要求相關(guān)
?
調(diào)查結(jié)果顯示:
測(cè)試人員最貧乏的:20個(gè)開發(fā)人員對(duì)1個(gè)測(cè)試人員?
測(cè)試人員最豐富的:15個(gè)開發(fā)人員對(duì)8個(gè)測(cè)試人員?
也有一個(gè)異常數(shù)據(jù):4個(gè)開發(fā)人員對(duì)0個(gè)測(cè)試人員
平均比率是?4.52個(gè)開發(fā)人員對(duì)1個(gè)測(cè)試人員
最常見的情況是:3個(gè)開發(fā)人員對(duì)1個(gè)測(cè)試人員
其次是:2.5?個(gè)開發(fā)人員對(duì)1個(gè)測(cè)試人員??
多數(shù)是開發(fā)人員與測(cè)試人員比率是3:1?或更低(即2.5:1?或?2:1?)?
通常是1:3,即一個(gè)測(cè)試人員對(duì)3個(gè)開發(fā)人員。不同的公司、不同的團(tuán)隊(duì)這個(gè)比例相差還是很多的。?
?
?比如微軟:微軟公司的測(cè)試人員與開發(fā)人員比例一般為1:1,甚至在Windows?2000開發(fā)團(tuán)隊(duì)中,有1800個(gè)測(cè)試人員,900個(gè)開發(fā)人員,測(cè)試人員與開發(fā)人員比例為2:1。但是微軟的測(cè)試是包含了單元測(cè)試、自動(dòng)化測(cè)試、測(cè)試工具開發(fā)、手工測(cè)試、本地化測(cè)試等多項(xiàng)測(cè)試內(nèi)容。他們的軟件都經(jīng)過了N多道測(cè)試工序的。如果單純指手工測(cè)試的話,比例就低很多了。
?國(guó)內(nèi)的一些小企業(yè),比例可能只有1:10;那是因?yàn)楣具€在起步階段,市場(chǎng)影響力還不大,質(zhì)量要求還不高的情況下。如果質(zhì)量要求提升了,這個(gè)比例就遠(yuǎn)遠(yuǎn)不能達(dá)到要求了。
在Google(谷歌)公司,則測(cè)試人員與開發(fā)人員比例則很低,據(jù)谷歌公司的測(cè)試經(jīng)理介紹,為1:10。
因此測(cè)試與開發(fā)的比例要基于幾個(gè)條件來確定:
·?項(xiàng)目要求的可靠性
·?必須測(cè)試的可配置的范圍
·?軟件的易測(cè)試程度
·?工具的可用性
·?測(cè)試人員和開發(fā)人員的經(jīng)驗(yàn)
·?必須堅(jiān)持的質(zhì)量標(biāo)準(zhǔn)
1.開發(fā)能力基線;開發(fā)能力強(qiáng),產(chǎn)出質(zhì)量好,測(cè)試的效率就高了,所需要投入的測(cè)試人頭就可以少些;即在相同的質(zhì)量標(biāo)準(zhǔn)前提下,測(cè)試與開發(fā)的比例與開發(fā)能力基線成反比。
2.測(cè)試能力基線;測(cè)試人員能力強(qiáng),一個(gè)抵三個(gè),當(dāng)然所需測(cè)試人頭就可以少些了;即在相同的質(zhì)量標(biāo)準(zhǔn)前提下,測(cè)試與開發(fā)的比例與測(cè)試能力基線成反比。
3.公司對(duì)產(chǎn)品的質(zhì)量要求;質(zhì)量要求高,當(dāng)然測(cè)試投入就要多些,質(zhì)量要求低,測(cè)試投入就可以少些;即在開發(fā)測(cè)試能力相同的前提下,測(cè)試與開發(fā)的比例與質(zhì)量要求成正比。
???所以談?wù)摐y(cè)試與開發(fā)的比例都不能離開這幾個(gè)條件:公司對(duì)產(chǎn)品的質(zhì)量要求;開發(fā)人員的能力;測(cè)試人員自身的能力。
1.3軟件文檔的分類
1.4測(cè)試等級(jí)的劃分
1.4.1?Bug嚴(yán)重程度分為四個(gè)級(jí)別
?
級(jí)別一:死機(jī),數(shù)據(jù)丟失,主要功能喪失,系統(tǒng)懸掛
級(jí)別二:主要功能喪失,導(dǎo)致嚴(yán)重的問題,或致命的錯(cuò)誤聲明
級(jí)別三:次要功能喪失,不太嚴(yán)重,如提示信息不太準(zhǔn)確
級(jí)別四:微小的問題,對(duì)功能幾乎沒有影響,產(chǎn)品及屬性還可使用,如有錯(cuò)別字
?
1.4.2優(yōu)先級(jí)別分為四個(gè)級(jí)別:
?
級(jí)別一:必須立即修改
級(jí)別二:一天內(nèi)修改
級(jí)別三:三天內(nèi)修改
級(jí)別四:短期內(nèi)無須解決或在下一版本中解決
說明:驗(yàn)證程度越高,優(yōu)先級(jí)越高,原有錯(cuò)誤優(yōu)先級(jí)高于新版本錯(cuò)誤
同樣的bug重復(fù)修改的次數(shù),是衡量開發(fā)人員工作效率的重要依據(jù)
?
1.4.3缺陷類型定義
本規(guī)范定義以下五類缺陷:
??A類——嚴(yán)重錯(cuò)誤,包括:
1.?由于程序所引起的死機(jī),非法退出
2.?死循環(huán)
3.?導(dǎo)致數(shù)據(jù)庫發(fā)生死鎖
4.?數(shù)據(jù)通訊錯(cuò)誤
5??嚴(yán)重的數(shù)值計(jì)算錯(cuò)誤
??B類——較嚴(yán)重錯(cuò)誤,包括:
1.?功能不符
2.?數(shù)據(jù)流錯(cuò)誤
3.?程序接口錯(cuò)誤
4.?輕微的數(shù)值計(jì)算錯(cuò)誤
??C類——一般性錯(cuò)誤,包括:
1.?界面錯(cuò)誤(詳細(xì)文檔)
2.?打印內(nèi)容、格式錯(cuò)誤
3.?簡(jiǎn)單的輸入限制未放在前臺(tái)進(jìn)行控制
4.?刪除操作未給出提示
??D類——較小錯(cuò)誤,包括:
1.?輔助說明描述不清楚
2.?顯示格式不規(guī)范
3.?長(zhǎng)時(shí)間操作未給用戶進(jìn)度提示
4.?提示窗口文字未采用行業(yè)術(shù)語
5.?可輸入?yún)^(qū)域和只讀區(qū)域沒有明顯的區(qū)分標(biāo)志
6.?系統(tǒng)處理未優(yōu)化
??E類——其它(非缺陷)
1.光標(biāo)跳轉(zhuǎn)設(shè)置不好,鼠標(biāo)定位錯(cuò)誤
2.一些建議性的問題
1.5測(cè)試的標(biāo)準(zhǔn)
1.5.1測(cè)試的標(biāo)準(zhǔn)
??第一種:以缺陷類型做為標(biāo)準(zhǔn)
軟件測(cè)試合格須符合以下標(biāo)準(zhǔn)
以上比例為錯(cuò)誤占總測(cè)試模塊的比例。
軟件產(chǎn)品未經(jīng)測(cè)試合格,不允許投運(yùn)。
v?特別說明:
表格中的A.B.C.D.E類是指缺陷的類型
?
??第二種:以測(cè)試用例作為標(biāo)準(zhǔn)
一般有“基于測(cè)試用例”和“基于缺陷密度”兩種評(píng)比準(zhǔn)則,在這里我們采用前者。
準(zhǔn)則如下:
??功能性測(cè)試用例通過率達(dá)到100%;
??非功能性測(cè)試用例通過率達(dá)到95%;
??沒有高于優(yōu)先級(jí)3以上的問題;
??一般是3-4個(gè)版本后bug數(shù)量減少,達(dá)到出貨的要求
備選通過辦法:
???根據(jù)實(shí)際情況由軟件開發(fā)部門的經(jīng)理、項(xiàng)目經(jīng)理和測(cè)試負(fù)責(zé)人等共同討論確定本階段是否結(jié)束。?
?
??第三種:以測(cè)試用例作為標(biāo)準(zhǔn)
?
測(cè)試停止的標(biāo)準(zhǔn):
(1).各個(gè)模塊或各個(gè)模塊下的各個(gè)功能的測(cè)試用例覆蓋為100%;
(2).測(cè)試用例執(zhí)行覆蓋率為100%,通過測(cè)試的測(cè)試用例所占必需在90%以上;
(3).bug走勢(shì)圖中,系統(tǒng)錯(cuò)誤、功能錯(cuò)誤、數(shù)據(jù)處理錯(cuò)誤在連續(xù)3個(gè)工作日內(nèi)未出現(xiàn)bug,其他錯(cuò)誤在連續(xù)3個(gè)工作日內(nèi)未出現(xiàn)合計(jì)5個(gè)以上(含5個(gè))錯(cuò)誤。此時(shí)可對(duì)軟件停止測(cè)試。
1.5.2驗(yàn)收測(cè)試停止的標(biāo)準(zhǔn)
2?軟件需求分析說明書中定義的所有功能已全部實(shí)現(xiàn),性能指標(biāo)全部達(dá)到要求。
2?在驗(yàn)收測(cè)試中發(fā)現(xiàn)的錯(cuò)誤已經(jīng)得到修改,各級(jí)缺陷修復(fù)率達(dá)到標(biāo)準(zhǔn)
2?需求分析文檔、設(shè)計(jì)文檔和編寫實(shí)現(xiàn)一致
2?驗(yàn)收測(cè)試工件齊全(測(cè)試計(jì)劃、測(cè)試用例、測(cè)試日志、測(cè)試通知單、測(cè)試分析報(bào)告,待驗(yàn)收的軟件安裝程序)
1.5.3測(cè)試的修復(fù)率和覆蓋率標(biāo)準(zhǔn)
??缺陷修復(fù)率標(biāo)準(zhǔn):
2?A.B級(jí)修復(fù)率應(yīng)達(dá)到100%
2?C.D修復(fù)率應(yīng)達(dá)到90%以上
2?E錯(cuò)誤修復(fù)率應(yīng)達(dá)到60%以上
?
??覆蓋率標(biāo)準(zhǔn)
2?語句覆蓋率最低不能小于80%(白盒測(cè)試時(shí)的語句覆蓋率)
2?測(cè)試用例執(zhí)行覆蓋率應(yīng)達(dá)到100%(功能測(cè)試用例均已執(zhí)行)
2?測(cè)試需求執(zhí)行覆蓋率應(yīng)達(dá)到100%(業(yè)務(wù)測(cè)試用例均已執(zhí)行)
第二章?測(cè)試的流程與規(guī)范
2.1測(cè)試-開發(fā)流程
2.1.1開發(fā)流程
2.1.2開發(fā)-測(cè)試流程圖
2.1.3測(cè)試流程圖
2.1.3.1計(jì)劃與設(shè)計(jì)階段
2.1.3.2實(shí)施測(cè)試階段
2.1.3.3測(cè)試總結(jié)
總結(jié)
- 上一篇: FFmpeg在Linux下搭建
- 下一篇: 博奥智源公司,图书馆管理软件开发功能详解