軟件測試培訓教程-終極_第1頁
軟件測試培訓教程-終極_第2頁
軟件測試培訓教程-終極_第3頁
軟件測試培訓教程-終極_第4頁
軟件測試培訓教程-終極_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件測試培訓教程研發(fā)部軟件測試理論基礎(chǔ)測試工程師的職業(yè)發(fā)展軟件測試工程師一般有幾個方向可走,如圖1-2所示。一個理想的測試工程師應該有開發(fā)經(jīng)驗,至少要有開發(fā)的概念。僅僅發(fā)現(xiàn)Bug是測試的初步,而分析出根本原因,卻要有很深的功底。初級測試工程師中級測試工程師開發(fā)工程師測試管理者高級測試工程師圖1-2職業(yè)發(fā)展規(guī)劃圖軟件測試定義定義:軟件測試就是為了發(fā)現(xiàn)錯誤而審查軟件文檔、檢查軟件數(shù)據(jù)和執(zhí)行程序代碼的過程。軟件測試應該是對軟件形成過程的文檔,數(shù)據(jù)以及程序進行的測試,而不僅是對程序進行的測試。60%以上的軟件錯誤并不是程序錯誤,而是分析和設計的錯誤,提倡軟件全生命周期測試的理念。軟件測試的目的和原則基于不同的立場,存在著兩種完全不同的測試目的:用戶角度:希望軟件測試暴露軟件中隱藏的錯誤和缺陷,已考慮是否接受產(chǎn)品。軟件開發(fā)者角度:希望測試成為表明軟件產(chǎn)品中不存在錯誤的過程,驗證被測軟件已正確的實現(xiàn)了用戶的需求,確立人們對軟件質(zhì)量的信心。軟件測試的目的和原則換言之,測試的目的是:想以最少的時間和人力,系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷。如果我們成功地實施了測試,我們就能夠發(fā)現(xiàn)軟件中的錯誤。測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符合。實施測試收集到的測試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)測試不能表明軟件中不存在錯誤,它只能說明軟件中存在錯誤軟件測試的目的和原則

軟件測試的原則:所有的軟件測試都應追溯到用戶需求。應當把“盡早地和不斷地進行軟件測試”作為軟件測試者的座右銘。完全測試是不可能的,測試需要終止。測試無法顯示軟件潛在的缺陷。也就是說測試只能證明軟件存在錯誤而不能證明軟件沒有錯誤。軟件測試的對象軟件測試分類

一般的,我們將軟件測試活動分為以下幾類:黑盒測試、白盒測試、灰盒測試、靜態(tài)測試、手動測試、自動測試軟件測試分類—黑盒測試黑盒測試又叫功能測試、數(shù)據(jù)驅(qū)動測試或基于需求規(guī)格說明書的功能測試。該測試類別注重于測試軟件的功能性需求。測試工程師無需了解程序代碼的內(nèi)部構(gòu)造,完全模擬軟件產(chǎn)品的最終端用戶使用該軟件,檢查軟件產(chǎn)品是否達到了用戶的需求。如圖1-4所示為黑盒測試實例圖。黑盒測試能更好的從用戶角度來考察被測系統(tǒng)的功能性需求實現(xiàn)情況。測試用例測試結(jié)果圖1-4黑盒測試示例圖軟件測試分類—白盒測試白盒測試又稱結(jié)構(gòu)測試、邏輯驅(qū)動測試或基于程序代碼內(nèi)部構(gòu)成的測試。白盒測試需要測試工程師深入考查程序代碼的內(nèi)部結(jié)構(gòu)、邏輯設計等。就像前面的例子,我們拆開手機,觀察手機電路板的設計,液晶屏的構(gòu)成等。對于白盒測試工程師來說,軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)是敞開的。如圖1-5所示是白盒測試示例圖。程序內(nèi)部結(jié)構(gòu)測試用例測試結(jié)果圖1-5白盒測試示例圖軟件測試分類—灰盒測試灰盒測試介于白盒和黑盒測試之間?;液袦y試一方面考慮程序代碼的功能性表現(xiàn),另一方面,又需要考慮程序代碼的內(nèi)部結(jié)構(gòu)。通俗地講,灰盒測試就是白加黑。像我們的性能測試,自動化功能測試就是采用了灰盒測試的方法。圖1-6是灰盒測試的示例圖。測試用例測試結(jié)果圖1-6灰盒測試示例圖軟件測試分類—靜態(tài)測試定義:靜態(tài)的、不執(zhí)行被測對象程序代碼而尋找缺陷的過程。在進行靜態(tài)測試時可采用一些代碼走查工具,如QAC++、C++Test等。軟件測試分類—手動測試它是測試人員設計測試用例并執(zhí)行測試用例,然后根據(jù)實際的結(jié)果去和預期的結(jié)果相比較并記錄測試結(jié)果,最終輸出測試報告的測試活動。可充分發(fā)揮測試工程師的主觀能動性,將其智力體現(xiàn)在測試工作中,能發(fā)現(xiàn)許多的缺陷,但同時又有一定的局限性和單調(diào)枯燥性。軟件測試分類—自動化測試定義利用測試工具,模擬用戶業(yè)務使用流程,讓他們自動運行來查找缺陷。優(yōu)點快、廣泛、可重復性工作缺點只可檢查比較主要的問題,如崩潰、死機,無法發(fā)現(xiàn)一般的日常錯誤。編寫腳本工作量也很大,有時會超過手動測試時間。我們要根據(jù)實際情況選擇或者不選擇測試工具,選擇使用何種測試工具,不能為了實用工具而可以的去使用工具。軟件測試人員職業(yè)要求

