軟件測試實用教程-方法與實踐(第2版)課件ch02軟件測試背景_第1頁
軟件測試實用教程-方法與實踐(第2版)課件ch02軟件測試背景_第2頁
軟件測試實用教程-方法與實踐(第2版)課件ch02軟件測試背景_第3頁
軟件測試實用教程-方法與實踐(第2版)課件ch02軟件測試背景_第4頁
軟件測試實用教程-方法與實踐(第2版)課件ch02軟件測試背景_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章軟件測試背景高等學(xué)校計算機(jī)類系列教材軟件測試實用教程——方法與實踐01引子:一個中國黑客高手找茬是指吹毛求疵地進(jìn)行挑剔和批評,雞蛋里挑骨頭算不算找茬?讀者肯定會說,“當(dāng)然算,雞蛋里挑骨頭,這都不算找茬的話,就沒有啥事情可稱為找茬啦”,但是,這種“找茬”充其量是小兒科水平,真正的骨灰級“找茬”是要讓別人哭著喊著求你來找茬,找完之后還要特虔誠地對你說聲“謝謝”,并額外付給你一大筆酬金。哇哦,還有這么好的事情?先來看看中國學(xué)生黑客劉蝶雨的故事吧。引子:一個中國黑客高手軟件測試就是軟件行業(yè)的這種“找茬”職業(yè),它位居2007年IT熱門職業(yè)的榜首,與3G人才、動漫人才并列目前國家重點培養(yǎng)對象的前3甲,軟件測試工程師認(rèn)證成為IT認(rèn)證新貴。您也想如劉蝶雨一樣成為一名測試黑客嗎?那么,還猶豫什么,現(xiàn)在就開始測試之旅吧。引子:一個中國黑客高手02軟件測試的發(fā)展歷程及現(xiàn)狀軟件測試的發(fā)展歷程20世紀(jì)70年代以前是軟件測試發(fā)展第一階段,由于軟件規(guī)模很小,軟件開發(fā)過程中軟件測試的含義較狹窄,測試等同于“調(diào)試”,目的是修復(fù)軟件中已發(fā)現(xiàn)的缺陷,常由開發(fā)人員自行完成,該階段對測試的投入少,且一般需等軟件編寫完成時才進(jìn)行簡單的測試。直至1957年,軟件測試才開始與調(diào)試區(qū)別開來。但人們潛意識里認(rèn)為軟件測試的目的是“使自己確信產(chǎn)品能工作”,并形成一種“為了讓我們看到產(chǎn)品在工作,就得將測試工作往后推一點”的錯誤認(rèn)識。因此,測試活動始終相對滯后于開發(fā)活動。隨著軟件規(guī)模的日益擴(kuò)大和軟件復(fù)雜度的不斷提升,這種模式已無法適應(yīng)軟件行業(yè)發(fā)展的需要。1.第1階段:初始階段軟件測試的發(fā)展歷程進(jìn)入20世紀(jì)70年代,軟件工程開始受到廣泛關(guān)注,人們開始針對軟件測試方法和過程展開探索,并產(chǎn)生一些有效的測試方法,初步建立軟件測試基礎(chǔ)理論,形成了分別以BillHetzel和GlenfordJMyers為代表的兩大思想流派:(1)BillHetzel,代表著作TheCompleteGuidetoSofwareTesting,提出軟件測試的第一類方法:軟件測試的目的是驗證軟件是工作的,即軟件功能是按預(yù)先設(shè)計執(zhí)行的,以正向思維逐個驗證被測軟件系統(tǒng)所有功能點的正確性。第一類方法是主流和行業(yè)標(biāo)準(zhǔn),以需求和設(shè)計為本,有利于界定測試工作的范疇,便于部署測試重點。2.第2階段:定義階段軟件測試的發(fā)展歷程(2)GlenfordJMyers,代表著作TheArtofSofwwareTesting,提出軟件測試的第二類方法:軟件測試的目的是證偽,即測試就是驗證軟件是“不工作的”,以逆向思維發(fā)現(xiàn)被測軟件系統(tǒng)中的缺陷。第二類方法更強(qiáng)調(diào)測試人員發(fā)揮主觀能動性,用逆向思維方式思考開發(fā)人員理解的誤區(qū)、不良的習(xí)慣、程序代碼邊界等,試圖破壞系統(tǒng),有助于發(fā)現(xiàn)更多軟件系統(tǒng)中的缺陷。該階段最重要的里程碑事件包括:①1972年,BillHetzel博士在美國北卡羅來納大學(xué)組織舉行了歷史上第一次以軟件測試為主題的正式學(xué)術(shù)會議②1979年,GlenfordJMyers博士出版了軟件測試領(lǐng)域第一本最重要的專著TheAntofSoftwareTesting。2.第2階段:定義階段軟件測試的發(fā)展歷程20世紀(jì)80年代初,軟件快速趨向大型化和高復(fù)雜度,軟件質(zhì)量越來越重要。該階段出現(xiàn)了軟件測試行業(yè)標(biāo)準(zhǔn)(IEEE/ANSI)和ISO國際標(biāo)準(zhǔn)。該階段最重要的里程碑事件包括:(1)1981年,BillHetzel首次在大學(xué)中開設(shè)SruchuredSofiwareTesting公共課,標(biāo)志著軟件測試走下神壇,成為更多IT技術(shù)人員需要掌握的核心技術(shù);(2)1988年,DavidGelperin和BillHetzel在CommunicationsofACM上發(fā)表論文TheGrowhofSoftwareTesting,首次介紹系統(tǒng)化的軟件測試和評估流程;(3)開始出現(xiàn)QA(質(zhì)量保證)和SQA(軟件質(zhì)量保證)部門。3集成階段軟件測試的發(fā)展歷程進(jìn)入20世紀(jì)90年代,軟件測試進(jìn)入全面發(fā)展時期。一方面軟件測試工具開始盛行,針對單元測試、系統(tǒng)測試等不同階段的各種測試工具逐漸在多種軟件測試活動中使用,軟件測試工具廠商逐漸崛起。另一方面,軟件測試技術(shù)研究取得較大的突破,形成多種測試過程模型,如:(1)Gelper博士提出的測試支持模型(TestingSupportModel,TSM),用于評估測試小組所處環(huán)境對于測試人員的支持程度;(2)Burnstein博士提出的測試成熟度模型(TestingManturityModel,TMM),依據(jù)軟件能力成熟度模型(CapabilityMaturityModel,CMM)框架提出測試的5個不同級別。4.第4階段:管理、測量和最佳化階段1.國外現(xiàn)狀在軟件業(yè)發(fā)達(dá)國家(如美國),軟件測試已發(fā)展得相當(dāng)成熟,并成為一個獨立的產(chǎn)業(yè),主要體現(xiàn)在如下方面:(1)軟件測試在公司中的地位非常重要。公司內(nèi)部軟件測試人員與開發(fā)人員的比例一般高于1:1,必要時會達(dá)到1.5:1的比例。軟件測試的現(xiàn)狀(2)軟件測試的理論研究蓬勃發(fā)展。國際上每年都舉辦各種有關(guān)軟件測試的學(xué)術(shù)年會,涌現(xiàn)出大量相關(guān)研究論文,并以美國卡耐基·梅隆大學(xué)的軟件工程研究所最為著名。(3)軟件測試市場繁榮。針對軟件測試各階段的自動化測試需求,不少專業(yè)公司致力于開發(fā)軟件測試標(biāo)準(zhǔn)和自動化測試工具,并形成較大的產(chǎn)業(yè),如HP的QTP和LR工具、IBM的Rational系列工具,也有不少專業(yè)人士提供了大量開源測試工具,如BugFree、BugZilla、JMeter等。2.國內(nèi)現(xiàn)狀中國的軟件測試技術(shù)研究起步于20世紀(jì)80年代,隨軟件工程的研究而逐步發(fā)展起來,因起步較晚,導(dǎo)致相比歐美發(fā)達(dá)國家仍存在很大差距。進(jìn)入20世紀(jì)90年代以后,隨著國內(nèi)經(jīng)濟(jì)持續(xù)快速增長,軟件行業(yè)得到快速發(fā)展,國家大大提高了對軟件產(chǎn)業(yè)的重視程度,也帶動軟件測試領(lǐng)域朝著正確的方向發(fā)展。軟件測試的現(xiàn)狀目前國內(nèi)測試行業(yè)的現(xiàn)狀主要體現(xiàn)在如下方面:(1)對軟件測試的認(rèn)識和重視程度在不斷提高。因企業(yè)承接的項目規(guī)模偏小,對測試資金投入估計不足;且企業(yè)為爭奪項目,承接項目時承諾的開發(fā)時間很緊,導(dǎo)致測試時間不夠。(2)對軟件產(chǎn)品化測試的技術(shù)研究從手動向自動化方式轉(zhuǎn)變。國內(nèi)軟件企業(yè)規(guī)模偏小,往往通過關(guān)系得到企業(yè)訂單,缺乏對企業(yè)的長遠(yuǎn)規(guī)劃,對產(chǎn)品質(zhì)量要求不嚴(yán),對測試不肯投資,導(dǎo)致產(chǎn)品得不到嚴(yán)格測試就交付客戶使用。(3)軟件測試人員需求大,人員素質(zhì)不斷提高。從軟件測試網(wǎng)連續(xù)5年來的測試從業(yè)人員調(diào)查報告可以看出,軟件測試人員多為職場新手,很多對測試一無所知的人在從事基礎(chǔ)的測試工作,無法保證測試工作的質(zhì)量。(4)測試服務(wù)體系初步形成規(guī)模。隨著用戶對軟件質(zhì)量的要求越來越高,信息系統(tǒng)驗收必須通過第三方測試機(jī)構(gòu)的嚴(yán)格測試進(jìn)行判定。軟件測試的現(xiàn)狀外包軟件測試是指軟件企業(yè)將軟件項目中的全部或部分測試工作交給提供軟件外包測試服務(wù)的公司(簡稱外包公司),由這些公司來為軟件進(jìn)行專門的測試,在技術(shù)和管理上提高軟件測試的有效性,并使軟件企業(yè)可以更好地專注于核心競爭力業(yè)務(wù),降低軟件項目成本。從為軟件公司提供外包測試服務(wù)的業(yè)務(wù)模式看,外包測試主要存在現(xiàn)場測試、公司內(nèi)部測試、設(shè)立聯(lián)合研發(fā)中心3種模式。(1)現(xiàn)場測試模式(On-Site)即人員外派模式,外包公司將自己的測試人員派到客戶現(xiàn)場提供包括測試計劃制訂、測試用例編寫、測試腳本開發(fā)、測試流程優(yōu)化等整個過程在內(nèi)的測試技術(shù)服務(wù),可派整個測試團(tuán)隊獨立測試,也可將測試技術(shù)員分散在客戶測試團(tuán)隊。外包測試的現(xiàn)狀文思創(chuàng)新、博彥科技等是國內(nèi)較為知名的提供外包測試服務(wù)的企業(yè),這類公司主要為歐美和日韓的知名軟件公司(如Microsoft、HP、IBM等)以及國內(nèi)大型IT公司(如華為等)提供測試外包和人力外包服務(wù)。這類企業(yè)對員工的外語水平、綜合素質(zhì)和專業(yè)素質(zhì)要求較高。(2)內(nèi)部測試模式(In-House)內(nèi)部測試模式又分為:完全離岸外包模式(OffShore)、現(xiàn)場增援與離岸結(jié)合模式(OnSitetOffShore),其中,前者是指承接客戶的軟件測試任務(wù)后,在外包公司內(nèi)部進(jìn)行軟件測試工作,按照約定提交軟件測試工件或者軟件測試報告,服務(wù)費用按軟件測試外包的工作量收費,該模式適用于外包項目較成熟、定義明確的情況;后者則指部分人員需外派到客戶處進(jìn)行現(xiàn)場測試,其他人員留在外包公司內(nèi)部做測試。一些本地化產(chǎn)品的測試多采用這種模式。外包測試的現(xiàn)狀(3)設(shè)立聯(lián)合研發(fā)中心模式該模式下,外包公司與客戶設(shè)立聯(lián)合研發(fā)中心和測試實驗室,使外包公司與客戶關(guān)系更加緊密,形成在供應(yīng)商和客戶關(guān)系基礎(chǔ)之上的戰(zhàn)略合作伙伴關(guān)系。這種模式多被大公司所采用,如IBM、神州數(shù)碼等,該模式也是測試外包公司的發(fā)展方向。外包軟件測試行業(yè)的前景非常看好,近年來,我國軟件外包產(chǎn)業(yè)年均增長率為36.5%,處于快速發(fā)展階段,軟件外包測試的興起意味著更多機(jī)會,通過提供軟件測試服務(wù),國內(nèi)軟件本地化公司可擴(kuò)展服務(wù)業(yè)務(wù)范圍,不斷擴(kuò)大發(fā)展規(guī)模。外包測試的現(xiàn)狀03軟件測試的研究熱點軟件測試的研究熱點當(dāng)前軟件測試的研究熱點主要體現(xiàn)在4個方面。(1)針對軟件特點而展開的實用軟件測試技術(shù)和方法的研究隨著當(dāng)前軟件應(yīng)用行業(yè)的日益廣泛,針對不同應(yīng)用的軟件(如Web應(yīng)用、嵌入式系統(tǒng)、游戲軟件等)具有各自的特點,對應(yīng)也有特殊的測試重點和測試方法。Web應(yīng)用程序的特殊性主要體現(xiàn)在:①整體結(jié)構(gòu)為多層結(jié)構(gòu),表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層處于不同系統(tǒng)平臺;②Web應(yīng)用程序多由典型實體構(gòu)成,如HTML、CGI、JSP、XML等;③從運行機(jī)制上看具有分布式、并發(fā)、動態(tài)、實時交互等特征;④綜合使用多種編程技術(shù),如CGI、PHP、ASP、JSP、數(shù)據(jù)庫等,導(dǎo)致系統(tǒng)實現(xiàn)復(fù)雜;⑤程序運行性能與環(huán)境和負(fù)載具有復(fù)雜的關(guān)系,如客戶端瀏覽器緩存的設(shè)置、網(wǎng)絡(luò)情況、服務(wù)器配置、用戶訪問方式、用戶分布特性等,均影響到Web應(yīng)用程序的性能。軟件測試的研究熱點(2)針對新的軟件開發(fā)技術(shù)展開的軟件測試技術(shù)研究20世紀(jì)60、70年代因大型軟件系統(tǒng)開發(fā)引起的軟件危機(jī)促成了Yourdon和DeMarco的結(jié)構(gòu)化分析與結(jié)構(gòu)化設(shè)計的軟件工程方法的盛行,針對這種開發(fā)過程,對應(yīng)的基本測試方法有黑盒測試和白盒測試方法,并分單元測試、集成測試和系統(tǒng)測試3個不同的階段展開測試活動。隨著軟件復(fù)雜度和規(guī)模的不斷提高,傳統(tǒng)的從需求分析→設(shè)計→實現(xiàn)→測試的開發(fā)模式將導(dǎo)致大量重復(fù)勞動,只有引入軟件復(fù)用機(jī)制才能提高軟件生產(chǎn)效率并掌控軟件產(chǎn)品的質(zhì)量,20世紀(jì)80年代出現(xiàn)了面向?qū)ο蠓椒?Object-orientedMethod,OOM),用對象作為描述客觀世界的基本單元,通過類的實例化、繼承和多態(tài)的特性實現(xiàn)復(fù)用。在面向?qū)ο箝_發(fā)方式下,測試也發(fā)生了變化,對應(yīng)有面向?qū)ο蠓治龅臏y試、面向?qū)ο笤O(shè)計的測試及面向?qū)ο缶幋a的測試,特別地,繼承導(dǎo)致的父子關(guān)系、多態(tài)導(dǎo)致的對象的不確定性和對象所具有的狀態(tài)性質(zhì)等,都是面向過程的開發(fā)中所沒有的,對應(yīng)需找到新的測試方法。軟件測試的研究熱點(3)軟件自動化測試技術(shù)的研究自動化測試是軟件測試領(lǐng)域一個長期研究的方向,人們期望最大限度地通過自動化測試提高測試效率,支持各階段的自動化測試,內(nèi)容包括:①如何通過讀取源代碼或需求文檔,自動生成測試用例;②如何通過讀取和分析源代碼,自動計算相關(guān)度量指標(biāo),從而對源代碼的質(zhì)量進(jìn)行測量;③如何自動選擇測試用例包,自動執(zhí)行回歸測試;④如何針對特定應(yīng)用軟件進(jìn)行自動化測試;⑤自動化測試腳本技術(shù)研究等。軟件測試的研究熱點(4)軟件可信性研究互聯(lián)網(wǎng)的普及和發(fā)展為信息資源的廣泛共享和利用提供了可能,但也導(dǎo)致安全性、可靠性、可用性等問題日益凸顯,信息系統(tǒng)常無法以人們所信任的方式工作,并直接或間接對用戶和社會造成損害。ISO/EC15408標(biāo)準(zhǔn)指出:一個可信的組件、操作或過程的行為,在任意操作條件下是可預(yù)測的,并能很好地抵抗應(yīng)用軟件、病毒及一定物理干擾造成的破壞。軟件可信性是軟件質(zhì)量的一種特殊表現(xiàn)形式,重點關(guān)注使用層面的綜合化質(zhì)量屬性及保障。人們從軟件可信性度量與建模、可信軟件構(gòu)造與驗證、可信軟件演化與維護(hù)等方面展開了多方面研究。在可信的概念和結(jié)構(gòu)研究方面,Avizienis等人提出可信安全計算的基本概念和分類方法;David等人對大規(guī)?;ヂ?lián)網(wǎng)服務(wù)的體系結(jié)構(gòu)與可信問題進(jìn)行了深入研究。目前關(guān)于軟件可信性的度量研究主要集中在軟件的可靠性度量和安全性評估。軟件測試的研究熱點在可信軟件構(gòu)造與驗證方面,可信軟件構(gòu)造主要借助已有軟件工程的方法,面對開放的網(wǎng)絡(luò)環(huán)境,將服務(wù)計算與工程作為一種重要的研究途徑。在服務(wù)組合研究中,采用工作流作為典型構(gòu)造方法,采用基于服務(wù)間依賴關(guān)系的軟件構(gòu)造方式,以提高軟件組件的復(fù)用能力、靈活性和可信性,較少涉及對網(wǎng)絡(luò)化軟件的可擴(kuò)展性和動態(tài)演化性的研究。對可信軟件的驗證,多采用基于概率統(tǒng)計、模糊數(shù)學(xué)和主觀邏輯及證據(jù)理論的可信模型等工具,

溫馨提示

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

評論

0/150

提交評論