一、json和字典dict的區別
首先python裏面的基礎數據類型有:int、str、 float、list、bool、tuple、dict、set這幾種類型,裏面沒json這種數據類型。
JSON( 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。
由於你的代碼是python寫的(也有可能是php,java,c,ruby等語言),但是後端接口是java寫的(也有可能是其它語言),不同的語言數據類型是不一樣的(就好比中國的語言和美國的語言數據類型也不一樣,中國的一般說一隻羊,一頭牛,美國都是 a /an這種單位),所以就導致你提交的數據,別的開發語言無法識別,這就需要規範傳輸的數據(傳輸的數據都是一個字符串),大家都遵循一個規範,按一個標準的格式去傳輸,於是就有就json這種國際化規範的數據類型。
json本質上還是字符串,只是按key:value這種鍵值對的格式來的字符串b = '{"a": 1, "b": 2, "c": true}'
2.對於一些一次性消耗的數據,比如註冊,每次註冊不一樣的數,可以用隨機函數生成
3.對於一個接口有多組測試的參數,可以參數化,數據放yaml,text,json,excel都可以
4.對於可以反覆使用的數據,比如訂單的各種狀態需要造數據的情況,可以放到數據庫,每次數據初始化,用完後再清理
5.對於郵箱配置的一些參數,可以用ini配置文件
6.對於全部是獨立的接口項目,可以用數據驅動方式,用excel/csv管理測試的接口數據
7.對於少量的靜態數據,比如一個接口的測試數據,也就2-3組,可以寫到py腳本的開頭,十年八年都不會變更的
七、不可逆的操作,如何處理,比如刪除一個訂單這種接口如何測試
此題考的是造數據的能力,接口的請求數據,很多都是需要依賴前面一個狀態的
比如工作流這種,流向不同的人狀態不一樣,操作權限不一樣,測試的時候,每種狀態都要測到,就需要自己會造數據了。
平常手工測試造數據,直接在數據庫改字段狀態。那麼自動化也是一樣,造數據可以用python連數據庫了,做增刪改查的操作
測試用例前置操作,setUp做數據準備
後置操作,tearDown做數據清理
八.接口產生的垃圾數據如何清理
跟上面一樣,造數據和數據清理,需用python連數據庫了,做增刪改查的操作
測試用例前置操作,setUp做數據準備
後置操作,tearDown做數據清理
九.一個訂單的幾種狀態如何全部測到,如:未處理,處理中,處理失敗,處理成功
跟上面一樣,也是考察造數據,修改數據的狀態
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml
十四、自動化使用的測試框架是什麼?簡述自動化框架的設計、維護
十七、具體的在這個項目中自動化怎麼應用到實際的,您對自動化結果的分析
完成所有的自動化測試框架的設計和實現後,進行接口測試,然後集成到jenkins,配置定時執行,生成html報表,查看測試通過率,查看接口的功能
每次發版時,進行迴歸測試,新功能開發未提測前
十八、做好測試計劃的關鍵是什麼?
明確測試目的,增強測試計劃的實用性,保證測試用例的實用性和覆蓋率,完全需求文檔和規格指標書等,嚴格界定測試周期,測試輪次,測試覆蓋模塊等
super 用於繼承父類的方法、屬性。super 是新式類中才有的,所以 Python2 中使用時,要在類名的參數中寫 Object。Python3 默認是新式類,不用寫,直接可用。使用 super 可以提高代碼的複用性、可維護性。修改代碼時,只需修改一處。
二十、L = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3],用一行代碼得出 [11, 1, 2, 3, 5]
答:list(set(L))
二十一、L = [1, 2, 3, 4, 5],L[10:]的結果是?
答:空列表[]
二十二、list= [1, 2, 3, 4],如何得出 '1234'?
list=[1,2,3,4]
list2=''
for i in list:
list2=list2+str(i)
print(list2)