第八GIS軟件數(shù)據(jù)工程和十章軟件工程的實(shí)施與測試gai_第1頁
第八GIS軟件數(shù)據(jù)工程和十章軟件工程的實(shí)施與測試gai_第2頁
第八GIS軟件數(shù)據(jù)工程和十章軟件工程的實(shí)施與測試gai_第3頁
第八GIS軟件數(shù)據(jù)工程和十章軟件工程的實(shí)施與測試gai_第4頁
第八GIS軟件數(shù)據(jù)工程和十章軟件工程的實(shí)施與測試gai_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第八章GIS軟件數(shù)據(jù)工程GIS的數(shù)據(jù)源

一GIS的數(shù)據(jù)源,是指建立的地理數(shù)據(jù)庫所需的各種數(shù)據(jù)的來源,主要包括地圖、遙感圖像、文本資料、統(tǒng)計(jì)資料、實(shí)測數(shù)據(jù)、多媒體數(shù)據(jù)、已有系統(tǒng)的數(shù)據(jù)等。1地圖數(shù)據(jù)地圖是GIS的主要數(shù)據(jù)源,因?yàn)榈貓D包含著豐富的內(nèi)容,不僅含有實(shí)體的類別和屬性,而且含有實(shí)體間的空間關(guān)系。地圖數(shù)據(jù)主要通過對地圖的跟蹤數(shù)字化和掃描數(shù)字化獲取。

www.空間數(shù)據(jù)輸入:數(shù)字化儀輸入(手工數(shù)字化)數(shù)字化儀的分辨率。目前可以達(dá)到(每英寸10160線)每毫米400線以上。一般也能達(dá)到0.1mm。需要操作者掌握輸入的精度。數(shù)字化儀可以直接得到矢量數(shù)據(jù)。隨著數(shù)字測量和GIS的普及,紙質(zhì)地圖數(shù)字化的機(jī)會(huì)越來越少。www.空間數(shù)據(jù)輸入:掃描儀輸入

掃描儀:滾筒式、平板式。大幅面A0一般是滾筒式,小幅面一般是平板式A4。掃描得到的是柵格圖像。掃描后,必須進(jìn)行后續(xù)處理。這一工作稱為“矢量化”。www.GIS的數(shù)據(jù)源

2遙感數(shù)據(jù)遙感數(shù)據(jù)是GIS的重要數(shù)據(jù)源。遙感數(shù)據(jù)含有豐富的資源與環(huán)境信息,在GIS支持下,可以與地質(zhì)、地球物理、地球化學(xué)、地球生物、軍事應(yīng)用等方面的信息進(jìn)行信息復(fù)合和綜合分析。遙感數(shù)據(jù)是一種大面積的、動(dòng)態(tài)的、近實(shí)時(shí)的數(shù)據(jù)源,遙感技術(shù)是GIS數(shù)據(jù)更新的重要手段。www.遙感www.www.www.GIS的數(shù)據(jù)源

3統(tǒng)計(jì)資料

國家和軍隊(duì)的許多部門和機(jī)構(gòu)都擁有不同領(lǐng)域(如人口、基礎(chǔ)設(shè)施建設(shè)、兵要地志等)的大量統(tǒng)計(jì)資料,這些都是GIS的數(shù)據(jù)源,尤其是GIS屬性數(shù)據(jù)的重要來源。

www.GIS的數(shù)據(jù)源

4實(shí)測數(shù)據(jù)野外試驗(yàn)、實(shí)地測量等獲取的數(shù)據(jù)可以通過轉(zhuǎn)換直接進(jìn)入GIS的地理數(shù)據(jù)庫,以便于進(jìn)行實(shí)時(shí)的分析和進(jìn)一步的應(yīng)用。解析測量:精度高、中間損失小、野外作業(yè)量大。適合大比例、高精度局部更新。航天攝影測量:范圍大、外業(yè)工作量小,可直接產(chǎn)生柵格數(shù)據(jù),也可進(jìn)一步作矢量化處理。但往往受視線遮擋、陰影的影響。適合小比例圖的成片更新。衛(wèi)星定位技術(shù)(GPS,GlobalPositioningSystem)。www.空間數(shù)據(jù)——野外實(shí)地測量野外測量:大平板、全站儀、GPS、移動(dòng)測繪系統(tǒng)特點(diǎn):精度高、效率較低適合范圍:小范圍GIS數(shù)據(jù)采集或局部數(shù)據(jù)更新www.www.5數(shù)字?jǐn)?shù)據(jù)已建成的應(yīng)用地理信息系統(tǒng)的數(shù)據(jù)。多媒體數(shù)據(jù)(包括聲音、錄像等)通??赏ㄟ^通訊口傳入GIS的地理數(shù)據(jù)庫中,目前其主要功能是輔助GIS的分析和查詢.GIS的數(shù)據(jù)源

