999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

判定表法的教學案例研究

2019-12-23 09:28:13薛峰
電腦知識與技術 2019年31期

薛峰

摘要:結合教學實踐,歸納和整理了軟件測試課程中與判定表法相關的典型教學案例。這些教學案例能夠很好地適用于判定表法的教學工作,有助于深入淺出地向學生展示判定表法的使用方法。此外,提出在教學中應當充分利用被測程序輸入條件之間存在的約束關系,簡化初始判定表的構造。

關鍵詞:軟件測試;黑盒測試;功能測試;判定表

中圖分類號:G642 文獻標識碼:A

文章編號:1009-3044(2019)31-0159-03

1概述

軟件測試是軟件質量控制的一種有效手段,也是軟件生命周期的一個重要環節。在開發過程中,采用有效的軟件測試方法和技術,不僅有助于提高軟件產品的質量水平,而且能夠顯著地降低項目后期的維護成本。

軟件測試的核心任務是尋找被測軟件中存在的各種缺陷。實施測試的基本手段是為被測程序設計一組測試用例,每條測試用例至少包含輸人數據和預期結果兩個部分。然后,將數據逐條輸人被測程序,并觀察實際運行結果是否和對應的預期結果一致。由此可見,測試用例的設計是軟件測試的一項重要活動,也是測試工程師所應當掌握的一項基本技能。因此,測試用例設計方法就構成了軟件測試課程的核心理論內容。判定表法是一種經典的測試用例設計方法,主要適用于在多項輸入條件中存在復雜邏輯組合關系的被測程序。該方法被廣泛應用于軟件測試實踐,因此也是測試用例設計方法的教學重點。

本文旨在歸納和整理與判定表法相關的典型教學案例,這些案例能夠逐步引導學生理解并掌握判定表法的概念和步驟。此外,在生成初始判定表的過程中,通??梢岳帽粶y程序輸入條件之間的約束關系,達到簡化初始判定表的目的。許多軟件測試教材對此未做強調,本文將結合案例分析對其加以補充。

2判定表法

判定表法是一種典型的黑盒測試方法。所謂黑盒測試,即將被測程序視為一個黑盒,測試工程師在不了解被測程序內部數據結構和算法的情況下,僅依據被測程序的規格說明即可完成測試用例的設計。各種黑盒測試方法都能夠幫助測試工程師找出滿足特定覆蓋要求的一系列情況,然后針對每種情況設計一條測試用例。設計測試用例的前提條件是被測程序的規格說明必須是規范的。規范的規格說明應當準確描述被測程序的輸入、處理和輸出。在不考慮內部處理的情況下,依據規格說明設計出的每條測試用例,反映了特定輸入條件組合與輸出之間的對應關系,其中的每個輸入條件組合通常是所有輸入變量的一組特定取值。

判定表法以表格形式列舉出被測程序的所有情況,這些情況應當覆蓋被測程序的所有輸入條件組合和對應的輸出,從而幫助測試工程師清晰、直觀地考察這些情況,并順利地設計出對應的測試用例。因此,一張判定表的基本結構應當包含如下四個部分:

條件樁:列出被測程序的所有輸人條件。

動作樁:列出被測程序的所有輸出。

條件項:列出被測程序的所有輸入條件組合。

動作項:列出被測程序所有輸入條件組合與輸出之間的對應關系。

其中,由條件項和動作項構成的一列稱為一條規則,每條規則都包含特定輸入條件組合及其對應的輸出。

3教學案例

本文主要從規格說明和案例分析兩個方面描述判定表的教學案例。其中,案例分析部分又分為如下兩個步驟:(1)初始化判定表。列出所有條件樁和動作樁,并填寫條件項及其對應的動作項。如果輸入條件之間存在明顯的約束關系,則在填寫條件項時利用這些約束關系簡化初始判定表。(2)化簡判定表。合并冗余規則并消除矛盾規則。

這里需要說明一點,判定表法的完整教學案例還包括選取測試用例的步驟,即為每條規則選取一條測試用例,限于篇幅本文省略了這一步驟。

3.1案例1:合并冗余規則

規格說明:某網站的會員注冊程序要求用戶輸入兩次密碼,并檢查輸入的密碼是否正確。系統首先檢查兩次輸入的密碼是否一致,如果不一致則提示“密碼不一致”。然后,檢查密碼是否少于8個字符,如果少于8個字符則提示“密碼不足8個字符”。最后,檢查密碼是否由字母和數字構成。如果不滿足要求則提示“密碼應包含字母和數字”。如果上述三個條件都滿足,則用戶輸入的密碼通過檢查。

