軟件測(cè)試是根據(jù)從用戶(hù)和系統(tǒng)規(guī)范收集的需求對(duì)軟件進(jìn)行評(píng)估。測(cè)試在軟件開(kāi)發(fā)生命周期的階段級(jí)別或程序代碼的模塊級(jí)別進(jìn)行。軟件測(cè)試包括驗(yàn)證和確認(rèn)。
軟件驗(yàn)證
驗(yàn)證是檢查軟件是否滿(mǎn)足用戶(hù)要求的過(guò)程。它在 SDLC 結(jié)束時(shí)執(zhí)行。如果軟件符合它的要求,他就會(huì)被驗(yàn)證。
- 驗(yàn)證確保正在開(kāi)發(fā)的產(chǎn)品是按用戶(hù)的要求。
- 驗(yàn)證回答了這個(gè)問(wèn)題 - “我們是否正在開(kāi)發(fā)能夠從該軟件中滿(mǎn)足用戶(hù)所有需求的產(chǎn)品?"。
- 驗(yàn)證注重用戶(hù)的需求。
軟件確認(rèn)
確認(rèn)是確認(rèn)軟件是否滿(mǎn)足業(yè)務(wù)需求的過(guò)程,并按照正確的規(guī)范和方法進(jìn)行開(kāi)發(fā)。
- 確認(rèn)確保正在開(kāi)發(fā)的產(chǎn)品是符合設(shè)計(jì)規(guī)范。
- 確認(rèn)回答了這個(gè)問(wèn)題 - “我們是否嚴(yán)格遵循所有設(shè)計(jì)規(guī)范來(lái)開(kāi)發(fā)這個(gè)產(chǎn)品?"。
- 確認(rèn)集中在設(shè)計(jì)和系統(tǒng)規(guī)范上。
測(cè)試的目標(biāo)是:
- 錯(cuò)誤:這些是開(kāi)發(fā)人員所犯的實(shí)際編碼錯(cuò)誤。此外,軟件的輸出與期望的輸出存在差異,被視為錯(cuò)誤。
- 故障:當(dāng)錯(cuò)誤存在時(shí)發(fā)生故障。故障,也稱(chēng)為錯(cuò)誤,是可能導(dǎo)致系統(tǒng)故障的報(bào)錯(cuò)結(jié)果。
- 失敗:失敗是指系統(tǒng)無(wú)法執(zhí)行所需的任務(wù)。故障發(fā)生在系統(tǒng)存在故障時(shí)。。
手動(dòng)與自動(dòng)測(cè)試
測(cè)試可以手動(dòng)完成,也可以使用自動(dòng)化測(cè)試工具:
- 手動(dòng)?- 此測(cè)試是在不借助自動(dòng)化測(cè)試工具的情況下執(zhí)行的。軟件測(cè)試人員為代碼的不同部分和級(jí)別準(zhǔn)備測(cè)試用例,執(zhí)行測(cè)試并將結(jié)果報(bào)告給經(jīng)理。
手動(dòng)測(cè)試既費(fèi)時(shí)又費(fèi)資源。測(cè)試人員需要確認(rèn)是否使用了正確的測(cè)試用例。測(cè)試的主要部分設(shè)計(jì)手動(dòng)測(cè)試。
- 自動(dòng)?- 該測(cè)試是借助自動(dòng)化測(cè)試工具完成的測(cè)試過(guò)程。使用自動(dòng)化測(cè)試工具可以克服手動(dòng)測(cè)試的局限性。
測(cè)試需要檢查網(wǎng)頁(yè)是否可以在 Internet Explorer 中打開(kāi)。這可以通過(guò)手動(dòng)測(cè)試輕松完成。但是要檢查網(wǎng)絡(luò)服務(wù)器是否可以承受 100 萬(wàn)用戶(hù)的負(fù)載,手動(dòng)測(cè)試是完全不可能的。
有軟件和硬件工具可以幫助測(cè)試人員進(jìn)行負(fù)載測(cè)試、壓力測(cè)試、回歸測(cè)試。
測(cè)試方法
可以基于兩種方式進(jìn)行測(cè)試:
當(dāng)在不考慮實(shí)際實(shí)現(xiàn)的情況下測(cè)試功能時(shí),它被稱(chēng)為黑盒測(cè)試。另一方面被稱(chēng)為白盒測(cè)試,其中不僅測(cè)試功能,還分析其實(shí)現(xiàn)方式。
詳盡的測(cè)試是完美測(cè)試的最佳方法。測(cè)試輸入和輸出值范圍內(nèi)的每個(gè)可能值。如果值的范圍很大,則不可能在現(xiàn)實(shí)世界場(chǎng)景中測(cè)試每個(gè)值。
黑盒測(cè)試
執(zhí)行它是為了測(cè)試程序的功能,它也被稱(chēng)為“行為”測(cè)試。在這種情況下,測(cè)試儀具有一組輸入值和相應(yīng)的期望結(jié)果。在提供輸入時(shí),如果輸出與期望的結(jié)果匹配,則程序被測(cè)試為“OK”,否則就會(huì)出現(xiàn)問(wèn)題。
在這種測(cè)試方法中,測(cè)試人員不知道代碼的設(shè)計(jì)和結(jié)構(gòu),測(cè)試工程師和最終用戶(hù)對(duì)軟件進(jìn)行這種測(cè)試。
黑盒測(cè)試技術(shù):
- 等價(jià)類(lèi)?- 輸入被分成類(lèi)似的類(lèi)。如果一個(gè)類(lèi)中的一個(gè)元件通過(guò)了測(cè)試,則假定所有類(lèi)都通過(guò)了。
- 邊界值?- 輸入被分為較高端值和較低端值。如果這些值通過(guò)測(cè)試,則假定它們之間的所有值也可以通過(guò)。
- 因果圖?- 在之前的兩種方法中,一次只測(cè)試一個(gè)輸入值。原因(輸入) - 效果(輸出)是一種測(cè)試技術(shù),其中以系統(tǒng)的方式測(cè)試輸入值的組合。
- 成對(duì)測(cè)試?- 軟件的行為取決于多個(gè)參數(shù)。在成對(duì)測(cè)試中,對(duì)多個(gè)參數(shù)的不同值進(jìn)行成對(duì)測(cè)試。
- 基于狀態(tài)的測(cè)試?- 系統(tǒng)在提供輸入時(shí)改變狀態(tài)。這些系統(tǒng)根據(jù)它們的狀態(tài)和輸入進(jìn)行測(cè)試。
白盒測(cè)試
它用于測(cè)試程序及其實(shí)現(xiàn),以提高代碼效率或結(jié)構(gòu)。它也被稱(chēng)為“結(jié)構(gòu)”測(cè)試。
在這種測(cè)試方法中,測(cè)試人員知道代碼的設(shè)計(jì)和結(jié)構(gòu)。代碼的程序員對(duì)代碼進(jìn)行此測(cè)試。
以下是一些白盒測(cè)試技術(shù):
- 控制流測(cè)試?- 控制流測(cè)試的目的建立涵蓋所有語(yǔ)句和分支條件的測(cè)試用例。測(cè)試分支條件的真假,以便覆蓋所有語(yǔ)句。
- 數(shù)據(jù)流測(cè)試?- 這種測(cè)試技術(shù)強(qiáng)調(diào)覆蓋程序中包含的所有程序變量。它測(cè)試變量的聲明和定義位置以及它們被使用或更改的位置。
測(cè)試級(jí)別
測(cè)試本身可以在 SDLC 的各個(gè)級(jí)別進(jìn)行定義。測(cè)試過(guò)程與軟件開(kāi)發(fā)并行運(yùn)行。在進(jìn)入下一階段之前,需要對(duì)一個(gè)階段進(jìn)行測(cè)試、驗(yàn)證和確認(rèn)。
單獨(dú)進(jìn)行測(cè)試只是為了確保軟件中沒(méi)有隱藏的錯(cuò)誤或問(wèn)題。軟件在不同級(jí)別上進(jìn)行測(cè)試:
單元測(cè)試
在編碼時(shí),程序員對(duì)該程序單元執(zhí)行一些測(cè)試以了解它是否沒(méi)有錯(cuò)誤。測(cè)試是在白盒測(cè)試方法下進(jìn)行的。單元測(cè)試幫助開(kāi)發(fā)人員確定程序的各個(gè)單元是否按要求工作并且沒(méi)有錯(cuò)誤。
集成測(cè)試
即使軟件單元單獨(dú)運(yùn)行良好,也需要確定這些單元如果集成在一起是否也能正常工作。例如,參數(shù)傳遞和數(shù)據(jù)更新等。
系統(tǒng)測(cè)試
軟件被編譯為產(chǎn)品,然后作為一個(gè)整體進(jìn)行測(cè)試。這可以使用以下一項(xiàng)或多項(xiàng)測(cè)試來(lái)完成:
- 功能測(cè)試?- 根據(jù)要求測(cè)試軟件的所有功能。
- 性能測(cè)試?- 該測(cè)試證明了該軟件的效率。它測(cè)試軟件完成所需任務(wù)的有效性和平均時(shí)間。性能測(cè)試通過(guò)負(fù)載測(cè)試和壓力測(cè)試來(lái)完成,其中軟件在各種環(huán)境條件下處于高用戶(hù)和數(shù)據(jù)負(fù)載下。
- 安全性和便攜性?- 這些測(cè)試是在軟件要在各種平臺(tái)上運(yùn)行并由多人訪問(wèn)時(shí)完成的。
驗(yàn)收測(cè)試
當(dāng)軟件準(zhǔn)備交給客戶(hù)就必須經(jīng)過(guò)測(cè)試,它是用戶(hù)交互和響應(yīng)測(cè)試的最后階段。這是很重要的,因?yàn)榧词管浖纤杏脩?hù)要求,并且如果用戶(hù)不喜歡它的外觀和工作方式,它也可能被拒絕。
- Alpha測(cè)試?- 開(kāi)發(fā)團(tuán)隊(duì)自己通過(guò)使用系統(tǒng)來(lái)執(zhí)行 alpha 測(cè)試,就好像它是在工作環(huán)境中使用一樣。他們?cè)噲D找出用戶(hù)將如何對(duì)軟件中的某些操作做出反應(yīng)以及系統(tǒng)應(yīng)如何響應(yīng)輸入。
- Beta測(cè)試?- 軟件經(jīng)過(guò)內(nèi)部測(cè)試后,交給用戶(hù)在生產(chǎn)環(huán)境下使用,僅供測(cè)試使用。這還不是交付的產(chǎn)品。開(kāi)發(fā)者期望用戶(hù)在這個(gè)階段會(huì)帶來(lái)細(xì)微的問(wèn)題,這些問(wèn)題被跳過(guò)了。
回歸測(cè)試
每當(dāng)使用新代碼、特性或功能更新軟件產(chǎn)品時(shí),都會(huì)對(duì)其進(jìn)行徹底測(cè)試,以檢測(cè)添加的代碼是否有任何負(fù)面影響。這稱(chēng)為回歸測(cè)試。
測(cè)試文檔
測(cè)試文檔在不同階段準(zhǔn)備:
測(cè)試前
測(cè)試從測(cè)試用例生成開(kāi)始,需要以下文件作為參考:
- SRS文檔?- 功能需求文檔。
- 測(cè)試策略文檔?- 這描述了在發(fā)布產(chǎn)品之前應(yīng)該進(jìn)行多遠(yuǎn)的測(cè)試。
- 測(cè)試戰(zhàn)略文檔?- 這提到了測(cè)試團(tuán)隊(duì)、責(zé)任矩陣以及測(cè)試經(jīng)理和測(cè)試工程師的權(quán)利、責(zé)任的細(xì)節(jié)方面。
- 可追溯矩陣文檔?- 這是 SDLC 文檔,與需求收集過(guò)程相關(guān)。隨著新需求的出現(xiàn),它們被添加到這個(gè)矩陣中。這些矩陣幫助測(cè)試人員了解需求的來(lái)源。它們可以向前和向后追溯。
在接受測(cè)試時(shí)
在開(kāi)始和進(jìn)行測(cè)試時(shí)可能需要以下文檔:
- 測(cè)試案例文檔?- 本文檔包含需要進(jìn)行的測(cè)試列表。它包括單元測(cè)試計(jì)劃、集成測(cè)試計(jì)劃、系統(tǒng)測(cè)試計(jì)劃和驗(yàn)收測(cè)試計(jì)劃。
- 測(cè)試說(shuō)明?- 本文檔詳細(xì)描述了所有測(cè)試用例和執(zhí)行它們的過(guò)程。
- 測(cè)試案例報(bào)告?- 本文檔包含作為測(cè)試結(jié)果的測(cè)試用例報(bào)告。
- 測(cè)試日志?- 本文檔包含每個(gè)測(cè)試用例報(bào)告的測(cè)試日志。
測(cè)試后
測(cè)試后可能會(huì)生成以下文件:
- 測(cè)試總結(jié)?- 此測(cè)試總結(jié)是對(duì)所有測(cè)試報(bào)告和日志的集體分析。它總結(jié)并推斷了軟件是否準(zhǔn)備好啟動(dòng)。如果準(zhǔn)備好啟動(dòng),該軟件將在版本控制系統(tǒng)下發(fā)布。
測(cè)試與質(zhì)量控制,質(zhì)量保證和審計(jì)
我們需要了解軟件測(cè)試不同于軟件質(zhì)量保證、軟件質(zhì)量控制和軟件審計(jì)。
- 軟件質(zhì)量保證?- 這些是軟件開(kāi)發(fā)過(guò)程監(jiān)控手段,通過(guò)它可以確保所有措施都按照組織標(biāo)準(zhǔn)采取。進(jìn)行這種監(jiān)視是為了確保遵循正確的軟件開(kāi)發(fā)方法。
- 軟件質(zhì)量控制?- 這是一個(gè)維護(hù)軟件產(chǎn)品質(zhì)量的系統(tǒng)。它可能包括軟件產(chǎn)品的功能性和非功能性方面,從而增強(qiáng)組織的商譽(yù)。該系統(tǒng)確??蛻?hù)收到符合其要求的優(yōu)質(zhì)產(chǎn)品,并且產(chǎn)品被認(rèn)證為“適合使用”。
- 軟件審計(jì)?- 這是對(duì)組織用于開(kāi)發(fā)軟件的程序的審計(jì)。獨(dú)立于開(kāi)發(fā)團(tuán)隊(duì)的審計(jì)員團(tuán)隊(duì)檢查 SDLC 的軟件過(guò)程、程序、要求和其他方面。軟件審計(jì)的目的是檢查軟件及其開(kāi)發(fā)過(guò)程是否符合標(biāo)準(zhǔn)、規(guī)則和規(guī)定。
更多建議: