國際化測試中的邊界值

2021-07-29 19:36:52 字數 2124 閱讀 5368

說起邊界值測試,大家應該都是如數家珍了。作為一種常用的黑盒測試方法,他通常會和等價類劃分一起配合,幫助測試人員有效地進行測試用例設計。而編寫邊界值測試用例的基本步驟通常可以分為如下兩點。

1. 根據設計文件或輸入輸出框提示資訊確定邊界值

2. 選取等於、略大於、略小於邊界的值作為測試資料

按照是否有效以及變數個數,邊界值可以嚴格的分為如下四種。

單變數假設

多變數假設

有效值一般邊界值

一般最壞邊界值

無效值健壯邊界值

健壯最壞邊界值

即僅考慮有效區間單個變數的邊界值:用最小值、略高於最小值、正常值、略低於最大值和最大值。設被測變數個數為n,則測試用例個數為4n+1。函式y=f(x1, x2)輸入變數的取值範圍分別為: x1∈[a, b],x2∈[c, d]

即僅考慮有效區間多個變數邊界值同時作用時的邊界值:用各個變數最小值、略高於最小值、正常值、略低於最大值和最大值的笛卡爾積。設變數個數為n,則測試用例個數為5n 函式 y=f(x1,x2)輸入變數的取值範圍分別為: x1∈[a, b],x2∈[c, d]

即考慮單個變數有效值和無效值的邊界值情況:除了最小值、略高於最小值、正常值、略低於最大值、最大值,還要有略超過最大值和略小於最小值的值。設變數數為n,則測試用例數為6n+1。函式y=f(x1, x2)輸入變數的取值範圍分別為: x1∈[a, b],x2∈[c, d]

即同時考慮多個變數有效區和無效區同時作用的情況:用各個變數最小值、略高於最小值、正常值、略低於最大值、最大值、略大於最大值和略小於最小值的笛卡爾積。設被測變數個數為n,則測試用例個數為7n函式y=f(x1, x2)輸入變數的取值範圍分別為:x1∈[a, b],x2∈[c, d]

理論闡述完畢,然而問題來了,這些理論都是為功能服務的,與國際化有什麼關係呢?嗯,看看下面這則場景吧,讓我們一起理論聯絡實際,設想一下如果面對這樣standalone的case,如何使用上述理論來進行國際化測試用例設計吧。

(5秒鐘後……)

1. 使用length 47的super string

2. 使用length=47的super string

3. 使用length<47的super string

4. 使用length>47的native string

5. 使用length=47的native string

6. 使用length<47的native string

7. 使用空string

8. 使用預設string

非常感謝大家讓我瞬間就收集到了這些test case,看來大家對邊界值理論早已諳熟於胸啦!不過在筆者看來,這個scenario我們沒必要進行國際化測試,因為這是乙個純功能驗證點!

「……不對啊,我們用中文輸入只能輸入16個字元就報錯,但用法文輸入16個就沒報錯,這分明是i18n bug嘛」有人反駁道。

這裡需要提醒各位的是,本案中boundary設定的是47 byte,不是char哦。

「那麼按照你的理解,邊界值測試跟國際化無關嘍?」有人繼續追問。

不!為了詳細說明該問題,這裡需要進行細分,大抵可以分為如下兩種情況。

1. 單個component中的邊界值,即單變數情況

2. 多個需要通訊的component中的邊界值,即多變數情況

這下大家是否都了然了呢?

軟體國際化值頁面國際化

國際化 軟體的國際化 軟體開發時,要使它能同時應對世界不同地區和國家的訪問,並針對不同地區和國家的訪問,提供相應的 符合來訪者閱讀習慣的頁面或資料。國際化又稱為 i18n internationalization 對於軟體中的選單欄 導航條 錯誤提示資訊,狀態資訊等這些固定不變的文字資訊,可以把它們...

Vue中的國際化

單純記錄使用過程中遇到的問題,基礎的用法看官網的就行了官網位址 1.script標籤裡面使用國際化,例如在methods裡面使用 methods 在html標籤屬性中使用,例如在placeholder中使用 type lock lock password text placeholder t log...

spring中配置國際化

先寫好幾個.properties的資源檔案放在classpath下,當然可以放在src下面 我寫了兩個 format.properties 內容 testmsg hello world exception.properties run runtimeexception null nullpointe...