www.各種文字報(bào)告和立法文件文本資料是指各行業(yè)、各部門的有關(guān)法律文檔、行業(yè)規(guī)范、技術(shù)標(biāo)準(zhǔn)、條文條例等,如邊界條約等。這些也屬于GIS的數(shù)據(jù)。GIS的數(shù)據(jù)源

www.二地理實(shí)體屬性數(shù)據(jù)的編碼屬性數(shù)據(jù)即空間實(shí)體的特征數(shù)據(jù),一般包括名稱、等級(jí)、數(shù)量、代碼等多種形式。對于要輸入屬性庫的屬性數(shù)據(jù),通過鍵盤則可直接鍵入。對于要直接記錄到柵格或矢量數(shù)據(jù)文件中的屬性數(shù)據(jù),則必須先對其進(jìn)行編碼,將各種屬性數(shù)據(jù)變?yōu)橛?jì)算機(jī)可以接受的數(shù)字或字符形式,便于GIS存儲(chǔ)管理。GIS數(shù)據(jù)編碼www.GIS中代碼的種類分類碼:根據(jù)地理信息分類體系設(shè)計(jì)出的各專業(yè)信息的分類代碼,用以標(biāo)識(shí)不同類別的數(shù)據(jù),根據(jù)它可以從數(shù)據(jù)中查詢出所需類別的全部數(shù)據(jù)。標(biāo)識(shí)碼(識(shí)別碼)在分類碼的基礎(chǔ)上,對每類數(shù)據(jù)設(shè)計(jì)出其全部或主要實(shí)體的識(shí)別代碼,用以對某一類數(shù)據(jù)中的某個(gè)實(shí)體進(jìn)行個(gè)體查詢檢索,從而彌補(bǔ)分類碼不能進(jìn)行個(gè)體分離的缺陷。GIS數(shù)據(jù)編碼www.編碼方法舉例(1)行政區(qū)劃代碼方式用6位數(shù)字表示。第一、二位表示省,三、四位表示省直轄市,五、六位表示縣。如:綿陽:510700(2)層次法GIS數(shù)據(jù)編碼www.土地利用現(xiàn)狀分類及新舊地類編碼對照表基本地類1984舊地類2001過渡地類2001試用地類編碼舊地類名稱編碼過渡地類名稱編碼試用地類名稱農(nóng)用地11耕地11灌溉水田111灌溉水田111灌溉水田12望天田112望天田112望天田13水澆地113水澆地113水澆地14旱地114旱地114旱地15菜地115菜地115菜地12園地21果園121果園121果園22桑園122桑園122桑園23茶園123茶園123茶園24橡膠園124橡膠園124橡膠園25其它園地125其它園地125其它園地13林地31有林地131有林地131有林地32灌木林地132灌木林地132灌木林地33疏林地133疏林地133疏林地34未成林造林地134未成林造林地134未成林造林地35跡地135跡地135跡地36苗圃136苗圃136苗圃14牧草地41天然草地141天然草地141天然草地42改良草地142改良草地142改良草地43人工草地143人工草地143人工草地15其它農(nóng)用地——151畜禽飼養(yǎng)151畜禽飼養(yǎng)——152農(nóng)業(yè)設(shè)施152農(nóng)業(yè)設(shè)施63農(nóng)村道路153農(nóng)村道路153農(nóng)村道路74坑塘水面154坑塘水面154坑塘水面——155養(yǎng)殖水面155養(yǎng)殖水面77溝渠156農(nóng)田水利156農(nóng)田水利87田坎157田坎157田坎——158曬谷場等158曬谷場等建設(shè)用地20城鎮(zhèn)用地50A城市201城市——51B建制鎮(zhèn)202建制鎮(zhèn)——52農(nóng)村居民點(diǎn)203農(nóng)村居民點(diǎn)——53獨(dú)立工礦用地204獨(dú)立工礦——54鹽田205鹽田——55特殊用地206特殊用地——

