第一篇:第05章、軟件測試流程和分類(理論課)參考教案
? 注意事項:
? 需要結合軟件產(chǎn)品的整體研發(fā)流程來使學員熟悉軟件測試流程,明確一個軟件項目的不同階段需要做的工作、輸出哪些文檔,特別是不同的階段需要做哪些測試工作,重點要使學員掌握軟件項目工作流程圖。? 關于軟件測試的分類,內容比較多而且知識點比較細,這部分內容重在概念的理解,講解時需要自己組織一些簡單的案例,目的是讓學員明白各種測試方法的概念和應用的場合,具體的實現(xiàn)不是本章的重點。
? PPT第1~3頁:
? 回顧上一章內容,可以采用提問的方式;并簡要介紹本章的學習目標。
? PPT第4頁:
? 內容進度頁,向學員介紹本次課程的進度安排。
? PPT第5頁:
? 介紹軟件項目在需求階段的工作流程。
? 首先介紹什么是需求分析,然后闡述需求調研和需求分析對一個軟件項目的重要性,強調需求分析并不是與測試無關的工作,如果有條件,測試人員也應該參與需求調研和分析,這樣有助于發(fā)現(xiàn)系統(tǒng)中很多隱含的缺陷。? 接下來介紹軟件需求階段的工作流程,測試組在需求階段需要完成的任務和提交的文檔。讓學員明白一個觀點,需求分析過程不只是在項目開始完成以后就不再進行了,需求分析會貫穿整個項目周期,可能還包括系統(tǒng)維護階段,這時需要引導學員回顧軟件生命周期的螺旋模型。
? PPT第6~12頁:
? 讓學員了解在需求階段測試組都應該做哪些工作。
? 首先通過幻燈片6概要介紹需求階段測試組制定測試計劃和系統(tǒng)測試方案時重點考慮的問題,然后通過后面的幻燈片詳細介紹。? 在講解各個條目的時候,最好和前面課程中的測試計劃案例或模板對應,提示學員哪些項目需要以文字的形式體現(xiàn)在測試計劃和系統(tǒng)測試方案中,哪些條目可以幫助我們理解產(chǎn)品和產(chǎn)品的實現(xiàn)過程,間接幫助實現(xiàn)測試文檔。
? PPT第13頁:
? 介紹軟件設計編碼階段需要完成哪些工作。流程圖中涉及到“詳細設計”和“概要設計”的概念,需要在此進行知識擴展,側重于介紹詳細設計和概要設計所涵蓋的內容。需要提醒大家的是,而現(xiàn)在國內很多公司沒有做詳細設計,有些公司迫于項目進度的壓力將詳細設計和編碼同步進行,或者在編碼之后補充文檔。這樣就要求概要設計文檔細致一些。? 概要設計
? 在需求明確,有詳細的《需求規(guī)格說明書》之后、就進入設計和編碼階段,這一階段首先要做概要設計,目的是使整個軟件開發(fā)工作可以協(xié)調有序地進行。
? 概要設計是編碼階段將軟件系統(tǒng)需求轉換為未來系統(tǒng)的設計的第一份文檔,是項目小組今后共同作戰(zhàn)的基礎,概要設計的重點是考慮開發(fā)規(guī)范、系統(tǒng)構架、實施環(huán)境、系統(tǒng)性能和模塊的分解和接口規(guī)范等。概要設計的成果是指導軟件設計編碼的《概要說明書》。
? 詳細設計
? 詳細設計是在概要設計的基礎上實現(xiàn)的,詳細設計著重描述每一模塊是怎樣實現(xiàn)的,包括實現(xiàn)算法、邏輯流程等。詳細設計結束后會完成《詳細設計說明書》,又可稱為《程序設計說明書》。編制詳細設計說明書的目的是向編碼人員說明一個軟件系統(tǒng)各個層次中的每一個程序(每個模塊或子程序)的設計考慮,如果一個軟件系統(tǒng)比較簡單,層次很少,本文件可以不單獨編寫,有關內容合并入概要設計說明書。
? 接下來根據(jù)流程圖介紹軟件設計編碼階段的一般流程。這一階段測試組的主要工作是完成產(chǎn)品的單元測試。
? PPT第14頁:
? 介紹在設計編碼階段測試組需要完成的測試工作。在概要設計完成以后,測試組就應該參照軟件需求規(guī)格說明書和概要設計文件著手編寫系統(tǒng)集成測試方案了,這里需要簡要介紹集成測試的概念。在詳細設計階段完成以后,測試組需要以此為依據(jù)編寫單元測試方案和單元測試用例。這里簡要介紹單元測試的基本概念和作用。
? PPT第15頁:
? 介紹在系統(tǒng)集成和驗收階段測試組需要完成的測試工作。這一階段80%的工作是測試活動,根據(jù)幻燈片中的流程圖進行講解。強調軟件測試過程貫穿了整個軟件的生命周期。
? PPT第16頁:
? 回顧整個軟件生命周期中的測試活動。這里將測試活動從軟件生命周期中摘出來,形成軟件測試各階段示意圖,需要講解每個測試階段的具體工作和作用,以及每個階段前后之間的順序關系。
? PPT第17~21頁:
? 主要以概念為主,介紹不同測試階段的特點和作用。依據(jù)幻燈片的順序,參照教材闡述每個測試階段的特點、需要進行的工作和所起的作用,注意區(qū)分集成測試、系統(tǒng)測試和驗收測試的不同之處,讓學員明白什么時候需要進行什么階段的測試。這里涉及到確認測試、有效性測試和驗收測試等學員首次接觸的概念,需要重點講解。
? PPT第22頁:
? 對軟件測試流程的知識進行小結,提出接下來要講解的內容?;仡櫱懊嫠v的軟件項目總體過程和軟件測試流程的知識,在回顧軟件產(chǎn)品生產(chǎn)流程時可以講解案例8-1,需要達到如下目標:
? 讓學員了解一個大型項目的工作進度是如何組織與制定的。
? 讓學員對將來工作的任務分配有一個感性的認識,明確工作任務流程的概念,作為項目組的一員,在實際的工作中是如何接受任務并執(zhí)行的。? 明確測試工作在整個項目過程中占據(jù)重要地位,測試是連接開發(fā)和用戶之間的橋梁紐帶。
? 接下來承上啟下地提出,為了很好地完成前面各個階段的測試工作,軟件測試工程師和專家們總結了很多有用的經(jīng)驗、方法和技巧,接下來我們就介紹軟件測試的分類和策略。
? PPT第23頁:
? 介紹軟件測試分類的概述,說明對軟件測試的分類從不同的角度有不同的分類方法,這里介紹其中的三種分類:按測試策略分類、按測試階段分類、按測試方法分類,具體的內容在后面進行詳細的介紹。
? PPT第24頁:
? 介紹靜態(tài)測試和動態(tài)測試的概念。靜態(tài)測試和動態(tài)測試具有明顯的區(qū)別,就是是否運行程序。靜態(tài)測試一般在編碼結束后由程序員完成,可以發(fā)現(xiàn)程序中多數(shù)的缺陷。前面講過的白盒測試和黑盒測試都屬于動態(tài)測試的內容。介紹時側重于兩者的區(qū)別。
? PPT第25頁:
? 介紹黑盒測試和白盒測試概念,采用舉例的方式說明,例如:
? 要測試汽車的車燈是否正常,如果用黑盒測試的方法,則打開開關看看對應的車燈是否打開,亮度是否正常;如果用白盒測試的方法,則檢查線路是否連通,布線是否合理等。
? 要測試一個按考試分數(shù)劃分學員等級的程序,假定考試分數(shù)為0~60、61~80、81~100時,分別代表不及格、及格和優(yōu)秀三個級別,如果采用黑盒測試法,則選擇有代表意義的分數(shù)(如0、60、50、61、72、80、81、93、100、101等)輸入到程序中,看程序的輸出結果是否正確就可以了;如果采用白盒測試法,則需要首先查看程序的代碼或設計文檔,了解程序的結構,然后選擇具有代表意義的輸入數(shù)據(jù)(如-3、43、74、94、150),運行程序,爭取讓程序的每個判斷和分支語句都被覆蓋一遍,以便發(fā)現(xiàn)程序的缺陷。
? 總結黑盒測試和白盒測試的概念,及其各自的優(yōu)缺點,強調雖然黑盒和白盒兩種測試策略可以相互補充,但是即使兩種方法都采用了也不可能測試出程序中全部的缺陷。
? PPT第26頁:
? 介紹手工測試和自動測試的概念。手工測試不是一種測試方法,而是相對于自動測試而產(chǎn)生的一個概念,所謂手工測試就是不借助自動測試工具完成的測試,手動執(zhí)行測試用例判斷結果的過程。如果在測試過程中借助了被測程序之外的其他的系統(tǒng)來幫助檢查或運行程序,就稱之為自動測試。需要注意的是,自動測試工具可以是自行開發(fā)的,也可以是使用第三方的。在介紹自動測試的時候,側重于以下幾個方面:
? 為什么要使用工具。
? 例如我們需要在測試數(shù)據(jù)庫的過程中逐條向數(shù)據(jù)庫中輸入一萬條記錄,如果沒有自動測試工具,這種工作對于軟件測試人員來講簡直就是一場噩夢。因此自動測試工具可以為我們省去許多繁雜的工作
? 自動測試相對手工測試具有一定的優(yōu)勢,人會因為疲勞出錯,機器不會出現(xiàn)類似問題
? 自動測試還不具有普遍性 ? 測試工具本身還不能滿足所有的測試要求。? 測試工具的復雜性制約了人們的使用。? 有些測試工具是非常昂貴的。? 不能唯工具論
? PPT第27頁:
? 介紹冒煙測試和回歸測試的概念。
? 關于冒煙測試的概念,在第三章實踐課時曾簡單介紹過,在這里做正事的介紹。側重于什么是冒煙測試和為什么要進行冒煙測試。冒煙測試的概念源于硬件測試,電路板插裝完成后第一道測試工序是插電,插電后如果電路板出現(xiàn)冒煙現(xiàn)象,測試人員就拒絕進行下一步的測試。軟件的冒煙測試是指,測試組拿到開發(fā)組提交的測試版本后,會首先對這一版本進行部分功能的測試,這種測試不用需要全部的測試人員參與,測試一般從兩個方面入手: ? 驗證此版本關鍵功能可以正常工作。? 此版本修改的嚴重問題已經(jīng)基本正常,同時在返測中沒有發(fā)現(xiàn)修改缺陷可能引發(fā)的新缺陷。
然后根據(jù)測試的結果決定是否讓其他的測試人員轉到新版本進行測試。冒煙測試的目的是為了節(jié)省有限的測試時間和測試資源。如果新的版本不經(jīng)過冒煙測試而直接發(fā)放到所有測試人員手中,那么一旦測試版本根本無法正常運行,那么會耽誤所有測試人員的寶貴工作時間。例如:安裝新系統(tǒng)可能需要卸掉舊系統(tǒng),也可能需要重新搭建測試環(huán)境。冒煙測試可以通過自動測試工具輔助進行。? 講解回歸測試的概念,然后分別舉例闡述下面兩個觀點:
? 回歸測試可以借助工具完成。列舉Mercury公司的Winrunner或IBM公司Rational Robot等自動測試工具實現(xiàn)測試的過程,說明借助工具完成回歸測試已經(jīng)非常普遍。
? 回歸測試是非常必要的,可以參考案例8-2,列舉阿里亞娜5型火箭發(fā)射失敗的例子來說明。
? PPT第28頁:
? 對按策略分類的測試類型進行小結,回顧前面的軟件分類的知識點,每個測試類型用一兩句話進行概括。
? PPT第29頁:
? 介紹按階段進行的軟件測試分類。單元測試、集成測試、系統(tǒng)測試的概念及每個階段所作的工作在介紹軟件測試流程的時候已經(jīng)進行了講解,這里側重介紹每個階段測試的對象、目的、測試依據(jù)和測試方法。
? PPT第30頁:
? 根據(jù)實際授課情況,有側重地分別介紹每個測試方法。注意介紹測試方法之間的區(qū)別,如壓力測試和負載測試的區(qū)別,界面測試和功能測試的區(qū)別等。由于學員沒有進行過相應的操作,介紹時需要采用實際生活中的案例來做類比,盡可能通俗易懂。比如:講解壓力測試和負載測試時可以用載重汽車的案例來解釋;講恢復測試時,可以用SQL Server通過日志進行回滾的功能作為例子。
? PPT第31頁:
? 對本次課程進行回顧總結,并利用剩下的時間回答學員的問題。
? 課堂練習答案
? 一.填空題:
1.模塊測試
最小
集成測試
單元測試
單元模塊 2.集成測試
確認測試
有效性測試
軟件配置審查
3.模擬的黑盒測試
需求規(guī)格說明書
測試計劃
測試種類
測試用例
測試步驟
4.軟件配置審查
人工審查
用戶手冊 5.確認測試
功能覆蓋
6.用戶
質量保證
設計測試用例
用戶界面
實際數(shù)據(jù)
功能 兼容性
可維護性
? 二.填空題:
1.ABD 2.ABC
可移植性
第二篇:軟件測試流程
每個軟件測試階段都要經(jīng)歷以下步驟:測試需求分析、測試過程設計、測試實現(xiàn)、測試實施、測試評價、測試維護。
1.測試需求分析:整個測試過程的基礎;確定測試對象以及測試工作的范圍和作用。
2.測試過程設計:包括測試計劃,測試策略制定,測試時間安排用,測試用例編寫等
3.測試實現(xiàn):環(huán)境配置好了,新的版本也收到了,人員也都培訓好了等等
4.測試實施:已經(jīng)按照測試計劃進行展開了,比如手工測試,自動化測試等
5.測試評價:對版本測試覆蓋率,測試質量,人員測試工作以及前期的一些工作制定情況進行評價
6.測試維護:對測試用例庫,測試腳本,bug庫等進行維護,保證延續(xù)性等
軟件測試過程
軟件測試過程按各測試階段的先后順序可分為單元測試、集成測試、確認(有效性)測試、系統(tǒng)測試和驗收(用戶)測試5個階段,如圖3所示。
(1)單元測試:測試執(zhí)行的開始階段。測試對象是每個單元。測試目的是保證每個模塊或組件能正常工作。單元測試主要采用白盒測試方法,檢測程序的內部結構。
(2)集成測試:也稱組裝測試。在單元測試基礎上,對已測試過的模塊進行組裝,進行集成測試。測試目的是檢驗與接口有關的模塊之間的問題。集成測試主要采用黑盒測試方法。
(3)確認測試:也稱有效性測試。在完成集成測試后,驗證軟件的功能和性能及其他特性是否符合用戶要求。測試目的是保證系統(tǒng)能夠按照用戶預定的要求工作。確認測試通常采用黑盒測試方法。
(4)系統(tǒng)測試:在完成確認測試后,為了檢驗它能否與實際環(huán)境(如軟硬件平臺、數(shù)據(jù)和人員等)協(xié)調工作,還需要進行系統(tǒng)測試。可以說,系統(tǒng)測試之后,軟件產(chǎn)品基本滿足開發(fā)要求。
(5)驗收測試:測試過程的最后一個階段。驗收測試主要突出用戶的作用,同時軟件開發(fā)人員也應該參與進去。
第三篇:第07章、正確理解軟件測試(理論課)參考教案
? 注意事項:
? 關于軟件測試和軟件質量的關系,軟件測試和軟件工程的關系,以及軟件工程和軟件質量的關系,學員可能會覺得較難理解,要用通俗的語言和實際的案例進行講解。? 本次課程的內容以介紹測試實踐經(jīng)驗為主,需要采用提問、舉例和總結的方式進行授課。
? PPT第1~5頁:
? 回顧上一章內容,可以采用提問的方式;并簡要介紹本章的學習目標。
? PPT第6頁:
? 內容進度頁,向學員介紹本次課程的進度安排。
? PPT第7~8頁:
? 闡述盡早進行軟件測試并把測試貫穿整個軟件生命周期的原則。? 首先提問學員,軟件缺陷是在軟件生命周期的什么階段被引入到程序中的?并將學員的回答在白板上記錄。然后進行總結,并引申闡述在各階段都會引入什么樣的錯誤。接下來承上啟下地提出,不同階段引入的缺陷對于軟件的整個影響有什么不同?對測試的影響有什么不同?通過幻燈片8中的表格總結出軟件測試應該盡早進行的結論。
? 通過幻燈片9中的圖表,分析軟件生命周期的不同階段引入錯誤的多少是不同的,但是這些錯誤需要在后續(xù)的測試過程中逐漸發(fā)現(xiàn),所以說軟件測試在任何階段都不能松懈,軟件測試應該貫穿于整個軟件生命周期。
? PPT第9頁:
? 說明軟件測試應該追溯到需求的原則。首先通過裝修房子的案例說明什么是需求,需求是用來約束產(chǎn)品的最終標準,然后闡述如下幾個觀點: ? 軟件需求過程和需求說明書也是要測試的。
? 最終交付的產(chǎn)品必須滿足需求說明書中的每一項,如果不能滿足,必須以文檔的形式列出來請客戶方確認并同意。
? 如果軟件測試過程中發(fā)生爭議,將需求說明書作為標準來評判。? 闡述測試應該由第三方構造的原則??梢詮囊韵聨讉€方面來說明程序設計者不應該測試自己的程序:
? 程序設計者一般只熟悉程序結構,不熟悉需求。
? 程序設計者不容易發(fā)現(xiàn)自己程序中存在的很多隱性問題。
? 有些程序設計者淡化自己程序缺陷的嚴重程度,影響了程序修復。
最后需要強調的是,以上觀點只是對測試工作而言,強調測試團隊組織的獨立性。在實際的工作中,有時也是需要程序員進行測試的,比如單元測試工作,很多公司都是由程序員或系統(tǒng)設計員完成的。而其它測試的話,多數(shù)是由測試人員完成的,如果一個項目中實在沒有單獨的測試隊伍的話,也應該讓程序員相互進行測試,這樣也比不進行測試要好得多,但是在測試之前,首先要進行相關知識的培訓(如需求、測試方法和策略等)。
? PPT第10頁:
? 闡述測試是無法窮舉的,測試者需要遵循Good-Enough的原則。首先通過第一堂課中的加法計算器的案例或者教材中電話號碼系統(tǒng)的案例,說明對一個非常小的程序,想要進行窮舉測試是非常麻煩的,當程序稍微復雜一些,比如Windows計算器中的加法運算,窮舉測試幾乎是不可能的。接下來講述測試的“Good-Enough”原則。最后通過測試工作量和發(fā)現(xiàn)缺陷數(shù)量之間關系的圖表說明,找到測試費用和測試量之間的平衡點,是最佳選擇。
? PPT第11頁:
? 闡述測試前必須確定預期的輸出結果的原則。通過教材中的四舍五入的例子說明,在測試之前如果不知道輸出什么樣的結果是正確的,就無法進行測試。提示學員在編寫測試用例時,必須給出預期結果。
? 闡述測試完成后必須認真檢查每個測試結果的原則。主要強調仔細檢查缺陷報告的必要性,不能遺漏缺陷,遺漏缺陷會帶來很大的危害。重復缺陷或相似缺陷很容易被遺漏,前面已經(jīng)強調過,測試不是一個人完成的工作,需要測試組共同協(xié)作,最終完成產(chǎn)品的檢測。但是多人測試就會帶來一個問題,那就是重復缺陷報告和相似缺陷報告,測試時需要注意以下問題:
? 重復的缺陷描述可能屬于不同的模塊,要分別處理。? 相似的缺陷報告很容易被作為重復的缺陷報告被剔除。
? 一個缺陷被兩個人提交后,可能都認為是對方跟蹤,結果誰都沒有跟蹤。? 講解必須充分關注測試過程中的群集現(xiàn)象,舉例說明測試后發(fā)現(xiàn)缺陷最多的模塊,其殘留的錯誤也可能是最多(可以舉一籃蘋果中的壞蘋果數(shù)目的例子說明群集現(xiàn)象)。
? PPT第12頁:
? 順序介紹其他值得注意的規(guī)律和經(jīng)驗,時間允許的情況下,可以讓學員進行討論:在測試中,還有哪些規(guī)律需要注意?
? PPT第13頁:
? 根據(jù)實際授課情況,對“軟件測試的原則”進行小結,回顧前面所講的內容。
? PPT第14頁:
? 內容過渡頁,做好知識點之間的過渡。
? PPT第15頁:
? 提問學員什么是軟件,以及軟件的特點是什么?從問答中引導學員回顧軟件和軟件程序的區(qū)別,接下來提問學員軟件測試的對象是什么?根據(jù)學生的回答,引出軟件測試不僅要測試軟件程序是否運行正常,還需要測試軟件的文檔是否符合要求。然后引出評審的概念。
? 簡要說明在“關于評審”中要介紹的知識點。
? PPT第16~18頁:
? 講解評審的概念,評審主要是針對文檔進行評審,但也包含對代碼本身的評審。評審的方式是多種多樣的,評審的次數(shù)和內容也可以根據(jù)項目具體制定,但是對開發(fā)各關鍵階段涉及的一些文檔的評審是必不可少的,那么,軟件在開發(fā)各個階段都會涉及到哪些文檔呢? ? 提問學員回答后,切換到幻燈片17進行補充介紹:
? 對用戶來說用戶文檔包括:用戶手冊、安裝說明等等(如源代碼也作為產(chǎn)品的一部分則還包括源代碼)
? 對企業(yè)來說開發(fā)文檔包括:源代碼、需求分析、概要設計、詳細設計、其他設計文檔、業(yè)務建模、技術經(jīng)驗總結等等 ? 對企業(yè)來說管理文檔包括:開發(fā)過程的時間和人員安排計劃、便于企業(yè)改進開發(fā)過程等等
? 文檔對于軟件產(chǎn)品的重要性是不言而喻的,它不僅僅是腦力勞動的輸出,更重要的是經(jīng)驗重用和項目管理的手段,是走上工程之路的基礎。這里強調文檔的重要性是因為文檔在測試和開發(fā)過程中經(jīng)常被忽視或推遲完成。? 最后通過幻燈片18說明評審工作的意義。
? PPT第19頁:
? 內容過渡頁,做好知識點之間的過渡。
? PPT第20~24頁:
? 介紹軟件測試和軟件質量之間的關系。這部分內容從整體上包括層層深入的三個部分:
? 軟件質量和軟件過程:過程決定質量,軟件過程決定軟件質量。
? 軟件質量的建立:軟件質量是在軟件開發(fā)過程中逐漸建立起來的。? 過程與質量的關系:過程的質量直接影響軟件的質量。? 決定軟件質量的關鍵因素:人員、技術和過程是決定軟件質量的關鍵因素。? 好的產(chǎn)品是怎樣生產(chǎn)出來的:高質量的人員和好的過程應該得到好的產(chǎn)品。
? 軟件測試和軟件過程:軟件測試是軟件過程的一部分。
? 強調軟件測試過程在整個軟件生命周期中占有重要的位置。? 軟件測試和軟件質量:軟件測試是有效提高軟件質量的技術手段。
? 提出問題:那么軟件測試是不是軟件質量保證的安全網(wǎng)呢?這里可以列舉牛奶的生產(chǎn)過程進行說明:
? 如果把牛奶的生產(chǎn)過程比作軟件生產(chǎn)過程的話,那么軟件質量就相當于牛奶質量,軟件測試相當于牛奶質量檢測。牛奶質量檢測只能測試當前的牛奶好壞,要提高牛奶質量必須改善生產(chǎn)牛奶的過程,從精選奶牛開始,每個步驟都要改進。
? 最后總結:只有堅持不懈的改進過程中的問題才是提高軟件產(chǎn)品質量的根本出路,但是注意過程并不意味著忽視技術。軟件質量不是依靠軟件測試來保證的,軟件質量需要靠不斷的提高技術水平和改進軟件開發(fā)過程來保證,正如牛奶的生產(chǎn),如果把所有對質量的期望都壓在對最后一道工序的質檢上,那將是一個什么樣的結果。
? PPT第25頁:
? 內容過渡頁,做好知識點之間的過渡。
? PPT第26頁:
? 闡述“軟件質量不是靠測出來的”這一觀點。這部分內容在介紹軟件測試和軟件質量之間的關系時已經(jīng)進行了詳盡的闡述,這里作為正確理解軟件測試的一個觀點,可以提示學員如下的內容:
? 在實際的工作中不要把自己看作質量衛(wèi)士,要能夠明確自己的職責,以較好的心態(tài)對待軟件測試。
? 測試人員作為軟件的質量保證人員之一,要積極參與推行軟件開發(fā)過程改進和軟件測試過程改進,從根本上提高軟件的質量。
? 闡述“軟件測試人員需具備很多開發(fā)人員不具備的素質”這一觀點。
? 可以從人們對“測試”這一行業(yè)的人員素質的錯誤認識談起,比如:某些簡單硬件(比如電話)生產(chǎn)廠家的測試人員,在流水線上對組裝好的產(chǎn)品進行著簡單的檢測工作。這使人們心目中形成了一個印象,那就是,測試就是按照固定的流程進行簡單操作。這些人相對于產(chǎn)品的設計者,是不需要很高深的知識的。他們只負責檢測產(chǎn)品的某些功能是否正常,而不需要告訴設計人員是什么原因造成的。這是無所謂的,因為設計人員基本上可以從現(xiàn)象很快判斷出問題出在哪里。
? 隨著軟件行業(yè)的發(fā)展,軟件作為一個產(chǎn)品,也需要進行測試。但是一提起“軟件測試”,有些人馬上想到了那些流水線上的工人。實際上軟件產(chǎn)品和硬件產(chǎn)品完全不同,需要的測試人員也不同。而那些流水線上的工人,連復雜一些的硬件產(chǎn)品(比如程控交換機)測試也是無法完成的。? 現(xiàn)代軟件的復雜程度的不斷增加,對軟件測試工作者的要求也越來越高,不是誰都可以做測試,在很多公司,對測試人員的水平要求已經(jīng)超過了開發(fā)人員。? 接下來提問學員,關于第一章中“軟件測試人員需要具備的素質”的內容,然后對幻燈片中的內容進行詳細的闡述,闡述時側重與測試人員和開發(fā)人員所需技能的對比。
? 闡述“軟件測試需要開發(fā)人員和測試人員共同努力”這一觀點。我們提倡第三方來測試,提倡測試部門從項目組中獨立出來,目的是保證進行客觀公正的測試,但是這是否說明,開發(fā)和測試是完全獨立,互不依賴的呢?可以從以下幾個方面進行闡述:
? 測試和開發(fā)一個是破壞性的,一個是建設性的,正是不斷的破壞和建設才能使軟件更加穩(wěn)定更加強大,要更快更好的完成這一過程,需要雙方的配合和努力。? 測試可以幫助開發(fā)人員更快的定位缺陷的位置和產(chǎn)生原因。? 開發(fā)人員可以幫助測試人員優(yōu)化缺陷。開發(fā)人員通過單步跟蹤等方式對程序的檢測可以節(jié)省很多測試工作量。
? 有些測試工作可能需要開發(fā)人員完成,如單元測試。
? PPT第27頁:
? 詳細講解軟件測試的V模型,側重于不同階段的測試工作的對應,說明軟件測試不是軟件開發(fā)過程中的一個階段,而是貫穿于整個軟件生命周期。
? PPT第28頁:
? 根據(jù)實際授課情況,對“爭取理解軟件測試”進行小結,回顧前面所講的內容。
? PPT第29頁:
? 內容過渡頁,做好知識點之間的過渡。
? PPT第30頁: ? 講解處理缺陷時需要注意的幾個問題,包括如下幾個觀點:
? 注意缺陷報告的處理成本
? 對于大多數(shù)項目來說處理全部缺陷是不可能的。? 對缺陷的處理本身也需要成本。? 不可重現(xiàn)的缺陷如何處理。? 修改缺陷要量力而行。
? 修改缺陷是有風險的。? 修改缺陷也需要成本。? 關注被推遲修改的缺陷
? 在一個版本中被推遲的缺陷,到了下一個版本可能優(yōu)先級會有所變動。? 使用缺陷跟蹤工具,可能會幫助我們輕松完成這一工作。? 如果決定據(jù)理力爭就一定要贏
? 如果自己提交的報告存在爭議,應該進行重新測試,如果確認自己的報告是正確的,可以收集更有說服力的資料,必要時采用會議的方式討論。
? PPT第31頁:
? 對本次課程進行回顧總結,并利用剩下的時間回答學員的問題
? 課堂練習答案
? 一.填空題:
1.盡早地進行軟件測試,并把軟件測試貫穿于整個軟件生命周期
軟件測試應追溯需求、測試應由第三方來構造 窮舉測試是不可能的,要遵循Good-enough原則 必須確定預期輸出結果
必須徹底檢查每個測試結果 充分注意測試中的群集現(xiàn)象 其他規(guī)律和經(jīng)驗:
二八定理
要嚴格執(zhí)行測試計劃,排除測試的隨意性
測試的時候,既要注意合法合理的輸入,也要注意非法的非預期的輸入 檢查程序是否做了應該做的同時,也要檢查是否做了不該做的 測試應從“小規(guī)模”開始,逐步轉向“大規(guī)?!?關注缺陷的修復
2.分析
設計
實現(xiàn)
80% 系統(tǒng)測試
發(fā)現(xiàn)錯誤
發(fā)現(xiàn)所有的錯誤 3.早期階段
中間成果
最終成果 ? 二.選擇題:
1.ABC 2.ABCD
第四篇:軟件測試流程總結
1、需求討論,測試角度關注的問題:
(1)系統(tǒng)架構、開發(fā)方法、人員安排、實現(xiàn)過程、開發(fā)周期
(2)產(chǎn)品應用范圍、面向的用戶及用戶人數(shù)、產(chǎn)品要實現(xiàn)的功能、使用的數(shù)據(jù)類型
(3)開發(fā)環(huán)境:開發(fā)工具版本、數(shù)據(jù)庫版本、操作系統(tǒng)版本
(4)運行環(huán)境:硬件平臺、操作系統(tǒng)、支撐環(huán)境(數(shù)據(jù)庫版本、IE版本)、相關組件、服務
(5)安全要求:產(chǎn)品權限、數(shù)據(jù)庫權限、部署的服務器信息、防火墻信息、要放開的端口號
(6)性能需求:系統(tǒng)支持的并發(fā)數(shù)量、響應時間、數(shù)據(jù)庫中數(shù)據(jù)容量、占用的系統(tǒng)CPU、磁盤空間、傳輸速度、網(wǎng)絡帶寬等。
2、需求分析
(1)畫出整體系統(tǒng)的(網(wǎng)絡)拓撲圖
(2)根據(jù)不同角色身份進行分析,畫出系統(tǒng)流程圖:用戶角度、安裝人員角度、維護人員角度
(3)從數(shù)據(jù)庫角度進行深入分析:數(shù)據(jù)層、業(yè)務層、表現(xiàn)層
(4)系統(tǒng)包含的功能模塊/子系統(tǒng)列表,畫出各模塊的流程圖,各模塊間的關系及銜接接口
(5)安全級別是否達標、對性能需求進行分析
3、測試準備工作
(1)環(huán)境準備:開發(fā)環(huán)境、測試環(huán)境、用戶機干凈環(huán)境虛擬機、復雜環(huán)境虛擬機(IE不同版本、操作系統(tǒng)不同版本、防火墻不同、數(shù)據(jù)庫版本不同)
(2)數(shù)據(jù)準備:正式數(shù)據(jù)、不自洽數(shù)據(jù)
(3)書寫測試功能點
(4)根據(jù)需求分析結果和測試功能點,制定測試策略、測試方法、測試周期、人員安排。
4、測試開始
(1)測試用例書寫:根據(jù)八大測試用例方法書寫:等價類劃分方法、邊界值分析方法、錯誤推測方法、因果圖方法、判定表驅動分析方法、正交實驗設計方法、功能圖分析方法、場景設計方法
(2)編寫測試使用的sql語句、編寫自動化測試腳本
(3)功能測試:可借助測試工具,例如:Xenu、Cookie Editor、QTP
(4)白盒測試:代碼走讀、靜態(tài)結構分析法、邏輯覆蓋法、基本路徑測試法,工具:NUnit。詳讀w.config等配置文件,輔助理解程序整體結構,檢查之前的測試點是否完善。
(5)數(shù)據(jù)庫測試:數(shù)據(jù)備份與恢復測試、故障轉移和恢復測試、數(shù)據(jù)遷移數(shù)據(jù)操作測試(包括不同版本數(shù)據(jù)庫間的遷移、跨數(shù)據(jù)庫類型遷移,例如SQL遷移到Oracle)。
(6)數(shù)據(jù)庫壓力測試
● 通過數(shù)據(jù)庫連接數(shù)的變化,測試是否有連接泄露的現(xiàn)象
● 是否有數(shù)據(jù)表鎖死等現(xiàn)象
(7)性能測試:連接速度測試、負載測試、壓力測試,工具loadrunner
(8)安全性測試:建立整體的威脅模型,測試溢出漏洞、信息泄漏、錯誤處理、SQL 注入、身份驗證和授權錯誤、XSS攻擊??捎霉ぞ撸?/p>
● Paros proxy(http:///fiddler),用于截獲HTTP 通信數(shù)據(jù)
● TamperIE(http:///dl/TamperIESetup.exe),用于修改GET 和POST
(9)兼容性測試:利用之前準備的不同環(huán)境,測試產(chǎn)品兼容性及支持環(huán)境
(10)安裝測試:不同環(huán)境、安裝過程不同選項、不同路徑
(11)參數(shù)測試:書寫可配置參數(shù)的意義及語法說明文檔,并進行測試
5、測試結束:
(1)測試總結:bug情況、系統(tǒng)穩(wěn)定性、使用方便度、遺留待解決改進的問題
(2)功能點測試報告
(3)性能測試報告
(4)環(huán)境要求文檔:操作系統(tǒng)的版本(包括企業(yè)版、標準版等)、位數(shù);數(shù)據(jù)庫的版本(包括企業(yè)版、標準版等)、位數(shù);.Framework版本;不支持的環(huán)境
(5)使用手冊:系統(tǒng)常見故障分析及排除說明、錯誤信息編碼說明
(6)部署文檔:包含F(xiàn)AQ的內容以及截圖
(7)維護文檔:系統(tǒng)目錄結構說明、系統(tǒng)啟動進程說明、數(shù)據(jù)備份說明
(8)外出安裝前的檢查文檔
6、外出安裝注意事項:
(1)設計若安裝出現(xiàn)問題的緊急預案
(2)安裝前檢查環(huán)境(待寫一個環(huán)境檢查的小工具)
(3)根據(jù)事先寫的檢查文檔一項項打勾、安裝后對每一模塊進行測試驗證
(4)安裝結束后,將IIS、WEB.CONFING、注冊表信息、日志信息、防火墻信息、安裝路徑、安裝程序等拷貝回來,撰寫文檔。
第五篇:軟件測試工程師手機軟件測試流程
手機軟件測試流程
我只知道手機軟件測試包括:
基本功能設置(本機設置)測試;對于整個菜單結構進行逐一檢測,驗證在整個菜單中是否所有的功能都已經(jīng)實現(xiàn),以及在操作過程中是否有異常狀況出現(xiàn);
容錯性測試,輸入手機允許范圍之外的數(shù)據(jù)進行測試,檢測反應狀況;
邊界測試,輸入手機允許條件的邊界進行測試,檢測是否有異常現(xiàn)象出現(xiàn);
異常中斷測試,在進行相關操作的同時,有其它事件發(fā)生,查看終端有什么現(xiàn)象產(chǎn)生;
回歸測試
易用性測試
兼容性測試
通話測試(強信號、弱信號以及強信號&弱信號之間切換測試);