手機軟體測試最佳實踐

2021-09-07 08:29:42 字數 4311 閱讀 6438

第2章手機軟體測試用例設計

本章要點:

● 用例設計考慮因素;

● 用例設計基本原則;

● 用例設計常用方法。

2.1用例設計考慮因素

從理論上講,手機軟體規模越大,模組間的關係越複雜,組合的情況越多,測試用例數目佔的比例也就越大,因而總是很難設計出「足夠」的測試用例。

雖然理論上缺陷空間(測試空間上所有可能發生的缺陷構成的集合就是缺陷空間)可以接近無限大,但實際情況中存在的缺陷只是缺陷空間的乙個很小的子集。測試中最重要的是要找到已經存在的缺陷,但在沒有進行測試前,手機軟體中存在多少缺陷卻是不知道的。

從理論上講,測試是不能窮盡的,就意味著不存在一種方法能將所有的缺陷都所以找出來,找到缺陷的問題注定是乙個概率問題,將那些發生概率較大的缺陷找出來就成了測試的主要任務。

測試用例是為特定的目的而設計的一組測試輸入、執行條件和預期的結果。測試用例是執行的最小實體。簡單地說,測試用例就是設計乙個場景,使測試程式在這種場景下執行並且達到程式所設計的執行結果。

設計測試用例首先要考慮以下幾個問題:

● 為什麼要設計測試用例?

● 誰來寫測試用例?這些寫測試用例的人的測試技術如何?以及對被測試產品了解有多深入?

● 測試用例寫給誰看,多少人將使用測試用例文件?

● 分配給編寫測試用例的時間是多長?要安排幾個人來寫?

● 怎麼在測試用例的成本、質量和效率方面達到平衡?

目前的手機市場對於新推出的功能和應用程式有著迫切的需要,使得產品週期非常短;然而只有回答了這些問題,才能確定測試用例的具體寫作方法和表現形式。一般而言,手機軟體測試專案中分配寫測試用例的時間並不長,而且提供的文件也不全面,所以寫測試用例要符合測試部門的當前現狀和專案的測試特點。

對於測試設計工程師來說,設計測試用例需要考慮以下幾個方面:

● 測試用例設計必須考慮有效:容易發現並呈現錯誤;

● 測試用例設計必須覆蓋全面又不冗餘:數量上不應有重複的、多餘的用例,對軟體規格說明書和設計功能點有全面的覆蓋,不僅包括功能測試用例,還包括效能測試用例,外場測試、易用性等測試用例;

● 測試用例設計必須明確粒度和測試分類的程度:粒度越細,測試成本就越高,測試週期就越長;分類越多,測試成本相應增加,測試週期就越長;

● 測試用例設計完成後必須經過評審:以幫助進一步補充用例,提高測試覆蓋率,提高用例質量。

對於測試執行工程師來說,測試用例的內容應包括以下幾個方面:

● 測試用例的測試目標;

● 測試用例的被測功能點描述;

● 測試用例的測試執行環境;

● 測試用例的執行方法(包括測試步驟,輸入測試資料或測試指令碼);

● 測試期望的結果;

● 執行測試的實際結果;

● 其他輔助說明。

2.2用例設計基本原則

● 測試用例的代表性:能夠代表並覆蓋各種合理的和不合理的、合法的和非法的、邊界的和越界的以及極限的輸入資料、操作和環境設定等。

● 測試用例的可執行特點:在測試前提符合的情況下,依照測試步驟,每乙個測試用例都能夠順利地使程式執行,同時呈現相應的期望結果。

● 測試結果的可判定性:即測試執行結果的正確性是可判定的,每乙個測試用例都應有相應的期望結果。

測試結果的可再現性:即對同樣的測試用例,系統的執行結果應當是相同的。

乙個好的測試用例是指可能找到迄今為止尚未發現的錯誤的測試,由此可見,測試用例設計工作在整個測試過程中占有十分重要的地位,所以我們不能只憑藉一些主觀或直觀的想法來設計測試用例,而應該要以一些比較成熟的測試用例設計方法為指導,再加上設計人員個人的經驗積累來設計測試用例。

1.等價類劃分方法基本概念

如果把所有可能的輸入資料分為有效等價類和無效等價類兩種,那麼可以做出這樣的合理假定:如果等價類中的乙個輸入資料能發現乙個缺陷,那麼等價類中其他輸入資料也能發現同乙個缺陷;反之,如果乙個輸入資料不能發現某個錯誤,那麼等價類中其他輸入資料也不能發現這一錯誤。

有效等價類是指對於程式的規格說明來說是合理的、有意義的輸入資料構成的集合。利用有效等價類可檢驗程式是否實現了規格說明中所規定的功能和效能。

與有效等價類恰巧相反,無效等價類是指對程式的規格說明是不合理的或無意義的輸入資料所構成的集合。對於具體的問題,無效等價類至少應有乙個,也可能有多個。

等價類分析法不但可以針對輸入資料,而且可以針對輸出資料進行劃分。總之,他們發現缺陷的概率是等效的。

2.等價類劃分方法設計用例的原則

●如果輸入條件規定了取值範圍,或者值的個數,則可以確定乙個有效等價類和兩個無效等價類;

●如果輸入條件規定了輸入值的集合,或者是規定了「必須如何」的條件,這時可以確立乙個有效等價類和乙個無效等價類;

●如果輸入條件是乙個布林量,則可以確立乙個有效等價類和乙個無效等價類;

●如果規定了輸入資料的一組值,則程式要對每乙個輸入值分別進行處理;這時要對每乙個規定的輸入值確立乙個等價類,並且對於這組值之外的所有值也都確立乙個等價類;