21商服用地————211商業(yè)————212金融保險(xiǎn)————213餐飲旅館業(yè)————214其它商服22工礦倉儲(chǔ)用地————221工業(yè)————222采礦地————223倉儲(chǔ)23公用設(shè)施用地————231公共基礎(chǔ)設(shè)施————232瞻仰景觀休閑24公共建筑用地————241機(jī)關(guān)團(tuán)體————242教育————243科研設(shè)計(jì)————244文化體育————245醫(yī)療衛(wèi)生————246慈善25住宅用地————251城鎮(zhèn)單一住宅————252城鎮(zhèn)混合住宅————253農(nóng)村宅基地————254空閑宅基地26交通運(yùn)輸用地61鐵路261鐵路261鐵路62公路262公路262公路64民用機(jī)場263民用機(jī)場263民用機(jī)場65港口碼頭264港口碼頭264港口碼頭——265管道運(yùn)輸265管道運(yùn)輸27水利設(shè)施用地73水庫水面271水庫水面271水庫水面78水工建筑272水工建筑272水工建筑未利用地31未利用地81荒草地311荒草地311荒草地82鹽堿地312鹽堿地312鹽堿地83沼澤地313沼澤地313沼澤地84沙地314沙地314沙地85裸土地315裸土地315裸土地86裸巖石礫地316裸巖石礫地316裸巖石礫地88其它未利用地317其它未利用地317其它未利用地32其它土地71河流水面321河流水面321河流水面72湖泊水面322湖泊水面322湖泊水面75葦?shù)?23葦?shù)?23葦?shù)?6灘涂324灘涂324灘涂79冰川及永久積雪325冰川及永久積雪325冰川及永久積雪(3)多源分類編碼法又稱獨(dú)立分類編碼法。是指對于一個(gè)特定的分類目標(biāo),根據(jù)諸多不同的分類依據(jù)分別進(jìn)行編碼,各位數(shù)字代碼之間并沒有隸屬關(guān)系。下圖以河流為例說明了屬性數(shù)據(jù)多源分類編碼法的編碼方法。GIS數(shù)據(jù)編碼www.標(biāo)

號(hào)分類ⅠⅡⅢⅣⅤⅥⅦⅧⅨ123平原河過渡河山地河123常年河時(shí)令河消失河12通航河不通航河123456樹狀河平行河篩狀河輻射河扇形河迷宮河1234567主〔要河〕流∶一級(jí)支

流∶二級(jí)

三級(jí)

四級(jí)

五級(jí)

六級(jí)

七級(jí)12345河長:一組——1公里以下

二組——2公里以下

三組——5公里以下

四組——10公里以下

五組——10公里以上12345678河寬:一組——5~10米

二組——10~20米

三組——20~30米

四組——30~60米

五組——60~120米

六組——120~300米

七組——300~500米

八組——500米以上1234567河流間的最短距離50米

50~100米100~200米200~400米400~500米500~1000米1000~2000米12345彎曲度:2.5公里彎曲

深度

寬度

>40>50>50>40>50>75>25>50>75>25>50>100<25>75>150例如,表中111114322表示?例如,表中111114322表示:平原河,常年流動(dòng),通航,河床形狀為樹形,主流長7公里,寬25米,河流彎曲,2.5公里的彎曲平均數(shù)為40,彎曲的平均深度為50,彎曲的平均寬度>75米。由此可見,該種編碼方法一般具有較大的信息載量。有利于對于空間信息的綜合分析。GIS數(shù)據(jù)編碼www.△×△△△××△圖層屬性表的識(shí)別碼圖層數(shù)字編號(hào)圖名的漢語拼音首字母縮寫,三位比例尺代碼圖類代碼(如D:地質(zhì)圖;H:河道地形圖;L:陸上地形圖)如一幅1:50000將軍廟地質(zhì)圖的地層圖層有地層界線和地層單位二種屬性表,分別取界線(J)、地層(D),即用DCJJM01J、DCJJM01D表示。(4)自定義編碼方式:GIS數(shù)據(jù)編碼www.第十章GIS軟件工程的實(shí)施與測試