從個人素質(zhì)角度要求測試工程師需要具備以下6種素質(zhì):責任心溝通能力團隊合作精神耐心、細心和信心時時保持懷疑態(tài)度、并且有缺陷預防的意識不斷學習的能力測試學習路線對于軟件測試初學者,我們要切合實際、循序漸進的學習,在學習中可參考圖1-3所示的軟件測試學習路線圖,從軟件測試的理論基礎(chǔ),到項目實戰(zhàn),逐步學習,掌握技術(shù)技能,最終勝任軟件測試工作。初學者軟件測試理論基礎(chǔ)學習缺陷管理知識學習Web測試環(huán)境搭建學習Linux操作系統(tǒng)知識學習配置管理知識學習數(shù)據(jù)庫知識學習QTP功能測試工具學習LoadRunner性能測試工具學習項目實戰(zhàn)崗前培訓面試技巧工作圖1-3軟件測試學習路線圖軟件測試流程圖軟件測試雖然是軟件生存周期的一個獨立階段,但測試工作卻滲透到從分析、設計直到編程的各個階段中(1-7是軟件測試所經(jīng)階段的一般流程)。需求測試、單元測試、集成測試、系統(tǒng)測試、性能測試、用戶測試、回歸測試需求測試單元測試集成測試系統(tǒng)測試性能測試用戶測試回歸測試圖1-7軟件測試流程圖需求測試要從以下幾個方面考慮需求測試:完整性正確性一致性可行性無二義性健壯性必要性可測試性可修改性單元測試又稱模塊測試,就是對程序代碼中最小的涉及模塊單元進行測試。

