軟件測試基礎(chǔ)

????????對青春最好的致敬就是成為最好的自己,成為最好的自己的前提就是不斷的學習!

????????下面是有關(guān)軟件測試技術(shù)相關(guān)知識:

1.軟件測試定義

????????冒煙測試:測試軟件版本中的主要功能是否能實現(xiàn)。

????????回歸測試:衰竭性測試,為了確保修改或增加的功能對原有功能沒有影響。

????????白盒測試:通過分析組件或系統(tǒng)的內(nèi)部結(jié)構(gòu)來進行測試,白盒測試用例分析方法主要包括語句覆蓋,條件覆蓋,分支覆蓋,條件/分支覆蓋,路徑覆蓋等;

????????黑盒測試:基于系統(tǒng)功能或規(guī)格說明書來設(shè)計或選擇設(shè)計用例的測試技術(shù),不涉及軟件內(nèi)部結(jié)構(gòu)。黑盒測試也可以基于代碼來實現(xiàn),函數(shù)級別黑盒測試。

????????單元測試:對單個軟件組件進行的測試。一般采用軟件測試驅(qū)動與樁的技術(shù)。

????????集成測試:暴露接口或者組件/系統(tǒng)間交互時存在缺陷的軟件測試方法,包括自上而下測試法,自下而上測試法,自上而下和自下而上混合(三明治)測試法。

????????系統(tǒng)測試:采用各種方法驗證軟件是否滿足產(chǎn)品顯性或者隱性需求。

????????驗收測試:由客戶/用戶或者是運維人員進行確認是否可以接受一個系統(tǒng)的驗證性軟件測試,包括Alpha測試和Beta測試。

????????Alpha測試:由客戶或者軟件測試團隊在開發(fā)環(huán)境或者實際操作環(huán)境下進行的測試,是對現(xiàn)貨軟件進行內(nèi)部測試的一種方式;

????????Beta測試:在沒有開發(fā)工程師的參與下的軟件測試,對現(xiàn)貨軟件進行外部驗收測試。

????????靜態(tài)測試:對組件或系統(tǒng)進行規(guī)格或?qū)崿F(xiàn)級別的測試,但不執(zhí)行這個軟件。

????????動態(tài)測試:通過運行軟件的組件或系統(tǒng)來測試軟件。

2.軟件工程模型

????????瀑布模型:計劃→需求分析→設(shè)計→編碼→測試→運行維護。缺點:需求在時刻變化,但模型不可以反復;只有在編碼結(jié)束階段,軟件測試工程師才可介入進行軟件測試,但在項目初期很難提出明確的項目需求。

????????迭代模型和螺旋模型:從最開始的分析、設(shè)計、編碼、測試,然后進行下一輪迭代。主要有RUP模型、快速開發(fā)模型、敏捷開發(fā)等。

3.軟件測試模型

????????V模型:單元測試→編碼、集成測試→詳細設(shè)計、系統(tǒng)測試→概要設(shè)計、驗收測試→需求。

????????W模型:主要提倡軟件前置測試,及軟件測試需貫穿軟件測試的始終。

????????X模型:將軟件系統(tǒng)分為若干模塊,對每個模塊進行單元、集成、以及系統(tǒng)測試,然后再統(tǒng)一對模塊進行集成測試。

4.軟件測試步驟

????????測試計劃→測試分析→測試設(shè)計→測試實施→測試執(zhí)行→評估出口準則和報告→測試結(jié)束

5.軟件缺陷管理

????????缺陷嚴重等級:blocker(阻礙的)、critical(緊急的)、major(重大的)、normal(普通的)、minor(較小的)、trivial(外觀的)、enhancement(改進的)。

????????缺陷修改優(yōu)先級:P5,P4,P3,P2,P1。

6.測試用例

????????測試用例格式

????????編號“固定的開始字符”+“模塊名”+“3位0~9的數(shù)字”

????????前置條件完成此項測試需要達到的前提條件

????????說明測試項目的描述

7.軟件測試類型

????????功能測試:核實數(shù)據(jù)接收、處理、檢索是否正確。

????????易用性測試:用戶體驗性測試,在指定條件下使用時,軟件產(chǎn)品被理解、學習、使用和吸引用戶的能力。

????????可靠性測試:對軟件成熟度在時間上的統(tǒng)計度量指標進行監(jiān)控并與既定目標比較??煽啃缘娜齻€指標:平均失效時間間隔(MTBF)=平均修復時間(MTTR)+平均失效前時間(MTTF),可靠性指標= MTTR/ MTBF。

????????性能測試包括:基本性能測試,正常情況下軟件的響應(yīng)速度;負載測試(LOAD測試),通過增加負載來評估組件或系統(tǒng)性能;壓力測試:評估系統(tǒng)處于一定的負載下,運行一段時間后,觀察系統(tǒng)各項指標是否正常。

????????安全性測試:功能安全性;信息安全性(與用戶接口相關(guān)、與文件系統(tǒng)相關(guān)、與操作系統(tǒng)相關(guān)、與外部軟件相關(guān)),軟件產(chǎn)品保護信息和數(shù)據(jù)的能力。[黑客侵入、XSS注入、SQL注入]

????????相容性測試:兼容性測試,軟件產(chǎn)品或應(yīng)用程序在各種指定的目標環(huán)境下是否可以正常工作。主要包括硬件、軟件、中間件、操作系統(tǒng)、其他。

????????可移植性測試:第一次建立或者從現(xiàn)有環(huán)境移植到另一個環(huán)境。包括可安裝性測試、適應(yīng)性測試、可替換性測試。

????????可維護性測試:軟件產(chǎn)品可被修改的能力,包括糾正、改進或者軟件對環(huán)境、需求和規(guī)格說明變化的使用能力。

????????數(shù)據(jù)和數(shù)據(jù)庫完整性測試:數(shù)據(jù)或者數(shù)據(jù)庫進行應(yīng)該作為一個完整的子系統(tǒng)進行測試。

????????本地化測試:為各個地方開發(fā)軟件產(chǎn)品的測試。

????????文字測試:測試文字是否拼寫正確、是否易懂、不存在二義性、沒有語法錯誤;文字與內(nèi)容是否有出入等。

????????發(fā)布測試:產(chǎn)品在發(fā)布前對一些附帶產(chǎn)品,如說明書、廣告稿等進行測試。

8.軟件測試曲線與軟件的殺蟲劑現(xiàn)象

? ? ? ? 要避免軟件測試不夠或者軟件測試過度。為避免殺蟲劑現(xiàn)象,每次應(yīng)該輪流測試,最好安排不同的工程師進行不同模塊的測試。

9.軟件測試的七項基本原則

????????軟件測試顯示存在缺陷,但不能證明軟件不存在缺陷。

????????Good enough原則,測試既不要不充分也不要過分。

????????軟件測試盡早介入。

????????缺陷集群性,即80%的缺陷發(fā)生在20%的模塊中。

????????殺蟲劑悖論,為克服劑悖論,測試用例需定時評審與修改,需不斷增加新的不同的測試用例。

????????軟件測試活動依賴于軟件測試背景。

????????不存在缺陷(有用系統(tǒng))的謬論,假如系統(tǒng)無法使用或者不滿足客戶需求,發(fā)現(xiàn)和修改缺陷沒有意義。

10.驗證與確認的區(qū)別

????????驗證:通過檢查和提供客觀證據(jù),來證實指定的需求是否已經(jīng)滿足。

????????確認:通過檢查和提供客觀證據(jù),來證實特地的目的功能或應(yīng)用已經(jīng)實現(xiàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容