一、模型建立的方法 GMS軟件有三種建立確定性模型的方法,包括概念模型法、網(wǎng)格法和Solids法。
本書中所選擇的方法為Solids法。不管是利用網(wǎng)格法或者概念模型法建模,對含水層結構進行合理的概化是其中一個重要環(huán)節(jié),所建模型的準確性很大程度上取決于對實際水文地質條件的正確判斷。
若輕視對具體水文地質條件的研究,過多依賴模擬技術建立的模型,通常與實際問題相差甚遠,也沒有使用價值(魏加華等,2003)。當?shù)貙映霈F(xiàn)尖滅、垂向上具有多元結構、水文地質條件比較復雜時,前兩種方法不能準確描述此類地層結構,也不能驗證基于地質統(tǒng)計學插值求得的含水層頂?shù)装甯叱淌欠衽c實際的鉆孔資料相符。
GMS中的實體模塊Solids利用鉆孔資料可以建立地層的三維結構可視化模型,Solids模型定義了地層結構的空間分布,可以切割生成三維顯示任意方向的地層剖面(王麗霞等,2011)。二、模型建立的步驟 利用Solids建模的步驟:(1)在鉆孔模塊(borehole)中定義鉆孔的坐標位置及垂向上的層位(horizon)。
層位即不同地層的交線或巖性分界線。由于地層沉積通常是連續(xù)的,因此層位按照一定的次序排列。
然而實際地層一般比較復雜,鉆孔資料常出現(xiàn)地層缺失現(xiàn)象,遇到此種情況,將缺失的層位空出,使Solids得到的剖面和實際地層剖面相符合。(2)根據(jù)實際的鉆孔資料將相應的層位用弧線連接,同時注意地層尖滅的標示。
層位連接后生成不同多邊形,每個多邊形表示相應的地層或巖性。(3)在地圖模塊Maps中定義不規(guī)則三角網(wǎng)格TIN,來表示地層單元插值的表面邊界。
(4)在實體模塊Solids選擇恰當?shù)牟逯捣椒?,由horizons生成其相應地層的Solids。如果有N個horizons則有N-1個Solids,Solids生成后即可以在模型上切割任意剖面來檢驗模型的三維空間結構。
(5)根據(jù)Solids數(shù)來確定所需網(wǎng)格的最小層數(shù),生成三維網(wǎng)格并進行MODFLOW的初始化。將Solids記錄的地層空間信息轉成MODFLOW中含水層的頂?shù)装鍢烁撸链说叵滤S空間結構模型建立完成。
三、建模過程中可能遇到的問題及解決方法 地下水三維可視化模型建立,首先要基本查明灌區(qū)的水文地質條件。了解灌區(qū)的地貌、地質條件、構造發(fā)育、各地層厚度等信息,需要收集和整理地下水的相關資料,包括灌區(qū)水文地質報告、構造圖、地質地貌圖、水文地質剖面圖、電子版地理底圖、等高線圖、含水層頂?shù)装甯叱痰戎稻€圖以及鉆孔數(shù)據(jù)資料等。
再結合水文地質條件對含水層資料進行整理和概化。利用GMS建立地下水三維可視化模型時,尤其是在大區(qū)域建模中,可能出現(xiàn)3類問題(張永波等,2007;孫紅梅等,2008)。
1.由于鉆孔分布不均勻而導致的地層缺失 在大區(qū)域建模中,由于研究區(qū)范圍較大,各部分研究程度不同,一般會引起鉆孔分布的不均勻。通過不均勻分布的鉆孔資料建立水文地質結構模型,可能致使部分地層產生缺失,導致結構模型失真。
另外,鉆孔分布均勻程度是一個相對概念,對于地形平緩、地層結構相對簡單的地區(qū),少量鉆孔基本可以比較清楚地反映地層結構;對于地形起伏較大、地層結構比較復雜、構造比較發(fā)育的地區(qū),需要較多的有效鉆孔,才可能準確揭示地層分布及構造發(fā)育狀況,然而實際工作中完全實現(xiàn)是不可能的。對于此種問題,根據(jù)研究區(qū)的地質地貌圖、構造分布圖及前人繪制的剖面圖,對已有的鉆孔數(shù)據(jù)資料進行分析和整理,在具有控制點作用的位置可以適當虛擬部分鉆孔數(shù)據(jù)或者各層面的高程數(shù)據(jù),以準確反映該區(qū)域地層結構和構造。
采用擴充后的鉆孔數(shù)據(jù)資料建立水文地質結構模型,可以彌補由于鉆孔資料缺乏而導致的部分地層的缺失。2.由于鉆孔不夠深而引起的下伏地層抬升 在鉆探工作中,往往有些鉆孔深度不夠,不能完整地揭露地層。
根據(jù)這樣的鉆孔數(shù)據(jù)建立水文地質結構模型時,系統(tǒng)默認將鉆孔底部的標高作為上一層的底部界面。這樣就造成下伏地層的抬升。
對于這種情況,根據(jù)前人繪制的地層等厚度線及剖面圖,結合四周鉆孔數(shù)據(jù)對該鉆孔資料進行修正,修正后的鉆孔資料可以比較準確地反映地層結構。采用修正后的數(shù)據(jù)資料建立水文地質結構模型,可以有效地控制下伏地層的抬升。
3.由于鉆孔資料過細而引起的地層混雜 在野外紀錄的鉆孔資料中,局部有透鏡體形成的地層,透鏡體分布的連續(xù)性相對較差。采用過細的資料建模,計算機不能分辨透鏡體及連續(xù)地層,容易出現(xiàn)地層混雜,即將某個鉆孔的透鏡體地層和另一個或其他幾個鉆孔的連續(xù)地層分界面相連接,導致生成錯誤的地層結構。
對于這種情況,根據(jù)該區(qū)域剖面圖整理資料時,將透鏡體區(qū)分出來,忽略較小的透鏡體,針對較大的透鏡體則另外生成地層結構。此外,在插值計算中,由于計算方法的不同,產生的結果也許會有很大差異,這需要在進行插值計算時,根據(jù)不同的具體條件選擇適當?shù)牟逯捣椒ā?/p>
—般說來建立數(shù)學模型的方法大體上可分為兩大類、一類是機理分析方法,一類是測試分析方法.機理分析是根據(jù)對現(xiàn)實對象特性的認識、分析其因果關系,找出反映內部機理的規(guī)律,建立的模型常有明確的物理或現(xiàn)實意義.
模型準備 首先要了解問題的實際背景,明確建模的目的搜集建模必需的各種信息如現(xiàn)象、數(shù)據(jù)等,盡量弄清對象的特征,由此初步確定用哪一類模型,總之是做好建模的準備工作.情況明才能方法對,這一步一定不能忽視,碰到問題要虛心向從事實際工作的同志請教,盡量掌握第一手資料.
模型假設 根據(jù)對象的特征和建模的目的,對問題進行必要的、合理的簡化,用精確的語言做出假設,可以說是建模的關鍵一步.一般地說,一個實際問題不經(jīng)過簡化假設就很難翻譯成數(shù)學問題,即使可能,也很難求解.不同的簡化假設會得到不同的模型.假設作得不合理或過份簡單,會導致模型失敗或部分失敗,于是應該修改和補充假設;假設作得過分詳細,試圖把復雜對象的各方面因素都考慮進去,可能使你很難甚至無法繼續(xù)下一步的工作.通常,作假設的依據(jù),一是出于對問題內在規(guī)律的認識,二是來自對數(shù)據(jù)或現(xiàn)象的分析,也可以是二者的綜合.作假設時既要運用與問題相關的物理、化學、生物、經(jīng)濟等方面的知識,又要充分發(fā)揮想象力、洞察力和判斷力,善于辨別問題的主次,果斷地抓住主要因素,舍棄次要因素,盡量將問題線性化、均勻化.經(jīng)驗在這里也常起重要作用.寫出假設時,語言要精確,就象做習題時寫出已知條件那樣.
模型構成 根據(jù)所作的假設分析對象的因果關系,利用對象的內在規(guī)律和適當?shù)臄?shù)學工具,構造各個量(常量和變量)之間的等式(或不等式)關系或其他數(shù)學結構.這里除需要一些相關學科的專門知識外,還常常需要較廣闊的應用數(shù)學方面的知識,以開拓思路.當然不能要求對數(shù)學學科門門精通,而是要知道這些學科能解決哪一類問題以及大體上怎樣解決.相似類比法,即根據(jù)不同對象的某些相似性,借用已知領域的數(shù)學模型,也是構造模型的一種方法.建模時還應遵循的一個原則是,盡量采用簡單的數(shù)學工具,因為你建立的模型總是希望能有更多的人了解和使用,而不是只供少數(shù)專家欣賞.
模型求解 可以采用解方程、畫圖形、證明定理、邏輯運算、數(shù)值計算等各種傳統(tǒng)的和近代的數(shù)學方法,特別是計算機技術.
模型分析 對模型解答進行數(shù)學上的分析,有時要根據(jù)問題的性質分析變量間的依賴關系或穩(wěn)定狀況,有時是根據(jù)所得結果給出數(shù)學上的預報,有時則可能要給出數(shù)學上的最優(yōu)決策或控制,不論哪種情況還常常需要進行誤差分析、模型對數(shù)據(jù)的穩(wěn)定性或靈敏性分析等.
模型檢驗 把數(shù)學上分析的結果翻譯回到實際問題,并用實際的現(xiàn)象、數(shù)據(jù)與之比較,檢驗模型的合理性和適用性.這一步對于建模的成敗是非常重要的,要以嚴肅認真的態(tài)度來對待.當然,有些模型如核戰(zhàn)爭模型就不可能要求接受實際的檢驗了.模型檢驗的結果如果不符合或者部分不符合實際,問題通常出在模型假設上,應該修改、補充假設,重新建模.有些模型要經(jīng)過幾次反復,不斷完善,直到檢驗結果獲得某種程度上的滿意.
模型應用 應用的方式自然取決于問題的性質和建模的目的,這方面的內容不是本書討論的范圍。
應當指出,并不是所有建模過程都要經(jīng)過這些步驟,有時各步驟之間的界限也不那么分明.建模時不應拘泥于形式上的按部就班,本書的建模實例就采取了靈活的表述方式
業(yè)務用例模型(business use-case model),在RUP中定義為:業(yè)務用例模型是說明業(yè)務預期功能的模型。
作為一個核心輸入模型,業(yè)務用例模型用于確定組織的各個角色和可交付工件。從業(yè)務用例模型的定義可以看出,它是企業(yè)最核心,最概括的業(yè)務說明。
它主要是由業(yè)務用例和業(yè)務主角構成的,其主要目的是說明客戶和合作伙伴是如何開展業(yè)務的,它描述業(yè)務的主要方式是通過業(yè)務用例的方式。下圖為RUP中業(yè)務用例模型的圖示。
從圖中我們也可以很清楚的看出業(yè)務用例模型包括一組的業(yè)務用例。這是因為企業(yè)中的業(yè)務通常都會由多個的業(yè)務用例的多個實例構成。
這些業(yè)務用例形成的企業(yè)工作流程可能會由業(yè)務主角所引發(fā),也可能會由業(yè)務規(guī)則②所引發(fā)。②業(yè)務規(guī)則(Business Rules):業(yè)務規(guī)則是必須遵守的政策或條件的聲明。
業(yè)務用例模型實際上就是企業(yè)經(jīng)營業(yè)務的一種描述,為了建立完整、準確的企業(yè)用例模型,應該將注意力專注于企業(yè)的業(yè)務做了些什么事情,而不應該集中于如何做。雖然這樣可能會產生一些業(yè)務用例相沖突,相重復的情況,但是RUP的思想在于迭代,這項工作完全可以在接下去的迭代周期內完善。
業(yè)務用例模型是和企業(yè)業(yè)務最貼近的計算機模型。它的很多思想和企業(yè)日常經(jīng)營如出一轍。
在企業(yè)的日?;顒又?,業(yè)務的種類可能有很多種。在一些講述ERP思想的文章中,通常會強調三類:一種是和主營業(yè)務密切相關的工作,例如銀行的營業(yè)部、信貸部、押匯部等。
這種工作通過人的勞動,將一種資源轉變?yōu)榱硪环N資源,產生價值。一種是管理型的工作,例如公司的管理層,財務部門等。
這種工作本身并不產生價值,但是它通過指導、管理、檢測第一種工作,加大第一種工作的產出價值。還有一種稱為支持工作,例如系統(tǒng)管理、安全等。
它并不是很重要,具有支持其他工作的性質。業(yè)務模型同樣可以使用這種分類。
通過這種分類,可以更好的把握核心業(yè)務用例,為下一步的工作打好基礎。有很多業(yè)務用例是由業(yè)務主角觸發(fā)的,RUP中也把和業(yè)務主角有關聯(lián)關系的業(yè)務用例稱為核心業(yè)務用例(Core Business Use Case)。
這強調了構建業(yè)務模型的目的是為了提供以用戶為中心的服務。這也是我們建立業(yè)務用例的時候應該注意的。
當然,有時候業(yè)務用例的觸發(fā)是為了產生用戶需要的結果。例如企業(yè)的市場調查行為就不是由業(yè)務主角觸發(fā),而是企業(yè)積累了大量用戶請求的結果。
而對于管理型、支持型的,不直接和業(yè)務主角的客戶類發(fā)生聯(lián)系,但是也有其特定的業(yè)務主角,如管理型的業(yè)務用例需要和董事會為發(fā)生聯(lián)系,支持型的業(yè)務用例可能和供應商發(fā)生聯(lián)系。在建立了基本的業(yè)務用例模型之后,對此模型進行精化是非常有必要的,這時候,在上一章中我們介紹的用例的擴展關系和使用關系就有了用武之地。
除了這兩種關系,還有一種新的關系。業(yè)務建模中使用關系泛化關系(Generalization):根據(jù)我的理解,可以把它看作我們比較熟悉的繼承關系很相似的一種關系。
Generalization一詞含有一般化、概括的意思。它是一個相對抽象的詞。
雖然它和繼承關系非常相似,但是它們在使用環(huán)境和產生目的方面都有相異之處。下圖描述了四個業(yè)務實體之間的泛化關系: 當你去麥當勞的時候(不要誤會,我并不是很經(jīng)常去的),會選擇麥香雞漢堡、麥香魚漢堡或是吉士漢堡。
但是分別對這三種漢堡建立業(yè)務實體就非常沒有意義。所以可以將它們概括為漢堡這個業(yè)務實體。
同樣的道理,企業(yè)的業(yè)務流程中也可以概括出一些共有的屬性和行為。為了避免多次說明同一個工作流程,您可以將共有的行為放在一個單獨的業(yè)務用例中。
稱為父用例,執(zhí)行子用例的用例實例將遵循父用例的事件流,同時插入附加行為或修改在子用例事件流中定義的行為。方法的選擇以上的原理我采用了UP的方法。
但是除了UP方法,還有XP、FDD等方法。所以在做業(yè)務建模的時候,也要根據(jù)不同的方法選擇適當?shù)墓ぜ?/p>
例如素材和功能。方法的好壞并不是我們這片文章討論的重點,我會在另一篇文章中討論方法。
再一次需要強調的是,上面討論的RUP的工件只是為了學習,所以才定義了比較復雜的工件,區(qū)分了它們之間的區(qū)別。但是在實際中,并不需要這么多的工件,那只會使你的項目涉眾和開發(fā)人員糊涂。
這些工件的區(qū)別只要在你心中就可以了。
1. 等價類劃分
常見的軟件測試面試題劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.
2. 邊界值分析法
邊界值分析方法是對等價類劃分方法的補充。測試工作經(jīng)驗告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.
使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).
3. 錯誤推測法
基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法.
錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例. 例如, 在單元測試時曾列出的許多在模塊中常見的錯誤. 以前產品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等, 這些就是經(jīng)驗的總結。還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況。輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯誤的情況??蛇x擇這些情況下的例子作為測試用例.
4. 因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會產生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應產生多個動作的形式來考慮設計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5. 正交表分析法
有時候,可能因為大量的參數(shù)的組合而引起測試用例數(shù)量上的激增,同時,這些測試用例并沒有明顯的優(yōu)先級上的差距,而測試人員又無法完成這么多數(shù)量的測試,就可以通過正交表來進行縮減一些用例,從而達到盡量少的用例覆蓋盡量大的范圍的可能性。
6. 場景分析方法
指根據(jù)用戶場景來模擬用戶的操作步驟,這個比較類似因果圖,但是可能執(zhí)行的深度和可行性更好。
白盒測試用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果
黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內發(fā)現(xiàn)最多的問題
詳細的描述一個測試活動完整的過程。1. 項目經(jīng)理通過和客戶的交流,完成需求文檔,由開發(fā)人員和測試人員共同完成需求文檔的評審,評審的內容包括:需求描述不清楚的地方和可能有明顯沖突或者無法實現(xiàn)的功
可以采用軟件測試常用的基該方法:等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、邏輯覆蓋法等設計測試用例。視軟件的不同性質采用不同的方法。如何靈活運用各種基該方法來設計完整的測試用例,并最終實現(xiàn)暴露隱藏的缺陷,全憑測試設計人員的豐富經(jīng)驗和精心設計。
編寫測試用例文檔應有文檔模板,須符合內部的規(guī)范要求。測試用例文檔將受制于測試用例管理軟件的約束。 軟件產品或軟件開發(fā)項目的測試用例一般以該產品的軟件模塊或子系統(tǒng)為單位,形成一個測試用例文檔,但并不是絕對的。
測試用例文檔由簡介和測試用例兩部分組成。簡介部分編制了測試目的、測試范圍、定義術語、參考文檔、概述等。測試用例部分逐一列示各測試用例。每個具體測試用例都將包括下列詳細信息:版本號、模塊名稱、用例編號、用例名稱、用例級別、預知條件、驗證步驟、期望結果(含判斷標準)、測試結果、測試時間、測試人員等。
擴展資料
測試執(zhí)行過程中,應該注意及時更新測試用例。往往在測試執(zhí)行過程中,才發(fā)現(xiàn)遺漏了一些測試用例,這時候應該及時的補充;往往也會發(fā)現(xiàn)有些測試用例在具體的執(zhí)行過程中根本無法操作,這時候應該刪除這部分用例;也會發(fā)現(xiàn)若干個冗余的測試用例完全可以由某一個測試用例替代,那么刪除冗余的測試用例。
總之,測試執(zhí)行的過程中及時地更新測試用例是很好的習慣。不要打算在測試執(zhí)行結束后,統(tǒng)一更新測試用例,如果這樣,往往會遺漏很多本應該更新的測試用例。
參考資料來源:百度百科-測試用例設計
參考資料來源:百度百科-測試用例
第一、模型準備 首先要了解問題的實際背景,明確建模目的,搜集必需的各種信息,盡量弄清對象的特征。
第二、模型假設 根據(jù)對象的特征和建模目的,對問題進行必要的、合理的簡化,用精確的語言作出假設,是建模至關重要的一步。如果對問題的所有因素一概考慮,無疑是一種有勇氣但方法欠佳的行為,所以高超的建模者能充分發(fā)揮想象力、洞察力和判斷力,善于辨別主次,而且為了使處理方法簡單,應盡量使問題線性化、均勻化。
第三、模型構成 根據(jù)所作的假設分析對象的因果關系,利用對象的內在規(guī)律和適當?shù)臄?shù)學工具,構造各個量間的等式關系或其它數(shù)學結構。這時,我們便會進入一個廣闊的應用數(shù)學天地,這里在高數(shù)、概率老人的膝下,有許多可愛的孩子們,他們是圖論、排隊論、線性規(guī)劃、對策論等許多許多,真是泱泱大國,別有洞天。
不過我們應當牢記,建立數(shù)學模型是為了讓更多的人明了并能加以應用,因此工具愈簡單愈有價值。 第四、模型求解 可以采用解方程、畫圖形、證明定理、邏輯運算、數(shù)值運算等各種傳統(tǒng)的和近代的數(shù)學方法,特別是計算機技術。
一道實際問題的解決往往需要紛繁的計算,許多時候還得將系統(tǒng)運行情況用計算機模擬出來,因此編程和熟悉數(shù)學軟件包能力便舉足輕重。 第五、模型分析 對模型解答進行數(shù)學上的分析。
"橫看成嶺側成峰,遠近高低各不"。能否對模型結果作出細致精當?shù)姆治?,決定了你的模型能否達到更高的檔次。
還要記住,不論那種情況都需進行誤差分析,數(shù)據(jù)穩(wěn)定性分析。
聲明:本網(wǎng)站尊重并保護知識產權,根據(jù)《信息網(wǎng)絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:4.272秒