1963年美國發(fā)射了探測金星的火箭,其控制程序中的一個(gè)FORTRAN程序語句“DO5I=1,3”被誤寫成“DO5I=1.3”,結(jié)果導(dǎo)致火箭爆炸,損失幾千萬美元,這僅是“,”號(hào)與“.”號(hào)之差,就造成巨大的損失,可見軟件測試是多么至關(guān)重要。10.3軟件測試概述www.各種軟件錯(cuò)誤的出現(xiàn)比例

①功能錯(cuò),占整個(gè)軟件錯(cuò)誤27%,是需求分析設(shè)計(jì)不完整而引起的。②系統(tǒng)錯(cuò),占整個(gè)軟件錯(cuò)誤16%,是總體設(shè)計(jì)錯(cuò)誤而引起的。③數(shù)據(jù)錯(cuò),占整個(gè)軟件錯(cuò)誤10%,由編碼錯(cuò)誤引起的。④編碼錯(cuò),占整個(gè)軟件錯(cuò)誤4%,程序員編碼錯(cuò)誤引起的。⑤其它錯(cuò),占整個(gè)軟件錯(cuò)誤16%,由文檔錯(cuò)和硬件錯(cuò)所引起的。

10.3軟件測試概述www.10.3.1測試步驟:(1)單元測試

——程序設(shè)計(jì)&編碼

bugs(2)集成測試

——模塊之間的連接(3)確認(rèn)測試——用戶參與綜合測試測試階段的信息流:測試評(píng)價(jià)調(diào)試可靠性模型軟件配置測試配置測試結(jié)果可靠性預(yù)測錯(cuò)誤正確錯(cuò)誤率數(shù)據(jù)預(yù)期結(jié)果www.測試軟件:RationalFunctionalTester、BorlandSilk系列工具、WinRunnerRobot等。國內(nèi)介紹軟件測試工具比較好的網(wǎng)站為:51Testing軟件測試論壇國內(nèi)免費(fèi)軟件測試工具有:AutoRunner和TestCenter。開源測試管理工具:Bugfree、Bugzilla、TestLink、mantiszentaopms

開源功能自動(dòng)化測試工具:Watir、Selenium、MaxQ、WebInject

開源性能自動(dòng)化測試工具:Jmeter、OpenSTA、DBMonster、TPTEST、WebApplicationLoadSimulator

www.對源程序中每一個(gè)程序單元進(jìn)行測試,檢查各個(gè)模塊是否正確實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯(cuò)誤。主要測試以下五個(gè)方面:1、模塊接口:內(nèi)部檢查:傳輸參數(shù)的數(shù)目、屬性、單位、次序是否匹配;全程變量的定義是否一致;只做輸入的變元有無被修改,等等。外部檢查:打開、結(jié)束、關(guān)閉文件的操作;文件和屬性;I\O錯(cuò)誤處理;輸出拼寫等等。(1)單元測試www.3、重要的執(zhí)行路徑:

由于窮盡測試不可能,故通常針對最常見的錯(cuò)誤設(shè)計(jì)測試方案。4、出錯(cuò)處理通路:

預(yù)見出現(xiàn)錯(cuò)誤的條件,設(shè)置處理。5、邊界條件:

單元測試中最后,也可能是最重要的任務(wù),因?yàn)檐浖T谄溥吔缡А?1)單元測試2、局部數(shù)據(jù)結(jié)構(gòu):

數(shù)據(jù)說明(declaration);初始化與缺省值的設(shè)置;變量名拼寫;數(shù)據(jù)類型的相容性;上\下文溢出及地址異常等等。www.1、非漸增式測試(Big-bangtesting)TestA,B,C,DTestATestBTestCTestD(2)集成測試(IntegrationTesting)是指在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成一個(gè)完整的系統(tǒng)而進(jìn)行的測試,也稱組裝測試或聯(lián)合測試。www.⑴自頂向下測試

第1步:測試頂端模塊,用樁模塊(stub)代替直接附屬的

下層模塊。

