17792550360
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號
軟件測試行業(yè)入門門檻低、壓力比開發(fā)行業(yè)小,是很多想要轉(zhuǎn)入IT行業(yè)小白的首選。那么軟件測試的工作流程是什么呢? 首先作為測試人員應(yīng)該學(xué)習(xí)并了解業(yè)務(wù)流程,分析需求點 為啥要參加需求評審會議啦,這也就是這 ...
軟件測試行業(yè)入門門檻低、壓力比開發(fā)行業(yè)小,是很多想要轉(zhuǎn)入IT行業(yè)小白的首選。那么軟件測試的工作流程是什么呢? 首先作為測試人員應(yīng)該學(xué)習(xí)并了解業(yè)務(wù)流程,分析需求點 為啥要參加需求評審會議啦,這也就是這也就是進行分析需求的目的是什么? (一),把用戶需求轉(zhuǎn)換為功能需求(1)對測試范圍進行度量(2)對處理分支進行度量(3)對需求的業(yè)務(wù)場景進行度量(4)明確對應(yīng)功能的輸入,處理和輸出(5)把隱形需求轉(zhuǎn)換明確。 (二),明確測試活動的五個元素,測試需求是什么,怎么測試,明確測試時間,確定測試人員,確定測試環(huán)境- 測試中需要什么技能,工具和相應(yīng)的背景知識。測試工程中遇到的風(fēng)險等等。 測試需求盡可能的做到詳細(xì),明確,已避免測試過程中出現(xiàn)的遺漏。 (三)怎么進行測試需求分析 ?。?,)確認(rèn)功能(業(yè)務(wù)功能,輔助功能,數(shù)據(jù)約束,易用性需求,編輯約束,參數(shù)需求,權(quán)限需求,性能需求) 1,業(yè)務(wù)功能:與實際業(yè)務(wù)直接相關(guān)的功能和細(xì)節(jié) 2,輔助功能:輔助完成業(yè)務(wù)功能的一些功能或者細(xì)節(jié),如設(shè)置過濾條件 3,數(shù)據(jù)約束:功能的細(xì)節(jié),主要是用于控制在執(zhí)行功能時,數(shù)據(jù)的顯示范圍和數(shù)據(jù)之間的關(guān)系等 4,易用性需求:功能的細(xì)節(jié)產(chǎn)品必須提供,便于功能操作中的使用的一些細(xì)節(jié),例如快捷鍵等。 5,編輯約束:功能執(zhí)行時對某些輸入項做出限制,比如智能輸入數(shù)字。 6,參數(shù)需求:功能執(zhí)行時需求對不同的參數(shù)做出不同的處理或限制 7,權(quán)限需求:功能執(zhí)行時工具權(quán)限的不同做出不同的處理 8,性能需求:在滿足功能的同時必須滿足性能的需求。 第二:場景分析 1、考慮場景的調(diào)用者:考慮每一個場景提供的服務(wù)是供哪些外部模塊或者系統(tǒng)調(diào)用的,找出所有調(diào)用者。調(diào)用前提,約束都要考慮。每一個調(diào)用都可以考慮成一個大的業(yè)務(wù)流程(一般和外部有交互的業(yè)務(wù)出錯率比較大,需要重點關(guān)注) 2考慮系統(tǒng)內(nèi)部各個場景之間的:形成內(nèi)部業(yè)務(wù)流程,需要分析每個場景之間的約束關(guān)系,執(zhí)行條件,組織出各種業(yè)務(wù)流程圖 第三、挖掘隱性需求 這需要測試工程師的經(jīng)驗積累:1)常用的或者規(guī)定的業(yè)務(wù)流程? ?2)各個業(yè)務(wù)流程分支的遍歷? ?3)明確規(guī)定不可使用的業(yè)務(wù)流程? ?4)沒有明確規(guī)定但是應(yīng)該不可使用的業(yè)務(wù)流程? ?5)其他異?;蛘卟环弦?guī)定的操作 以上是粗略的講解了如何進行測試需求分析,詳細(xì)的測試需求方法可以參考《軟件測試需求分析方法》這篇博客。在需求分析過程中編寫整個測試計劃,在這個過程中需要參考需求規(guī)格說明書,這個階段一般情況下是測試主管編寫的。包括測試人員,測試時間,測試工具,以及測試方法等。這是在測試需求分析中的產(chǎn)物《測試計劃》,如何編寫測試計劃,請參考以下文章《如何編寫一個好的測試計劃》。 接下來就是測試用例設(shè)計: 測試用例是測試工作的最核心的模塊,在執(zhí)行任何測試之前,首先必須完成測試用例的編寫。測試用例是指導(dǎo)你執(zhí)行測試,幫助證明軟件功能或發(fā)現(xiàn)軟件缺陷的一種說明。用例設(shè)計好后進行審核。這個地方該講的東西就多了,如何設(shè)計測試用例,設(shè)計測試用的方法,怎么進行測試用例的審核等等。 第一、如何進行測試用例的設(shè)計 編寫測試用例之前我們需要對項目的需求有清晰的了解,對要測試什么,按照什么順序測試,覆蓋哪些需求做到心中有數(shù),作為測試用例的編寫者不僅了解要有常見的測試用例編寫方法,同時需要了解被測軟件的設(shè)計、功能規(guī)格說明、用戶試用場景以及程序/模塊的結(jié)構(gòu)。 步驟: 1、測試需求分析:從項目部拿到軟件的需求規(guī)格說明書后,開始對項目的需求進行分析,通過自己的分析、理解,整理成為測試需求, 清楚分析出被測試對象具有哪些功能。 明確測試用例中的測試集用例與需求的關(guān)系,即一個或多個測試用例集對應(yīng)一個測試需求。 2、業(yè)務(wù)流程分析:分析完需求后,明確每一個功能的業(yè)務(wù)處理流程,不同的功能點作業(yè)務(wù)的組合,以及項目的隱式需求。如遇復(fù)雜的測試用例設(shè)計前,先畫出軟件的業(yè)務(wù)流程。從業(yè)務(wù)流程上,應(yīng)得到以下信息: A、 主流程是什么? B、 條件備選流程是什么? C、 數(shù)據(jù)流向是什么? D、 關(guān)鍵的判斷條件是什么? 3、測試用例設(shè)計 完成以上兩步則可進行測試用例設(shè)計,功能測試用例,應(yīng)盡量考慮邊界、異常、性能的情況,以便發(fā)現(xiàn)更多的隱藏問題。設(shè)計測試用例的常見方法:1)等價類2)邊界值 3)因果圖 4) 判定表 5) 狀態(tài)遷移 6) 正交實驗7) 場景法 8) 錯誤推斷(注意:編寫測試用例時,我們盡可能取的不應(yīng)該是有效等價類而應(yīng)該是無效等價類) 4.編寫完成后自我檢查以及部門內(nèi)部評審: 1)測試用例本身的描述是否清晰,語言準(zhǔn)確;是否存在二義性; 2)測試用例內(nèi)容是否完整,是否清晰的包含輸入和預(yù)期輸出的結(jié)果;測試步驟是否清晰; 3)測試用例中使用的測試數(shù)據(jù)是否恰當(dāng),準(zhǔn)確; 4)測試用例是否具有指導(dǎo)性,是否能靈活的指導(dǎo)軟件測試工程師通過測試用例發(fā)現(xiàn)更多的缺陷,而不是限制他們的思維; 5)是否考慮到測試用例執(zhí)行的效率。對于不斷重復(fù)執(zhí)行的步驟,是否保證了驗證點相同;或者測試用例的設(shè)計是否存在冗余性等。這些都可能導(dǎo)致測試用例執(zhí)行效率低下; 6)畫出軟件需求跟蹤矩陣,驗證測試用例是否完全覆蓋了需求,驗證測試用例的覆蓋性; 7)測試用例是否完全遵守了軟件需求的規(guī)定。這一點其實有一些難做到??紤]到時間/成本的關(guān)系,應(yīng)該視具體情況而定。 5.測試用例更新完善 測試用例編寫完成之后需要不斷完善,如遇需求更改或功能新增時,測試用例必須配套修改更新,同時在測試過程中發(fā)現(xiàn)設(shè)計測試用例時考慮不周,需要對測試用例進行修改完善;在軟件交付使用后客戶反饋的軟件缺陷,而缺陷又是因測試用例存在漏洞造成,也需要對測試用例進行完善。 緊接著就是在測試過程中占很大一部分比重得測試用例執(zhí)行過程 首先搭建測試環(huán)境,準(zhǔn)備好測試數(shù)據(jù),進行預(yù)測,預(yù)測通過之后,按照測試用例進入正式測試,有效的測試執(zhí)行可以將測試用例發(fā)揮最大的價值。因此,測試用例規(guī)范執(zhí)行有助于更好的發(fā)現(xiàn)代碼中存在的缺陷。根據(jù)個人測試工作經(jīng)驗,好的測試執(zhí)行應(yīng)該包含如下內(nèi)容: 1、測試執(zhí)行中評估測試執(zhí)行時間不足,需及時上報風(fēng)險。滿足質(zhì)量優(yōu)先,進度其次原則。 2、測試用例按優(yōu)先級順序執(zhí)行,通常是基本、詳細(xì)和異常順序執(zhí)行。 3、未執(zhí)行用例、標(biāo)志為刪除或者無效的用例,需注明原因。 4、執(zhí)行過程中有疑問的測試用例(場景、操作步驟、檢查點等)需找測試設(shè)計人員澄清。 5、測試執(zhí)行需對用例描述的檢查點逐一檢查,避免遺漏。 6、重視不易重現(xiàn)的缺陷場景,可能是一個bug。 7、執(zhí)行過程中發(fā)現(xiàn)有前期設(shè)計遺漏用例需補充到用例文檔并執(zhí)行驗證。 8、建議測試人員交叉執(zhí)行重復(fù)測試用例,用例執(zhí)行對相同測試人員有免疫性。避免可能的缺陷一直遺漏到現(xiàn)網(wǎng)。 9、如有需要,建議保留測試結(jié)果,結(jié)果可視。也便于不同版本間的測試結(jié)果對比。 10、已確認(rèn)問題需及時按照問題單提單要求(規(guī)范和缺陷定級)提單。 11、跟蹤問題單修復(fù)情況并回歸驗證問題單。 12、每輪次測試結(jié)束,find一下是否有core文件產(chǎn)生。 13、測試結(jié)束,將最終測試用例文檔上傳到歸檔目錄,實現(xiàn)用例重用。 以上是爭對一般的軟件測試流程,如果是自動化測試得話,應(yīng)該還有根據(jù)測試用例進行腳本編寫,運行腳本等。此處可能寫的不詳細(xì),希望大家可以再下方評論讓我完善。 在測試用例執(zhí)行過程中,包含了:功能測試階段、缺陷跟蹤階段(bug tracking)、回歸測試階段、系統(tǒng)測試階段、驗收測試階段等(系統(tǒng)已滿足測試條件(開發(fā)完成),按照已經(jīng)評審過的測試用例依次執(zhí)行,執(zhí)行過程中及時記錄問題,將問題及時提交到QC上,要跟蹤缺陷。等開發(fā)修復(fù)后進行回歸測試,確認(rèn)修復(fù)后關(guān)閉缺陷,如果說該問題要更新而生產(chǎn)上未進行驗證,就把缺陷狀態(tài)改為生產(chǎn)未驗證。對有異議的缺陷經(jīng)甲方、開發(fā)和測試三方進行溝通討論,由甲方最終確定處理方式。在測試過程中也會碰到對需求有異議,會反饋給經(jīng)理,由經(jīng)理與甲方溝通來對該需求提出一些可行性建議,最終還是由甲方來確定具體根據(jù)各個公司的業(yè)務(wù)流程而不一樣)。 最后已達到準(zhǔn)出要求的根據(jù)測試情況寫測試報告,對整個測試過程和版本的質(zhì)量做一個評估 測試報告是指把測試的過程和結(jié)果寫成文檔,對發(fā)現(xiàn)的問題和缺陷進行分析,為糾正軟件的存在的質(zhì)量問題提供依據(jù),同時為軟件驗收和交付打下基礎(chǔ)。測試報告是測試階段最后的文檔產(chǎn)出物。優(yōu)秀的測試經(jīng)理或測試人員應(yīng)該具備良好的文檔編寫能力,一份詳細(xì)的測試報告包含足夠的信息,包括產(chǎn)品質(zhì)量和測試過程的評價,測試報告基于測試中的數(shù)據(jù)采集以及對最終的測試結(jié)果分析。 測試報告的內(nèi)容可以總結(jié)為以下目錄: 首頁 引言(目的、背景、縮略語、參考文獻) 測試概要(測試方法、范圍、測試環(huán)境、工具) 測試結(jié)果與缺陷分析(功能、性能) 測試結(jié)論與建議(項目概況、測試時間 測試情況、結(jié)論性能匯總) 附錄(缺陷統(tǒng)計) 至此并不算最后的完結(jié)工作,軟件測試還包含了線上功能檢查、當(dāng)前版本問題反饋以及改進建議?等。這樣才算是軟件測試最終結(jié)束,軟件測試是貫穿于整個軟件生命周期的。 |
分享本篇文章給更多人:
2020-05-27
2020-02-24
2020-05-27
2022-12-05
2020-05-27
請發(fā)表評論