軟體測試中的衝突測試

2021-09-07 03:24:41 字數 2610 閱讀 6703

**:

摘要:本文介紹了我們公司內部的一種測試方法——衝突測試的含義,並就衝突測試在我司使用範圍、衝突測試用例的設計方法等做了簡單的介紹。

1、什麼是衝突測試

衝突測試是我們公司內部的一種叫法,可能不同的公司叫法不同。我們公司所謂的衝突測試是指,在執行某一程式的功能時被第三方功能或者軟體給干擾的測試。該測試方法模擬的是一種基於軟體狀態場景的測試。從軟體的執行狀態來看,我們認為軟體狀態一般只有開始、掛起、結束,這三種狀態。衝突測試即為模擬干擾軟體執行「開始」、「掛起」、「結束」狀態的測試。

2、衝突測試的應用範圍和一些應用場景

衝突測試這種測試方法,常見於手機軟體測試、移動通訊類嵌入式軟體測試等領域。但在一些桌面軟體或者web系統測試領域當中也可應用,只是應用的場景並不如移動通訊類軟體這麼廣泛。

下面簡單介紹一下其不同軟體型別中的典型應用場景:

手機軟體:

比如在收簡訊時,來個**的場景;

在通話過程中,收到了乙個簡訊等等。

移動通訊類嵌入式軟體:

移動通訊類嵌入式軟體,大多是基於3g網路應用的軟體。比如一些車載軟體,將此類終端裝在汽車上,就可以實現類似基於手機功能,並整合網際網路娛樂的功能的軟體。典型軟體型別,如豐田公司的「g-book」、比亞迪的「i」系統等。

其測試場景比如:

在藍芽連線的過程中,又接收到了乙個新的藍芽連線請求等等。

桌面軟體或者web系統:

桌面軟體或web系統的衝突測試,常見於多執行緒程式、具有多系統合作程式、多許可權管理的程式。

多執行緒程式:

比如某查詢功能,由於資料量很多,查詢後有乙個等待載入完成的狀態執行緒。這時我們就可以通過關閉標籤或者頁面,結束這個等待的狀態執行緒;

有某匯出資料的功能,在匯出資料等待過程中,關閉標籤或者頁面,結束這個等待的狀態執行緒。

……………………

3、衝突測試應該在整個測試中的地位

為什麼說衝突測試跟邊界值測試法的地位相同呢?

因為說白了其實衝突測試就是邊界值法測試方法的一種具體體現。對邊界值法有乙個小小的誤區,無論是書上還是網路上通常說到邊界值法的時候,舉的例子往往是數量邊界,即某個輸入框只能為20位字元時,我們測試其21位字元的情況,這當然也沒有錯,只是常此以往,很多測試人員認為邊界值法就是資料邊界了。其實我認為邊界值法,包括三種:輸入動作的邊界,數量的邊界,以及狀態的邊界。所謂輸入動作的邊界,比如查詢有三個輸入框,乙個框都不輸入去查詢,這就是乙個輸入動作的邊界。數量邊界,即乙個值的最小和最大數量。狀態邊界,即「開始」、「掛起」、「結束」這三種狀態。由於本文重點是介紹衝突測試這種方法,關於邊界值就不繼續禪述了。

4、衝突測試用例的設計方法和執行策略

此類測試用例設計的方法與其它型別的用例設計方法基本上相同。不過,不同的軟體型別其用例設計方法的偏重點也略有不同。我們先來看看手機和移動通訊類嵌入式系統的用例設計大體方法和執行策略:

a)確定可打斷其它功能狀態的功能。

比如手機功能:一般通話、藍芽、簡訊、彩信、鬧鐘、usb、充電等功能,都會彈出乙個提示資訊層。所以衝突測試用例,都必須考慮這種功能打斷其它程式時會不會引起一些異常等。

b)遍歷所有功能模組

分析功能模組的使用頻率,將不同的使用頻率的模組按不同的級別劃分,以便有利於測試策略的安排。

c)執行策略

此類測試在手機等移動通訊軟體中的乙個難點就是,找準測試時間點。因為在執行某個功能時,發生的速度非常快,而要打斷這個狀態就得算好時間。這一點,我想做過手機軟體測試的同志是非常清楚的。我所採用的方法,一般是在這個功能使用手機秒錶功能計算並統計時間後取出平均時間來執行的。另外,此類用例在前期應執行級別最高的用例,到中後期按照多個版本遍歷所有級別的原則進行組合策略按排。

5、衝突測試用例的例項

手機軟體,如簡訊模組的一些用例: 

模組用例概要

測試步驟

期待結果

簡訊模組

來**1.從主選單介面進入簡訊介面過程中,有**呼入

1.**正常呼入,仍處於主選單介面

簡訊模組

來**1.進入寫簡訊介面過程中,有**呼入

1.**正常呼入,仍高亮於寫簡訊選單

簡訊模組

來**1.在傳送簡訊過程中,有**呼入

1.**正常呼入,該簡訊傳送失敗,保留在收件箱內

簡訊模組

來鬧鐘1.從主選單介面進入簡訊介面過程中,鬧鐘時間到

1.正常彈出鬧鐘,關閉鬧鐘後,仍處於主選單介面

簡訊模組

來鬧鐘1.進入寫簡訊介面過程中,鬧鐘時間到

1.正常彈出鬧鐘,關閉鬧鐘後,仍高亮於寫簡訊選單

簡訊模組

來鬧鐘1.在傳送簡訊過程中,鬧鐘時間到

1.正常彈出鬧鐘,關閉鬧鐘後,該簡訊傳送失敗,保留在收件箱內

....

軟體測試中的 測試

地球我來啦,同志們,今天分享關於 測試的有關內容。一 常用來表示軟體測試過程中的三個階段 是第一階段,一般只供內部測試使用 alpha測試 由使用者 測試人員 開發人員共同參與的內部測試 是第二個階段,已經消除了軟體中大部分的不完善之處,但仍有可能還存在缺陷和漏洞,一般只提供給特定的使用者群來測試使...

軟體測試中的 測試

地球我來啦,同志們,今天分享關於 測試的有關內容。一 常用來表示軟體測試過程中的三個階段 是第一階段,一般只供內部測試使用 alpha測試 由使用者 測試人員 開發人員共同參與的內部測試 是第二個階段,已經消除了軟體中大部分的不完善之處,但仍有可能還存在缺陷和漏洞,一般只提供給特定的使用者群來測試使...

軟體測試中的 測試

一 常用來表示軟體測試過程中的三個階段 是第一階段,一般只供內部測試使用 alpha測試 由使用者 測試人員 開發人員共同參與的內部測試 是第二個階段,已經消除了軟體中大部分的不完善之處,但仍有可能還存在缺陷和漏洞,一般只提供給特定的使用者群來測試使用 beta測試 內測後的公測,交給終端使用者測試...