標籤:
露珠是一名愛好養花的測試員,熟悉python,減少了很多重複性的工作。扯一扯這兩個月的學習總結:
基礎
文法,資料結構什麼的翻一遍手冊足夠了,用到的時候不會了再查,相信只有你想不到的沒有python不支援的(此處忽略老牛)。
檔案
嘛,作為一名測試,起初最需要用到的就是python的檔案操作,各種讀寫檔案,分析資料神馬的。。這裡需要用到的就是python file操作、以及各種資料結構的用法了,比如List,dict 等等,,至於後台資料產生的檔案,大多是json啦,excel啦,cpickle啦,這些都有現成的庫支援。
比如, json的用法
import json
#data擷取到的是一個dict或者list結構的資料
data = json.load(open(filename, ‘r‘))
#將dict dump進一個檔案,儲存格式為json格式
json.dump({‘x‘:1, ‘y‘:2}, open(filename, ‘w‘))
其他的類似。。
異常處理
在檔案讀寫或資料分析時,經常會因為各種原因導致程式不能正常運行,比如,json檔案可能由其他語言產生,空資料是null,但python中沒有null,只有‘‘,這個時候資料分析就會出現異常,但是大多情況下,我們一條或幾條資料的異常並不影響我們的結果,所以,我們需要對這些異常進行捕獲。
try:
except Exception:
可以協助你跳過這些異常,即便這樣了,或許你需要有個Log來記錄下這些異常,不影響結果但可能需要瞭解出現了哪些異常,露珠用了logging module來產生log,python的log module有很多種, ^_^ 功能強不強大不要緊,夠用就行。
這些只是對程式已知可能出現的異常進行了處理,但往往,最頭疼的是程式中不可知的一些異常,導致程式崩潰,甚至崩潰時不留下一點痕迹,嘛,露珠在自己電腦上跑了個檔案解析的程式,跑了24h+,突然就崩潰了,,哭了,好在最後各種辦法查到了崩潰的位置,然後更改下代碼接著跑,更改之後再也不怕它崩潰了 ^_^。
用到的方法就是:atexit。用法:
import @atexit.register
def atexit_fun():
##
do_my_work()
在程式崩潰退出前做好善後工作,以防措手不及 ^_^。
資源分派
露珠的這個檔案剖析器,之所以跑了那麼那麼久,一開始露珠也不知道瓶頸在哪,不過通過profile工具,就能很方便的看到程式運行時資源的分配(嘛,這裡要說下,分析資源分派時只用少部分資料即可,不需要跑一天一夜)。至於profile具體用法,自行百度哦 ^_^。。
有些時候,多線程可能會對程式的執行效率有所改善。Python內建有thread庫,但是注意安全執行緒哦,python的原生資料結構都不是安全執行緒的,需要搭配thread.lock使用。這裡python threading.thread露珠需要提醒下童鞋們,threading.thread重寫了run()方法,但是調動線程用的是start()方法,反正我是犯2了 =O=
以上說的是作為一名測試開發會用到的技能,下面扯一扯測試人員需要的技能:
單元測試
這裡露珠用的unittest,還有個庫叫做coverage,是做程式碼涵蓋範圍統計測試的,具體用法百度哦 ^_^,見諒見諒~~
測試中,不同的項目或者功能需要我們安裝不同版本的庫,如果在一台機子上一直這麼搞的話,估計要瘋了,露珠推薦virtualenv,一個虛擬python環境,在虛擬環境中所安裝的庫不會影響本地,虛擬環境可以搭多個,用完刪掉虛擬環境即可。
兩個月的學習大體就這些了 ^_^,露珠第一次寫博文,有協助給贊哦,另外,有錯誤的地方請指正 ^_^~~
兩個月學習Python的胡言亂語