步驟1初始化判定表

該步驟的主要任務是填寫判定表的初始內容。首先,在條件樁中列出所有輸入條件,在動作樁中列出所有輸出動作。其中,條件應盡量簡單,不要列出復合條件。事實上,復合條件可以由基本條件組合得到。對于布爾類型的條件,在條件樁中僅列舉一個取值,另一個取值自然就是其邏輯非。但如果條件不是布爾類型,則需要在條件樁中列舉該條件的所有取值。

如表1所示,本例的基本條件共有三個,動作共有四個。由于三個基本條件都是布爾類型,因此共列出8(23)個條件項。條件項中每個條件的取值用“T”表示邏輯真,用“F”表示邏輯假。最后,本例的所有條件項對應的動作項都僅有一個取值,這是因為當存在多個條件為假時,系統按檢查的順序僅提示一條錯誤信息。

步驟2化簡判定表

通過分析不難發現表1中存在可以合并的冗余規則。在尋找冗余規則時,首先應找出具有相同動作的規則,然后確定這些規則中條件項取值相同的條件,最后檢查剩余條件是否能夠遍歷所有的取值,如果可以則這些規則就可以合并為一條規則。在合并所得的規則中,對于那些原本取值不同的條件,將其取值都統一修改為“一”,代表可以任意取值。

例如在表1中,第5、6、7、8條規則的動作都是“密碼不一致”,這四條規則的條件項依次為:FTF、FTF、FFT、FFF。通過觀察不難發現,它們的第一個條件都取值為F,而剩余的第二、三條件則遍歷了二者的所有四種取值(TT、TF、FT、FF),因此這四條規則可以合并為一條規則:F-。其中的兩個“一”代表第二、三兩個條件可以任意取值。

類似地,第3、4條規則的動作都是“密碼不足8個字符”,二者的條件項依次是TFT和TFF。其中,第一、二兩個條件的取值都為TF,剩余的第一個條件的取值遍歷了該條件的所有兩種情況佃和F),因此這兩條規則可以合并為TF-。化簡的判定表如表2所示。

3.2案例2:消除矛盾規則

規格說明:閏年判定程序用于判斷一個給定年份是否為閏年,它輸入一個代表年份的整型變量year,如果year是閏年則輸出true,否則輸出false。

步驟1初始化判定表

本例的三個基本條件是year能夠分別被4、100或400整除,兩個動作分別是輸出true或false。由于每個條件都屬于布爾類型,因此總共需要列出八個條件項。初始判定表如表3所示,考慮到規則有可能存在邏輯矛盾,因此在表中特別增加了一個“矛盾”動作。

步驟2化簡判定表

表3的第3、5、6、7條規則都存在邏輯矛盾。例如第3條規則的含義是year能夠被4和400整除,但不能被100整除,這是不可能的,因此存在矛盾。對其他三條規則也可以做類似的分析。上述四條規則的“矛盾”動作中都填入了“T”,表示這是矛盾規則。在化簡判定表時,只要刪除矛盾規則所在的列即可?;喌呐卸ū砣绫?所示。此時,判定表中不用再包含“矛盾”動作了。

3.3案例3:利用約束關系簡化初始判定表

規格說明:三角形類型判定程序用于判斷三角形的類型。該程序輸入代表三條邊長的三個整型變量a、b、c(a>0,b>0,c>0),輸出三角形的類型可能是“等邊三角形”“等腰三角形”和“一般三角形”。如果三條邊無法構成三角形,則輸出“不構成三角形”。

步驟1初始化判定表

當問題規模比較大的時候,由于輸入變量或變量的取值數量眾多,直接構造初始判定表將面臨組合爆炸的問題。此時,如果基本條件之間存在約束關系,不妨利用問題本身所蘊含的這一特點,獲得簡化的初始判定表。

