現代語文與軟體測試學的關係

大搜車-自娛發表於2017-11-30

好久不寫文,最近面試多了,感覺孩子們把學的知識都學死了,連軟體測試TC設計的基礎理論很多同學都不能夠完全好好掌握,按照我多年質控方面的理解,今天以現代語文的方式為大家解析一下TC設計。

 

所謂語文,其實平時我們說的話都是語文,對於測試工程師,產品經理PRD裡寫的每一句話都是語文。所以我個人覺得學好語文和做好測試關係還挺大的。

 

舉例:現代漢語詞彙這樣分類的,分為實詞和虛詞2類。

實詞:名詞、動詞、形容詞、數詞、量詞、代詞。

虛詞:副詞、介詞、擬聲詞、連詞、助詞、嘆詞。

 

而軟體測試TC設計和實詞關係很大。再舉例來說:(這是我面試經常問的一道題)

我週六花了6000塊買了一臺白色的iphone6.

我 -- 代詞

週六 -- 名詞

花了 -- 動詞

6000塊 -- 數量詞

買了 -- 動詞

一臺 -- 數量詞

白色的 -- 形容詞

iphone6 -- 名詞

 

活學軟體測試理論:

1.所有數詞都試用於等價類測試,邊界值測試以及壓力測試

   例如:6000是一個子集、6000以下是一個子集、6000以上是一個子集,6000塊 一臺,那麼0元是否可買,同一時間段多人採購N臺如何進行壓力測試?

2.所有代詞、名詞都適合做功能測試,等價類測試。

   例如:你、我、他。週六、非週六。iphone6、iphone7、非iphone6.

3.所有動詞基本都適合做效能測試。

   例如:花了、買了。是一個人花錢使用是這個花這個方法,還是N個人同時在花錢,是買一臺,還是同時買N臺。

4.所有量詞都適合錯誤推斷法。

   例如:個、臺。而不是條,打,粒。我不能用6000塊買一打,或者一條iphone6出來。

5.所有形容詞都適合做等價類劃分法。

   例如:白色的,非白色的。

6.基本每一句話都適合做場景分析法。

   這個購買操作是在什麼場景下進行的?什麼場景不能進行?這個場景的特殊條件,前提條件是什麼?使用者可能會做的,還會做什麼?

 

那什麼樣的語句適合因果圖法、判定表法、正交試驗法,功能圖法呢?

 

因果圖法:(即漢語中簡單的條件性語句都適應因果圖法)

例如:當/若 怎麼樣怎麼樣的時候,結果/應該 會怎麼怎麼樣的語句,特別適合因果圖法。

例如:當乘客在3公里範圍內取消訂單時,罰款5元,當乘客在5公里範圍外取消訂單,罰款10元。

 

判定表法:(即漢語中複雜條件組合的語句都適應判定表法)

你可以這樣簡單理解判定表法,就是當有多個原因會導致結果會改變的時候應該使用判定表法。

例如:當乘客在3公里範圍內,司機已達到目的地,並且訂單金額是大於50元,當使用者點選取消訂單是,罰款5元。其他情況乘客不做懲罰。

這個時候你應該把這幾個條件列出來,得到你的結論

條件:1.乘客是否在3公里範圍內  2.司機是否已經到達目的地  3.訂單金額是否大於50元 4.使用者是否點選了取消 這4個條件決定了程式的結果是否罰款5元。

 

正交試驗法:(即漢語中,區間分佈,並且均勻分佈的語句都適應正交試驗法。)

正交試驗法,其實在應用軟體的設計中,碰到使用這種場景的Case還是非常少的。因為現在的應用軟體的邏輯沒有那麼複雜。

我舉個例子:叫車訂單在0-20元的使用者,並且周登入次數在1-5次的,每週獎勵1元,叫車訂單在20元-50元的使用者,並且周登入次數在5-10次的,每週獎勵2元。

如果0-20元,周登入次數在1-5次的,與20-50元,周登入次數在5-10次的使用者比例是一致的,就可以使用正交實驗法,在各範圍內取有代表的點就可以覆蓋該範圍內的所有邏輯。

若0-20與20-50的使用者比例不一致,實際就要按照使用者重點落在那個區域內,對該區域進行重點測試。

 

功能圖法:(這個最簡單,但是大部分同學不知道自己每天在用)

即平時你們看到的流程圖,按照該流程圖設計的方式,即功能圖法。

 

 這樣來理解TC設計的8種測試方法,是不是就非常非常簡單,其實就是初中語文嗎?你總會說話,總會知道這個詞彙是什麼詞彙的吧,既然知道,那設計好TC也不是什麼難事。

 

最後將TC設計的8種方法羅列如下:等價類劃分法、邊界值分析法、錯誤推斷法、因果圖法、判定表法、正交試驗法、功能圖法、場景分析法。

 

 

 

相關文章