• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于等價類劃分的測試用例設計在軟件評測中的應用

      2017-09-23 04:25:27趙浩強
      軟件 2017年6期
      關鍵詞:測試用例評測子集

      趙浩強

      引言

      軟件評測是指對軟件產品、軟件項目、信息系統(tǒng)等進行的評價和測試,其評測范圍通常包括功能性、可靠性、易用性、安全保密性、文檔、效率等。作為軟件評測最重要部分的功能性測試,幾乎占整個測試用例數(shù)量的70%以上,其通常采用黑盒測試作為主要的評測方法。

      黑盒測試是通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產生正確的輸出信息。但用黑盒測試發(fā)現(xiàn)軟件中的錯誤,就必須在所有可能的輸入條件中確定測試數(shù)據(jù),檢查程序是否都能產生正確的輸出,而測試一個程序窮盡所有可能的數(shù)據(jù)是不現(xiàn)實的。此外,軟件功能性測試的固有弱點是漏洞和冗余,即有些需求沒有被測試到,另外一些需求被測試了多次。因此,需要某種方法來實現(xiàn)用少量測試用例來完成高覆蓋率的軟件評測。等價類劃分法是一種典型的黑盒測試方法,基于等價類劃分的測試用例設計方法可以較好地應用于此類問題的軟件評測中。

      1等價類劃分

      1.1方法概述

      等價類劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分為若干部分(子集),然后從每一個子集中選取具有代表性的數(shù)據(jù)作為測試用例。所謂等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的,它們具有等價特性,即每一類的代表性數(shù)據(jù)在測試中的作用都等價于這一類中的其它數(shù)據(jù)。這樣,對于表征該類的數(shù)據(jù)輸入將能代表整個子集合的輸入。

      等價類劃分有兩種不同的情況:有效等價類和無效等價類。有效等價類是指對于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構成的集合。利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。而無效等價類與有效等價類的定義恰巧相反。設計測試用例時,要同時考慮這兩種等價類。因為軟件不僅要能接收合理的數(shù)據(jù),也要能經受意外的考驗。這樣的測試才能確保軟件具有更高的可靠性。

      1.2等價關系與集合劃分

      等價類測試基于等價關系和劃分。等價關系是現(xiàn)實世界中廣泛存在的一種關系,許多應用問題可以歸結為按給定的等價關系劃分某集合為等價類問題;劃分是互不相交的一組子集,這些子集的并是整個集合。從測試的角度而言,整個集合提供了形式的完備性,互不相交保證形式的無冗余性。為此,做如下定義:

      定義1給定集合A,R.AxA是定義在A上的關系,若R是自反的、對稱和可傳遞的,則R稱為等價關系。

      定義2給定集合A和A的子集A1,A2,…,An,當且僅當:

      (1)Au Au…An=A,且(2)i≠j_AjnAj=0時,稱這些子集是A的一個劃分。其中,(1)保證了集合A的每個元素都會出現(xiàn)在某個子集中;(2)保證了A中沒有任何元素會同時出現(xiàn)在兩個子集中。

      等價關系和集合劃分密切相關,其可以相互轉換。通過集合劃分來定義的關系被稱為由劃分所導出的等價關系;其逆過程也同樣成立:從集合上定義的等價關系出發(fā),可以根據(jù)彼此相關的元素定義子集,這就形成了一個劃分,稱為由等價關系導出的劃分。這個劃分中的集合稱為等價類。

      1.3劃分原則

      等價類劃分測試方法的根本思想就是在每個等價類中只選取一個元素來構造測試用例。這樣只要恰當?shù)剡x擇了等價類,就能大大降低測試用例之間的冗余。因此,如何恰當?shù)剡x擇等價關系是等價類劃分的關鍵,其劃分原則如下:

      (1)在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類。

      (2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可以確立一個有效等價類和一個無效等價類。

      (3)在輸入條件是一個布爾量的情況下,可以確定一個有效等價類和一個無效等價類。

      (4)在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理時,可以確立n個有效等價類和一個無效等價類。

      (5)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可以確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。

      (6)在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步地劃分為更小的等價類。

      1.4等價類形式

      根據(jù)健壯性和單/多缺陷假設,可以將等價類組合為4種形式,弱一般等價類、強一般等價類、弱健壯等價類和強健壯等價類。其中:強與弱是基于單/多缺陷假設,健壯性是指測試考慮到了無效值。

      (1)弱一般等價類:基于單缺陷假設,每個測試用例只使用一個等價類中的一個變量,一個測試用例盡可能多的覆蓋多個有效區(qū)間,是一種直觀的、程式化的測試用例構造方法。事實上,在弱等價類測試中,測試用例的數(shù)量同最大子集數(shù)劃分中所包含的類數(shù)是一樣的。

      (2)強一般等價類:對應多缺陷假設,其測試用例應覆蓋等價類笛卡爾積的每個元素,從而保證兩種意義上的“完備性”——一是覆蓋了所有等價類,二是覆蓋了所有可能的輸入組合。

      (3)弱健壯等價類:是一種基于單缺陷假設的考慮了無效值的等價類測試形式,也稱為傳統(tǒng)的等價類測試。其測試用例主要構造策略是對于有效輸入,在每個有效等價類中僅取一個值,使其盡可能多地覆蓋有效區(qū)間;對于無效輸入,每個測試用例中要包含一個無效值,其余為有效值,直至所有無效區(qū)間被覆蓋。

      (4)強健壯等價類:是一種對應于多缺陷假設的考慮了無效值的等價類測試形式。對于強健壯等價類來說,測試用例的構建應覆蓋到所有等價類(包括無效類)的笛卡爾積的各個元素。

      由此可以看出,選擇等價關系對等價類測試的好壞至關重要。在經典的輸入、處理、輸出的結構化程序體系中,輸入部分占源程序的80%,強調輸入及輸入數(shù)據(jù)的檢驗;輸出部分占源程序的20%。因此,一般來說,等價類測試在輸入域上定義等價類,但同樣也可以根據(jù)輸出域來定義等價關系。下文僅針對基于輸入域上定義等價類進行測試用例的設計應用。

      2測試用例設計步驟

      在分析需求規(guī)格說明的基礎上,依據(jù)劃分原則確立了等價類之后,應首先建立等價類表,列出所有劃分出的等價類,然后進行測試用例的設計。在設計測試用例時,應同時考慮有效等價類和無效等價類測試用例的設計。用最少的測試用例盡可能多地覆蓋有效等價類,但對每一個無效等價類,一個測試用例僅覆蓋一個無效等價類。有了等價類表后,等價類測試用例的設計步驟如下:

      (1)為每個等價類規(guī)定一個惟一的編號。

      (2)設計一個新的測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類。重復這一步,最后使得所有有效等價類均被測試用例所覆蓋。

      (3)設計一個新的測試用例,使其只覆蓋一個無效等價類。重復這一步,使所有無效等價類均被覆蓋。

      3實例分析

      某軟件評測項目中,公共服務平臺用戶注冊時,需求規(guī)格說明要求“企業(yè)統(tǒng)一社會信用代碼”一項為必填項,由固定18位數(shù)字或大寫英文字母組成,規(guī)定前8位必須是數(shù)字,且不允許與已注冊代碼重復。

      雖然有要求限定,但窮盡18位字符的測試數(shù)據(jù)組合是不現(xiàn)實的,可應用等價類劃分法設計測試用例。首先建立等價類劃分表,見表1。

      4結束語

      眾所周知,軟件質量的好壞直接影響著軟件企業(yè)的發(fā)展進程,隨著信息技術的蓬勃發(fā)展,軟件產品和信息系統(tǒng)項目數(shù)量層幾何式的爆發(fā)增長,軟件評測需求強烈。同時,軟件系統(tǒng)架構日趨集中和復雜,以及軟件評測從業(yè)人員數(shù)量相對有限,給軟件評測行業(yè)帶來了前所未有的挑戰(zhàn)。本文希望通過對于等價類劃分法設計測試用例的介紹,給軟件評測工作在提高測試效率的同時盡可能的覆蓋需求規(guī)格說明要求提供一種思路。當然,沒有一種方法能設計出全部測試方案,在對軟件進行實際評測時,可配合使用多種方法,形成一種綜合策略,如可再增加邊界值分析法域特殊值測試補充邊界值數(shù)據(jù)和特殊輸入數(shù)據(jù)的用例,使軟件評測用例設計更充分更完整。endprint

      猜你喜歡
      測試用例評測子集
      由一道有關集合的子集個數(shù)題引發(fā)的思考
      拓撲空間中緊致子集的性質研究
      次時代主機微軟XSX全方位評測(下)
      次時代主機微軟XSX全方位評測(上)
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      關于奇數(shù)階二元子集的分離序列
      攻坡新利器,TOKEN VENTOUS評測
      基于混合遺傳算法的回歸測試用例集最小化研究
      Canyon Ultimate CF SLX 8.0 DI2評測
      中國自行車(2017年1期)2017-04-16 02:54:06
      每一次愛情都只是愛情的子集
      都市麗人(2015年4期)2015-03-20 13:33:22
      定远县| 宜兰市| 勃利县| 长沙县| 都昌县| 蕲春县| 陇川县| 泾阳县| 阿图什市| 读书| 广南县| 宣武区| 凤翔县| 滦南县| 阳曲县| 晋中市| 石家庄市| 买车| 云龙县| 兴仁县| 陆川县| 淄博市| 磐安县| 容城县| 楚雄市| 张家界市| 罗山县| 孝义市| 宜川县| 石首市| 汤原县| 湟源县| 渝北区| 肥西县| 平罗县| 炎陵县| 榆社县| 监利县| 龙里县| 余姚市| 青神县|