版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第1章軟件測試技術(shù)基礎西安財經(jīng)學院測試發(fā)展現(xiàn)狀1、國外:獨立的產(chǎn)業(yè),例如微軟為1個開發(fā)比對2個測試。大公司有MI,RationalCompuware等。2、國內(nèi):起步較晚,但發(fā)展后勁很大。第三方測試蓬勃發(fā)展。3、測試作為一個獨立的職業(yè)受到了越來越多的重視。目前門檻較低。國內(nèi)軟件測試行業(yè)發(fā)展過程:A80年代-95年少量非專職B96年-00年小規(guī)模擴張,低要求,低薪資C00年-03年裁撤團隊,提高要求,提高薪資D03年底以后快速擴張,高要求,高薪資微軟的秘密軟件測試職業(yè)特點
可以很快入門的職業(yè),門檻不高.軟件測試人員最好具有軟件開發(fā)經(jīng)驗,理解軟件工程的知識。對于剛剛畢業(yè)的學生,如果希望今后從事軟件開發(fā),那么,先從事一段時間的測試可能更有利于今后的編程。而對于具有多年編程經(jīng)驗的程序員,如果改行做測試,更容易提高技術(shù)。軟件測試工程師級別高級測試工程師:他們不但要掌握測試與開發(fā)技術(shù),而且還要對其所測試軟件對口的行業(yè)非常了解,能夠?qū)y試方案可能出現(xiàn)的問題進行分析和評估。中級測試工程師:他們要能夠編寫測試方案、測試文檔,與項目組一起制定測試階段的工作計劃,能夠在項目中合理利用測試工具來完成測試任務。初級測試工程師:他們的工作通常是按照測試方案和流程對產(chǎn)品進行功能測試,檢查產(chǎn)品是否有缺陷。職業(yè)發(fā)展考核方法:平時30%,考試70%平時成績=40%考勤(n次)+60%作業(yè)(n次)作業(yè):word文檔形式(文件命名規(guī)則:班級+學號后兩位+姓名+作業(yè)的次數(shù))參考資源中國軟件評測中心:UML軟件工程組織:測試時代:軟件測試網(wǎng):希賽網(wǎng)等。第1章引論1.1軟件測試的必要性1.2為什么要進行軟件測試?1.3什么是軟件測試?1.4軟件測試和軟件開發(fā)的關(guān)系1.5測試驅(qū)動開發(fā)的思想1.1軟件測試的必要性1.1.1迪斯尼并不總是帶來笑聲1.1.2一個缺陷造成了數(shù)億美元損失1.1.3火星探測飛船墜毀1.1.4更多的悲劇迪斯尼并不總是帶來笑聲1994年圣誕節(jié)前夕,迪斯尼公司發(fā)布了第一個面向兒童的多媒體光盤游戲“獅子王童話”圣誕節(jié)后的第一天,迪斯尼客戶支持部電話開始響個不停,不斷有人咨詢、抱怨為什么游戲總是安裝不成功,或沒法正常使用這個游戲軟件只能在少數(shù)系統(tǒng)中正常運行一個缺陷造成了數(shù)億美元損失(4195835/3145727)×3145727-4195835=?最后Intel公司付出很大代價,回收CPU,造成4億美元損失火星探測飛船墜毀機械震動在大多數(shù)情況下也會觸發(fā)著地開關(guān),設置錯誤的數(shù)據(jù)位。設想飛船開始著陸時,計算機極有可能關(guān)閉推進器,而火星登陸飛船下墜1800米之后沒有反推進器的幫助,沖向地面,必然會撞成碎片兩個小組本身的工作都沒什么問題,就是沒有合在一起測試,其接口沒有被測,而問題就在這里1.2為什么要進行軟件測試?軟件總存在缺陷。只有通過測試,才可以發(fā)現(xiàn)軟件缺陷。也只有發(fā)現(xiàn)了缺陷,才可以將軟件缺陷從軟件產(chǎn)品或軟件系統(tǒng)中清理出去。軟件中存在的缺陷給我們帶來的損失是巨大的,這也說明了軟件測試的必要性和重要性測試是所有工程學科的基本組成單元,自然也是軟件開發(fā)的重要組成部分。測試人員水平越高,找到軟件問題的時間就越早,軟件就越容易更正,產(chǎn)品發(fā)布之后越穩(wěn)定,公司賺的錢也越多,微軟就是一個典型的例子。盡早和不斷地測試.a要盡早地測試,讓測試人員在軟件的需求和設計階段就介入,而不是等這些工作全部完成了才進行測試。1.盡早和不斷地測試.b1.盡早和不斷地測試.c1.盡早和不斷地測試.d1.3什么是軟件測試?1.3.1軟件測試學科的形成1.3.2正反兩方面的爭辯1.3.3軟件測試的定義1.3.4軟件測試的其它觀點軟件測試學科的發(fā)展從測試的思想導向來劃分為4個階段:
1957~1978年,以功能驗證為導向,測試是證明軟件是正確的(正向思維)。1978~1983年,以破壞性為為導向,測試是為了找到軟件中的錯誤(逆向思維)。1983~1987年,以質(zhì)量評估為導向,測試是提供產(chǎn)品的評估和質(zhì)量度量。1988年起,以缺陷預防為導向,測試是為了展示軟件符合設計要求,發(fā)現(xiàn)缺陷、預防缺陷。更好的階段劃分分為3個階段——初期階段、發(fā)展階段和成熟階段初級階段(1957~1971)測試通常被認為是對產(chǎn)品進行事后檢驗,缺乏有效的測試方法發(fā)展階段(1972~1982),1972年第一次關(guān)于軟件測試的正式會議,促進了軟件測試的發(fā)展成熟階段(1983到現(xiàn)在),國際標準Std829-1983,形成一門獨立的學科和專業(yè),成為軟件工程學科中的一個重要組成部分軟件測試的正面性BillHetzel博士(正向思維的代表):軟件測試就是為程序能夠按預期設想那樣運行而建立足夠的信心。軟件測試是一系列活動,這些活動是為了評價一個程序或系統(tǒng)的特性或能力,并確定是否達到預期的結(jié)果。測試是為了驗證軟件是否符合用戶需求,即驗證軟件產(chǎn)品是否能正常工作軟件測試的反面性
GlenfordJ.Myers
(反向思維的代表):
測試是為了證明程序有錯,而不是證明程序無錯誤一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試測試是為了發(fā)現(xiàn)錯誤而執(zhí)行一個程序或者系統(tǒng)的過程。軟件測試定義的兩面性
評價一個程序或系統(tǒng)的特性或能力并確定是否達到預期的結(jié)果測試是為發(fā)現(xiàn)錯誤而針對某個程序或系統(tǒng)的執(zhí)行過程軟件測試正向思維-驗證軟件正常工作逆向思維-假定軟件有錯誤在設計規(guī)定的環(huán)境下運行軟件的所有功能,直至全部通過。尋找容易犯錯誤的地方和系統(tǒng)的薄弱環(huán)節(jié),試圖破壞系統(tǒng),直至找不出問題。軟件測試的定義定義一:(IEEE1983ofIEEEStandard729)使用人工或自動化手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是發(fā)現(xiàn)預期結(jié)果與實際結(jié)果之間的差別。定義二:軟件測試就是在軟件投入運行前,對軟件需求分析、設計規(guī)格說明和編碼的最終復審,是軟件質(zhì)量保證的關(guān)鍵步驟。定義三:軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設計一批測試用例(包括輸入數(shù)據(jù)與預期輸出結(jié)果),并利用這些測試用例運行軟件,以發(fā)現(xiàn)軟件錯誤的過程。正確的定義驗證”是檢驗軟件是否已正確地實現(xiàn)了產(chǎn)品規(guī)格書所定義的系統(tǒng)功能和特性。“有效性確認”是確認所開發(fā)的軟件是否滿足用戶真正需求的活動。軟件測試是由“驗證(Verification)”和“有效性確認(Validation)”活動構(gòu)成的整體軟件測試的其它觀點軟件測試被認為是對軟件系統(tǒng)中潛在的各種風險進行評估的活動?;陲L險的軟件測試可以被看作是一個動態(tài)的監(jiān)控過程,對軟件開發(fā)全過程進行檢測,隨時發(fā)現(xiàn)問題、報告問題測試的經(jīng)濟觀點就是以最小的代價獲得最高的軟件產(chǎn)品質(zhì)量。經(jīng)濟觀點也要求軟件測試盡早開展工作,發(fā)現(xiàn)缺陷越早,返工的工作量就越小,所造成的損失就越小。軟件測試和軟件質(zhì)量的區(qū)別◎測試的一項任務是提高軟件質(zhì)量◎測試和質(zhì)量保證是不同層面的
QA的重要工作通過預防,檢查和改進來保證軟件質(zhì)量。QA采用全面質(zhì)量管理和過程改進的原理開展工作。測試針對的是開發(fā)的成果,包括最終成果和階段性成果。軟件滿足規(guī)定或潛在用戶需求特性的總和。測試的對象
軟件=程序+數(shù)據(jù)+文檔。軟件測試不等于程序測試。軟件測試應貫穿于整個軟件生命周期中。需求規(guī)格說明,概要設計,詳細設計以及源程序等等,都是測試的對象。1.4軟件測試和軟件開發(fā)的關(guān)系讓人誤解的瀑布模型需求分析和定義系統(tǒng)設計詳細功能設計編碼單元測試功能測試系統(tǒng)測試驗收測試測試用戶需求驗證系統(tǒng)非功能特性驗證功能驗證代碼驗證構(gòu)建過程驗證過程軟件生存周期軟件生命周期計劃/調(diào)研需求分析概要設計詳細設計編碼測試驗收運行維護定義階段開發(fā)階段維護階段瀑布模型特點優(yōu)點:提供了軟件開發(fā)的基本框架,優(yōu)于“手工作坊”式的開發(fā)方法有利于大型軟件開發(fā)過程中人員的組織、管理有利于軟件開發(fā)方法和工具的研究與使用,從而提高了大型軟件項目開發(fā)的質(zhì)量和效率缺點:在軟件開發(fā)的初始階段指明軟件系統(tǒng)的全部需求是困難的,有時甚至是不現(xiàn)實的需求確定后,用戶和軟件項目負責人要等相當長的時間(經(jīng)過設計、編碼、測試、運行)才能得到一份軟件的最初版本。如果用戶對這個軟件提出比較大的修改意見,那么整個軟件項目將會蒙受巨大的人力、財力、時間方面的損失。漸進模型\螺旋模型漸進模型(演化模型、原型模型)原型模型在克服瀑布模型缺點、減少由于軟件需求不明確而給開發(fā)工作帶來風險方面,確實有著顯著的效果原型化方法是用戶和軟件開發(fā)人員之間進行的一種交互過程,適用于需求不確定性高的系統(tǒng)螺旋模型它是生命周期模型與原型模型的結(jié)合,不僅體現(xiàn)了兩個模型的優(yōu)點,還增加了新的成分——風險分析螺旋模型是支持大型軟件開發(fā)并具有廣泛應用前景的模型漸進模型\螺旋模型圖1:漸進模型圖2:螺旋模型◎V模型◎W模型◎H模型◎X模型◎前置測試模型測試模型V模型需求分析概要設計詳細設計編碼單元測試驗收測試系統(tǒng)測試集成測試V模型的一端放置了開發(fā)階段,例如需求、分析、設計以及編碼。V的另一端放置了各種類型的測試,例如單元測試、集成測試、系統(tǒng)測試和驗收測試。W模型需求分析概要設計詳細設計編碼軟件實施系統(tǒng)集成模塊集成測試需求測試概要設計測試詳細設計單元測試驗收測試系統(tǒng)測試集成測試W模型是V模型的擴展,并且它解決V模型的限制。它注重于測試方法學,該方法學將在開發(fā)的各個階段應用靜態(tài)測試技術(shù)。這導致在執(zhí)行開發(fā)過程的同時并行執(zhí)行測試。W模型將測試流程放在與開發(fā)過程相同重要的位置。W模型和V模型都把軟件的開發(fā)視為需求,設計,編碼等一系列串行的活動。同樣的,軟件開發(fā)和測試保持一種線性的前后關(guān)系,需要有嚴格的指令表示上一階段完全結(jié)束,才可以正式開始下一階段。這樣就無法支持迭代、自發(fā)性以及變更的調(diào)整。H模型測試準備測試就緒點測試執(zhí)行測試流程其它流程(如設計流程)測試準備活動:測試計劃、測試設計、測試開發(fā)測試執(zhí)行活動:測試運行、測試評估H模型的特點:◎軟件測試不僅僅指測試的執(zhí)行,還包括很多活動◎軟件測試是一個獨立的流程,貫穿產(chǎn)品整個生命周期,與其他流程并發(fā)地進行◎軟件測試要盡早準備,盡早執(zhí)行◎軟件測試是根據(jù)被測物的不同分層次進行的,不同層次的測試活動可以使按照某個次序先后進行的,但也可能是反復的。X模型X模型特點X模型的左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此后將進行頻繁的交接,通過集成最終合成為可執(zhí)行的程序。(右上半部分),這些可執(zhí)行程序還需要進行測試。已通過集成測試的成品可以進行封版并提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。多根并行的曲線表示變更可以在各個部分發(fā)生。由圖中可見,X模型還定位了探索性測試(右下方)。這是不進行事先計劃的特殊類型的測試,諸如“我這么測一下結(jié)果會怎么樣?”,這一方式往往能幫助有經(jīng)驗的測試人員在測試計劃之外發(fā)現(xiàn)更多的軟件錯誤。前置測試模型測試前置模型特點1、開發(fā)和測試相結(jié)合2、對每一個交付內(nèi)容進行測試3、在設計階段進行測試計劃和測試設計4、驗收測試和技術(shù)測試相互獨立1.5測試驅(qū)動開發(fā)的思想TDD的實踐需求階段測試計劃階段測試設計階段測試執(zhí)行階段總結(jié)評估階段補充:測試項目周期(1)需求階段培訓開發(fā)團隊和客戶,加強開發(fā)團隊和客戶對測試過程和測試標準的了解,影響其對測試的觀點和態(tài)度。確定測試項目的高階范圍確定測試項目的大致計劃和安排
(2)測試計劃階段制定測試標準制定測試需求制定測試計劃系統(tǒng)培訓(3)測試設計階段根據(jù)制定的測試需求、相關(guān)文檔以及被測系統(tǒng)等設計測試用例開發(fā)測試腳本/測試程序設計測試數(shù)據(jù)(4)測試執(zhí)行階段按執(zhí)行計劃執(zhí)行測試用例記錄測試過程缺陷跟蹤
(5)總結(jié)評估階段總結(jié)和評估測試過程、測試結(jié)果編寫測試總結(jié)分析報告補充:測試職位與測試項目角色職位測試經(jīng)理高級測試工程師測試開發(fā)工程師測試工程師測試員項目角色項目負責人測試分析人員測試設計人員測試開發(fā)人員測試執(zhí)行人員角色與職責-計劃階段1角色職責項目負責人作為雙方溝通的橋梁與客戶方項目負責人進行溝通參加并組織測試分析人員、測試設計人員參加測試項目的系統(tǒng)和業(yè)務培訓組織測試分析人員制定測試需求編制測試計劃組織測試分析人員參與階段評審跟蹤和匯報項目進展編寫階段總結(jié)報告角色與職責-計劃階段2角色職責測試分析人員參與測試項目的系統(tǒng)和業(yè)務培訓,以了解和掌握系統(tǒng)只是和業(yè)務知識根據(jù)測試計劃和客戶提供的資料分析并制定測試需求向客戶方需求人員了解所需內(nèi)容以制定和完善測試需求參與階段評審匯報工作進展測試設計人員參與測試項目的系統(tǒng)和業(yè)務培訓,以了解和掌握系統(tǒng)只是和業(yè)務知識角色與職責-設計階段1角色職責項目負責人作為雙方溝通的橋梁與客戶方項目負責人進行溝通組織測試設計人員設計測試用例合理分配工作任務,控制設計進度定期組織測試設計討論和小結(jié)跟蹤和分析測試設計進展,匯報給相應人員定期編寫測試報告編寫階段總結(jié)報告角色與職責-設計階段2角色職責測試分析人員根據(jù)系統(tǒng)的需求和設計更改變更測試需求為測試設計人員提供支持測試設計人員根據(jù)項目負責人的分配進行測試用例設計工作根據(jù)測試需求,配合得到的文檔和系統(tǒng)(原型)設計測試用例測試開發(fā)人員根據(jù)項目負責人的分配進行測試腳本和模塊的開發(fā)工作角色與職責-執(zhí)行階段1角色職責項目負責人作為雙方溝通的橋梁與客戶方項目負責人進行溝
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年駕駛員培訓合同:安全駕駛知識傳授
- 2024印刷宣傳冊年度生產(chǎn)、印刷及后期加工合同3篇
- 2024年股票交易居間協(xié)議
- 2024年豪華KTV租賃合同樣本3篇
- 2024年高端醫(yī)療服務外包合同
- 2025年度膩子產(chǎn)品綠色環(huán)保認證銷售合同3篇
- 2024幼兒園教職工綜合保障聘用合同示范文本3篇
- 2025產(chǎn)業(yè)園智慧園區(qū)建設與運營管理服務合同范本3篇
- 2025年度池塘水利工程設施建設與維護合同3篇
- 雙重預防體系材料明細5篇范文
- 《存量房交易稅費申報表》
- 第21套操作真題211小題題目
- 2023版押品考試題庫必考點含答案
- 養(yǎng)羊場應急預案演練
- 了解慢阻肺疾病 控制治療慢阻肺課件
- 粒缺伴發(fā)熱指南 -中國中性粒細胞缺乏伴發(fā)熱患者抗菌藥物臨床應用指南
- 昆明天大礦業(yè)有限公司尋甸縣金源磷礦老廠箐-小凹子礦段(擬設)采礦權(quán)出讓收益評估報告
- GB/T 9978.5-2008建筑構(gòu)件耐火試驗方法第5部分:承重水平分隔構(gòu)件的特殊要求
- GB/T 7409.3-2007同步電機勵磁系統(tǒng)大、中型同步發(fā)電機勵磁系統(tǒng)技術(shù)要求
- GB/T 5231-2001加工銅及銅合金化學成分和產(chǎn)品形狀
- GB/T 39965-2021節(jié)能量前評估計算方法
評論
0/150
提交評論