原创 測試開發基礎之算法(9):散列表原理及在Python中的應用

我們知道,數組具有一個特別強大的特性是,能夠根據下標隨機訪問數組元素,時間複雜度是O(1)。散列表(Hash表)正是列用了數組的這一特性,對數組進行了擴展,實現了針對非整型下標的高效存儲和訪問。 1. 散列思想 舉個簡單例子,假設

原创 測試開發基礎之算法(6):隊列的操作及應用

隊列是一種常見的線性表數據結構,它的典型特徵是先進先出。即先入隊列的先出隊,後入隊列的後出隊。 隊列有兩個基本操作:入隊(enqueue),即將一個數據放入到隊列的尾部,出隊(dequeque),即將一個數據從對頭移除。 隊列通常

原创 測試開發基礎之算法(13):堆、堆排序及三種應用(優先級隊列、Top k、中位數)

1. 什麼是堆? 堆是一種完全二叉樹,堆中每一個節點的值都必須大於等於(或者小於等於)子樹中每一個節點的值。 完全二叉樹要求,除了最後一層,每一層的節點數都是滿的,最後一層的節點都是靠左排列。 對於每一個節點的值都大於等於其子樹中

原创 【Pytest】python單元測試框架pytest簡介

最新更新請看 《基於Pytest框架的自動化測試開發實踐(萬字長文入門篇)》 1、Pytest介紹 pytest是python的一種單元測試框架,與python自帶的unittest測試框架類似,但是比unittest框架使用起來更簡潔,

原创 測試開發之Python核心筆記:認識Python

1. 認識Python Python是一門動態的、強類型的語言,是目前非常流行的語言。流行的主要原因是Python 語言應用廣泛,可以用應用在Web開發、爬蟲、數據分析、軟件測試和機器學習等多個領域。另外,Python語言簡單易學

原创 測試開發基礎之算法(1):複雜度分析方法

時間複雜度表示代碼的執行時間隨着數據規模增長的趨勢。使用O()表示 【假設】每一行代碼執行的時間都一樣,都是unit_time。所有代碼的總執行時間 T(n) 與每行代碼的執行次數成正比。 1、只關注循環執行次數最多的一段代碼 d

原创 測試開發基礎之算法(10):Hash算法的常見應用

想象一下,在軟件測試實踐中,測試上傳下載圖片或者文件的接口時,我們如何對上傳或者下載的圖片和文件的正確性進行校驗呢? 帶着這個問題,我們開啓hash算法的學習。hash算法在軟件編程中應用非常廣泛,常見的比如MD5、SHA等。我們

原创 測試開發基礎之算法(3):8種經典排序算法

最經典的、最常用的:冒泡排序、插入排序、選擇排序、歸併排序、快速排序、計數排序、基數排序、桶排序。 他們的時間複雜度如下: 圖片來自:數據結構與算法之美 1、如何評價一個排序算法的優劣? 主要有三種角度: 1、最好、最壞和平均

原创 通過容器化Python web應用瞭解Docker容器的核心功能

容器在軟件開發、測試和部署環節應用的越來越廣泛,那麼測試人員應該如何掌握容器技術呢?應該掌握哪些基本的容器操作呢?本文通過容器化一個 Python Web 應用,來快速掌握 Docker 容器和鏡像的基本操作。 容器技術中兩個

原创 通過Hook函數使Py.test支持含有中文的測試用例名稱(nodeid)和測試報告

有時候我們做自動化測試時候,希望測試用例的名字是中文,方便查看。但是pytest現在的版本並不支持中文的測試用例名稱顯示。我們想辦法修改源代碼實現 遇到的問題 如果測試用例的參數中有中文,你看到的pytest的測試結果將是這樣

原创 在接口自動化測試中,如何利用Pytest + JSONPath 進行接口響應斷言

之前有一篇文章,介紹瞭如何使用JSONSchema對接口響應進行斷言,主要的適用場景是對響應的數據結構進行校驗,保證客戶端收到的數據結構穩定和合法。今天,介紹使用JSONPath對接口響應的值進行斷言方法。 上一篇文章《在接口

原创 在接口自動化測試中,如何利用Pytest + JSON Schema 進行接口響應斷言

蔚來汽車數字座艙,通過服務端TSP系統集成了很多供應商的系統,比如天氣、音樂、視頻等娛樂系統。數字座艙調用TSP封裝的供應商接口實現對天氣的查詢,音樂和視頻的播放。TSP與供應商之間要共同遵守一個契約,保證提供給數字座艙的數據結

原创 自動化測試中如何判斷測試是否通過?詳解Pytest測試框架的斷言用法

軟件測試的主要工作目標是驗證實際結果與預期結果是一致的,在自動化軟件測試中,通過斷言來實現這一目的。Pytest中斷言是通過Python原生的assert語句實現的,對Python原生的assert語句進行了優化,當發生斷言失敗

原创 還在到處尋找畫圖軟件?快來用Typora畫餅圖、時序圖、流程圖、UML圖和狀態圖吧

Markdown是我最喜歡的寫作格式,現在我的博客、筆記等都是用markdown格式寫的,基礎的文字編輯相關的語法用的已經很順手了,本文就來記錄一下用Markdown編輯器畫圖的方法。 我現在使用一款非常流行的Markown編

原创 基於Pytest框架的自動化測試開發實踐(萬字長文入門篇)

Pytest是Python的一種易用、高效和靈活的單元測試框架,可以支持單元測試和功能測試。本文不以介紹Pytest工具本身爲目的,而是以一個實際的API測試項目爲例,將Pytest的功能應用到實際的測試工程實踐中,教大家將Py