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