Stub:模擬未測試模塊的活動(dòng)。MS1S22、漸增式測試(Incrementaltesting)逐個(gè)把未經(jīng)過測試的模塊組裝到已經(jīng)測試過的模塊上去,進(jìn)行集成測試。(2)集成測試(IntegrationTesting)www.第2步:根據(jù)深度優(yōu)先或?qū)挾葍?yōu)先的策略,每次用一個(gè)實(shí)際模塊代換一個(gè)stub。(2)集成測試(IntegrationTesting)www.第3步:在結(jié)合進(jìn)一個(gè)模塊的同時(shí)進(jìn)行測試。第4步:回歸測試(regressiontesting)——全部或部分地重復(fù)以前做過的測試。優(yōu)點(diǎn):在早期即對主要控制及關(guān)鍵的抉擇進(jìn)行檢驗(yàn)。問題:Stub只是對低層模塊的模擬,測試時(shí)沒有重要的數(shù)據(jù)自下往上流,許多重要的測試須推遲進(jìn)行,而且在早期不能充分展開人力。(2)集成測試(IntegrationTesting)www.⑵自底向上測試第1步:把低層模塊組合成族,每族實(shí)現(xiàn)一個(gè)子功能。第2步:用驅(qū)動(dòng)模塊(Driver)協(xié)調(diào)測試數(shù)據(jù)的I\O,測試子功能族。Driver:用來模擬被測模塊的上級(jí)調(diào)用模塊,功能要比正真的上級(jí)模塊簡單的多,只完成接受測試數(shù)據(jù),接受被測模塊的測試結(jié)果并輸出。DM1M2(2)集成測試(IntegrationTesting)www.第3步:去掉Driver,自下而上把子功能族合成更大的子功能族。MMMMMMMMMMMMDDDDDD注意:兩種策略的優(yōu)、缺點(diǎn)剛好互補(bǔ),但單用其中任一種都不實(shí)際,通常根據(jù)軟件的特點(diǎn)將二者混用。(2)集成測試(IntegrationTesting)www.(3)確認(rèn)測試(Acceptancetesting)任務(wù):確任軟件的有效性(功能和性能達(dá)標(biāo))。手段:黑盒測試;用戶參與;主要用實(shí)際數(shù)據(jù)進(jìn)行測試。內(nèi)容:按合同規(guī)定審查軟件配置;設(shè)計(jì)測試計(jì)劃,使通過測試保證軟件能滿足所有功能、性能要求;文檔與程序一致,具有維護(hù)階段所必須的細(xì)節(jié);嚴(yán)格按用戶手冊操作,以檢查手冊的完整性和正確性。www.

1.靜態(tài)測試

靜態(tài)測試是指被測試程序不在機(jī)器上運(yùn)行,而是采用人工檢測和計(jì)算機(jī)輔助靜態(tài)分析的手段對程序進(jìn)行檢測,方法如下:

(1)人工測試:是指不依靠計(jì)算機(jī)而靠人工審查程序或評(píng)審軟件。人工審查程序偏重于編碼質(zhì)量的檢驗(yàn),而軟件審查除了審查編碼還要對各階段的軟件產(chǎn)品進(jìn)行檢驗(yàn)。

10.3.2軟件測試方法www.

(2)計(jì)算機(jī)輔助靜態(tài)分析:指利用靜態(tài)分析工具對被測試程序進(jìn)行特性分析,從程序中提取一些信息,以便檢查程序邏輯的各種缺陷和可疑的程序構(gòu)造。

靜態(tài)分析中還可以用符號(hào)代替數(shù)值求得程序結(jié)果,以便對程序進(jìn)行運(yùn)算規(guī)律的檢驗(yàn)。1.靜態(tài)測試www.動(dòng)態(tài)測試指通過運(yùn)行程序發(fā)現(xiàn)錯(cuò)誤。一般意義上的測試大多是指動(dòng)態(tài)測試。動(dòng)態(tài)測試包括:

功能測試結(jié)構(gòu)測試

2.動(dòng)態(tài)測試www.

1.黑盒法

該方法把被測試對象看成一個(gè)黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的接口處進(jìn)行測試,依據(jù)需求說明書,檢查程序是否滿足功能要求。因此,黑盒測試又稱為功能測試或數(shù)據(jù)驅(qū)動(dòng)測試。

10.4黑盒測試法與白盒測試法www.用黑盒法測試時(shí),必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù)。是否要對每個(gè)數(shù)據(jù)都進(jìn)行窮舉測試呢?例如測試一個(gè)程序,需輸入3個(gè)整數(shù)值。微機(jī)上,每個(gè)整數(shù)可能取值有216個(gè),3個(gè)整數(shù)值的排列組合數(shù)為216×216×216=248≈3×1014。假設(shè)此程序執(zhí)行一次為一毫秒,用這些所有的數(shù)據(jù)去測試要用1萬年!但這還不能算窮舉測試,還要輸入一切不合法的數(shù)據(jù)??梢?,窮舉地輸入測試數(shù)據(jù)進(jìn)行黑盒測試是不可能的。

