軟體測試的商機(三)

也許歐美的軟體都已經被別人測試得差不多了(雖然我們知道事實上軟體是測不完的,但總是會有人擔心說重要的軟體測試早已就被作掉),所以我們不妨用中文資料處理應用中最基本的「排序」這個領域來看一下軟體測試的市場空間有多大(究竟我們的中文應用水準要比歐美人仕要強得多吧)。

假設有一個軟體模組 utility.sort 等著我們作黑箱測試。我們瞭解排序的基本計算方法對於程式設計師而言是很簡單的,而程式設計人員自己也已先作過單元測試,所以好像感覺上黑箱測試也玩不出什麼新花樣來。但是幾乎所有的軟工書上都說要先作等值分割,而稍微花一點功夫坐下來想一想,就可能會發現真的有許多不同的資料群組可以形成叢聚;譬如在數值方面,除了常見的整數之外,實數部份的有理數與無理數等等,都是等值分割的參考基礎。一般程式設計師是比較容易犯錯的原因不外是對這些數系定義域的忽略(因為唸書時都學過的)而已;試想,若把 0.33、1/3、1/3.0、3**0.3 等數值一起輸入此模組,執行出來的排序結果與預期的正確結果不同的機會可能是蠻高的。再進一步看,若把 123(數字)、一百二十三、壹佰貳拾叁、123(全形字)等數字及中文資料輸入此模組時,執行出來的排序結果是否會與預期的正確結果相同呢?我想機會是非常低的。因此,只在數值資料(不同資料格式)的定義域上作等值分割,就已經真的可以開始進行測試案例的規劃了(書上老掉牙的技術還是不錯的)。

接下來在非數值方面,那空間更是廣大了。中文資料的排序習慣上不外乎是依據筆劃或部首、注音等等,但不管怎麼樣,都不應該用內碼值的大小來處理,因為那是不具意義性的。若把王小明、李美麗、林國棟等姓名資料輸入此模組,執行出來的排序結果與預期的正確結果比較如何呢?此時突然發現所謂的預期正確結果本身就值得懷疑,為什麼是王小明、林國棟、李美麗?難道林國棟、李美麗、王小明就不正確嗎?顯然越想下去問題就越多。

是不是一個最基本的排序軟體模組就需要很多的測試人力呢?

留言

  1. hi

    很少看到有人討論軟體測試, 有空可以來多交流一下

    http://www.wretch.cc/blog/kojenchieh

    david ko

    回覆刪除

張貼留言

這個網誌中的熱門文章

從種樹小故事看流程改善

手機上的物件導向

CMMI是什麼?