學(xué)習(xí)視頻預(yù)覽地址:
測(cè)試工程師為什么要首選Python作為開發(fā)語(yǔ)言呢?這要從Python的自身特性說(shuō)起诈泼,概括來(lái)說(shuō)器一,就是簡(jiǎn)單而強(qiáng)大著拭。Python 能夠輕松調(diào)用 C/C++ 代碼庫(kù)的特性币呵,因此它的可擴(kuò)展能力很強(qiáng)萤皂。在眾多技術(shù)高手的貢獻(xiàn)下揣云,Python 的第三方庫(kù)得到了極大的豐富梳码。對(duì)于程序員來(lái)說(shuō),幾乎不用發(fā)明輪子望几,需要的基礎(chǔ)功能都能在庫(kù)中找到绩脆,可以說(shuō)是開箱即用。對(duì)于測(cè)試工程師來(lái)說(shuō)橄抹,掌握 Python 就是擁有了一座操作簡(jiǎn)單且火力強(qiáng)大的“軍火庫(kù)”靴迫。測(cè)試工程師能夠盡可能地將精力從編程的細(xì)節(jié)中解脫,專注于解決測(cè)試工作中的問題楼誓。
接下來(lái)玉锌,我們看看怎樣在測(cè)試工作中用好 Python。
2
在測(cè)試工作中用好 Python
看到這里疟羹,你可能會(huì)有一個(gè)疑問:我要把Python學(xué)到什么程度主守,才能夠在工作中用上它禀倔?《測(cè)試工程師 Python 開發(fā)實(shí)戰(zhàn)》給出了具體的建議:遵從“二八定律”,即不要想著把 Python 的所有語(yǔ)法特性都掌握了才投入實(shí)際工作丸逸。只要掌握了 20% 的關(guān)鍵知識(shí)蹋艺,就可以上手干活了剃袍,大多數(shù)需求都能在這 20% 之內(nèi)解決黄刚。在邊學(xué)邊干的過程中,逐漸領(lǐng)會(huì)另外 80% 的用法民效。入門的第一步是將環(huán)境配置好憔维。《測(cè)試工程師 Python 開發(fā)實(shí)戰(zhàn)》詳細(xì)敘述了在 Linux 與 Windows 下安裝與配置 Python 的過程畏邢。IDE 工具則選擇了最流行的 PyCharm业扒,并講解常用的功能與使用方法。更多基本語(yǔ)法介紹可以參看書中說(shuō)明舒萎。
PyCharm 項(xiàng)目界面
在測(cè)試工作中經(jīng)常要處理的任務(wù)包括日志分析程储、數(shù)據(jù)分析、文件處理等臂寝。本書作者結(jié)合自己實(shí)際工作經(jīng)驗(yàn)章鲤,精心挑選了12項(xiàng)常用操作,放在了“常用百寶箱”中咆贬,測(cè)試工程師對(duì)于這些知識(shí)應(yīng)當(dāng)熟練掌握败徊。這12項(xiàng)操作分別是:自定義異常處理、日志處理掏缎、郵件處理皱蹦、時(shí)間處理、多線程處理眷蜈、Excel 處理沪哺、配置文件處理、正則表達(dá)式處理酌儒、命令行參數(shù)解析辜妓、with 正確使用、文件讀寫處理和序列化處理今豆。熟悉了基本操作嫌拣,那就更上一層樓,看看作者在“高級(jí)百寶箱”里放了什么寶貝呆躲。作者認(rèn)為在復(fù)雜分層的系統(tǒng)中會(huì)大量使用消息中間件异逐、緩存和數(shù)據(jù)庫(kù)系統(tǒng)。在測(cè)試中要驗(yàn)證數(shù)據(jù)的完整性與準(zhǔn)確性插掂,就一定要對(duì)這些系統(tǒng)進(jìn)行操作灰瞻,因此書中針對(duì)上述三類中間件給出了具體的操作示例腥例。
這些示例針對(duì)的程序包括:消息中間件 Kafka 和 RabbitMQ;緩存中間件 MongoDB 和 Redis酝润;數(shù)據(jù)庫(kù)中間件 MySQL 和 SQLite燎竖。它們都是目前業(yè)界普遍使用的消息和存儲(chǔ)類開源服務(wù),測(cè)試工程師學(xué)會(huì)這些高級(jí)工具勢(shì)必如虎添翼要销。
Python 學(xué)到這一步构回,已經(jīng)是測(cè)試工程師里做開發(fā)的一把好手了,那還有更大的提升空間嗎疏咐?我們?cè)賮?lái)看看測(cè)試工程師的 Python 開發(fā)進(jìn)階之路纤掸。
3
進(jìn)階:用Python構(gòu)建測(cè)試框架
對(duì)于測(cè)試工程師來(lái)說(shuō),雖然不要求精通開發(fā)技術(shù)浑塞,但知識(shí)面一定要廣泛借跪。除了對(duì)軟件本身的功能測(cè)試,還要學(xué)習(xí)其他領(lǐng)域的知識(shí)酌壕,包括性能分析掏愁、數(shù)據(jù)分析、網(wǎng)絡(luò)安全等卵牍,這樣才能全面考察并測(cè)試一個(gè)軟件系統(tǒng)是否健壯可靠果港。在工作中做好多領(lǐng)域的測(cè)試,要求測(cè)試工程師能夠根據(jù)業(yè)務(wù)特點(diǎn)編寫測(cè)試框架辽慕。當(dāng)然京腥,這對(duì)測(cè)試工程師的開發(fā)能力又提出了更高的要求,這不僅是做一個(gè)工具那么簡(jiǎn)單溅蛉,而是要考慮全面公浪,同時(shí)又不能為此投入太多時(shí)間〈啵《測(cè)試工程師 Python 開發(fā)實(shí)戰(zhàn)》在“實(shí)戰(zhàn)篇”中欠气,為測(cè)試工程師構(gòu)建自己的 Python 測(cè)試框架給出了很好的建議【盗茫總體來(lái)說(shuō)预柒,就是盡量在第三方庫(kù)和開源組件的基礎(chǔ)上實(shí)現(xiàn)定制化開發(fā)。下面選取測(cè)試工作中最常見的接口測(cè)試袁梗,來(lái)說(shuō)明構(gòu)建一個(gè)自動(dòng)化測(cè)試框架的方法宜鸯。對(duì)于軟件中使用到的所有接口,建立一個(gè)自動(dòng)化的測(cè)試平臺(tái)遮怜,可以滿足迭代測(cè)試淋袖、統(tǒng)籌管理的要求。
自動(dòng)化測(cè)試分層
書中使用 requests 庫(kù)構(gòu)建接口自動(dòng)測(cè)試框架锯梁,講解了 http 協(xié)議的知識(shí)點(diǎn)即碗、requests 庫(kù)的基本用法焰情,以及序列化與反序列化的相關(guān)知識(shí)。然后給出了一套輕量級(jí)接口自動(dòng)化測(cè)試框架的工程案例剥懒,實(shí)現(xiàn)了從讀取配置文件内舟、讀取測(cè)試用例、執(zhí)行測(cè)試用例初橘、記錄測(cè)試結(jié)果验游,到生成 HTML 結(jié)果文件的完整過程。