1.黑盒法www.(1)黑盒測試-等價(jià)類劃分等價(jià)劃分

等價(jià)劃分又稱為同值分割,它的含義是針對輸入條件,將所有可能的輸入數(shù)據(jù)(有效的和無效的)分為若干等價(jià)類,對每一個(gè)等價(jià)類只取一組數(shù)據(jù)作為測試數(shù)據(jù),使得選取的測試數(shù)據(jù)具有代表性。啟發(fā)式規(guī)則:(1)如果規(guī)定了輸入數(shù)據(jù)的范圍則可劃分一個(gè)有效的等價(jià)類(輸入數(shù)據(jù)在次范圍),兩個(gè)無效的等價(jià)類(輸入數(shù)據(jù)小于最小值或大于最大值);www.例

輸入值是學(xué)生成績,范圍是0~1000100

有效等價(jià)類1≤成績≤100無效等價(jià)類

成績>100

無效等價(jià)類

成績<0(1)黑盒測試-等價(jià)類劃分

www.(2)如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以劃分出一個(gè)有效的等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從各種不同角度違反規(guī)則);

例:輸入條件說明學(xué)歷可為:???、本科、碩士、博士四種之一,則分別取這四種這四個(gè)值作為四個(gè)有效等價(jià)類,另外把四種學(xué)歷之外的任何學(xué)歷作為無效等價(jià)類。(3)如果規(guī)定了輸入數(shù)據(jù)為整形,則可以劃分出三個(gè)有效類(正整數(shù)、零和負(fù)整數(shù))和一個(gè)無效類(非整數(shù));(4)如果程序的處理對象是表格,則應(yīng)該使用空表,以及含一項(xiàng)或多項(xiàng)的表;(1)黑盒測試-等價(jià)類劃分

www.例:某報(bào)表處理系統(tǒng)要求用戶輸入處理報(bào)表的日期,日期限制在2001年1月至2005年12月,即系統(tǒng)只能對該段期間內(nèi)的報(bào)表進(jìn)行處理,如日期不在此范圍內(nèi),則顯示輸入錯(cuò)誤信息。系統(tǒng)日期規(guī)定由年、月的6位數(shù)字字符組成,前四位代表年,后兩位代表月。如何用等價(jià)類劃分法設(shè)計(jì)測試用例,來測試程序的日期檢查功能?用等價(jià)類劃分法設(shè)計(jì)測試用例舉例:(1)黑盒測試-等價(jià)類劃分

www.第一步:等價(jià)類劃分輸入等價(jià)類有效等價(jià)類無效等價(jià)類

報(bào)表日期的類型及長度6位數(shù)字字符(1)有非數(shù)字字符(4)少于6個(gè)數(shù)字字符(5)多于6個(gè)數(shù)字字符(6)年份范圍在2001~2005之間(2)小于2001(7)大于2005(8)月份范圍在1~12之間(3)“報(bào)表日期”輸入條件的等價(jià)類表小于1(9)大于12(10)(1)黑盒測試-等價(jià)類劃分

www.第二步為有效等價(jià)類設(shè)計(jì)測試用例對表中編號(hào)為1,2,3的3個(gè)有效等價(jià)類用一個(gè)測試用例覆蓋:

測試數(shù)據(jù)期望結(jié)果覆蓋范圍200105等價(jià)類(1)(2)(3)輸入有效(1)黑盒測試-等價(jià)類劃分

www.第三步:為每一個(gè)無效等價(jià)類設(shè)至少設(shè)計(jì)一個(gè)測試用例

測試數(shù)據(jù)期望結(jié)果覆蓋范圍001MAY等價(jià)類(4)輸入無效20015等價(jià)類(5)輸入無效2001005等價(jià)類(6)輸入無效200005等價(jià)類(7)輸入無效200805等價(jià)類(8)輸入無效200100等價(jià)類(9)輸入無效200113等價(jià)類(10)輸入無效測試數(shù)據(jù)不能有重復(fù)(1)黑盒測試-等價(jià)類劃分

www.例:對招干考試系統(tǒng)“輸入學(xué)生成績”子模塊設(shè)計(jì)測試用例

