測試工作回顧

你怎麼開展測試?

     我拿到項目後,先從產品那裏要來需求文檔跟產品原型圖,自己先了解產品的大概,不懂的問產品,然後自己按理解畫出xmind思維導圖與流程圖,與開發進行溝通看開發的進度,要來數據庫的連接信息,同時要來服務器的連接信息,自己用xshell遠程連接項目部署的服務器找到日誌文件,這時應該將數據庫對應的各字段瞭解,輸入項目對應的ip與端口查看項目目前開發的進度。

     根據原型圖與開發完成的頁面進行測試用例的編寫,根據項目開發期限與進度編寫測試計劃,將哪個時間段負責哪部分模塊測試用例都考慮完全,嚴格按照計劃執行,我近期測試的是一個交易所項目,分爲前後臺,用戶權限有超級管理員,管理員,普通用戶,項目方等,用戶統一從前臺註冊,超級管理員只有一個,超級管理員可以從將普通用戶更改爲管理員與項目方權限,管理員可以登錄後臺進行幣種幣對創建,項目創建,查看前臺用戶的掛單記錄跟交易記錄,穩定項目與創新項目的發佈記錄,對用戶身份認證的審覈權限,用戶的邀請記錄與充提記錄,項目發佈最後需要經過超級管理員審批才能上線,普通用戶登錄前臺進行項目的認購,我們的項目都是客戶從世界各地找來的基建項目,根據各項目估值發佈對應的項目幣進行認購,項目結束後進行一定收益的返還,前臺模塊主要有首頁,穩定項目(由用戶充值usdt進行項目幣認購),創新區項目(由用戶將usdt從幣幣交易市場兌換abt這個平臺幣進行認購),幣幣交易模塊,類似與抹茶或幣安這種交易所的各類型虛擬貨幣的交易,資金管理模塊,用戶的各幣種餘額充值提現與記錄等,個人中心,用戶的手機號身份認證邀請記錄等信息,需要身份認證通過後用戶才能提現操作,大致就是這樣。

     在項目開展中幣種無法創建,這時我就去服務器查看日誌,一般都保存在logs模塊中,用cat命令或tail -f查看最近日誌,報的錯誤有連接超時,這時需要前端將超時時間設置長一些,直接提示error或失敗時就得聯繫java他們也查看日誌一般問題是出在交易引擎上,公司有個cto是區塊鏈方面的大佬,他主要負責我們以太網的搭建,還有個從幣安出來的大佬負責了幣幣交易的引擎設計,創建幣種失敗開發這邊發現是出塊沒有進行同步,需要重新同步定時任務進行幣種的創建,或者是提示幣種已創建,但是我並沒有看到這個幣種,數據庫裏也不存在,別的幣種就可以,開發後來解決了,這問題設計的也是鏈底層方面我的創建提交了但是並沒有完成,也會報數據庫錯誤這是因爲一個sql語句寫錯的問題,充值提現的問題,我用的是一個以太坊的測試鏈的工具,是一個谷歌的插件叫metamask,開發將服務布上後我將錢包地址加進去就有了開發創建的幣種幾千萬個,我可以自己再創建新的錢包,開發給的地址跟項目的錢包是在一個測試鏈上,我直接從metamask上的錢包轉賬給交易所錢包用來交易,提現的話就是將外部錢包地址複製把幣提現到外面錢包上,有過的問題是提現不到賬或超時纔到賬,有原因是以太測試網絡在維護,也有代碼原因就找cto他從底層找原因,有個globl塊被卡住的原因,創建幣種時的最小下單金額與最小下單數量精度得一致,就是0.01對0.01,不然認購時就會報錯,這是交易引擎那裏這樣設計的,也有認購失敗時是開發將數據庫連接池設置了1000引起的,圖片上傳後無法顯示需要前端做個正則匹配將圖片名字全部按統一格式處理,一般就是報錯了先f12再重複操作看具體報的錯,類似於項目狀態這種我去數據庫看,或者不明確的看日誌再把信息提交給開發。

    項目中也有用到fiddler,之前有遇到一個問題是我在登錄時直接抓包把一個項目的登錄密碼給抓取到了,密碼是明文,那個項目是立邦的一個項目開發沒注意,密碼沒有進行加密也沒有圖片驗證碼這類,與開發溝通後他進行了技術上前後端的雙重加密,並添加了圖片驗證碼短信驗證碼,還有我在嘗試短信驗證碼時,我在一個瀏覽器上打開兩個頁面同時登錄兩個用戶並都進行發送短信驗證碼,用A的驗證碼直接可以在B端進行登錄成功,這也是開發那裏不注意沒有進行一個客戶端一個用戶的驗證;自己也嘗試過用burpsuite進行暴力破解的嘗試,網上找教程安裝後直接用立邦那個網站,當時還沒加上短信驗證碼,從github上找來幾個用戶密碼破解包進行反覆嘗試,開始時開發直接設置的是類似於admin的用戶直接就破解拿到了用戶名與密碼,也有用過charles,個人沒感覺與fiddler有明顯區別,有段時間是有個項目的用戶羣體都是用的是低版本360,搜狗等瀏覽器,用的是windows的xp系統,導致前端框架與瀏覽器根本不兼容,有些頁面無法顯示,後來我有用一個turbo的軟件,是一個包含各個操作系統與各版本瀏覽器的沙箱環境,我用它進行網站的測試,發現在xp系統中網站前端框架支持的最低國產瀏覽器版本,然後讓開發在頁面中加提示讓用戶顯示失敗時升級瀏覽器的版本,查看原型用的是axure rp,交易所的話我們用的是pgsql,開始用的是pgadmin這個數據庫工具,後來不太好用就又換成navicat了,接口不通的話會直接在swagger中調接口,或者用postman,開始公司用的是jire,是與wiki與代碼庫一起裝的,後來有產品提議換成了騰訊的敏捷工具TAPD,我之前也有自己裝過禪道,個人感覺禪道是體驗較好的,裝禪道是在自己買的阿里雲上部署的,只能本地訪問,我們有個產品是在上海,所以自己試着做穿透,有用frp這個包,當時配置一直出錯,爲了趕時間就直接用了花生殼這個穿透工具,這個比較方便。

    jmeter的使用,公司的交易所項目有幣幣交易這個模塊,爲了模擬大量用戶交易,有對上鍊穩定性的測試,從開發那裏要來json文檔,在線程組下開get或post的http請求,添加定時器,我選擇了固定定時器設了3s的延遲,post上鍊請求除了ip端口路徑外,把參數或消息體數據給加上,線程數設了50萬個準備跑一晚上看穩定性。第二天看是穩定的,還有幣幣交易發大量請求,這個是由交易引擎那個人提供了他的swagger文檔,我找到掛賣單與買單不同的接口,生成不同用戶,不同買賣類型,不同幣種,不同價格的cvs文件,線程裏發起http請求,調用配置文件這個cvs數據文件,裏面有500不同數據,我循環10次,定時延遲2s,監聽器選用查看結果樹,聚合報告,圖形結果等,開啓線程查看結果,並在項目頁查看 實時掛單數據,要得到html格式的項目性能測試報告的話,添加一個response assertion,直接到命令段jmeter文件夾下執行不同指令將生成報告保存到桌面新建的一個文件夾中,也用過badbody直接錄製腳本,再在jmeter中進行性能測試。jmeter八大原件也就是取樣器,邏輯控制器,前置處理器,後置處理器,斷言,定時器,配置原件,取樣器等。

    至於對python運用到測試中的ui自動化測試,selenium我主要用的是類似於交易所創建項目這種重複性輸入工作,我運用火狐的插件firebug,再利用firepath直接進行xpath定位,我個人覺得這種定位方式比較方便,先從selenium中導入webdrive,導入time,sleep等,將谷歌driver進行各元素的xpath定位並填入信息,至於上傳圖片下拉框選擇等就用webdriver的其他方法,最後直接退出,這個項目用自動化測試的地方不是很多, https://blog.csdn.net/u011541946/article/category/6978566這裏需要熟記。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章