软件测试学习(三)
軟件測(cè)試流程
- 軟件需求分析
- 軟件測(cè)試計(jì)劃制定
- 軟件測(cè)試用例設(shè)計(jì)
- 軟件測(cè)試環(huán)境搭建
- 測(cè)試數(shù)據(jù)準(zhǔn)備
- 測(cè)試執(zhí)行及缺陷處理
- 測(cè)試總結(jié)和報(bào)告
- 測(cè)試文件歸檔
- 軟件測(cè)試的原則
軟件需求分析
軟件需求分析是軟件測(cè)試流程中的基礎(chǔ)一環(huán),用來(lái)明確軟件測(cè)試對(duì)象以及測(cè)試范圍,并作為測(cè)試覆蓋的基礎(chǔ)。其目的是確保所有風(fēng)險(xiǎn)承擔(dān)者盡早地對(duì)項(xiàng)目功能達(dá)成共識(shí)并對(duì)將來(lái)的產(chǎn)品有個(gè)相同而清晰的認(rèn)識(shí)。
| 主要負(fù)責(zé)人 | PM(項(xiàng)目經(jīng)理/產(chǎn)品經(jīng)理) |
| 測(cè)試人員 | 參與需求評(píng)審,提供評(píng)審意見(jiàn),明確產(chǎn)品需求 |
| 輸入文檔 | 需求說(shuō)明文檔 |
| 輸出文檔 | 《需求規(guī)格說(shuō)明書(shū)》 |
軟件測(cè)試計(jì)劃制定
軟件測(cè)試計(jì)劃是指導(dǎo)測(cè)試過(guò)程的綱領(lǐng)性文件,包含了產(chǎn)品概述、測(cè)試策略、測(cè)試方法、測(cè)試范圍、測(cè)試配置、測(cè)試進(jìn)度、測(cè)試資源、風(fēng)險(xiǎn)分析等內(nèi)容。借助軟件測(cè)試計(jì)劃,參與測(cè)試的項(xiàng)目成員,尤其是軟件測(cè)試管理人員,可以明確測(cè)試任務(wù)和測(cè)試方法,保持測(cè)試實(shí)施過(guò)程的順暢溝通,跟蹤和控制軟件測(cè)試進(jìn)度,應(yīng)對(duì)軟件測(cè)試過(guò)程中的各種變更。
| 主要負(fù)責(zé)人 | 測(cè)試經(jīng)理(制定總體測(cè)試計(jì)劃) |
| 測(cè)試人員 | 制定部分測(cè)試計(jì)劃內(nèi)容匯報(bào)給測(cè)試經(jīng)理 |
| 輸入文檔 | 《需求規(guī)格說(shuō)明書(shū)》《項(xiàng)目開(kāi)發(fā)計(jì)劃》 |
| 輸出文檔 | 《軟件測(cè)試計(jì)劃》 |
軟件測(cè)試用例設(shè)計(jì)
軟件測(cè)試用例是指導(dǎo)軟件測(cè)試工作的一種文檔,它是通過(guò)使用在軟件測(cè)試計(jì)劃中確定的測(cè)試技術(shù),對(duì)于已確定的軟件測(cè)試需求進(jìn)行逐步推敲而設(shè)計(jì)出來(lái)的。
軟件測(cè)試用例設(shè)計(jì)完成,要進(jìn)行綜合評(píng)審,通過(guò)評(píng)審可以彌補(bǔ)軟件需求中遺漏的一些因果關(guān)系和異常案例,可以改善測(cè)試分析和設(shè)計(jì)的過(guò)程。類似地,軟件測(cè)試工作的其它產(chǎn)出文檔,如軟件測(cè)試計(jì)劃、軟件風(fēng)險(xiǎn)分析應(yīng)該進(jìn)行評(píng)審。
| 主要負(fù)責(zé)人 | 測(cè)試人員全體 |
| 測(cè)試人員 | 使用用例設(shè)計(jì)方法來(lái)設(shè)計(jì)測(cè)試用例并進(jìn)行評(píng)審 |
| 輸入文檔 | 《需求規(guī)格說(shuō)明書(shū)》《軟件測(cè)試計(jì)劃》《軟件設(shè)計(jì)文檔》 |
| 輸出文檔 | 《軟件測(cè)試用例》 |
軟件測(cè)試環(huán)境搭建
要順利執(zhí)行測(cè)試,首先要確定正確地搭建了軟件測(cè)試環(huán)境。軟件測(cè)試環(huán)境是指為了完成軟件測(cè)試工作所必須的計(jì)算機(jī)硬件、軟件、網(wǎng)絡(luò)設(shè)備、歷史數(shù)據(jù)的總稱。測(cè)試環(huán)境的搭建是一項(xiàng)非常重要的工作,同時(shí)也可能是一項(xiàng)很耗時(shí)的工作。有些軟件的測(cè)試環(huán)境要求比較復(fù)雜,需要在測(cè)試執(zhí)行之前做好充分的準(zhǔn)備。
在大數(shù)據(jù)系統(tǒng)的測(cè)試過(guò)程中,測(cè)試環(huán)境和數(shù)據(jù)的準(zhǔn)備是測(cè)試過(guò)程中的重點(diǎn)。
大數(shù)據(jù)系統(tǒng)由于其自身的特點(diǎn)(數(shù)據(jù)規(guī)模大、數(shù)據(jù)多樣、計(jì)算復(fù)雜度高、分布式結(jié)構(gòu)等)使得對(duì)它的測(cè)試與傳統(tǒng)軟件測(cè)試有所不同,包括需要使用大數(shù)據(jù)測(cè)試工具、測(cè)試環(huán)境和數(shù)據(jù)的準(zhǔn)備等,對(duì)測(cè)試人員提出了更高的專業(yè)要求。
大數(shù)據(jù)系統(tǒng)通常是分布式架構(gòu),測(cè)試環(huán)境復(fù)雜。接下來(lái)我們重點(diǎn)講述大數(shù)據(jù)測(cè)試環(huán)境搭建時(shí)需要考慮的問(wèn)題。搭建大數(shù)據(jù)測(cè)試,需要我們考慮以下幾點(diǎn):
而根據(jù)對(duì)大數(shù)據(jù)所測(cè)場(chǎng)景不同,所需要的測(cè)試環(huán)境也有所不同,但測(cè)試環(huán)境的軟硬件配置、軟件模塊的版本應(yīng)與生產(chǎn)環(huán)境一致。
測(cè)試數(shù)據(jù)準(zhǔn)備
目前很多互聯(lián)網(wǎng)軟件應(yīng)用,后臺(tái)都會(huì)有數(shù)據(jù)庫(kù)做支撐,那就需要在測(cè)試的時(shí)候準(zhǔn)備相應(yīng)的測(cè)試數(shù)據(jù),準(zhǔn)備測(cè)試數(shù)據(jù)是軟件測(cè)試工作的一項(xiàng)必備工作。如何快速地創(chuàng)建測(cè)試數(shù)據(jù),也是測(cè)試工程師的重要能力之一。
創(chuàng)建測(cè)試數(shù)據(jù)的過(guò)程,往往需要很長(zhǎng)的時(shí)間,傳統(tǒng)的創(chuàng)建測(cè)試數(shù)據(jù)的方法分為手動(dòng)創(chuàng)建和自動(dòng)化創(chuàng)建兩種方法。
手動(dòng)創(chuàng)建測(cè)試數(shù)據(jù)一般有如下幾種方法:
- 手動(dòng)模擬用戶的實(shí)際操作來(lái)創(chuàng)建重要業(yè)務(wù)流程的測(cè)試數(shù)據(jù);
- 通過(guò)SQL語(yǔ)句中where查詢條件和update方法來(lái)創(chuàng)建符合條件的測(cè)試數(shù)據(jù);
- 導(dǎo)入本地機(jī)器上存儲(chǔ)的一些符合條件的測(cè)試數(shù)據(jù);
- 導(dǎo)入并加工線上數(shù)據(jù)變成測(cè)試數(shù)據(jù)。
使用自建腳本也可以生成測(cè)試數(shù)據(jù),比如腳本語(yǔ)言Ruby或Python,Fit或FitNesse等工具以及Shell腳本等。
獲取自有數(shù)據(jù)當(dāng)然更好,因?yàn)閿?shù)據(jù)準(zhǔn)確、實(shí)時(shí)、高效。根據(jù)使用場(chǎng)景的不同,測(cè)試數(shù)據(jù)可以直接使用真實(shí)數(shù)據(jù),也可以按照某種算法構(gòu)造。
拿到數(shù)據(jù)之后,我們要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。數(shù)據(jù)預(yù)處理是一種數(shù)據(jù)挖掘技術(shù),本質(zhì)就是為了把原始數(shù)據(jù)轉(zhuǎn)換為可以理解的格式或者符合我們挖掘的格式。為什么要進(jìn)行預(yù)處理呢?因?yàn)橹苯荧@取的數(shù)據(jù)通常質(zhì)量比較低,主要表現(xiàn)為這些現(xiàn)象:
數(shù)據(jù)預(yù)處理就是解決上面所提到的數(shù)據(jù)問(wèn)題的可靠方法。首先要進(jìn)行數(shù)據(jù)清洗,數(shù)據(jù)清洗完成之后接著進(jìn)行或者同時(shí)進(jìn)行數(shù)據(jù)集成、轉(zhuǎn)換、歸一化等一系列處理,這個(gè)過(guò)程就是數(shù)據(jù)預(yù)處理。一方面是提高數(shù)據(jù)的質(zhì)量,另一方面可以讓數(shù)據(jù)更好的適應(yīng)特定的項(xiàng)目環(huán)境。初學(xué)者可以了解以下幾種數(shù)據(jù)預(yù)處理的方法:
測(cè)試執(zhí)行及缺陷處理
提交了測(cè)試對(duì)象并且測(cè)試對(duì)象滿足了測(cè)試執(zhí)行的進(jìn)入準(zhǔn)則后(測(cè)試的進(jìn)入準(zhǔn)則會(huì)在第3章軟件測(cè)試計(jì)劃中詳細(xì)講述,就是滿足了一定的條件,才能開(kāi)始執(zhí)行測(cè)試),可以開(kāi)始測(cè)試執(zhí)行。
測(cè)試的執(zhí)行只能有2種結(jié)果:Pass或者Fail。測(cè)試不通過(guò)的話,測(cè)試人員就應(yīng)該把發(fā)現(xiàn)的問(wèn)題及時(shí)記錄下來(lái),報(bào)告給開(kāi)發(fā)人員做出相應(yīng)的修改。缺陷記錄是測(cè)試人員工作的具體表現(xiàn)形式,是測(cè)試人員與開(kāi)發(fā)人員溝通的基礎(chǔ)。因此,如何錄入一個(gè)高質(zhì)量的缺陷報(bào)告,是每個(gè)測(cè)試人員都要重視的問(wèn)題。
| 主要負(fù)責(zé)人 | 測(cè)試經(jīng)理(跟蹤實(shí)際測(cè)試情況,處理疑難問(wèn)題) |
| 測(cè)試人員 | 執(zhí)行實(shí)際測(cè)試用例,提交缺陷,回歸缺陷 |
| 輸入文檔 | 《需求規(guī)格說(shuō)明書(shū)》《軟件測(cè)試計(jì)劃》《軟件設(shè)計(jì)文檔》《測(cè)試用例文檔》《測(cè)試數(shù)據(jù)》 |
| 輸出文檔 | 《軟件缺陷報(bào)告文檔》 |
測(cè)試總結(jié)和報(bào)告
軟件測(cè)試進(jìn)行到一定程度就要進(jìn)行測(cè)試評(píng)估了。測(cè)試評(píng)估可以在軟件測(cè)試過(guò)程中階段性進(jìn)行,也可以是測(cè)試整體結(jié)束后進(jìn)行。通過(guò)測(cè)試評(píng)估生成的測(cè)試總結(jié)報(bào)告(又叫測(cè)試評(píng)估報(bào)告)來(lái)確定測(cè)試是否達(dá)到了出口準(zhǔn)則。
| 主要負(fù)責(zé)人 | 測(cè)試經(jīng)理(編寫(xiě)測(cè)試總結(jié)報(bào)告) |
| 測(cè)試人員 | 提供自己負(fù)責(zé)部分的測(cè)試情況總結(jié) |
| 輸入文檔 | 《需求規(guī)格說(shuō)明書(shū)》《軟件測(cè)試計(jì)劃》《軟件設(shè)計(jì)文檔》《測(cè)試用例文檔》《測(cè)試數(shù)據(jù)》《軟件缺陷報(bào)告文檔》 |
| 輸出文檔 | 《軟件測(cè)試總結(jié)報(bào)告》 |
測(cè)試文件歸檔
軟件測(cè)試到此是否就結(jié)束了呢?還有最后一個(gè)環(huán)節(jié),那就是測(cè)試文件的歸檔。測(cè)試文件歸檔是在測(cè)試驗(yàn)收結(jié)束,宣布測(cè)試有效及結(jié)束測(cè)試后,對(duì)整個(gè)過(guò)程中涉及到的各種標(biāo)準(zhǔn)文檔進(jìn)行歸檔、存檔。可以使用文檔管理工具來(lái)完成此項(xiàng)工作。如Ftp、SVN、Git、VSS、Wiki等。
軟件測(cè)試的過(guò)程,其實(shí)是一個(gè)完整的PDCA循環(huán)。測(cè)試不應(yīng)該在執(zhí)行完軟件測(cè)試后就戛然而止,應(yīng)該使用這次測(cè)試總結(jié)出來(lái)的經(jīng)驗(yàn)和教訓(xùn)指導(dǎo)下一次測(cè)試的設(shè)計(jì)和執(zhí)行。軟件測(cè)試中到處都體現(xiàn)著PDCA循環(huán)的精神。
軟件測(cè)試的原則
所有的測(cè)試最終都應(yīng)該以用戶需求為依據(jù)
應(yīng)盡早開(kāi)展軟件測(cè)試工作
軟件測(cè)試中的Pareto法則
程序員應(yīng)該盡量避免測(cè)試自己編寫(xiě)的程序
窮盡測(cè)試是不可能的
軟件測(cè)試是有風(fēng)險(xiǎn)的
Good-Enough原則
程序中存在軟件缺陷的可能性與該部分已經(jīng)發(fā)現(xiàn)的缺陷成正比
軟件測(cè)試經(jīng)常會(huì)有免疫現(xiàn)象發(fā)生
無(wú)法通過(guò)軟件測(cè)試發(fā)現(xiàn)所有的軟件缺陷
并非所有的軟件缺陷都會(huì)修復(fù)
前進(jìn)兩步,后退一步(這是指修復(fù)軟件缺陷,總會(huì)以20%~50%的幾率引入新的缺陷,所以整個(gè)過(guò)程是前進(jìn)兩步,后退一步的。通過(guò)合理的回歸測(cè)試可以有效的解決部分這種問(wèn)題.)
總結(jié)
- 上一篇: docker安装openldap
- 下一篇: mondrian 源码研究之 缓存