交叉測試的必要性和遇到的問題

2022-05-26 01:30:13 字數 923 閱讀 1110

在軟體測試過程中,每個專案一般由多名測試工程師組成,分別負責不同模組的測試。對同乙個模組進行多輪測試,測試人員對手中的模組無論從整體到細節都有了非常深刻的掌握,但同時存在的定向思維,測試疲態也影響了bug的發現。這種測試模式不但影響了產品的最終質量,同時測試人員對產品整個邏輯和功能的了解也受到了限制。

鑑於上述問題,在測試的過程中引入交叉測試是非常有必要的。所謂交叉測試,是指在測試的某一階段,測試人員相互交換測試的模組,這樣不但可以使不同的測試人員保持測試的新鮮感,還可以進一步發掘測試的未知領域,發現交叉測試的模組和之前測試的模組間的聯絡,甚至可以構建更多的測試場景,對提高產品的質量也起到了很大幫助。

那麼,交叉測試在什麼時候引入比較合適呢。第一輪測試是每個測試人員和對應功能模組的第一次接觸,有很強的新鮮感,在對模組的初步了解後可以快速發現較多bug,但是對功能模組邏輯的不熟悉,導致測試時間比較緊張,所以一般不採用交叉測試。在經過第一輪測試後,一般的bug都會被揪出來,功能漸漸趨於穩定,產品逐漸定型,但是可能會存在一些bug,由於受到測試慣性的影響,在眼前也可能發現不了,引入交叉測試可以集中精力和時間發現一些遺漏的bug,同時發現和之前測試模組之間的聯絡,構建新場景,所以在第二輪測試中引入交叉測試比較合適。由於第二輪測試交換了測試模組,在時間的預估上,第一輪測試的時間和第二輪交叉測試的時間是相當的。

交叉測試也會碰到一些問題,如看不懂對方寫的測試用例,當然這不一定是測試用例寫的不好,也有可能是對功能邏輯的不了解,對測試環境的不熟悉。解決辦法可以在每個模組測試用例的前面增加「測試須知」,裡面包含了該模組的客戶端邏輯,和服務端的互動邏輯、測試環境的配置和需要注意的事項等等,寫得越詳細越好,這樣在對方測試前先有個大概了解,可以節省很多溝通時間;另外,在交叉測試的過程中,可能會出現bug重複提交的問題,一種解決辦法是提交bug前問一下第一輪測試的同學有沒有提交過。另一種是先提交,如果重複,在bug庫中置duplicate,當然這浪費了提bug的時間,一般不建議這麼做。

契約測試的必要性

測試是軟體流程中非常重要,不可或缺的乙個環節。一般的測試分為單元測試,整合測試,端到端的手工測試,這也是構成測試金字塔的三個層級。我們今天將要討論的話題是契約測試,它是處於單元測試和整合測試中間的乙個環節。這三個層級分別測試的場景如下 契約測試最開始的概念由martin fowler 提出,請參見這...

this的必要性

先看下面一段 lesson8 necessary of this class person show name public void showinfo class demo 8 1 this屬於乙個物件,代表的是物件,其實就是乙個物件的引用,只能在類定義的方法中使用。那麼它代表那個物件呢?答 哪個...

it 的必要性

for std vector iterator itlocal m vecsoftwareer.begin itlocal m vecsoftwareer.end else it 如上所示,c 98中map erase並沒有返回值為iterator的原型函式。那麼問題來了it map.erase i...