天天看點

japi項目需求分析階段

項目簡介

japi項目,是一個接口自動化平台開發項目,由【測試開發剛哥交流群】招人共建,基于JMeter,參考MeterSphere,以學習為目的,完成一個SpringBoot+Vue技術棧的純粹的接口自動化平台開發。

項目成員

經過"填寫人員分工表"以後,最終有38人參與了本次項目:

剛哥、布魯、嘉宥、守正、大剛、風雨、奉孝、大姚、暢月、漁夫、小禹、钰琪、天湖、迷龍、肥涵、胖子、局長、呼呼、明亮、安甯、木棉、番茄、玥玥、哈瑞、虛竹、十五、阿新、卡羅、大白、庫昊、左右、小湧、古風、玉潔、小韓、小卷、千凝、昆明。

随着項目進行,後續“送出學習總結”等環節層層遞進,真正留下來的項目成員,會在GitHub的README中署名。

在填表時收集了大家的曆史經驗,這裡彙總整理了一下,供參考:

“Vue+Django寫過測試平台;SpringBoot寫過後端應用;Python小工具開發;Python+Pytest+Requests搭建接口自動化架構;Python+Unittest或Pytest自動化測試架構搭建及腳本開發;各類開源自動化測試平台搭建,如:HttpRunnerManager、流馬、Yapi、Sonic等;js+Django2實作UI自動化測試平台;使Testng架構進行接口測試;Vue+fastapi寫過測試平台;python+selenium UI自動化;python+httprunner,接口文檔解析自動生成字段校驗用例;python+RobotFramework做過UI;Java做過單元測試,熟悉基礎文法;學過JavaSE,JavaEE,實戰經驗不多;Python Pyqt GUI工具開發;Python 接口自動化、APP自動化架構設計及編碼;獨立負責主導Python+Locust性能測試;三方庫和标準庫:unittest、pytest、appium、selenium、request、httprunner;畫過簡單的html、css;App UI自動化架構搭建:pytest+appium+allure+jenkins接口自動化架構搭建:pytest+request+allure+jenkins二次開發及維護過flask+vue接口測試平台;二次開發及維護過springboot+angularUI測試平台;Pytest+Playwright UI自動化腳本編寫;”

我總結了幾個關鍵字:Vue、Django、SpringBoot、Flask、FastAPI、ElementUI、RobotFramework、腳本開發、工具開發、平台開發、接口自動化、UI自動化、APP自動化。

項目計劃

招募,人員分工,需求分析,設計,編碼,測試,上線。

由于是以學習為目的,加上都是業餘時間投入,也有其他事情要忙,是以該項目不會像真正項目那樣,設定裡程碑和傳遞節點,會給足夠的學習時間,戰線拉得比較長,過程大于結果。

需求分析

MeterSphere官方給出的功能清單,接口自動化相關的子產品有接口定義和接口自動化。

接口定義包括以下功能:

線上添加并編輯接口定義;

以樹狀形式展示項目的子產品及對應接口;

支援HTTP、Dubbo、SQL、TCP類型接口請求;

支援通過MeterSphere Json、Postman、Swagger 等多種格式檔案快速導入接口,Swagger可通過URL定時同步;

支援接口快捷調試;

根據接口定義快速配置HTTP、TCP協定Mock服務;

API清單、CASE清單、文檔模式多種模式靈活切換;

接口頁面API、TEST、CASE、MOCK多種操作靈活切換;

測試環境資訊管理功能;

單接口用例支援引用環境;

支援正則比對、jsonpath、xpath等多種類型的斷言規則;

支援正則比對、jsonpath、xpath等多種類型的參數提取;

支援BeanShell、Python、Groovy、JavaScript等多種語言的前後置腳本;

支援前置SQL、後置SQL;

支援上傳并引用自定義Jar包;

支援檢視接口及用例變更曆史;

手動執行、定時任務、Jenkins插件觸發等多種執行方式;

API、CASE一鍵複制;

CASE一鍵建立性能測試;

接口定義依賴關系設定;

接口自動化包括以下功能:

建立多接口串聯的場景化測試;

從接口清單中快速導入接口或接口用例;

跨項目的場景引用功能;

用戶端SSL證書認證配置;

場景用例支援引用環境;

支援條件、循環、事務、等待等多種類型的控制器;

支援正則比對、jsonpath、xpath等多種類型的斷言規則;

支援正則比對、jsonpath、xpath等多種類型的參數提取;

支援BeanShell、Python、Groovy、JavaScript等多種語言的前後置腳本;

場景變量提供多種類型;

提供Mock資料和JMeter變量表達式;

環境配置增加區分子產品、路徑兩種方式添加域名;

增加全局前置腳本、全局後置腳本;

基于插件機制實作其他協定;

支援上傳并引用自定義Jar包;

支援檢視場景用例變更曆史;

手動執行、定時任務、Jenkins插件觸發等多種執行方式;

串行、并行兩種批量執行方式自由選擇;

支援指定測試資源池遠端執行;

可多場景串行、并行執行;

場景一鍵建立性能測試;

場景一鍵複制;

場景批量執行可自由選擇獨立報告或集合報告;

場景一鍵添加到測試計劃;

除此之外還有:

支援消息通知(微信、釘釘、飛書、郵件);

本項目要做的,基本就是這些功能。