●如果規定了輸入資料必須遵守的規則,則可以確立乙個有效等價類(即遵守規則的資料)和若干無效等價類(從不同角度違反規則的資料);

●如果已劃分的等價類中的各元素在程式中的處理方式不同,則應進一步劃分成更小的等價類。

3.利用等價類劃分方法選擇用例

●為每乙個等價類規定乙個唯一的編號;

●設計乙個新的測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類;重複這一步驟,直到所有的無效等價類都被覆蓋為止;

●設計乙個新的測試用例,使其僅覆蓋乙個無效等價類,重複這一步驟,直到所有的無效等價類都被覆蓋為止。

【舉例1】以短訊息編輯使用者場景為例。

第一步:為每乙個等價類和無效等價類規定乙個唯一的編號,如表2.1所示。

表2.1輸入字元有效等價類

1.邊界值分析法基本概念

首先我們讀0這個數,小學時我們已經知道大於0的叫正數,形成正數區域;小於0的叫負數,形成負數區域,0也就成了數學上我們大家所熟悉的邊界點。然而我們常常去做些測試:用小的數減去大的數,老師告訴我們不夠減,讓我們記住小的數不能減去大的數。

隨著數域概念的擴大,發現這裡有錯誤。同樣,實際程式邏輯中也有類似的這種差別,錢不夠可以向別人借錢;如果資料庫內沒有資料,仍然去刪除一條記錄,而這樣的刪除操作將報錯。

長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。說明程式在邊界值上出現錯誤概率的可能性大。

2.邊界值分析法設計用例的原則

通常邊界值分析法是作為對等價類劃分法的補充,其測試用例來自等價類邊界,每個邊界都要作為測試條件。因此,邊界值分析不僅考慮輸入條件,還要考慮輸出產生的測試情況。邊界值分析法設計用例的原則如下:

(1)如果輸入條件規定了值的範圍,則應該取剛剛達到這個範圍的邊界值,及剛剛超越這個範圍邊界的值作為測試資料;

(2)如果輸入條件規定了值的個數,則用最大個數、最小個數、比最小個數少一的數、比最大個數多一的數作為測試資料;

(3)根據軟體規格說明書的每個輸出條件,應用上述的原則(1)和原則(2);

(4)如果軟體程式規格說明書所給出的輸入域或輸出域是有序集合,則應該選取集合的第乙個元素和最後乙個元素作為測試資料;

(5)如果程式中採用了乙個內部資料結構,則應當選擇這個內部資料結構的邊界上的值作為測試資料;

(6)分析軟體規格說明書,找出其他可能的邊界條件。

按照上述方法,可以做到更好地使用邊界值對用例進行選擇,更容易發現缺陷。在實際測試中可以按照這樣的分類思路進行擴充套件。

3.利用邊界值分析法選擇用例

【舉例】lcd螢幕上有效顯示區域為4行,每行8漢字;

lcd顯示屏列邊界值需要考慮:7個漢字,8個漢字,9個漢字;

lcd顯示屏行邊界值需要考慮:31個漢字,32個漢字,33個漢字;1行,4行,0行,5行。

通常情況下,軟體測試所包含的邊界檢驗有幾種型別:數值、字元、位置、重量、大小、速度、方位、尺寸、空間等。以上型別的相應邊界值應該在:

最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長、空/滿等情況下,如表2.7所示。

表2.7常見邊界值

手機軟體測試過程中,常需要考慮的邊界值如下:

●短訊息在default7bitalphabet編碼時邊界為0~160;ucs-2編碼時邊界為0~70;

●對16-bit的整數而言32767和-32768是邊界;

●螢幕上游標在最左上、最右下位置;

●報表的第一行和最後一行;

●陣列元素的第乙個和最後乙個;

●迴圈的第0次、第1次和倒數第2次、最後一次。

等價類劃分是一種用例設計的思想,是按照輸入項和輸出項的情況把要執行的具體測試用例劃分成等價類和無效等價類兩種,然後執行測試。邊界值分析也是設計用例時的指導思想,它是在具體執行測試用例時要用到的一種測試技巧(取邊界值)。具體實施用例設計時往往要兩者結合考慮,一起使用。

現以編輯乙個彩信測試用例為例,輸入項的劃分如表2.8所示。

手機軟體測試流程

目錄1.概述2 1.1目的2 1.2適用範圍2 1.3執行原則2 1.4角色和職責2 2.軟體測試流程3 2.1軟體測試流程圖3 2.2 流程 析3 3 軟體測試週期人員活 5 3.1 活 5 3.2 活 描述7 3.2.1軟體測試準備 s0 s27 3.2.2 測試執行階段 s38 3.2.2.1...

手機軟體測試流程

軟體測試的目的是為了保證產品的最終質量,在軟體開發的過程中,對軟體產品進行質量控制,提高軟體的可靠性。由於現在軟體的規模越來越大,乙個人或者少數幾個人已經不可能在一定的時間內完成乙個軟體,所以軟體開發的過程越來越複雜,層次越來越深。這就導致開發人員之間的溝通有了一定的隔閡。所以,軟體測試越來越有單立...

手機軟體測試實習報告

河北工業大學 畢業實習報告 姓名 學號 093532 專業班級 x 實習單位 北京北陽電子技術 實習時間 2011年2月14日 2o11年4月1日 指導教師 一 實習目的 理論聯絡實際,通過把所學軟體測試知識與實際操作相結合,熟 練軟體測試操作流程,根據實際操作總結學習中的錯誤認識,拓展思維方法並學...