在本例中,判定構成三角形的基本條件是:a+b>c、a+c>b、b+c>a。判定三角形類型的基本條件是:a=b、a=c、b=c。由這六個條件所形成的條件項共有64(261項,在判定表中直接列舉所有這64項的工作量顯然是巨大的。事實上,借助平面幾何知識不難證明如下結論:當a>0,b>0,c>0時,a+b>c、a+c>b、b+c>a三個條件中,最多只有一個不成立。該結論反映了上述三個條件之間存在的約束關系,利用該關系可以獲得簡化的初始判定表。

如表5所示,其中第1~3條規則對應不能構成三角形的三種情況。對于a+b>c、a+c>b、b+c>a三個條件而言,在每種情況下都僅有一者不成立。由于無法構成三角形,因此這三條規則中的其他三個條件都取值為“一”。第4-11條規則對應能夠構成三角形的八條規則,其中每條規則的前三個條件都取值為“T”,表示能夠構成三角形。而這些規則的后三個條件則遍歷所有八種取值。與前面分析的64條規則相比,此處獲得的初始判定表僅包含11條規則,從而在很大程度上簡化了初始判定表的規模。

步驟2化簡判定表

在表5中不存在可以合并的冗余規則,因此本例無須考慮規則的合并。然而,第5、6、8條規則卻存在矛盾。例如,對于第5條規則而言,后面三個條件的取值是TTF,分別表示a=b、a=c和b*c,這顯然是矛盾的。對第6、8條規則也可以做類似的分析。消除這三條規則將獲得化簡的判定表,化簡結果如表6所示。

4結束語

軟件測試是一門實踐性很強的課程,因此對于判定表法的教學不能僅局限于理論知識的講授,而應當在各個教學環節中為學生提供動手實踐的機會。本文所列舉的幾個案例為判定表法的理論教學和實踐教學都奠定了堅實的基礎。在此基礎之上,還要結合實踐教學的需要,設計并實現相應的被測程序。通過在被測程序中預先埋設缺陷,學生可以驗證其設計測試用例的有效性,從而更加深化對判定表法的認識。當然,這一教學思路不僅適用于判定表法,也適用于其他黑盒測試方法。

主站蜘蛛池模板: 亚洲国产精品一区二区高清无码久久 | 国产尹人香蕉综合在线电影| 成人一区在线| 国产美女无遮挡免费视频网站| 亚洲色图欧美视频| 精品精品国产高清A毛片| 五月婷婷亚洲综合| 国产精品99r8在线观看| 国产中文一区二区苍井空| 婷婷六月在线| 高清久久精品亚洲日韩Av| 日本欧美成人免费| 国产免费福利网站| 91免费国产高清观看| 国产三级a| 日韩av手机在线| 午夜影院a级片| 国产精品人人做人人爽人人添| 亚洲AV无码一区二区三区牲色| 国产福利一区二区在线观看| 国产三级成人| 欧美专区日韩专区| 天堂网亚洲系列亚洲系列| 亚洲国产精品一区二区高清无码久久| 国产精品极品美女自在线| 精品无码人妻一区二区| 黄色在线网| 亚洲欧美综合另类图片小说区| 97国产精品视频人人做人人爱| 丝袜久久剧情精品国产| 久久激情影院| 国产欧美日韩va| 国产亚洲欧美在线专区| 2018日日摸夜夜添狠狠躁| 亚欧美国产综合| 亚洲精品福利网站| 99re视频在线| 国产精品吹潮在线观看中文| 成人国产免费| 久久人人爽人人爽人人片aV东京热| 制服丝袜 91视频| 青草午夜精品视频在线观看| 亚洲成肉网| 秘书高跟黑色丝袜国产91在线 | 亚洲国产天堂久久综合| 夜夜爽免费视频| 少妇极品熟妇人妻专区视频| 毛片久久久| 国产区在线看| 成人精品免费视频| 日本成人不卡视频| 中文字幕av无码不卡免费| 亚洲一本大道在线| 免费可以看的无遮挡av无码| 久久精品亚洲专区| 成人午夜视频网站| 亚洲视频在线青青| 色噜噜狠狠色综合网图区| 亚洲人精品亚洲人成在线| 中文字幕免费在线视频| 欧美亚洲综合免费精品高清在线观看 | 亚洲国产精品成人久久综合影院| 呦系列视频一区二区三区| 国产真实乱了在线播放| 黄色网站在线观看无码| 欧美午夜理伦三级在线观看| 激情六月丁香婷婷四房播| 日韩福利在线视频| 青青久久91| 欧美黄网站免费观看| 亚洲 欧美 日韩综合一区| 免费午夜无码18禁无码影院| 国产成人高清精品免费软件| 亚洲人人视频| 一级黄色网站在线免费看| 国产日韩精品欧美一区灰| 亚洲美女AV免费一区| 无码精品国产VA在线观看DVD| 99re在线视频观看| 91九色视频网| 97一区二区在线播放| 欧美午夜在线播放|