在單元測試中我們主要采用靜態(tài)測試與動態(tài)測試相結(jié)合的辦法。單元測試要求需要幾年的代碼編寫經(jīng)驗,并且要十分熟悉當前的被測系統(tǒng),以及該系統(tǒng)是否與其他系統(tǒng)的接口關(guān)聯(lián)情況。單元測試在編碼階段占據(jù)非常重要的地位??梢越档途幋a的錯誤率,提高編碼質(zhì)量集成測試又稱組裝測試,是將軟件產(chǎn)品各個模塊組裝起來,檢查接口是否存在問題,以及組裝后的整體功能、性能表現(xiàn)。一般可采用非增式集成方法、增式集成方法(自底向上集成、自頂向下集成、組合方式集成)等策略進行測試,利用一黑盒測試為主,白盒測試為輔的測試方法進行測試。主要解決各個組成但源代碼是否符合開發(fā)規(guī)范、接口是否存在問題,整體功能有無錯誤、界面是否符合設計規(guī)范、性能是否滿足用戶需求等。系統(tǒng)測試將通過集成測試的軟件部署到某種較為復雜的計算機永華環(huán)境進行測試。目的:通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合或與之矛盾的地方。這個階段主要進行的是安裝卸載測試、兼容性測試、功能確認測試、安全測試等。采用黑盒測試法,主要考察被測軟件的功能與性能表現(xiàn)。性能測試性能測試要求被測軟件在業(yè)務處理速度、處理能力和所耗用的硬件系統(tǒng)資源比率滿足用戶的需求。不要嘗試用手動方式進行性能測試,應當編寫一段相應的程序或者使用專門的工具進行,如利用LoadRunner自動化性能測試工具。性能測試相對難度較大,要求測試人員掌握編程語言,精通業(yè)務流程,擁有深厚的項目經(jīng)驗。用戶測試可稱為用戶確認測試。正式驗收前,需要用戶對本系統(tǒng)做出一個評價,用戶可對交付的系統(tǒng)做測試,并將測試結(jié)果反饋回來,進行修改、分析。用戶測試環(huán)節(jié)是被測試軟件首次作為正式的系統(tǒng)交友用戶使用,用戶會根據(jù)他們的實際使用情況進行測試、使用,并提出實際使用過程中的問題。用戶測試是軟件生產(chǎn)流程中的最后質(zhì)檢關(guān)。回歸測試回歸測試是經(jīng)過一段時間以后再回過頭來對以前修復過的Bug重新進行測試,看該Bug是否會重新出現(xiàn)。有些時候可采用自動化測試工具來進行回歸測試,如利用QTP一般情況下,都由測試工程師手動的執(zhí)行一千的測試用例。來檢查用例通過情況。軟件項目運作圖市場調(diào)研可行性研究產(chǎn)品立項需求調(diào)研設計開發(fā)系統(tǒng)測試產(chǎn)品發(fā)布產(chǎn)品維護產(chǎn)品升級圖1-8軟件項目運作圖市場調(diào)研1、主動模式將公司或者企業(yè)作為需求接收的被動方,而需求的提出作為主動方。2、被動模式在沒有明確的需求提出者時,有公司或企業(yè)主動提出給特定使用用戶群提供某種產(chǎn)品的模式。市場調(diào)研主體:市場人員、銷售人員調(diào)研方式:客戶走訪,市場觀察,報刊媒體等輸出文件:《XXX項目市場調(diào)研分析報告》可行性研究以預測為前提,以投資效果為目的,從技術(shù)上、管理上進行全面綜合分析研究的方法?;救蝿眨簩π麻_發(fā)產(chǎn)品或升級產(chǎn)品從技術(shù)經(jīng)濟角度進行全面的分析研究,并對其投產(chǎn)后的經(jīng)濟效益進行預測,在既定的范圍內(nèi)進行方案論證的選擇,以便最合理的利用資源,達到預定的社會效益和經(jīng)濟效益。主體:市場人員、銷售人員對象:在市場調(diào)研階段產(chǎn)生的《XXX項目市場調(diào)研分析報告》輸出文件:《XXX項目可行性分析報告》產(chǎn)品立項在前期的市場調(diào)研、可行性研究經(jīng)過評審可行后,則由需求調(diào)研人員牽頭,進行產(chǎn)品立項,并進行產(chǎn)品小組的建立,同時制定產(chǎn)品的運作計劃,如需求調(diào)研、產(chǎn)品設計、產(chǎn)品測試、產(chǎn)品發(fā)布等一系列的工作步驟及時間點。立項負責人:市場調(diào)研人員工作內(nèi)容:提交產(chǎn)品立項申請,審批通過后,指定產(chǎn)品計劃書,確定產(chǎn)品各個階段的工作流程及時間進度表。需求調(diào)研1、主動模式2、被動模式需求調(diào)研參與人員:市場人員、開發(fā)人員、測試人員等調(diào)研對象:客戶或假象客戶(廣泛應用群)輸出:需求規(guī)格說明書設計開發(fā)由系統(tǒng)架構(gòu)師進行系統(tǒng)的概要設計,主要從穩(wěn)定性、安全性、擴展性、可維持性等方面進行設計。設計人員:系統(tǒng)架構(gòu)師、項目開發(fā)小組輸出:項目開發(fā)計劃、概要設計文檔、詳細設計文檔、數(shù)據(jù)庫文檔等系統(tǒng)測試按照前期的測試計劃,利用測試用例進行系統(tǒng)的功能、性能測試。在經(jīng)過多次版本的迭代后,完成系統(tǒng)測試,輸出測試報告。測試人員:項目測試小組輸出:測試計劃、測試方案、測試用例、功能測試報告、性能測試報告等產(chǎn)品發(fā)布經(jīng)過開發(fā)部門、測試部門和其他部門的努力,產(chǎn)品在預定的日期完成,有項目組擇日發(fā)布。發(fā)布人員:項目實施人員、市場部等輸出:客戶現(xiàn)場項目實施報告等產(chǎn)品維護交付使用后,需根據(jù)需求調(diào)研階段協(xié)議,制定產(chǎn)品維護流程,出現(xiàn)問題需及時解決,直到產(chǎn)品使用廢棄或升級,進入新的生命周期。產(chǎn)品升級在軟件產(chǎn)品使用到一定期限后,可以根據(jù)先前的約定進行升級,或根據(jù)客戶新的需求,再次進行新需求的調(diào)研開發(fā)等。測試工作流程測試準備階段測試工作流程測試開展階段測試輸出階段圖1-12測試工作流程圖測試工作流程1、測試準備階段測試計劃制定測試小組建立項目經(jīng)理測試主管測試組長部署測試任務指派測試組長獲取測試需求及相關(guān)文檔圖1-13測試工作介入流程圖測試組長測試主管測試工程師小組工作會議申請小組成員指定小組成員圖1-14測試小組建立圖測試工作流程需求測試啟動測試需求提取分配任務測試組裝需求調(diào)研部門校正需要提供需求測試小組反饋結(jié)果圖1-15需求測試流程圖測試組長測試小組測試工具分配任務編寫用例圖1-16部署測試需求提取任務流程圖測試工作流程測試用例編寫測試組長測試小組測試工具分配任務編寫用例圖1-17部署測試用例編寫任務流程圖測試工作流程2、測試開展階段搭建測試環(huán)境—測試組長,可根據(jù)說明說中的軟件產(chǎn)品運行環(huán)境配置要求搭建。測試環(huán)境最好與開發(fā)環(huán)境分開文檔引入—工作日報、功能測試報告、性能測試報告等模板執(zhí)行測試—根據(jù)項目的Bug管理流程,經(jīng)過多次的版本迭代,完成測試工作。測試工作流程3、測試輸出階段測試計劃測試方案測試用例測試工程師的工作日報功能測試報告性能測試報告思考與練習1、軟件測試共有幾種模型?具體的內(nèi)容是什么?相互之間有什么區(qū)別與聯(lián)系?2、簡要描述同行評審與階段評審的區(qū)別。3、軟件測試與軟件開發(fā)的關(guān)系是什么?4、什么叫軟件測試?軟件測試的目的是什么?思考與練習5、軟件測試的一般工作流程是什么?6、軟件測試的測試流程是什么?各階段的工作內(nèi)容重點是什么?7、當你接到一個測試任務后,你如何開展測試工作?軟件測試用例設計方法什么是測試用例測試用例(

TestCase)是指對一項特定的軟件產(chǎn)品進行測試任務的描述,體現(xiàn)測試方案、方法、技術(shù)和策略。內(nèi)容包括測試目標、測試環(huán)境、輸入數(shù)據(jù)、測試步驟、預期結(jié)果、測試腳本等,并形成文檔。測試用例包含要素每個具體測試用例都將包括下列詳細信息:編制人、審定人、編制日期、版本、用例類型、設計說明書編號、用例編號、用例名稱、輸入說明、期望結(jié)果(含判斷標準)、環(huán)境要求、備注等。具體可以參考建行測試用例模板黑盒測試案例設計技術(shù)測試用例設計:將軟件測試的行為活動,作為一個科學化的組織歸納。測試用例:設計一個情況,軟件程序在這種情況下,必須能夠正常運行并且達到程序所設計的執(zhí)行結(jié)果。因為我們不可能進行窮舉測試,為了節(jié)省時間和資源、提供測試效率,必須從數(shù)量極大的可用測試數(shù)據(jù)精心挑選出具有代表性或者特殊性的測試數(shù)據(jù)來進行測試。