招干考試分三個(gè)專業(yè),準(zhǔn)考證號(hào)第一位為專業(yè)代號(hào),如:1-行政專業(yè),2-法律專業(yè),3-財(cái)經(jīng)專業(yè).

行政專業(yè)準(zhǔn)考證號(hào)碼為:110001~111215法律專業(yè)準(zhǔn)考證號(hào)碼為:210001~212006財(cái)經(jīng)專業(yè)準(zhǔn)考證號(hào)碼為:310001~314015(1)黑盒測試-等價(jià)類劃分

www.例:準(zhǔn)考證號(hào)碼的等價(jià)類劃分

有效等價(jià)類:

(1)110001~111215(2)210001~212006(3)310001~314015

無效等價(jià)類:

(4)-

~110000(5)111216~210000(6)212007~31000(7)314016~+(1)黑盒測試-等價(jià)類劃分

www.邊界分析

選取剛好等于、稍小于和稍大于等價(jià)類邊界值的數(shù)據(jù)作為測試數(shù)據(jù),而不是選取每個(gè)等價(jià)類內(nèi)的典型值或任意值作為測試數(shù)據(jù)。注:通常設(shè)計(jì)測試方案時(shí)總是聯(lián)合使用等價(jià)劃分和邊界分析兩種技術(shù)(2)黑盒測試-邊界分析www.輸入條件報(bào)表日期的類型及長度1個(gè)數(shù)字字符5個(gè)數(shù)字字符7個(gè)數(shù)字字符有1個(gè)非數(shù)字字符全部是非數(shù)字字符6個(gè)數(shù)字字符顯示出錯(cuò)顯示出錯(cuò)顯示出錯(cuò)顯示出錯(cuò)顯示出錯(cuò)輸入有效日期范圍月份范圍“報(bào)表日期”邊界值分析法測試用例測試用例說明測試數(shù)據(jù)期望結(jié)果選取理由52001520010052001.5MAY---200105月份為1月月份為12月月份<1月份>12200101200112200100200113200101200512200100200513輸入有效輸入有效顯示出錯(cuò)顯示出錯(cuò)輸入有效輸入有效顯示出錯(cuò)顯示出錯(cuò)在有效范圍邊界上選取數(shù)據(jù)僅有1個(gè)合法字符比有效長度少1比有效長度多1只有1個(gè)非法字符6個(gè)非法字符類型及長度均有效最小日期最大日期剛好小于最小日期剛好大于最大日期最小月份最大月份剛好小于最小月份剛好大于最大月份錯(cuò)誤推測

基本思想是列舉出程序中可能的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并且根據(jù)它們選擇測試方案。錯(cuò)誤推測方法是根據(jù)經(jīng)驗(yàn)來設(shè)計(jì)測試用例的方法。

例如,數(shù)據(jù)測試中的

缺省值、空白、空值、零值、無(3)黑盒測試-錯(cuò)誤推測www.因果圖是借助圖形來設(shè)計(jì)測試用例,適合于被測程序具有多種輸入條件,程序的輸出又依賴于輸入條件的各種組合的情況。利用因果圖導(dǎo)出測試用例的步驟:列出原因(輸入條件)和結(jié)果(輸出條件);標(biāo)識(shí)出原因和結(jié)果之間的關(guān)系(一一對應(yīng)、選擇關(guān)系、并列關(guān)系、否定關(guān)系),畫出因果圖;把因果圖轉(zhuǎn)化成判定表;對判定表的每一列寫成一個(gè)測試用例。(4)黑盒測試-因果圖www.因果圖法實(shí)例某電力公司有A、B、C、D四類收費(fèi)標(biāo)準(zhǔn),并規(guī)定:居民用電<100度/月按A類收費(fèi)

≥100度/月按B類收費(fèi)動(dòng)力用電<10000度/月,非高峰,B類收費(fèi)

≥10000度/月,非高峰,C類收費(fèi)

<10000度/月,高峰,C類收費(fèi)

≥10000度/月,高峰,D類收費(fèi)(4)黑盒測試-因果圖www.列出原因和結(jié)果原因:

1——居民用電

2——?jiǎng)恿τ秒?/p>

3——<100度/月~3——≥100度/月

4——非高峰~4——高峰

5——<10000度/月~5——≥10000度/月

