系統(tǒng)測試方案模板(學習參考版本)_第1頁
系統(tǒng)測試方案模板(學習參考版本)_第2頁
系統(tǒng)測試方案模板(學習參考版本)_第3頁
系統(tǒng)測試方案模板(學習參考版本)_第4頁
系統(tǒng)測試方案模板(學習參考版本)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

大區(qū)四方眾健康信息系統(tǒng)測試方案引言編寫目的軟件測試計劃是指導性測試過程的綱領性文件,借助軟件測試計劃,參與測試的項目成員,可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進度,應對測試過程中的各種變更。本測試計劃文檔旨在對干部考評管理系統(tǒng)的功能測試進行一個整體安排,對資源分配、時間安排及進度進行一個規(guī)劃。方便后期測試的開展。目的在于總結測試階段的測試以及分析測試結果,描述系統(tǒng)是否符合需求(或達到功能目標)。預期參考人員包括測試人員、開發(fā)人員、項目管理者、其他質量管理人員和需要閱讀本報告的高層經理。定義功能性測試:也稱為行為測試,根據(jù)產品特征、操作描述和用戶方案,測試一個產品的特性和可操作行為以確定它們滿足設計需求。文檔測試:是指直接針對軟件工程中各環(huán)節(jié)文檔,檢查其正確性的測試。可分為針對設計文檔的文檔測試和針對代碼文檔的文檔測試。性能測試:性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。安全性測試:在測試軟件系統(tǒng)中對程序的危險防止和危險處理進行的測試,以驗證其是否有效。兼容性測試:就是檢查軟件在一個特定的硬件、軟件、操作系統(tǒng)、網絡等環(huán)境下是否能夠正常的運行,檢查軟件之間是否能夠正確的交互和共享信息,以及檢查軟件版本之間的兼容性問題。可靠性測試:指數(shù)據(jù)在一個給定的時間間隔內不產生任何失敗的概率。強調數(shù)據(jù)庫的正確性,要求數(shù)據(jù)庫能正常的運行,即符合某種規(guī)格化的要求。任務概述測試目標測試計劃中所有測試方法和模塊已經執(zhí)行通過。所有的測試案列已經執(zhí)行過。條件與限制相關的文檔是否已經設計完成;相關的文檔描述是否正確;測試人員是否到位;測試環(huán)境是否已搭建好;功能模塊是否已開發(fā)完成;測試人員是否熟悉相關的測試工具;測試人員是否熟悉相關的缺陷管理工具;測試計劃系統(tǒng)測試設計測試用例設計黑盒測試用例設計等價類劃分法定義:等價類劃分法是把所有可能輸入的數(shù)據(jù),即程序的輸入域劃分策劃國內若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。方法是一種重要的、常用的黑盒測試用例設計方法。等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的,并合理地假定:測試某等價類的代表值就等于對這一類其他值的測試,因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件就可以用少量代表性的測試數(shù)據(jù)取得較好的測試結果。等價類劃分有兩種不同的情況:有效等價類和無效等價類。有效等價類,是指對于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構成的集合。利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明所規(guī)定的功能和性能。無效等價類指對程序的規(guī)格說明是不合理的或無意義的輸入數(shù)據(jù)所構成的集合。對于具體的問題,無效等價類至少應有一個,也可能多個。劃分標準:1)完備測試、避免冗余2)劃分等價類重要的是:集合的劃分、劃分為互不相交的一組子集,而子集的并是整個集合3)并是整個集合:備性4)子集互不相交:保證一種形式的無冗余性5)同一類中標識(選擇)一個測試用例,同一等價類中,往往處理相同,相同處理映射到“相同的執(zhí)行路徑”。劃分方法:1)在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類。如:輸入值是學生成績,范圍是0~100;測試用例設計方法等價類劃分法2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個有效等價類和一個無效等價類:3)在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類。布爾量是一個二值枚舉類型,一個布爾量具有兩種狀態(tài):true和false。4)在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類。例:輸入條件說明學歷可為:專、本、碩士、博士四種之一,則分別取這四種的四個值作為四個有效等價類,另外把四種學歷之外的任何學歷作為無效等價類。5)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則);6)在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應在將該等價類進一步的劃分為更小的等價類。轉化為測試用例:在確立了等價類后,可建立等價類表,列出所有劃分出的等價類輸入條件:有效等價類、無效等價類,然后從劃分出的等價類中按以下三個原則設計測試用例:1)為每一個等價類規(guī)定一個唯一的編號;2)設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復這一步,直到所有的有效等價類都被覆蓋為止;3)設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步,直到所有的無效等價類都被覆蓋為止。邊界值分析法定義:邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。與等價類區(qū)別:1)邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。分析方法:大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況。應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù)。常見邊界值:1)對16Bit的整數(shù)而言,32767和32768是邊界2)屏幕上光標在最左上、最右下位置3)報表的第一行和最后一行4)數(shù)組元素的第一個和最后一個5)循環(huán)的第0次、第1次和倒數(shù)第2次、最后一次邊界值分析:1)邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在于劃分的邊界上,因此在等價類的邊界上以及兩側的情況設計測試用例。例:測試計算方根的函數(shù)輸入:實數(shù)輸出:實數(shù)規(guī)格說明:當輸入一個0或比0大的數(shù)的時候,返回其正方根;當輸入一個小于0的數(shù)時,顯示錯誤信息“方根非法,輸入值小于0”并返回0;庫函數(shù)printLine可以用來輸出錯誤信息。2)等價類劃分:i.可以考慮做出如下劃分:A、輸入(i)<0和(ii)>=0B、輸出(a)>=0和(b)Errorii.測試用例有兩個A、輸入4,輸出2.對應(ii)和(a)。B、輸入10,輸出0和錯誤提示。對應與(i)和(b)3)邊界值分析劃分(ii)的邊界為0和最大正實數(shù);劃分(i)的邊界為最小負實數(shù)和0.由此得到一下測試用例:A、輸入{最小負實數(shù)}B、輸入{絕對值很小的負數(shù)}C、輸入0D、輸入{絕對值很小的正數(shù)}E、輸入{最大正實數(shù)}4)通常情況下,軟件測試所包含的邊界檢驗有幾種類型:數(shù)字、字符、位置、重量、大小、速度、方位、尺寸、空間等。5)相應地,以上類型的邊界值應該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長、空/滿等情況下。6)利用邊界值作為測試數(shù)據(jù)項邊界值測試用例的設計思路字符起始1個字符/結束+1個字符假設一個文本輸入區(qū)域允許輸入1個到255個字符,輸入1個和255個字符作為有效等價類;輸入0個和256個字符作為無效等價類,這幾個數(shù)值都屬于邊界條件值數(shù)值最小值1/最大值+1假設某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù)據(jù)值,可以使用10000作為最小值、9999作為最大值;然后使用剛好小于5位和大于5位的數(shù)值作為邊界條件。空間小于空余空間一點/大于滿空間一點例如在用U盤存儲數(shù)據(jù)時,使用比剩余磁盤空間大一點(幾KB)的文件作為邊界條件7)內部邊界值分析在多數(shù)情況下,邊界值條件是基于應用程序的功能設計而需要考慮的因素,可以從軟件的規(guī)格說明或常識中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。然而,在測試用例設計過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時確實屬于檢驗范疇內的邊界條件,稱為內部邊界值條件或子邊界值條件。內部邊界值條件主要有下面幾種:1)數(shù)值的邊界值檢驗:計算機是基于二進制進行工作的,因此,軟件的任何數(shù)值運算都有一定的范圍限制。項范圍或值位(Bit)0或者1字節(jié)(byte)0~255字(Word)千(K)0~65535(單字)或0~4294967295(雙字)1024兆(M)1048576吉(G)10737418242)字符的邊界值檢驗:在計算機軟件中,字符也是很重要的表示元素,其中ASCII和Unicode是常見的編碼方式。下表中列出了一些常用字符對應的ASCII碼值。字符ASCII碼值字符ASCII碼值空(Null)0A65空格(Space)32a97斜杠(/)47z122048Z90冒號(:)58單引號(’)96@643)其它邊界值檢驗:在不同的行業(yè)應用領域,依據(jù)硬件和軟件的標準不同而具有各自特定的邊界值。如下列出部分手機相關的邊界值:硬件設備范圍或值手機鋰電池電壓工作電壓:3.6~4.2V;保護電壓:2.5~3V不等手機正常使用溫度-25°C~+60°C轉化為測試用例:1)如果輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。?例如,如果程序的規(guī)格說明中規(guī)定:"重量在10公斤至50公斤范圍內的郵件,其郵費計算公式為……"。作為測試用例,我們應取10及50,還應取10.01,49.99,9.99及50.01等。2)如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù),最小個數(shù),比最小個數(shù)少一,比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù)。?例如,一個輸入文件應包括1~255個記錄,則測試用例可取1和255,還應取0及256等。3)將規(guī)則1)和2)應用于輸出條件,即設計測試用例使輸出值達到邊界值及其左右的值。?例如,某程序的規(guī)格說明要求計算出"每月保險金扣除額為0至1165.25元",其測試用例可取0.00及1165.24、還可取一0.01及1165.26等。?再如一程序屬于情報檢索系統(tǒng),要求每次"最少顯示1條、最多顯示4條情報摘要",這時我們應考慮的測試用例包括1和4,還應包括0和5等。4)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試用例。5)如果程序中使用了一個內部數(shù)據(jù)結構,則應當選擇這個內部數(shù)據(jù)結構的邊界上的值作為測試用例。6)分析規(guī)格說明,找出其它可能的邊界條件。錯誤推測法定義:基于經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法?;舅枷耄毫信e出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例。1.例如,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況;輸入表格為空格或輸入表格只有一行。這些都是容易發(fā)生錯誤的情況??蛇x擇這些情況下的例子作為測試用例。2.例如,前面例子中成績報告的程序,采用錯誤推測法還可補充設計一些測試用例:1)程序是否把空格作為回答2)在回答記錄中混有標準答案記錄3)除了標題記錄外,還有一些的記錄最后一個字符即不是2也不是34)有兩個學生的學號相同5)試題數(shù)是負數(shù)因果圖法定義:因果圖法是一種利用圖解法分析輸入的各種組合情況,從而設計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。應用:等價類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關系。這樣雖然各種輸入條件可能出錯的情況已經測試到了,但多個輸入條件組合起來可能出錯的情況卻被忽視了。如果在測試時必須考慮輸入條件的各種組合,則可能的組合數(shù)目將是天文數(shù)字,因此必須考慮采用一種適合于描述多種條件的組合、相應產生多個動作的形式來進行測試用例的設計,這就需要利用因果圖(邏輯模型)。判定表驅動法定義:判定表是分析和表達多邏輯條件下執(zhí)行不同操作的情況的工具。優(yōu)點:能夠將復雜的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏。因此,利用判定表能夠設計出完整的測試用例集合。在一些數(shù)據(jù)處理問題當中,某些操作的實施依賴于多個邏輯條件的組合,即:針對不同邏輯條件的組合值,分別執(zhí)行不同的操作。判定表適合于處理這類問題。正交試驗法定義:從大量的(實驗)數(shù)據(jù)(測試例)中挑選適量的,有代表性的點(例),從而合理地安排實驗(測試)的一種學實驗設計方法.類似的方法有:聚類分析方法,因子方法方法等.利用正交實驗設計測試用例的步驟:1.提取功能說明,構造因子--狀態(tài)表把影響實驗指標的條件稱為因子.而影響實驗因子的條件叫因子的狀態(tài).利用正交實驗設計方法來設計測試用例時,首先要根據(jù)被測試軟件的規(guī)格說明書找出影響其功能實現(xiàn)的操作對象和外部因素,把他們當作因子,而把各個因子的取值當作狀態(tài).對軟件需求規(guī)格說明中的功能要求進行劃分,把整體的概要性的功能要求進行層層分解與展開,分解成具體的有相對獨立性的基本的功能要求.這樣就可以把被測試軟件中所有的因子都確定下來,并為確定個因子的權值提供參考的依據(jù).確定因子與狀態(tài)是設計測試用例的關鍵.因此要求盡可能全面的正確的確定取值,以確保測試用例的設計作到完整與有效。2.加權篩選,生成因素分析表對因子與狀態(tài)的選擇可按其重要程度分別加權.可根據(jù)各個因子及狀態(tài)的作用大小,出現(xiàn)頻率的大小以及測試的需要,確定權值的大小。3.利用正交表構造測試數(shù)據(jù)集正交表的推導依據(jù)Galois理論(這里省略,需要時可查數(shù)理統(tǒng)計方面的教材)。利用正交實驗設計方法設計測試用例,比使用等價類劃分,邊界值分析,因果圖等方法有以下優(yōu)點:節(jié)省測試工作工時;可控制生成的測試用例數(shù)量;測試用例具有一定的覆蓋率。功能圖法定義:功能圖由狀態(tài)遷移圖和布爾函數(shù)組成.狀態(tài)遷移圖用狀態(tài)和遷移來描述.一個狀態(tài)指出數(shù)據(jù)輸入的位置(或時間),而遷移則指明狀態(tài)的改變.同時要依靠判定表或因果圖表示的邏輯功能.例,一個簡化的自動出納機ATM的功能圖。應用:1.功能圖介紹一個程序的功能說明通常由動態(tài)說明和靜態(tài)說明組成.動態(tài)說明描述了輸入數(shù)據(jù)的次序或轉移的次序.靜態(tài)說明描述了輸入條件與輸出條件之間的對應關系.對于較復雜的程序,由于存在大量的組合情況,因此,僅用靜態(tài)說明組成的規(guī)格說明對于測試來說往往是不夠的.必須用動態(tài)說明來補充功能說明.功能圖方法是用功能圖FD形式化地表示程序的功能說明,并機械地生成功能圖的測試用例.功能圖模型由狀態(tài)遷移圖和邏輯功能模型構成.狀態(tài)遷移圖用于表示輸入數(shù)據(jù)序列以及相應的輸出數(shù)據(jù).在狀態(tài)遷移圖中,由輸入數(shù)據(jù)和當前狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài).邏輯功能模型用于表示在狀態(tài)中輸入條件和輸出條件之間的對應關系.邏輯功能模型只適合于描述靜態(tài)說明,輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定.測試用例則是由測試中經過的一系列狀態(tài)和在每個狀態(tài)中必須依靠輸入/輸出數(shù)據(jù)滿足的一對條件組成.功能圖方法其實是是一種黑盒白盒混合用例設計方法。(功能圖方法中,要用到邏輯覆蓋和路徑測試的概念和方法,其屬白盒測試方法中的內容.邏輯覆蓋是以程序內部的邏輯結構為基礎的測試用例設計方法.該方法要求測試人員對程序的邏輯結構有清楚的了解.由于覆蓋測試的目標不同,邏輯覆蓋可分為:語句覆蓋,判定覆蓋,判定-條件覆蓋,條件組合覆蓋及路徑覆蓋.下面我們指的邏輯覆蓋和路徑是功能或系統(tǒng)水上的,以區(qū)別與白盒測試中的程序內部的.)2.測試用例生成方法從功能圖生成測試用例,得到的測試用例數(shù)是可接受的.問題的關鍵的是如何從狀態(tài)遷移圖中選取測試用例.若用節(jié)點代替狀態(tài),用弧線代替遷移,則狀態(tài)遷移圖就可轉化成一個程序的控制流程圖形式.問題就轉化為程序的路徑測試問題(如白盒測試)問題了.3.測試用例生成規(guī)則為了把狀態(tài)遷移(測試路徑)的測試用例與邏輯模型(部測試用例)的測試用例組合起來,從功能圖生成實用的測試用例,須定義下面的規(guī)則.在一個結構化的狀態(tài)遷移(SST)中,定義三種形式的循環(huán):順序,選擇和重復.但分辨一個狀態(tài)遷移中的所有循環(huán)是有困難的.(其表示圖形省略)。4.從功能圖生成測試用例的過程1)生成部測試用例:在每個狀態(tài)中,從因果圖生成部測試用例.部測試用例由原因值(輸入數(shù)據(jù))組合與對應的結果值(輸出數(shù)據(jù)或狀態(tài))構成。2)測試路徑生成:利用上面的規(guī)則(三種)生成從初始狀態(tài)到最后狀態(tài)的測試路徑。3)測試用例合成:合成測試路徑與功能圖中每個狀態(tài)中的部測試用例.結果是初始狀態(tài)到最后狀態(tài)的一個狀態(tài)序列,以及每個狀態(tài)中輸入數(shù)據(jù)與對應輸出數(shù)據(jù)的組合。5.測試用例的合成算法:采用條件構造樹.場景圖法定義:現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時的情景便形成了場景,而同一事件不同的觸發(fā)順序和處理結果就形成事件流。這種在軟件設計方面的思想也可以引入到軟件測試中,可以比較生動地描繪出事件觸發(fā)時的情景,有利于測試設計者設計測試用例,同時使測試用例更容易理解和執(zhí)行。應用:基本流和備選流:如下圖所示,圖中經過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是經過用例的最簡單的路徑。備選流用不同的色彩表示,一個備選流可能從基本流開始,在某個特定條件下執(zhí)行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個備選流(如備選流2),或者終止用例而不再重新加入到某個流(如備選流2和4)。白盒測試用例設計代碼檢查法代碼檢查包括桌面檢查、代碼審查和走查等,主要檢查代碼和設計的一致性,代碼對標準的遵循、可讀性,代碼邏輯表達的正確性,代碼結構的合理性等方面;發(fā)現(xiàn)違背程序編寫標準的問題,程序中不安全、不明確和模糊的部分,找出程序中不可移植部分、違背程序編程風格的內容,包括變量檢查、命名和類型審查、程序邏輯審查、程序語法檢查和程序結構檢查等內容。代碼檢查方法:1、代碼檢查法(1)桌面檢查:這是一種傳統(tǒng)的檢查方法,由程序員檢查自己編寫的程序。程序員在程序通過編譯之后,對源程序代碼進行分析、檢驗,并補充相關文檔,目的是發(fā)現(xiàn)程序中的錯誤。由于程序員熟悉自己的程序及其程序設計風格,桌面檢查由程序員自己進行可以節(jié)省很多的檢查時間,但應避免主觀片面性(2)代碼審查由若干程序員和測試員組成一個審查小組,通過閱讀、討論和爭議,對程序進行靜態(tài)分析的過程。代碼審查分兩步:第一步,小組負責人提前把設計規(guī)格說明書、控制流程圖、程序文本及有關要求、規(guī)范等分發(fā)給小組成員,作為審查的依據(jù)。小組成員在充分閱讀這些材料后,進入審查的第二步,召開程序審查會。在會上,首先由程序員逐句簡介程序的邏輯。在此過程中,程序員或其他小組成員可以提出問題,展開討論,審查錯誤是否存在。實踐表明,程序員在講解過程中能發(fā)現(xiàn)許多原來自己沒有發(fā)現(xiàn)的錯誤,而討論和爭議則促進了問題的暴露。在會前,應當給審查小組每個成員準備一份常見錯誤的清單,把以往所有可能發(fā)生的常見錯誤羅列出來,供與會者對照檢查,以提高審查的失效。這個常見的錯誤清單也成為檢查表,它把程序中可能發(fā)生的各種錯誤進行分類,對每一類錯誤列出盡可能多的典型錯誤,然后把它們制成表格,供再審查時使用(3)走查與代碼審查基本相同,分為兩步,第一步也是把材料分給走查小組的每個成員,讓他們認真研究程序,然后再開會。開會的程序與代碼審查不同,不是簡單地讀程序和對照錯誤檢查表進行檢查,而是讓與會者“充當”計算機,即首先由測試組成員為所測試程序準備一批有代表性的測試用例,提交給走查小組。走查小組開會,集體扮演計算機角色,讓測試用例沿程序的邏輯運行一遍,隨時記錄程序的蹤跡,供分析和討論用。人們借助測試用例的媒介作用,對程序的邏輯和功能提出各種疑問,結合問題開展熱烈的討論和爭議,能夠發(fā)現(xiàn)更多的問題。代碼檢查應在編譯和動態(tài)測試之前進行,在檢查前,應準備好需求描述文檔、程序設計文檔、程序的源代碼請當、代碼編譯標準和代碼缺陷檢查表等。在實際使用中,代碼檢查能快速找到缺陷,發(fā)現(xiàn)30%~70%的邏輯設計和編碼缺陷,而且代碼檢查看到的問題本身而非征兆。但是代碼檢查非常耗費時間,而且代碼檢查需要知識和經驗的積累。代碼檢查可以使用測試軟件進行自動化測試,以利于提高測試效率,降低勞動強度,或者使用人工進行測試,以充分發(fā)揮人力的邏輯思維能力2、代碼檢查項目變量交叉引用表;標號的交叉引用表;檢查子程序、宏、函數(shù);等價性檢查;常量檢查;標準檢查;風格檢查;比較控制流;選擇、激活路徑;補充文檔根據(jù)檢查項目可以編制代碼規(guī)則、規(guī)范和檢查表等作為測試用例,如編碼規(guī)范、代碼檢查規(guī)范、缺陷檢查表等3、編碼規(guī)范編碼規(guī)范是指程序編寫過程中必須遵循的規(guī)則,一般會詳細制定代碼的語法規(guī)則、語法格式等4、代碼檢查規(guī)范在代碼檢查中,需要依據(jù)被測軟件的特點,選用適當?shù)臉藴逝c規(guī)則規(guī)范。在使用測試軟件進行自動化代碼檢查時,測試工具一般會內置許多的編碼規(guī)則。在自動化測試基礎上使用桌面檢查、代碼走查、代碼審查等人工檢查的方法仔細檢查程序的結構、邏輯等方面的缺陷5、缺陷檢查表在進行人工代碼檢查時,代碼缺陷檢查表是我們用到的測試用例。代碼缺陷檢查表中一般包括容易出錯的地方和在以往的工作中遇到的典型錯誤靜態(tài)結構分析法程序的結構形式是白盒測試的主要依據(jù)。研究表明程序員38%的時間花費在理解軟件系統(tǒng)上,因為代碼以文本格式被寫入多重文件中,這是很難閱讀理解的,需要其它一些東西來幫助人們閱讀理解,如各種圖表等,而靜態(tài)結構分析滿足了這樣的需求。在靜態(tài)結構分析中,測試者通過使用測試工具分析程序源代碼的系統(tǒng)結構、數(shù)據(jù)結構、內部控制邏輯等內部結構,生成函數(shù)調用關系圖、模塊控制流圖、內部文件調用關系圖、子程序表、宏和函數(shù)參數(shù)表等各類圖形圖標,可以清晰地標識整個軟件系統(tǒng)的組成結構,使其便于閱讀和理解,然后可以通過分析這些圖標,檢查軟件有沒有存在缺陷或錯誤。其中函數(shù)調用關系圖通過應用程序中各函數(shù)之間的調用關系展示了系統(tǒng)的結構。通過查看函數(shù)調用關系圖,可以檢查函數(shù)之間的調用關系是否符合要求,是否存在遞歸調用,函數(shù)的調用曾是是否過深,有沒有存在獨立的沒有被調用的函數(shù)。從而可以發(fā)現(xiàn)系統(tǒng)是否存在結構缺陷,發(fā)現(xiàn)哪些函數(shù)是重要的,哪些是次要的,需要使用什么級別的覆蓋要求模塊控制流圖是與程序流程圖相類似的由許多節(jié)點和連接節(jié)點的邊組成的一種圖形,其中一個節(jié)點代表一條語句或數(shù)條語句,邊代表節(jié)點間控制流向,它顯示了一個函數(shù)的內部邏輯結構。模塊控制流圖可以直觀地反映出一個函數(shù)的內部邏輯結構,通過檢查這些模塊控制流圖,能夠很快發(fā)現(xiàn)軟件的錯誤與缺陷。靜態(tài)質量度量法根據(jù)ISO/IEC9126質量模型作為基礎,我們可以構造質量度量模型,用于評估軟件的各個方面。該模型從上到下分為3層:質量因素(Factors)、分類標準(Criteria)和度量規(guī)則(metrics)。其中質量因素對應ISO9126質量模型的質量特性,分類標準對應ISO9126質量模型的子特性,度量規(guī)則用于規(guī)范軟件的各種行為屬性。以下例子按照可維護性進行分析。1、度量規(guī)則度量規(guī)則使用了代碼行數(shù)、注釋頻度等參數(shù)度量軟件的各種行為屬性2、分類標準軟件的可維護性采用以下四個分類標準來評估:可分析性(ANALYZABILITY)、可修改性(CHANGEABILITY)、穩(wěn)定性(STABILITY)、可測性(TESTABILITY)。每個分類標準由一系列度量規(guī)則組成,各個規(guī)則分配一個權重,由規(guī)則的取值與權重值計算出每個分類標準的取值。function_TESTABILITY_DRCT_CALLS+LEVL+PATH+PARA3、質量因素質量因素的取值與分類標準的計算方式類似:依據(jù)各分類標準取值組合權重方法計算.function_MAINTAINABILITY=function_ANALYZABILITY +function_CHANGEABILITY +function_ATABILITY +function_TESTABILITY邏輯覆蓋法邏輯覆蓋是以程序內部的邏輯結構為基礎的設計測試用例的技術。根據(jù)覆蓋目標的不同和覆蓋源程序語句的詳盡程度,邏輯覆蓋又可分為:1.語句覆蓋(SC)2.判定覆蓋(DC)3.條件覆蓋(CC)4.條件/判定覆蓋(CC)5.條件組合覆蓋(MCC)6.修正判定條件覆蓋(MCDC)7.點覆蓋8.邊覆蓋9.路徑覆蓋幾種邏輯覆蓋標準發(fā)現(xiàn)錯誤的能力呈由弱至強的變化?;韭窂綔y試法基本路徑測試法是在程序控制流圖的基礎上,通過分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而設計測試用例的方法。設計出的測試用例要保證在測試中程序的語句覆蓋100%,條件覆蓋100%。在程序控制流圖的基礎上,通過分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而設計測試用例。包括以下4個步驟和一個工具方法:1.程序的控制流圖:描述程序控制流的一種圖示方法。2.程序圈復雜度:McCabe復雜性度量。從程序的環(huán)路復雜性可導出程序基本路徑集合中的獨立路徑條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必須的測試用例數(shù)目的上界。3.導出測試用例:根據(jù)圈復雜度和程序結構設計用例數(shù)據(jù)輸入和預期結果。4.準備測試用例:確保基本路徑集中的每一條路徑的執(zhí)行。域測試法域測試是一種基于程序結構的測試方法,基于對程序輸入空間(域)的分析,選擇測試點進行測試。域測試主要測試如下錯誤:1)域錯誤:程序的控制流存在錯誤,對于某一特定的輸入可能執(zhí)行的是一條錯誤路徑,這種錯誤稱為路徑錯誤,也叫做域錯誤。2)計算型錯誤:對于特定輸入執(zhí)行的路徑正確,但賦值語句的錯誤導致輸出結果錯誤,稱為計算型錯誤。3)丟失路徑錯誤:由于程序中的某處少了一個判定謂詞而引起的丟失路徑錯誤。符號測試符號測試的基本思想是允許程序的輸入不僅僅是具體的數(shù)值數(shù)據(jù),而且包括符號值,符號值可以是基本的符號變量值,也可以是符號變量值的表達式。接口測試用例設計優(yōu)先級--針對所有接口1、暴露在外面的接口,因為通常該接口會給第三方調用;2、供系統(tǒng)內部調用的核心功能接口;3、供系統(tǒng)內部調用非核心功能接口;優(yōu)先級--針對單個接口1、正向用例優(yōu)先測試,逆向用例次之(通常情況,非絕對);2、是否滿足前提條件>是否攜帶默認參值參數(shù)>參數(shù)是否必填>參數(shù)之間是否存在關聯(lián)>參數(shù)數(shù)據(jù)類型限制>參數(shù)數(shù)據(jù)類型自身的數(shù)據(jù)范圍值限制設計分析 通常,設計接口測試用例需要考慮以下幾個方面: 1、是否滿足前提條件 有些接口需要滿足前置條件,才可成功獲取數(shù)據(jù)。常見的,需要登陸Token。 逆向用例:針對是否滿足前置條件(假設為n個條件),設計0~n條用例 2、是否攜帶默認值參數(shù) 正向用例: 帶默認值的參數(shù)都不填寫、不傳參,必填參數(shù)都填寫正確且存在的“常規(guī)”值,其它不填寫,設計1條用例; 3、業(yè)務規(guī)則、功能需求 這里根據(jù)實際情況,結合接口參數(shù)說明,可能需要設計n條正向用例和逆向用例 4、參數(shù)是否必填 逆向用例: 針對每個必填參數(shù),都設計1條參數(shù)值為空的逆向用例 5、參數(shù)之間是否存在關聯(lián) 有些參數(shù)彼此之間存在相互制約的關系 逆向用例: 根據(jù)實際情況,可能需要設計0~n條用例 6、參數(shù)數(shù)據(jù)類型限制 逆向用例: 針對每個參數(shù)都設計1條參數(shù)值類型不符的逆向用例 7、參數(shù)數(shù)據(jù)類型自身的數(shù)據(jù)范圍值限制 正向用例: 針對所有參數(shù),設計1條每個參數(shù)的參數(shù)值在數(shù)據(jù)范圍內為最大值的 逆向用例: 針對每個參數(shù)(假設n個),設計n條每個參數(shù)的參數(shù)值都超出數(shù)據(jù)范圍最大值的逆向用例 針對每個參數(shù)(假設n個),設計n條每個參數(shù)的參數(shù)值都小于數(shù)據(jù)范圍最小值的逆向用例 以上幾個方面考慮全的話,基本可以做到如下幾個方面的覆蓋: 主流程測試用例:正常的主流程功能校驗; 分支流測試用例:正常的分支流功能校驗。 異常流測試用例:異常容錯校驗編寫描述 盡量邏輯化,這樣方便后續(xù)的維護版本兼容性測試序號關注項權重1Chrome69.0.3497.23A2IE11A3IE7B4360瀏覽器10.0.1B5QQ瀏覽器10.3.1B6Firefox6.0C實踐操作 接口樣例 獲取訂單列表接口(多條件) 獲取店鋪指定期間的所有訂單列表(多種條件組合),默認根據(jù)日期倒序排序。 接口方向 客戶端->服務端 接口協(xié)議 接口地址:$xxx_Home/xxx/鑒權前綴/xxxxx/getAllOrderList 接口協(xié)議:JSON HTTP請求方式:GET性能測試測試范圍大流量的數(shù)據(jù)與多用戶操作時性能方面的測試測試目標核實系統(tǒng)在大流量的數(shù)據(jù)與多用戶操作時軟件性能的穩(wěn)定性,不造成系統(tǒng)崩潰或相關的異?,F(xiàn)象。技術自動化測試工具與方法Jmeter、httprunner開始標準自動化測試文檔設計并評審通過,且項目組移交系統(tǒng)測試。完成標準系統(tǒng)滿足用戶需求中所要求的性能要求測試重點用戶登錄以及用戶查詢均有可能存在性能瓶頸。測試優(yōu)先級高級需考慮的特殊事項無恢復測試恢復測試主要檢查系統(tǒng)的容錯能力。當系統(tǒng)出錯時,能否在指定時間間隔內修正錯誤并重新啟動系統(tǒng)。恢復測試首先要采用各種辦法強迫系統(tǒng)失敗,然后驗證系統(tǒng)是否能盡快恢復。對于自動恢復需驗證重新初始化(reinitialization)、檢查點(checkpointingmechanisms)、數(shù)據(jù)恢復(datarecovery)和重新啟動(restart)等機制的正確性;對于人工干預的恢復系統(tǒng),還需估測均修復時間,確定其是否在可接受的范圍內。安全性測試整個區(qū)全民健康信息系統(tǒng)測試過程中先后進行了三輪安全性測試,發(fā)現(xiàn)了2個影響較嚴重的安全性問題,且都已得到修復和驗證。系統(tǒng)集成測試系統(tǒng)集成測試自底向上集成驗證各個模塊功能點是否正確驗證集成后接口數(shù)據(jù)是否正確驗證對數(shù)據(jù)操作部分的SELECT查詢語句(設計不同的測試用例)查詢結果是否正確評價準則范圍鏈接測試鏈接是Web網站的一個主要特征,它是在頁面之間切換和引導用戶去一些未知地址頁面的主要手段,鏈接測試的內容:(1)測試所有鏈接是否按需求鏈接到了應該鏈接的頁面;(2)測試所鏈接的頁面是否存在;(3)保證Web網站上沒有孤立的頁面。所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。鏈接測試可以手動進行,也可以自動進行。鏈接測試必須在集成測試階段完成,也就是說,在整個Web網站的所有頁面開發(fā)完成之后進行鏈接測試。常用測試工具有Xenu(測試鏈接的正確性的工具)表單測試表單就是一些需要在線顯示和填寫的表格。表單有一些標準操作,如確認、保存、提交等。主要測試表單的正確性和規(guī)范性,是否適合常用表單的使用習慣;主要測試方法為:邊界值測試、等價類測試,以及異常類測試。Cookies測試Cookie是一個由網頁服務器放在您硬盤上的非常小的文本文件,它本質上就像您的身份證明一樣,并且不能像代碼那樣被執(zhí)行或被用來散布病毒。它只能被您使用并且只能由提供的服務器讀取。使用cookies的目的:幫您節(jié)約時間。如果您自定義頁面,或注冊產品或服務。cookie記住您的身份,當下一次您再次訪問的時候,將顯示您需要的信息,將幫您填入任何您已經回答過的問題。Cookies測試內容:通常用來存儲用戶信息和用戶在某些應用系統(tǒng)上的操作序列,當一個用戶使用Cookies訪問了某一個應用系統(tǒng)時,Web服務器將發(fā)送關于用戶的信息,并把該信息以Cookies的形式存儲在客戶端計算機上,這可用來創(chuàng)建動態(tài)和自定義頁面或者存儲登錄等信息。(1)Cookies是否能正常工作;(2)Cookies是否按預定的時間進行保存;(3)刷新對Cookies有什么影響等。數(shù)據(jù)庫測試(1)數(shù)據(jù)校驗:根據(jù)業(yè)務規(guī)則,需要對用戶輸入進行校驗,則要保證這些校驗功能正常工作。

溫馨提示

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

評論

0/150

提交評論