A系統測試工作總結
A系統的測試工作從10月11日開始到11月28日正式結束了。此次測試工作包含了A系統自身的web端測試和其他系統聯調測試。這次專案與往期系統有很多大不同,具體以下幾點:
1. 沒有產品經理,沒有完善的需求相關文件。
2. 它是完全由java開發的,團隊內.Net開發人員本身java實際經驗不足。
3. 專案中使用了從未接觸過的Hive資料庫和非關係型資料庫HBase。
因此本次測試過程中並非一路順風順水,而且遇到了不少的問題。本人以書面形式整理記錄下來,為將來工作時遇到相似問題作為參考。
1. 介面測試很重要
即使專案管理人員不給予足夠時間,仍然要在整個測試工作開展之前進行簡單的介面測試。可以提前暴露出很多問題。不光是系統的缺陷,同時也會暴露出測試指令碼的設計問題或者對業務的錯誤理解。
2. 介面需要了解所有傳參的列舉值
A系統最初介面設計的是通用介面,所以介面文件很簡單。實際每個業務系統接入都有自己的引數,這些引數的列舉值沒有在文件中體現。例如本次測試過程中,某個業務系統會傳一個approveRes引數,一開始我設計的jmeter指令碼傳的是”成功”,但是請求的行為記錄沒有計算,後來通過溝通才知道,A系統和業務系統約定了”3”代表”成功”。
3. 隨時更新測試用例
本次專案測試比較特殊,沒有產品經理,所以頁面元素和互動部分也是開發掌控的。所以很多東西邏輯上沒錯,但用著很不舒服。例如:開發實際提測版本中動作配置頁面顯示的列表是以引數為元祖列表,而不是動作為元祖的列表,這和原先寫測試用例時不一樣。但是這塊用例沒有重新設計,導致刪除這個功能出現了極差的使用者體驗。(現在點選刪除給人感覺是刪除了單條引數,但實際是刪除了引數所在的整個動作。)
4. 從源頭解決資料問題
本次專案中有很多overwrite insert的表。同時其資料來源又是其他的overwriteinsert的表。所以當出現有異常資料時,需要早找最源頭的那些表,進行條件過濾。條件過濾需要與業務系統確認。哪些屬於測試環境異常資料,可以忽略。哪些屬於線上也存在的異常資料,是否相容這些線上異常資料。
同時本次測試過程中也學會了很多新的知識和小技巧。這些知識和小技巧可以提升測試效率。以下是本次測試中的學習總結:
1. Hive資料庫&HBase資料庫的基礎語句
2. Notepad++的compare外掛,可以智慧對比文字
3. Excel貼上時選擇自定義分隔符、選擇文字模式可以保留源資料格式。(不丟0)
4. Linux時區知識,分為系統時區和使用者時區
5. Jdbc連線mysql時,漢字會亂碼,需要新增”?characterEncoding=utf8”引數
至此,整個專案的測試算是告一段落。以上是本人對A系統測試工作的一次經驗總結。定期總結可以很好的消化和鞏固知識,以此自勉。