版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件測試定義是:使用人工或者自動手段來運行或測試某個系統(tǒng)的過程 ,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別.它是幫助識別開發(fā)完成(中間或最終的版本)的計算機軟件(整體或部分)的正確度(correctness)、完全度(completeness)和質(zhì)量(quality)的軟件過程;是SQA(softwarequalityassurance)的重要子域。GrenfordJ.Myers曾對軟件測試的目的提出過以下觀點:測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。然而,這種觀點指出測試是以查找錯誤為中心,而不是為了演示軟件的正確功能.但是只從字面意思理解,可能會產(chǎn)生誤導(dǎo),認為發(fā)現(xiàn)錯誤是軟件測試的唯一目的,查找不出錯誤的測試就是沒有價值的測試,實際上并非如此!測試并不僅僅是為了找出錯誤.通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時改進;這種分析也能幫助測試人員設(shè)計出有針對性的測試方法 ,改善測試的效率和有效性;沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定軟件質(zhì)量的一種方法軟件測試的內(nèi)容:軟件測試主要工作內(nèi)容是驗證(verification)和確認(validation),下面分別給出其概念:驗證(verification)是保證軟件正確地實現(xiàn)了一些特定功能的一系列活動,即保證軟件做了你所期望的事情。(Dotherightthing)確定軟件生存周期中的一個給定階段的產(chǎn)品是否達到前階段確立的需求的過程;程序正確性的形式證明,即采用形式理論證明程序符號設(shè)一計規(guī)約規(guī)定的過程;評市、審查、測試、檢查、審計等各類活動,或?qū)δ承╉椞幚怼⒎?wù)或文件等是否和規(guī)定的需求相一致進行判斷和提出報告。確認(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個事件(Doitright)靜態(tài)確認,不在計算機上實際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性;動態(tài)確認,通過執(zhí)行程序做分析,測試程序的動態(tài)行為,以證實軟件是否存在問題。軟件測試的對象不僅僅是程序測試,軟件測試應(yīng)該包括整個軟件開發(fā)期問各個階段所產(chǎn)生的文檔,如需求規(guī)格說明、概要設(shè)計文檔、詳細設(shè)計文檔,當(dāng)然軟件測試的主要對象還是源程序。從不同的角度出發(fā),軟件測試可以劃分為不同的分類:從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實現(xiàn)的角度劃分白盒測試黑盒測試灰盒測試從是否執(zhí)行程序的角度靜態(tài)測試動態(tài)測試從軟件開發(fā)的過程按階段劃分有單元測試集成測試確認測試驗收測試系統(tǒng)測試測試過程按4個步驟進行,即單元測試、集成測試、確認測試和系統(tǒng)測試及發(fā)版測試。開始是單元測試,集中對用源代碼實現(xiàn)的每一個程序單元進行測試,檢查各個程序模塊是否正確地實現(xiàn)了規(guī)定的功能。集成測試把已測試過的模塊組裝起來,主要對與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進行測試。確認測試則是要檢查已實現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。系統(tǒng)測試把已經(jīng)經(jīng)過確認的軟件納入實際運行環(huán)境中,與其它系統(tǒng)成份組合在一起進行測試。單元測試(UnitTesting)*單元測試又稱模塊測試,是針對軟件設(shè)計的最小單位 一程序模塊,進行正確性檢驗的測試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例。多個模塊可以平行地獨立進行單元測試。單元測試的內(nèi)容在單元測試時,測試者需要依據(jù)詳細設(shè)計說明書和源程序清單,了解該模塊的I/O條件和模塊的邏輯結(jié)構(gòu),主要采用白盒測試的測試用例,輔之以黑盒測試的測試用例,使之對任何合理的輸入和不合理的輸入,都能鑒別和響應(yīng)。(1)模塊接口測試在單元測試的開始,應(yīng)對通過被測模塊的數(shù)據(jù)流進行測試。測試項目包括:-調(diào)用本模塊的輸入?yún)?shù)是否正確;-本模塊調(diào)用子模塊時輸入給子模塊的參數(shù)是否正確;-全局量的定義在各模塊中是否一致;*在做內(nèi)外存交換時要考慮:-文件屬性是否正確;-OPEN與CLOSE語句是否正確;-緩沖區(qū)容量與記錄長度是否匹配;-在進行讀寫操作之前是否打開了文件;-在結(jié)束文件處理時是否關(guān)閉了文件;-正文書寫/輸入錯誤,-I/O錯誤是否檢查并做了處理。局部數(shù)據(jù)結(jié)構(gòu)測試不正確或不一致的數(shù)據(jù)類型說明使用尚未賦值或尚未初始化的變量錯誤的初始值或錯誤的缺省值變量名拼寫錯或書寫錯不一致的數(shù)據(jù)類型*全局?jǐn)?shù)據(jù)對模塊的影響路徑測試選擇適當(dāng)?shù)臏y試用例,對模塊中重要的執(zhí)行路徑進行測試。應(yīng)當(dāng)設(shè)計測試用例查找由于錯誤的計算、不正確的比較或不正常的控制流而導(dǎo)致的錯誤。對基本執(zhí)行路徑和循環(huán)進行測試可以發(fā)現(xiàn)大量的路徑錯誤。錯誤處理測試出錯的描述是否難以理解出錯的描述是否能夠?qū)﹀e誤定位顯示的錯誤與實際的錯誤是否相符對錯誤條件的處理正確與否在對錯誤進行處理之前,錯誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等邊界測試注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細地選擇測試用例,認真加以測試。如果對模塊運行時間有要求的話,還要專門進行關(guān)鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運行時間的因素。單元測試的步驟模塊并不是一個獨立的程序,在考慮測試模塊時,同時要考慮它和外界的聯(lián)系用一些輔助模塊去模擬與被測模塊相聯(lián)系的其它模塊。-驅(qū)動模塊(driver)-樁模塊(stub)—存根模塊如果一個模塊要完成多種功能,可以將這個模塊看成由幾個小程序組成。必須對其中的每個小程序先進行單元測試要做的工作,對關(guān)鍵模塊還要做性能測試。*對支持某些標(biāo)準(zhǔn)規(guī)程的程序,更要著手進行互聯(lián)測試。有人把這種情況特別稱為模塊測試,以區(qū)別單元測試。集成測試(IntegratedTesting)*集成測試(集成測試、聯(lián)合測試)*通常,在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計要求組裝成為系統(tǒng)。這時需要考慮的問題是:-在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失;-一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;-各個子功能組合起來,能否達到預(yù)期要求的父功能;-全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;-單個模塊的誤差累積起來,是否會放大,從而達到不能接受的程度。在單元測試的同時可進行集成測試,發(fā)現(xiàn)并排除在模塊連接中可能出現(xiàn)的問題,最終構(gòu)成要求的軟件系統(tǒng)。子系統(tǒng)的集成測試特別稱為部件測試,它所做的工作是要找出集成后的子系統(tǒng)與系統(tǒng)需求規(guī)格說明之間的不一致。通常,把模塊集成成為系統(tǒng)的方式有兩種—一次性集成方式-增殖式集成方式一次性集成方式(bigbang)它是一種非增殖式組裝方式。也叫做整體拼裝。使用這種方式,首先對每個模塊分別進行模塊測試,然后再把所有模塊組裝在一起進行測試,最終得到要求的軟件系統(tǒng)。增殖式集成方式這種集成方式又稱漸增式集成首先對一個個模塊進行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng)在集成的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題通過增殖逐步組裝成為要求的軟件系統(tǒng)。自頂向下的增殖方式這種集成方式將模塊按系統(tǒng)程序結(jié)構(gòu),沿控制層次自頂向下進行組裝。自頂向下的增殖方式在測試過程中較早地驗證了主要的控制和判斷點。選用按深度方向組裝的方式,可以首先實現(xiàn)和驗證一個完整的軟件功能。自底向上的增殖方式這種集成的方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始集成和測試。因為模塊是自底向上進行組裝,對于一個給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經(jīng)組裝并測試完成,所以不再需要樁模塊。在模塊的測試過程中需要從子模塊得到的信息可以直接運行子模塊得到。自頂向下增殖的方式和自底向上增殖的方式各有優(yōu)缺點。*一般來講,一種方式的優(yōu)點是另一種方式的缺點。(3)混合增殖式測試*衍變的自頂向下的增殖測試-首先對輸入/輸出模塊和引入新算法模塊進行測試;-再自底向上組裝成為功能相當(dāng)完整且相對獨立的子系統(tǒng);-然后由主模塊開始自頂向下進行增殖測試。自底向上-自頂向下的增殖測試-首先對含讀操作的子系統(tǒng)自底向上直至根結(jié)點模塊進行組裝和測試 ;-然后對含寫操作的子系統(tǒng)做自頂向下的組裝與測試。回歸測試-這種方式采取自頂向下的方式測試被修改的模塊及其子模塊 ;-然后將這一部分視為子系統(tǒng),再自底向上測試。關(guān)鍵模塊問題在組裝測試時,應(yīng)當(dāng)確定關(guān)鍵模塊,對這些關(guān)鍵模塊及早進行測試。關(guān)鍵模塊的特征:滿足某些軟件需求;在程序的模塊結(jié)構(gòu)中位于較高的層次(高層控制模塊);較復(fù)雜、較易發(fā)生錯誤;有明確定義的性能要求。確認測試(ValidationTesting)確認測試又稱有效性測試。任務(wù)是驗證軟件的功能和性能及其它特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定。它包含的信息就是軟件確認測試的基礎(chǔ)。進行有效性測試(黑盒測試)有效性測試是在模擬的環(huán)境(可能就是開發(fā)的環(huán)境)下,運用黑盒測試的方法,驗證被測軟件是否滿足需求規(guī)格說明書列出的需求。首先制定測試計劃,規(guī)定要做測試的種類。還需要制定一組測試步驟,描述具體的測試用例。通過實施預(yù)定的測試計劃和測試步驟,確定-軟件的特性是否與需求相符;-所有的文檔都是正確且便于使用;-同時,對其它軟件需求,例如可移植性、兼容性、出錯自動恢復(fù)、可維護性等,也都要進行測試在全部軟件測試的測試用例運行完后,所有的測試結(jié)果可以分為兩類:-測試結(jié)果與預(yù)期的結(jié)果相符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明書相符合,從而這部分程序被接受。-測試結(jié)果與預(yù)期的結(jié)果不符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明不一致,因此要為它提交一份問題報告。軟件配置復(fù)查n軟件配置復(fù)查的目的是保證u軟件配置的所有成分都齊全;u各方面的質(zhì)量都符合要求;u具有維護階段所必需的細節(jié);u而且已經(jīng)編排好分類的目錄。n應(yīng)當(dāng)嚴(yán)格遵守用戶手冊和操作手冊中規(guī)定的使用步驟,以便檢查這些文檔資料的完整性和正確性。驗收測試(AcceptanceTesting)在通過了系統(tǒng)的有效性測試及軟件配置審查之后,就應(yīng)開始系統(tǒng)的驗收測試。*驗收測試是以用戶為主的測試。軟件開發(fā)人員和 QA(質(zhì)量保證)人員也應(yīng)參加。由用戶參加設(shè)計測試用例,使用生產(chǎn)中的實際數(shù)據(jù)進行測試。*在測試過程中,除了考慮軟件的功能和性能外,還應(yīng)對軟件的可移植性、 兼容性、可維護性、錯誤的恢復(fù)功能等進行確認。確認測試應(yīng)交付的文檔有:-確認測試分析報告-最終的用戶手冊和操作手冊-項目開發(fā)總結(jié)報告。系統(tǒng)測試(SystemTesting)系統(tǒng)測試,是將通過確認測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對計算機系統(tǒng)進行一系列的組裝測試和確認測試。系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合或與之矛盾的地方。軟件測試網(wǎng)站推薦中國軟件測試:/介紹:中國軟件測試網(wǎng)是中國IT實驗室核心技術(shù)頻道,致力于打造國內(nèi)最大最全的軟件測試技術(shù)文獻平臺。51testing軟件測試論壇:介紹:軟件測試網(wǎng)包括軟件測試論壇、軟件測試博客和文章資料精選三大模塊,提供學(xué)習(xí)、交流、教材下載以及求職、招聘信息的發(fā)布、檢索等服務(wù)。技術(shù)文獻目錄:手機測試:/sji/Index.html測試工具介紹:AutoRunner是國內(nèi)第一款自動化測試工具,可以用來完成功能測試、回歸測試每日構(gòu)建測試與自動回歸測試等工作。是具有腳本語言的、提供針對 腳本完善的跟蹤和調(diào)試功能的、支持IE測試和Windowsnative測試的自動化測試工具。TestCenter是一款功能強大測試管理工具,它可以幫助您:實現(xiàn)測試用例的過程管理,對測試需求過程、測試用例設(shè)計過程、業(yè)務(wù)組件設(shè)計實現(xiàn)過程等整個測試過程進行管理。實現(xiàn)測試用例的標(biāo)準(zhǔn)化即每個測試人員都能夠理解并使用標(biāo)準(zhǔn)化后的測試用例,降低了測試用例對個人的依賴;提供測試用例復(fù)用,用例和腳本能夠被復(fù)用,以保護測試人員的資產(chǎn);提供可伸縮的測試執(zhí)行框架,提供自動測試支持;提供測試數(shù)據(jù)管理,幫助用戶同意管理測試數(shù)據(jù),降低測試數(shù)據(jù)和測試腳本之間的 耦合度TAR(TerminalAutoRunner)適用于VT100、VT220等標(biāo)準(zhǔn)的應(yīng)用系統(tǒng),支持命令行模式和窗口模式(使用Cursors編寫的應(yīng)用程序),支持自動錄制腳本、所見即所得的資源和腳本編輯,穩(wěn)定的自動同步功能。是目前國內(nèi)最好的銀行業(yè)務(wù)測試工具LoadRunner是一種預(yù)測系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級負載測試工具。通過以模擬上千萬用戶實施并發(fā)負載及實時性能監(jiān)測的方式來確認和查找問題,LoadRunner能夠?qū)φ麄€企業(yè)架構(gòu)進行測試。通過使用LoadRunner,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。目前企業(yè)的網(wǎng)絡(luò)應(yīng)用環(huán)境都必須支持大量用戶,網(wǎng)絡(luò)體系架構(gòu)中含各類應(yīng)用環(huán)境且由不同供應(yīng)商提供軟件和硬件產(chǎn)品。難以預(yù)知的用戶負載和愈來愈復(fù)雜的應(yīng)用環(huán)境使公司時時擔(dān)心會發(fā)生用戶響應(yīng)速度過慢,系統(tǒng)崩潰等問題。這些都不可避免地導(dǎo)致公司收益的損失。測試用例編寫規(guī)范目的:統(tǒng)一測試用例編寫的規(guī)范,以保證使用最有效的測試用例,保證測試質(zhì)量。范圍:適用于公司對產(chǎn)品的業(yè)務(wù)流程、功能測試測試用例的編寫。術(shù)語解釋測試分析:對重要業(yè)務(wù)、重要流程進行測試前的分析。業(yè)務(wù)流程測試用例:關(guān)于產(chǎn)品業(yè)務(wù)、重要流程的測試用例。業(yè)務(wù)流程測試用例編寫原則系統(tǒng)性對于系統(tǒng)業(yè)務(wù)流程要能夠完整說明整個系統(tǒng)的業(yè)務(wù)需求、系統(tǒng)由幾個子系統(tǒng)組成以及它們之間的關(guān)系;對于模塊業(yè)務(wù)流程要能夠說明清楚子系統(tǒng)內(nèi)部功能、重要功能點以及它們之間的關(guān)系;連貫性對于系統(tǒng)業(yè)務(wù)流程來說,各個子系統(tǒng)之間是如何連接在一起,如果需要接口,各個子系統(tǒng)之間是否有正確的接口;如果是依靠頁面鏈接,頁面鏈接是否正確;對于模塊業(yè)務(wù)流程來說,同級模塊以及上下級模塊是如何構(gòu)成一個子系統(tǒng),其內(nèi)部功能接口是否連貫;測試用例設(shè)計的方法5.1等價類劃分法5.1.1確定等價類的原則如果輸入條件決定了取值范圍,或值的個數(shù),則可以確立一個有效等價類和兩個無效等價類。如果輸入條件規(guī)定了輸入值的集合,或者規(guī)定了“必須如何”的條件,此時可確立一個有效等價類和一個無效等價類;如果輸入條件是一個布爾量,則可以確定一個有效等價類和一個無效等價類;如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序?qū)γ總€輸入值分別進行處理,此時可為每一個輸入值確立一個有效等價類,此外,針對這組值確立一個無效等價類,它是所有不允許輸入值的集合;如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同的角度違反規(guī)則)。如果確知,已劃分的等價類中各元素在程序中的處理方式不同,則應(yīng)將此等價類進一步劃分成更小的等價類。5.1.2測試用例的選擇原則為每一個等價類規(guī)定一個唯一的編號;設(shè)計一個新的測試用例,使其盡可能多的覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步,直至所有的有效等價類都被覆蓋過;設(shè)計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步,直至所有的無效等價類都被覆蓋為止。5.2邊界值分析法5.2.1測試用例的選擇原則如果輸入了條件規(guī)定了值的范圍,則應(yīng)取剛達到這個范圍的邊界值,以及剛剛超越這個邊界范圍的值作為測試輸入數(shù)據(jù);如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最大多1比最小小1的數(shù)作為測試輸入數(shù)據(jù);根據(jù)規(guī)格說明的每個輸出條件,使用前面的原則;如果程序的規(guī)格說明給出的輸入輸出域是有序集合,則應(yīng)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度賓館酒店客房租賃及收益分成及品牌授權(quán)合同2篇
- 二零二五年房產(chǎn)租賃押金返還與住房按揭貸款保全合同3篇
- 二零二五年環(huán)保產(chǎn)業(yè)投資合作合同范本集2篇
- 二零二五年度綠色建筑安裝工程合同范本2篇
- 二零二五版教育局教師幼兒園勞動合同履行評估標(biāo)準(zhǔn)3篇
- 二零二五年度板材行業(yè)風(fēng)險管理與保險合同2篇
- 展會參展商信息收集合同(2篇)
- 2025年度浙江房產(chǎn)市場風(fēng)險防范7月1日實施合同3篇
- 二零二五版工業(yè)項目總承包監(jiān)理服務(wù)合同范本3篇
- 二零二五版混凝土工程數(shù)字化管理與優(yōu)化合同3篇
- 2025年西藏拉薩市柳梧新區(qū)城市投資建設(shè)發(fā)展集團有限公司招聘筆試參考題庫附帶答案詳解
- 2025年部編版一年級語文上冊期末復(fù)習(xí)計劃
- 2024年新高考II卷數(shù)學(xué)高考試卷(原卷+答案)
- 儲罐維護檢修施工方案
- 地理2024-2025學(xué)年人教版七年級上冊地理知識點
- 2024 消化內(nèi)科專業(yè) 藥物臨床試驗GCP管理制度操作規(guī)程設(shè)計規(guī)范應(yīng)急預(yù)案
- 2024-2030年中國電子郵箱行業(yè)市場運營模式及投資前景預(yù)測報告
- 基礎(chǔ)設(shè)施零星維修 投標(biāo)方案(技術(shù)方案)
- 人力資源 -人效評估指導(dǎo)手冊
- 大疆80分鐘在線測評題
- 2024屆廣東省廣州市高三上學(xué)期調(diào)研測試英語試題及答案
評論
0/150
提交評論