結(jié)果:A——按A類收費(fèi)

B——按B類收費(fèi)

C——按C類收費(fèi)

D——按D類收費(fèi)(4)黑盒測試-因果圖www.用因果圖表明輸入和輸出間的邏輯關(guān)系1I12B∨∧AC35∧DI4I3I2∨∧∧∧∧并列關(guān)系選擇關(guān)系否定關(guān)系中間結(jié)點(diǎn)4(4)黑盒測試-因果圖www.把因果圖轉(zhuǎn)換為判定表組合條件條件(原因)動(dòng)作(結(jié)果)ABC123123456101100011000110000100001104101050011D000110010000測試用例(4)黑盒測試-因果圖www.把判定表的每一列寫成一個(gè)測試用例1列居民電,90度/月A2列居民電,110度/月B3列動(dòng)力電,非高峰,8000度/月B4列動(dòng)力電,非高峰,1.2萬度/月C5列動(dòng)力電,高峰,0.9萬度/月C6列動(dòng)力電,高峰,1.1萬度/月D

條件測試用例預(yù)期結(jié)果組合(輸入數(shù)據(jù))(輸出動(dòng)作)(4)黑盒測試-因果圖www.①在任何情況下都應(yīng)該使用邊界值分析的方法;②必要時(shí)用等價(jià)劃分法補(bǔ)充;③必要時(shí)再用錯(cuò)誤推測法補(bǔ)充;④對照程序邏輯,檢查測試方案??筛鶕?jù)對程序可靠性的要求采用不同的邏輯覆蓋標(biāo)準(zhǔn),必要時(shí)補(bǔ)充一些測試方案。(5)黑盒測試-綜合策略www.

2.白盒法

該方法把測試對象看作一個(gè)打開的盒子,測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進(jìn)行測試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò),實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。2.白盒法www.白盒法也不可能進(jìn)行窮舉測試,企圖遍歷所有的路徑,往往是做不到的。如測試一個(gè)循環(huán)20次的嵌套的IF語句,循環(huán)體中有5條路徑。測試這個(gè)程序的執(zhí)行路徑為520,約為1014,如果每毫秒完成一個(gè)路徑的測試,測試此程序需3170年!2.白盒法www.源程序如下:ProdureExample(A,B:Real;x:Real);BeginIf(A>1)And(B=0)Thenx:=x/A;If(A=2)or(x>1)Thenx:=x+1End

A>1

ANDB=0

F

F

入口

A=2

OR

x>1

返回

x=x/AT

x=x+1

T

a

c

b

d

e

白盒測試舉例:2.白盒法www.問題:若AND錯(cuò)寫為OR,或X>1錯(cuò)寫為X<1,則錯(cuò)誤無法由上例測出。入口A>1ORB=0TA=2ORX>1TX=X/AX=X+1返回FFTestcase:A=2,B=0,X=4.(1)語句覆蓋:就是設(shè)計(jì)足夠的調(diào)試用例,使得程序中的每個(gè)語句至少執(zhí)行一次。2.白盒法If(A>1)And(B=0)Thenx:=x/A;If(A=2)or(x>1)Thenx:=x+1www.⑵判定覆蓋(Branchcoverage):在⑴的基礎(chǔ)上,每個(gè)判定的每個(gè)分支至少執(zhí)行一次。Testcases:①A=3,B=0,X=3②A=2,B=1,X=1問題:若X>1錯(cuò)寫為X<1,仍然無法被測出。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFX<1?2.白盒法If(A>1)And(B=0)Thenx:=x/A;If(A=2)or(x>1)Thenx:=x+1www.⑶條件覆蓋(Conditioncoverage):在⑴的基礎(chǔ)上,使每個(gè)判定表達(dá)式的每個(gè)條件都取到各種可能的結(jié)果。Testcases:①A=2,B=0,X=4(滿足A>1,B=0;A=2,X>1)②A=1,B=1,X=1(滿足A1,B0;A2,X1)⑷判定/條件覆蓋:即判定覆蓋條件覆蓋

入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF2.白盒法If(A>1)And(B=0)Thenx:=x/A;If(A=2)or(x>1)Thenx:=x+1www.⑸條件組合覆蓋:每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF全部可能的條件組合為:①A>1,B=0②A>1,B0③A

溫馨提示

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

評(píng)論

0/150

提交評(píng)論