第一篇:第07章、正確理解軟件測試(理論課)參考教案
? 注意事項:
? 關(guān)于軟件測試和軟件質(zhì)量的關(guān)系,軟件測試和軟件工程的關(guān)系,以及軟件工程和軟件質(zhì)量的關(guān)系,學(xué)員可能會覺得較難理解,要用通俗的語言和實際的案例進(jìn)行講解。? 本次課程的內(nèi)容以介紹測試實踐經(jīng)驗為主,需要采用提問、舉例和總結(jié)的方式進(jìn)行授課。
? PPT第1~5頁:
? 回顧上一章內(nèi)容,可以采用提問的方式;并簡要介紹本章的學(xué)習(xí)目標(biāo)。
? PPT第6頁:
? 內(nèi)容進(jìn)度頁,向?qū)W員介紹本次課程的進(jìn)度安排。
? PPT第7~8頁:
? 闡述盡早進(jìn)行軟件測試并把測試貫穿整個軟件生命周期的原則。? 首先提問學(xué)員,軟件缺陷是在軟件生命周期的什么階段被引入到程序中的?并將學(xué)員的回答在白板上記錄。然后進(jìn)行總結(jié),并引申闡述在各階段都會引入什么樣的錯誤。接下來承上啟下地提出,不同階段引入的缺陷對于軟件的整個影響有什么不同?對測試的影響有什么不同?通過幻燈片8中的表格總結(jié)出軟件測試應(yīng)該盡早進(jìn)行的結(jié)論。
? 通過幻燈片9中的圖表,分析軟件生命周期的不同階段引入錯誤的多少是不同的,但是這些錯誤需要在后續(xù)的測試過程中逐漸發(fā)現(xiàn),所以說軟件測試在任何階段都不能松懈,軟件測試應(yīng)該貫穿于整個軟件生命周期。
? PPT第9頁:
? 說明軟件測試應(yīng)該追溯到需求的原則。首先通過裝修房子的案例說明什么是需求,需求是用來約束產(chǎn)品的最終標(biāo)準(zhǔn),然后闡述如下幾個觀點: ? 軟件需求過程和需求說明書也是要測試的。
? 最終交付的產(chǎn)品必須滿足需求說明書中的每一項,如果不能滿足,必須以文檔的形式列出來請客戶方確認(rèn)并同意。
? 如果軟件測試過程中發(fā)生爭議,將需求說明書作為標(biāo)準(zhǔn)來評判。? 闡述測試應(yīng)該由第三方構(gòu)造的原則??梢詮囊韵聨讉€方面來說明程序設(shè)計者不應(yīng)該測試自己的程序:
? 程序設(shè)計者一般只熟悉程序結(jié)構(gòu),不熟悉需求。
? 程序設(shè)計者不容易發(fā)現(xiàn)自己程序中存在的很多隱性問題。
? 有些程序設(shè)計者淡化自己程序缺陷的嚴(yán)重程度,影響了程序修復(fù)。
最后需要強(qiáng)調(diào)的是,以上觀點只是對測試工作而言,強(qiáng)調(diào)測試團(tuán)隊組織的獨立性。在實際的工作中,有時也是需要程序員進(jìn)行測試的,比如單元測試工作,很多公司都是由程序員或系統(tǒng)設(shè)計員完成的。而其它測試的話,多數(shù)是由測試人員完成的,如果一個項目中實在沒有單獨的測試隊伍的話,也應(yīng)該讓程序員相互進(jìn)行測試,這樣也比不進(jìn)行測試要好得多,但是在測試之前,首先要進(jìn)行相關(guān)知識的培訓(xùn)(如需求、測試方法和策略等)。
? PPT第10頁:
? 闡述測試是無法窮舉的,測試者需要遵循Good-Enough的原則。首先通過第一堂課中的加法計算器的案例或者教材中電話號碼系統(tǒng)的案例,說明對一個非常小的程序,想要進(jìn)行窮舉測試是非常麻煩的,當(dāng)程序稍微復(fù)雜一些,比如Windows計算器中的加法運算,窮舉測試幾乎是不可能的。接下來講述測試的“Good-Enough”原則。最后通過測試工作量和發(fā)現(xiàn)缺陷數(shù)量之間關(guān)系的圖表說明,找到測試費用和測試量之間的平衡點,是最佳選擇。
? PPT第11頁:
? 闡述測試前必須確定預(yù)期的輸出結(jié)果的原則。通過教材中的四舍五入的例子說明,在測試之前如果不知道輸出什么樣的結(jié)果是正確的,就無法進(jìn)行測試。提示學(xué)員在編寫測試用例時,必須給出預(yù)期結(jié)果。
? 闡述測試完成后必須認(rèn)真檢查每個測試結(jié)果的原則。主要強(qiáng)調(diào)仔細(xì)檢查缺陷報告的必要性,不能遺漏缺陷,遺漏缺陷會帶來很大的危害。重復(fù)缺陷或相似缺陷很容易被遺漏,前面已經(jīng)強(qiáng)調(diào)過,測試不是一個人完成的工作,需要測試組共同協(xié)作,最終完成產(chǎn)品的檢測。但是多人測試就會帶來一個問題,那就是重復(fù)缺陷報告和相似缺陷報告,測試時需要注意以下問題:
? 重復(fù)的缺陷描述可能屬于不同的模塊,要分別處理。? 相似的缺陷報告很容易被作為重復(fù)的缺陷報告被剔除。
? 一個缺陷被兩個人提交后,可能都認(rèn)為是對方跟蹤,結(jié)果誰都沒有跟蹤。? 講解必須充分關(guān)注測試過程中的群集現(xiàn)象,舉例說明測試后發(fā)現(xiàn)缺陷最多的模塊,其殘留的錯誤也可能是最多(可以舉一籃蘋果中的壞蘋果數(shù)目的例子說明群集現(xiàn)象)。
? PPT第12頁:
? 順序介紹其他值得注意的規(guī)律和經(jīng)驗,時間允許的情況下,可以讓學(xué)員進(jìn)行討論:在測試中,還有哪些規(guī)律需要注意?
? PPT第13頁:
? 根據(jù)實際授課情況,對“軟件測試的原則”進(jìn)行小結(jié),回顧前面所講的內(nèi)容。
? PPT第14頁:
? 內(nèi)容過渡頁,做好知識點之間的過渡。
? PPT第15頁:
? 提問學(xué)員什么是軟件,以及軟件的特點是什么?從問答中引導(dǎo)學(xué)員回顧軟件和軟件程序的區(qū)別,接下來提問學(xué)員軟件測試的對象是什么?根據(jù)學(xué)生的回答,引出軟件測試不僅要測試軟件程序是否運行正常,還需要測試軟件的文檔是否符合要求。然后引出評審的概念。
? 簡要說明在“關(guān)于評審”中要介紹的知識點。
? PPT第16~18頁:
? 講解評審的概念,評審主要是針對文檔進(jìn)行評審,但也包含對代碼本身的評審。評審的方式是多種多樣的,評審的次數(shù)和內(nèi)容也可以根據(jù)項目具體制定,但是對開發(fā)各關(guān)鍵階段涉及的一些文檔的評審是必不可少的,那么,軟件在開發(fā)各個階段都會涉及到哪些文檔呢? ? 提問學(xué)員回答后,切換到幻燈片17進(jìn)行補(bǔ)充介紹:
? 對用戶來說用戶文檔包括:用戶手冊、安裝說明等等(如源代碼也作為產(chǎn)品的一部分則還包括源代碼)
? 對企業(yè)來說開發(fā)文檔包括:源代碼、需求分析、概要設(shè)計、詳細(xì)設(shè)計、其他設(shè)計文檔、業(yè)務(wù)建模、技術(shù)經(jīng)驗總結(jié)等等 ? 對企業(yè)來說管理文檔包括:開發(fā)過程的時間和人員安排計劃、便于企業(yè)改進(jìn)開發(fā)過程等等
? 文檔對于軟件產(chǎn)品的重要性是不言而喻的,它不僅僅是腦力勞動的輸出,更重要的是經(jīng)驗重用和項目管理的手段,是走上工程之路的基礎(chǔ)。這里強(qiáng)調(diào)文檔的重要性是因為文檔在測試和開發(fā)過程中經(jīng)常被忽視或推遲完成。? 最后通過幻燈片18說明評審工作的意義。
? PPT第19頁:
? 內(nèi)容過渡頁,做好知識點之間的過渡。
? PPT第20~24頁:
? 介紹軟件測試和軟件質(zhì)量之間的關(guān)系。這部分內(nèi)容從整體上包括層層深入的三個部分:
? 軟件質(zhì)量和軟件過程:過程決定質(zhì)量,軟件過程決定軟件質(zhì)量。
? 軟件質(zhì)量的建立:軟件質(zhì)量是在軟件開發(fā)過程中逐漸建立起來的。? 過程與質(zhì)量的關(guān)系:過程的質(zhì)量直接影響軟件的質(zhì)量。? 決定軟件質(zhì)量的關(guān)鍵因素:人員、技術(shù)和過程是決定軟件質(zhì)量的關(guān)鍵因素。? 好的產(chǎn)品是怎樣生產(chǎn)出來的:高質(zhì)量的人員和好的過程應(yīng)該得到好的產(chǎn)品。
? 軟件測試和軟件過程:軟件測試是軟件過程的一部分。
? 強(qiáng)調(diào)軟件測試過程在整個軟件生命周期中占有重要的位置。? 軟件測試和軟件質(zhì)量:軟件測試是有效提高軟件質(zhì)量的技術(shù)手段。
? 提出問題:那么軟件測試是不是軟件質(zhì)量保證的安全網(wǎng)呢?這里可以列舉牛奶的生產(chǎn)過程進(jìn)行說明:
? 如果把牛奶的生產(chǎn)過程比作軟件生產(chǎn)過程的話,那么軟件質(zhì)量就相當(dāng)于牛奶質(zhì)量,軟件測試相當(dāng)于牛奶質(zhì)量檢測。牛奶質(zhì)量檢測只能測試當(dāng)前的牛奶好壞,要提高牛奶質(zhì)量必須改善生產(chǎn)牛奶的過程,從精選奶牛開始,每個步驟都要改進(jìn)。
? 最后總結(jié):只有堅持不懈的改進(jìn)過程中的問題才是提高軟件產(chǎn)品質(zhì)量的根本出路,但是注意過程并不意味著忽視技術(shù)。軟件質(zhì)量不是依靠軟件測試來保證的,軟件質(zhì)量需要靠不斷的提高技術(shù)水平和改進(jìn)軟件開發(fā)過程來保證,正如牛奶的生產(chǎn),如果把所有對質(zhì)量的期望都壓在對最后一道工序的質(zhì)檢上,那將是一個什么樣的結(jié)果。
? PPT第25頁:
? 內(nèi)容過渡頁,做好知識點之間的過渡。
? PPT第26頁:
? 闡述“軟件質(zhì)量不是靠測出來的”這一觀點。這部分內(nèi)容在介紹軟件測試和軟件質(zhì)量之間的關(guān)系時已經(jīng)進(jìn)行了詳盡的闡述,這里作為正確理解軟件測試的一個觀點,可以提示學(xué)員如下的內(nèi)容:
? 在實際的工作中不要把自己看作質(zhì)量衛(wèi)士,要能夠明確自己的職責(zé),以較好的心態(tài)對待軟件測試。
? 測試人員作為軟件的質(zhì)量保證人員之一,要積極參與推行軟件開發(fā)過程改進(jìn)和軟件測試過程改進(jìn),從根本上提高軟件的質(zhì)量。
? 闡述“軟件測試人員需具備很多開發(fā)人員不具備的素質(zhì)”這一觀點。
? 可以從人們對“測試”這一行業(yè)的人員素質(zhì)的錯誤認(rèn)識談起,比如:某些簡單硬件(比如電話)生產(chǎn)廠家的測試人員,在流水線上對組裝好的產(chǎn)品進(jìn)行著簡單的檢測工作。這使人們心目中形成了一個印象,那就是,測試就是按照固定的流程進(jìn)行簡單操作。這些人相對于產(chǎn)品的設(shè)計者,是不需要很高深的知識的。他們只負(fù)責(zé)檢測產(chǎn)品的某些功能是否正常,而不需要告訴設(shè)計人員是什么原因造成的。這是無所謂的,因為設(shè)計人員基本上可以從現(xiàn)象很快判斷出問題出在哪里。
? 隨著軟件行業(yè)的發(fā)展,軟件作為一個產(chǎn)品,也需要進(jìn)行測試。但是一提起“軟件測試”,有些人馬上想到了那些流水線上的工人。實際上軟件產(chǎn)品和硬件產(chǎn)品完全不同,需要的測試人員也不同。而那些流水線上的工人,連復(fù)雜一些的硬件產(chǎn)品(比如程控交換機(jī))測試也是無法完成的。? 現(xiàn)代軟件的復(fù)雜程度的不斷增加,對軟件測試工作者的要求也越來越高,不是誰都可以做測試,在很多公司,對測試人員的水平要求已經(jīng)超過了開發(fā)人員。? 接下來提問學(xué)員,關(guān)于第一章中“軟件測試人員需要具備的素質(zhì)”的內(nèi)容,然后對幻燈片中的內(nèi)容進(jìn)行詳細(xì)的闡述,闡述時側(cè)重與測試人員和開發(fā)人員所需技能的對比。
? 闡述“軟件測試需要開發(fā)人員和測試人員共同努力”這一觀點。我們提倡第三方來測試,提倡測試部門從項目組中獨立出來,目的是保證進(jìn)行客觀公正的測試,但是這是否說明,開發(fā)和測試是完全獨立,互不依賴的呢?可以從以下幾個方面進(jìn)行闡述:
? 測試和開發(fā)一個是破壞性的,一個是建設(shè)性的,正是不斷的破壞和建設(shè)才能使軟件更加穩(wěn)定更加強(qiáng)大,要更快更好的完成這一過程,需要雙方的配合和努力。? 測試可以幫助開發(fā)人員更快的定位缺陷的位置和產(chǎn)生原因。? 開發(fā)人員可以幫助測試人員優(yōu)化缺陷。開發(fā)人員通過單步跟蹤等方式對程序的檢測可以節(jié)省很多測試工作量。
? 有些測試工作可能需要開發(fā)人員完成,如單元測試。
? PPT第27頁:
? 詳細(xì)講解軟件測試的V模型,側(cè)重于不同階段的測試工作的對應(yīng),說明軟件測試不是軟件開發(fā)過程中的一個階段,而是貫穿于整個軟件生命周期。
? PPT第28頁:
? 根據(jù)實際授課情況,對“爭取理解軟件測試”進(jìn)行小結(jié),回顧前面所講的內(nèi)容。
? PPT第29頁:
? 內(nèi)容過渡頁,做好知識點之間的過渡。
? PPT第30頁: ? 講解處理缺陷時需要注意的幾個問題,包括如下幾個觀點:
? 注意缺陷報告的處理成本
? 對于大多數(shù)項目來說處理全部缺陷是不可能的。? 對缺陷的處理本身也需要成本。? 不可重現(xiàn)的缺陷如何處理。? 修改缺陷要量力而行。
? 修改缺陷是有風(fēng)險的。? 修改缺陷也需要成本。? 關(guān)注被推遲修改的缺陷
? 在一個版本中被推遲的缺陷,到了下一個版本可能優(yōu)先級會有所變動。? 使用缺陷跟蹤工具,可能會幫助我們輕松完成這一工作。? 如果決定據(jù)理力爭就一定要贏
? 如果自己提交的報告存在爭議,應(yīng)該進(jìn)行重新測試,如果確認(rèn)自己的報告是正確的,可以收集更有說服力的資料,必要時采用會議的方式討論。
? PPT第31頁:
? 對本次課程進(jìn)行回顧總結(jié),并利用剩下的時間回答學(xué)員的問題
? 課堂練習(xí)答案
? 一.填空題:
1.盡早地進(jìn)行軟件測試,并把軟件測試貫穿于整個軟件生命周期
軟件測試應(yīng)追溯需求、測試應(yīng)由第三方來構(gòu)造 窮舉測試是不可能的,要遵循Good-enough原則 必須確定預(yù)期輸出結(jié)果
必須徹底檢查每個測試結(jié)果 充分注意測試中的群集現(xiàn)象 其他規(guī)律和經(jīng)驗:
二八定理
要嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性
測試的時候,既要注意合法合理的輸入,也要注意非法的非預(yù)期的輸入 檢查程序是否做了應(yīng)該做的同時,也要檢查是否做了不該做的 測試應(yīng)從“小規(guī)?!遍_始,逐步轉(zhuǎn)向“大規(guī)?!?關(guān)注缺陷的修復(fù)
2.分析
設(shè)計
實現(xiàn)
80% 系統(tǒng)測試
發(fā)現(xiàn)錯誤
發(fā)現(xiàn)所有的錯誤 3.早期階段
中間成果
最終成果 ? 二.選擇題:
1.ABC 2.ABCD
第二篇:第05章、軟件測試流程和分類(理論課)參考教案
? 注意事項:
? 需要結(jié)合軟件產(chǎn)品的整體研發(fā)流程來使學(xué)員熟悉軟件測試流程,明確一個軟件項目的不同階段需要做的工作、輸出哪些文檔,特別是不同的階段需要做哪些測試工作,重點要使學(xué)員掌握軟件項目工作流程圖。? 關(guān)于軟件測試的分類,內(nèi)容比較多而且知識點比較細(xì),這部分內(nèi)容重在概念的理解,講解時需要自己組織一些簡單的案例,目的是讓學(xué)員明白各種測試方法的概念和應(yīng)用的場合,具體的實現(xiàn)不是本章的重點。
? PPT第1~3頁:
? 回顧上一章內(nèi)容,可以采用提問的方式;并簡要介紹本章的學(xué)習(xí)目標(biāo)。
? PPT第4頁:
? 內(nèi)容進(jìn)度頁,向?qū)W員介紹本次課程的進(jìn)度安排。
? PPT第5頁:
? 介紹軟件項目在需求階段的工作流程。
? 首先介紹什么是需求分析,然后闡述需求調(diào)研和需求分析對一個軟件項目的重要性,強(qiáng)調(diào)需求分析并不是與測試無關(guān)的工作,如果有條件,測試人員也應(yīng)該參與需求調(diào)研和分析,這樣有助于發(fā)現(xiàn)系統(tǒng)中很多隱含的缺陷。? 接下來介紹軟件需求階段的工作流程,測試組在需求階段需要完成的任務(wù)和提交的文檔。讓學(xué)員明白一個觀點,需求分析過程不只是在項目開始完成以后就不再進(jìn)行了,需求分析會貫穿整個項目周期,可能還包括系統(tǒng)維護(hù)階段,這時需要引導(dǎo)學(xué)員回顧軟件生命周期的螺旋模型。
? PPT第6~12頁:
? 讓學(xué)員了解在需求階段測試組都應(yīng)該做哪些工作。
? 首先通過幻燈片6概要介紹需求階段測試組制定測試計劃和系統(tǒng)測試方案時重點考慮的問題,然后通過后面的幻燈片詳細(xì)介紹。? 在講解各個條目的時候,最好和前面課程中的測試計劃案例或模板對應(yīng),提示學(xué)員哪些項目需要以文字的形式體現(xiàn)在測試計劃和系統(tǒng)測試方案中,哪些條目可以幫助我們理解產(chǎn)品和產(chǎn)品的實現(xiàn)過程,間接幫助實現(xiàn)測試文檔。
? PPT第13頁:
? 介紹軟件設(shè)計編碼階段需要完成哪些工作。流程圖中涉及到“詳細(xì)設(shè)計”和“概要設(shè)計”的概念,需要在此進(jìn)行知識擴(kuò)展,側(cè)重于介紹詳細(xì)設(shè)計和概要設(shè)計所涵蓋的內(nèi)容。需要提醒大家的是,而現(xiàn)在國內(nèi)很多公司沒有做詳細(xì)設(shè)計,有些公司迫于項目進(jìn)度的壓力將詳細(xì)設(shè)計和編碼同步進(jìn)行,或者在編碼之后補(bǔ)充文檔。這樣就要求概要設(shè)計文檔細(xì)致一些。? 概要設(shè)計
? 在需求明確,有詳細(xì)的《需求規(guī)格說明書》之后、就進(jìn)入設(shè)計和編碼階段,這一階段首先要做概要設(shè)計,目的是使整個軟件開發(fā)工作可以協(xié)調(diào)有序地進(jìn)行。
? 概要設(shè)計是編碼階段將軟件系統(tǒng)需求轉(zhuǎn)換為未來系統(tǒng)的設(shè)計的第一份文檔,是項目小組今后共同作戰(zhàn)的基礎(chǔ),概要設(shè)計的重點是考慮開發(fā)規(guī)范、系統(tǒng)構(gòu)架、實施環(huán)境、系統(tǒng)性能和模塊的分解和接口規(guī)范等。概要設(shè)計的成果是指導(dǎo)軟件設(shè)計編碼的《概要說明書》。
? 詳細(xì)設(shè)計
? 詳細(xì)設(shè)計是在概要設(shè)計的基礎(chǔ)上實現(xiàn)的,詳細(xì)設(shè)計著重描述每一模塊是怎樣實現(xiàn)的,包括實現(xiàn)算法、邏輯流程等。詳細(xì)設(shè)計結(jié)束后會完成《詳細(xì)設(shè)計說明書》,又可稱為《程序設(shè)計說明書》。編制詳細(xì)設(shè)計說明書的目的是向編碼人員說明一個軟件系統(tǒng)各個層次中的每一個程序(每個模塊或子程序)的設(shè)計考慮,如果一個軟件系統(tǒng)比較簡單,層次很少,本文件可以不單獨編寫,有關(guān)內(nèi)容合并入概要設(shè)計說明書。
? 接下來根據(jù)流程圖介紹軟件設(shè)計編碼階段的一般流程。這一階段測試組的主要工作是完成產(chǎn)品的單元測試。
? PPT第14頁:
? 介紹在設(shè)計編碼階段測試組需要完成的測試工作。在概要設(shè)計完成以后,測試組就應(yīng)該參照軟件需求規(guī)格說明書和概要設(shè)計文件著手編寫系統(tǒng)集成測試方案了,這里需要簡要介紹集成測試的概念。在詳細(xì)設(shè)計階段完成以后,測試組需要以此為依據(jù)編寫單元測試方案和單元測試用例。這里簡要介紹單元測試的基本概念和作用。
? PPT第15頁:
? 介紹在系統(tǒng)集成和驗收階段測試組需要完成的測試工作。這一階段80%的工作是測試活動,根據(jù)幻燈片中的流程圖進(jìn)行講解。強(qiáng)調(diào)軟件測試過程貫穿了整個軟件的生命周期。
? PPT第16頁:
? 回顧整個軟件生命周期中的測試活動。這里將測試活動從軟件生命周期中摘出來,形成軟件測試各階段示意圖,需要講解每個測試階段的具體工作和作用,以及每個階段前后之間的順序關(guān)系。
? PPT第17~21頁:
? 主要以概念為主,介紹不同測試階段的特點和作用。依據(jù)幻燈片的順序,參照教材闡述每個測試階段的特點、需要進(jìn)行的工作和所起的作用,注意區(qū)分集成測試、系統(tǒng)測試和驗收測試的不同之處,讓學(xué)員明白什么時候需要進(jìn)行什么階段的測試。這里涉及到確認(rèn)測試、有效性測試和驗收測試等學(xué)員首次接觸的概念,需要重點講解。
? PPT第22頁:
? 對軟件測試流程的知識進(jìn)行小結(jié),提出接下來要講解的內(nèi)容。回顧前面所講的軟件項目總體過程和軟件測試流程的知識,在回顧軟件產(chǎn)品生產(chǎn)流程時可以講解案例8-1,需要達(dá)到如下目標(biāo):
? 讓學(xué)員了解一個大型項目的工作進(jìn)度是如何組織與制定的。
? 讓學(xué)員對將來工作的任務(wù)分配有一個感性的認(rèn)識,明確工作任務(wù)流程的概念,作為項目組的一員,在實際的工作中是如何接受任務(wù)并執(zhí)行的。? 明確測試工作在整個項目過程中占據(jù)重要地位,測試是連接開發(fā)和用戶之間的橋梁紐帶。
? 接下來承上啟下地提出,為了很好地完成前面各個階段的測試工作,軟件測試工程師和專家們總結(jié)了很多有用的經(jīng)驗、方法和技巧,接下來我們就介紹軟件測試的分類和策略。
? PPT第23頁:
? 介紹軟件測試分類的概述,說明對軟件測試的分類從不同的角度有不同的分類方法,這里介紹其中的三種分類:按測試策略分類、按測試階段分類、按測試方法分類,具體的內(nèi)容在后面進(jìn)行詳細(xì)的介紹。
? PPT第24頁:
? 介紹靜態(tài)測試和動態(tài)測試的概念。靜態(tài)測試和動態(tài)測試具有明顯的區(qū)別,就是是否運行程序。靜態(tài)測試一般在編碼結(jié)束后由程序員完成,可以發(fā)現(xiàn)程序中多數(shù)的缺陷。前面講過的白盒測試和黑盒測試都屬于動態(tài)測試的內(nèi)容。介紹時側(cè)重于兩者的區(qū)別。
? PPT第25頁:
? 介紹黑盒測試和白盒測試概念,采用舉例的方式說明,例如:
? 要測試汽車的車燈是否正常,如果用黑盒測試的方法,則打開開關(guān)看看對應(yīng)的車燈是否打開,亮度是否正常;如果用白盒測試的方法,則檢查線路是否連通,布線是否合理等。
? 要測試一個按考試分?jǐn)?shù)劃分學(xué)員等級的程序,假定考試分?jǐn)?shù)為0~60、61~80、81~100時,分別代表不及格、及格和優(yōu)秀三個級別,如果采用黑盒測試法,則選擇有代表意義的分?jǐn)?shù)(如0、60、50、61、72、80、81、93、100、101等)輸入到程序中,看程序的輸出結(jié)果是否正確就可以了;如果采用白盒測試法,則需要首先查看程序的代碼或設(shè)計文檔,了解程序的結(jié)構(gòu),然后選擇具有代表意義的輸入數(shù)據(jù)(如-3、43、74、94、150),運行程序,爭取讓程序的每個判斷和分支語句都被覆蓋一遍,以便發(fā)現(xiàn)程序的缺陷。
? 總結(jié)黑盒測試和白盒測試的概念,及其各自的優(yōu)缺點,強(qiáng)調(diào)雖然黑盒和白盒兩種測試策略可以相互補(bǔ)充,但是即使兩種方法都采用了也不可能測試出程序中全部的缺陷。
? PPT第26頁:
? 介紹手工測試和自動測試的概念。手工測試不是一種測試方法,而是相對于自動測試而產(chǎn)生的一個概念,所謂手工測試就是不借助自動測試工具完成的測試,手動執(zhí)行測試用例判斷結(jié)果的過程。如果在測試過程中借助了被測程序之外的其他的系統(tǒng)來幫助檢查或運行程序,就稱之為自動測試。需要注意的是,自動測試工具可以是自行開發(fā)的,也可以是使用第三方的。在介紹自動測試的時候,側(cè)重于以下幾個方面:
? 為什么要使用工具。
? 例如我們需要在測試數(shù)據(jù)庫的過程中逐條向數(shù)據(jù)庫中輸入一萬條記錄,如果沒有自動測試工具,這種工作對于軟件測試人員來講簡直就是一場噩夢。因此自動測試工具可以為我們省去許多繁雜的工作
? 自動測試相對手工測試具有一定的優(yōu)勢,人會因為疲勞出錯,機(jī)器不會出現(xiàn)類似問題
? 自動測試還不具有普遍性 ? 測試工具本身還不能滿足所有的測試要求。? 測試工具的復(fù)雜性制約了人們的使用。? 有些測試工具是非常昂貴的。? 不能唯工具論
? PPT第27頁:
? 介紹冒煙測試和回歸測試的概念。
? 關(guān)于冒煙測試的概念,在第三章實踐課時曾簡單介紹過,在這里做正事的介紹。側(cè)重于什么是冒煙測試和為什么要進(jìn)行冒煙測試。冒煙測試的概念源于硬件測試,電路板插裝完成后第一道測試工序是插電,插電后如果電路板出現(xiàn)冒煙現(xiàn)象,測試人員就拒絕進(jìn)行下一步的測試。軟件的冒煙測試是指,測試組拿到開發(fā)組提交的測試版本后,會首先對這一版本進(jìn)行部分功能的測試,這種測試不用需要全部的測試人員參與,測試一般從兩個方面入手: ? 驗證此版本關(guān)鍵功能可以正常工作。? 此版本修改的嚴(yán)重問題已經(jīng)基本正常,同時在返測中沒有發(fā)現(xiàn)修改缺陷可能引發(fā)的新缺陷。
然后根據(jù)測試的結(jié)果決定是否讓其他的測試人員轉(zhuǎn)到新版本進(jìn)行測試。冒煙測試的目的是為了節(jié)省有限的測試時間和測試資源。如果新的版本不經(jīng)過冒煙測試而直接發(fā)放到所有測試人員手中,那么一旦測試版本根本無法正常運行,那么會耽誤所有測試人員的寶貴工作時間。例如:安裝新系統(tǒng)可能需要卸掉舊系統(tǒng),也可能需要重新搭建測試環(huán)境。冒煙測試可以通過自動測試工具輔助進(jìn)行。? 講解回歸測試的概念,然后分別舉例闡述下面兩個觀點:
? 回歸測試可以借助工具完成。列舉Mercury公司的Winrunner或IBM公司Rational Robot等自動測試工具實現(xiàn)測試的過程,說明借助工具完成回歸測試已經(jīng)非常普遍。
? 回歸測試是非常必要的,可以參考案例8-2,列舉阿里亞娜5型火箭發(fā)射失敗的例子來說明。
? PPT第28頁:
? 對按策略分類的測試類型進(jìn)行小結(jié),回顧前面的軟件分類的知識點,每個測試類型用一兩句話進(jìn)行概括。
? PPT第29頁:
? 介紹按階段進(jìn)行的軟件測試分類。單元測試、集成測試、系統(tǒng)測試的概念及每個階段所作的工作在介紹軟件測試流程的時候已經(jīng)進(jìn)行了講解,這里側(cè)重介紹每個階段測試的對象、目的、測試依據(jù)和測試方法。
? PPT第30頁:
? 根據(jù)實際授課情況,有側(cè)重地分別介紹每個測試方法。注意介紹測試方法之間的區(qū)別,如壓力測試和負(fù)載測試的區(qū)別,界面測試和功能測試的區(qū)別等。由于學(xué)員沒有進(jìn)行過相應(yīng)的操作,介紹時需要采用實際生活中的案例來做類比,盡可能通俗易懂。比如:講解壓力測試和負(fù)載測試時可以用載重汽車的案例來解釋;講恢復(fù)測試時,可以用SQL Server通過日志進(jìn)行回滾的功能作為例子。
? PPT第31頁:
? 對本次課程進(jìn)行回顧總結(jié),并利用剩下的時間回答學(xué)員的問題。
? 課堂練習(xí)答案
? 一.填空題:
1.模塊測試
最小
集成測試
單元測試
單元模塊 2.集成測試
確認(rèn)測試
有效性測試
軟件配置審查
3.模擬的黑盒測試
需求規(guī)格說明書
測試計劃
測試種類
測試用例
測試步驟
4.軟件配置審查
人工審查
用戶手冊 5.確認(rèn)測試
功能覆蓋
6.用戶
質(zhì)量保證
設(shè)計測試用例
用戶界面
實際數(shù)據(jù)
功能 兼容性
可維護(hù)性
? 二.填空題:
1.ABD 2.ABC
可移植性
第三篇:軟件測試 心得體會
蘭州直方科技有限公司
心得體會
如果要進(jìn)步,那么就要嘗試新的技術(shù),新的思維,大膽的使用,在用的過程中肯定會學(xué)到新的東西。
加強(qiáng)團(tuán)隊內(nèi)部的溝通,是解決團(tuán)隊內(nèi)部分散的最好辦法,如果一個團(tuán)隊沒有很好溝通,那么這個團(tuán)隊就像是沒有肥力的沙漠就沒有競爭力,它的存在價值值得懷疑。但是加強(qiáng)團(tuán)隊建設(shè)是一件很不容易做到的事情,加入團(tuán)隊中有某一個成員技術(shù)很牛,就是搞獨立,不按照游戲的規(guī)則,那么,作為項目小組的負(fù)責(zé)人,該如何去解決這個問題。我想在肯定他技術(shù)很牛的同時也應(yīng)該讓他明白如果只是將自己所做的模塊做好,整個項目卻是一般般,那么自己做好的那個模塊就起不到任何的作用了。溝通,再溝通,直到他能很好的配合團(tuán)隊的工作,這樣我相信我們的團(tuán)隊是一個有凝聚力、競爭力的團(tuán)隊,我們才能按時高質(zhì)量的完成項目。
在這次的項目中,我們學(xué)到了很多。尤為深刻的體會是一個團(tuán)隊如果不能團(tuán)結(jié)在一起,那么它就沒有競爭。項目組之間要多交流一邊更好的理解別人的思維、項目的進(jìn)程來及時解決存在的問題以及計劃的改進(jìn)。要對自己準(zhǔn)確定位知道自己能勝任什庅樣的工作以及在那一方面最擅長可以做得很好。
很榮幸,在本次項目開發(fā)中,我個人承擔(dān)項目小組長的角色,在項目進(jìn)展過程中,非常感謝項目小組成員對我工作的支持,項目經(jīng)理對我的信任。感謝在項目開發(fā)中,各位領(lǐng)導(dǎo)對項目進(jìn)度的關(guān)注!謝謝!
蘭州直方科技有限公司
第四篇:軟件測試心得體會
心得體會
六天的培訓(xùn)結(jié)束了,感覺過得好快啊。雖然是因為參加“模擬招聘”獲得這次機(jī)會的,不像其他同學(xué)一樣是交錢的,但是我也是抱著要學(xué)東西的心態(tài)參加的。
第一天老師就給了個下馬威——教材全是全是英文版的。對于雖然大三的我來說,英語四級剛過,六級成績還沒出來的情況下,想看懂全文是不太現(xiàn)實的。在老師講解過程中利用在線翻譯才勉強(qiáng)能看懂句子。不過培訓(xùn)過程中最難忘的不是來自教材,而是來自老師的那雙犀利的眼神。無論何時,只要你打開了與課堂無關(guān)的網(wǎng)頁,她總會第一時間或叫號碼,或叫名字,或站到你旁邊。說實話,大學(xué)上課已經(jīng)很久沒有這種高中被管的感覺了。雖然不爽,但是卻有種回到高中的快感(說的是實話)。
頭幾天還蠻不錯的,食堂開門的,超市沒關(guān)??珊髱滋?,當(dāng)校門口已無人煙,就剩我們這幾個的時候就真覺得寢室樓好靜啊,還不如在機(jī)房呆著。對于老師我想說的是,前幾天笑容總是掛在臉上,可兩天后明顯笑的少了,不知道是不是因為和大家熟了,沒有剛見面的客氣了(我喜歡看人笑,本身也喜歡笑,老師的這種變化,我很敏銳的察覺了)。
這次培訓(xùn)雖然感覺學(xué)到的沒有很多,但是我了解了一個企業(yè),起碼是軟件測試這一行業(yè)大致的運作模式,讓我對我將來要不要從事這個行業(yè)有了認(rèn)識。貌似軟件測試女生為主,男生比較適合從開發(fā)做起,這是我這幾天得到的最大體會。還有對于課堂結(jié)束的演講,是個鍛煉
自己的好機(jī)會,我并不否認(rèn)這點,不過貌似每個人都只有一次機(jī)會,我是個表現(xiàn)欲很強(qiáng)的人,讓我講了一次有點不過癮。
開始我是因為不想浪費免費來上課的就會,來到后我覺得確實很多時候是需要多接觸下這些社會上的公司、企業(yè)等,畢竟還有一年就畢業(yè)了,到底何去何從自己是真的要好好做個打算了。期待下一期的網(wǎng)新的培訓(xùn)??
第五篇:軟件測試心得
《軟件測試心得體會》
軟件測試在整個軟件周期中的重要性。它存在于整個項目周期,在項目開始
下面簡單談?wù)勎业膸c體會:
體會一:
體會一:軟件測試在整個軟件周期中的重要性。
它存在于整個項目周期,在項目開始之初需求調(diào)研的時候就開始了,在形成需求規(guī)格說明書的時候就需要針對文檔進(jìn)行測試。這個環(huán)節(jié)在后續(xù)整個項目中占了很大的比重,能主導(dǎo)整個項目的走向,成敗與否全在于開始階段的決策。
體會二:軟件測試的真正意義在于發(fā)現(xiàn)錯誤,而不在于驗證軟件是正確的。
再嚴(yán)密的測試也不能完全發(fā)現(xiàn)軟件當(dāng)中所有的錯誤,但是測試還是能發(fā)現(xiàn)大部分的錯誤,能確保軟件基本是可用的,所以在后續(xù)使用的過程中還需要加強(qiáng)快速響應(yīng)的環(huán)節(jié)。結(jié)合軟件測試的理論,故障暴露在最終客戶端之前及時主動的去發(fā)現(xiàn)并解決。這一點就需要加強(qiáng)研發(fā)隊伍的建設(shè)。
體會三:在系統(tǒng)性能測試方面需要重視。
經(jīng)過這次培訓(xùn)中多個案例的講解,讓我了解到系統(tǒng)在上線之后會有很多不能預(yù)知的性能問題,需要在上線之前實現(xiàn)進(jìn)行模擬,以規(guī)避風(fēng)險,包括大數(shù)據(jù)量訪問,高并發(fā)數(shù)等等。當(dāng)然也有很多應(yīng)對手段,沒有哪種手段可稱為最完美,只有最合適的,需要靈活掌握,綜合運用以達(dá)到最優(yōu)程度,這是個很值得研究的領(lǐng)域。
下面是我的幾點想法:
想法一:加強(qiáng)系統(tǒng)上線前的性能測試。
目前我們在項目建設(shè)過程中對性能壓力測試的重視程度還不太高,廠家也很少有雇傭第三方的測試機(jī)構(gòu)。而是在現(xiàn)網(wǎng)進(jìn)行試用,遇到問題再解決,可能會產(chǎn)生滯后問題,影響客戶使用。希望以后能在性能測試方面提高重視程度,加大人力投入,以保證系統(tǒng)上線后能夠穩(wěn)定運行。
想法二:適當(dāng)介入相關(guān)項目研發(fā)
對于快速響應(yīng)這塊,我們不能一味依賴廠家,而希望自己就能快速響應(yīng),及時將問題解決。這也是一個比較長遠(yuǎn)的問題,需要加強(qiáng)研發(fā)力量的投入。
我個人是做開發(fā)出身,有此類經(jīng)驗,當(dāng)時是在客戶現(xiàn)場,因為了解系統(tǒng)內(nèi)部結(jié)構(gòu),能夠在第一時間排查解決客戶所反饋問題。
現(xiàn)在系統(tǒng)完全由廠家開發(fā),很難了解內(nèi)部結(jié)構(gòu),或許會造成后期維護(hù)困難。所以,是否應(yīng)該針對某些項目介入廠家研發(fā)工作,比如請廠家提供源代碼等相關(guān)要素,以增進(jìn)維護(hù)人員對系統(tǒng)的了解。
最后再次感謝公司提供的平臺,感謝領(lǐng)導(dǎo)的信任,讓我有機(jī)會得到更深層次的學(xué)習(xí)以及展示自己能力的機(jī)會,我也會盡我所能來完善工作的系統(tǒng),提高整體工作效率,為南方電網(wǎng)的發(fā)展建設(shè)提供更堅實,優(yōu)秀的支撐服務(wù)平臺。