測試測試用例的好處在開始實施測試之前設計好測試用例,可以避免盲目測試并提高測試效率。測試用例的使用令軟件測試的實施重點突出、目的明確。在軟件版本更新后只修正少部分的測試用例便可展開測試工作,降低工作強度,縮短項目周期。功能測試模塊的通用化和復用化使軟件易于開發(fā),而測試用例的通用化和復用化則會使軟件測試易于開展,并隨著測試用例的不斷精化其效率也不斷攀升。常見黑盒測試用例設計方法等價類劃分法邊界值分析法錯誤推測法因果圖法判定表驅(qū)動法正交試驗設計法功能圖法場景法錯誤推測方法基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法。錯誤推測方法的基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例。場景法事件觸發(fā)控制流程,事件觸發(fā)時的情景便形成場景。同一事件不同的觸發(fā)順序和處理結(jié)果就形成事件流用例場景用來描述流經(jīng)用例的路徑,從用例開始到結(jié)束遍歷這條路徑的有基本流和備選流。軟件缺陷什么是軟件缺陷符合下面

5條規(guī)則之一的問題稱為軟件缺陷:1、軟件未達到產(chǎn)品說明書標明的功能。2、軟件出現(xiàn)產(chǎn)品說明書指明不會出現(xiàn)的錯誤。(如果軟件含有產(chǎn)品說明中根本沒有存在的功能,這是缺陷)3、軟件功能超出產(chǎn)品說明書指明的范圍。4、軟件未達到產(chǎn)品說明書未指出但應達到的目標。(產(chǎn)品說明書雖然沒有提到,但是按照常理應該達到的功能)5、軟件測試人員或用戶認為軟件難以理解,不易使用,運行速度緩慢等問題。缺陷的生命周期簡單周期:測試員找到并登記軟件缺陷,軟件缺陷移交到程序員=>程序員修復軟件缺陷,軟件缺陷移交到測試員=>測試員確定軟件缺陷被修復,測試員關(guān)閉軟件缺陷。缺陷的生命周期復雜周期:發(fā)現(xiàn)缺陷(測試員發(fā)現(xiàn)并登記缺陷,軟件缺陷轉(zhuǎn)到程序員)=>軟件缺陷移交到項目管理員=>(以不修復形式解決)項目管理員認為軟件缺陷不重要,軟件缺陷移交到測試員=>重新激活缺陷(測試員不同意,找出通用失敗案例,軟件缺陷移交到項目管理員)=>項目管理員同意缺陷需要修復,缺陷轉(zhuǎn)給程序員=>以修復形式解決(測試員確認軟件缺陷得以修復,測試員關(guān)閉軟件缺陷)=>缺陷關(guān)閉報告缺陷的要點復雜周期:發(fā)現(xiàn)了軟件缺陷,需要記錄下來,不但要記錄結(jié)果,同時需要詳細描述發(fā)現(xiàn)的步驟,以備程序員重現(xiàn)問題,并解決它。要求報告寫的清楚明了和準確。有時利用截屏技術(shù)把當時的情況保存成圖片,可以達到一圖勝千言的效果。參考軟件測試缺陷跟蹤管理說明.pdf文檔(vss\09_測試團隊\公共\規(guī)范說明)缺陷的嚴重性分類A類——致命性:不能完全滿足系統(tǒng)要求,基本業(yè)務功能未實現(xiàn)系統(tǒng)崩潰、不穩(wěn)定或掛起等導致系統(tǒng)不能繼續(xù)運行、導致系統(tǒng)出現(xiàn)不可預料的嚴重錯誤的問題。缺陷的嚴重性分類B類——嚴重錯誤:嚴重地影響系統(tǒng)要求或基本功能的實現(xiàn),且沒有辦法更正(重新安裝或重新啟動不屬于更正辦法)。使系統(tǒng)不穩(wěn)定、破壞數(shù)據(jù)、產(chǎn)生錯誤結(jié)果,部分功能無法執(zhí)行。缺陷的嚴重性分類C類——一般性錯誤:

1、界面錯誤。2、非重要功能無法正確執(zhí)行,實現(xiàn)不正確,實現(xiàn)不完整,但不影響功能3、非嚴重性產(chǎn)生錯誤結(jié)果,但不影響一起功能。4、正確性不受影響,但系統(tǒng)性能和響應時間受到影響。缺陷的嚴重性分類D類——輕微錯誤:使操作者不方便或遇到麻煩,但它不影響執(zhí)行工作功能或重要功能,或?qū)ψ罱K結(jié)果影響有限的問題。缺陷的嚴重性分類E類——測試建議:不影響系統(tǒng)運行,對系統(tǒng)的可用性等提示的建議性的問題。例如:

1、系統(tǒng)各個位置初始值的建議。2、流程優(yōu)化建議等等。結(jié)構(gòu)測試技巧操作測試安全測試操作測試目標確定計算機的操作文檔已經(jīng)完整如何使用作為計算機正常操作的一部分來執(zhí)行測試例子操作的介紹被文檔化,操作者被培訓什么時候使用預先將程序進行產(chǎn)品化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論