前言
自動化沒練習的項目怎么辦?
自動化已經成為測試的必備技能之一了,所以,很多想跳槽的測試朋友都在自學,特別是最實用的接口自動化,
但是很多人因為沒有可以練手的項目而苦惱,最終導致缺乏實戰經驗,其實,完全可以自己開發個簡單項目練手,
本文,就帶大家開發個簡單的項目,只包含后端接口,使用的技術棧是:python + flask + mysql + redis,為了練習python基礎,沒有使用組件。
python:很容易入門的語言,三方庫非常豐富,不用我們自己造輪子
flask:輕量級的web開發框架,快速上手
mysql:主流的數據庫,本項目用於存儲用戶信息,python中可以用pymysql庫操作msyql,flask中也有對應的組件
redis:主流的緩存數據庫,本項目用於存儲token,python中可以用redis庫操作redis
開發環境准備
相關的安裝包等資料,在【測試提升圈】學習周計划網盤中。
windows下安裝python(只安裝3.x版本):https://www.cnblogs.com/uncleyong/p/10778792.html
windows下安裝配置pycharm:請自行百度
linux基礎:《鳥哥的Linux私房菜》,常用命令:https://www.cnblogs.com/uncleyong/p/10637238.html
安裝linux虛擬機(當然,你也可以考慮買雲服務器):https://www.cnblogs.com/uncleyong/p/10740005.html
下面是我安裝的linux版本
mysql安裝(建議linux下):https://www.cnblogs.com/uncleyong/p/10739530.html
客戶端工具Navicat安裝:https://www.cnblogs.com/uncleyong/p/10823925.html
redis安裝(建議linux下):https://www.cnblogs.com/uncleyong/p/9882843.html
mysql和redis建議在linux下安裝,既可以練習linux命令,又可以練習環境搭建,項目開發完后,也可以部署到linux服務器上
部分基礎回顧
https://www.cnblogs.com/uncleyong/p/12230502.html
實戰1:demo項目開發(開發幾個涉及關聯的接口)
interface_demo項目需求
用戶信息管理,可以注冊、登錄、添加用戶、刪除用戶
注冊:任何用戶可以注冊,對用戶提交的注冊信息進行校驗,返回對應的信息,其中:
用戶名:必填,唯一
密碼:必填,只能6-12位,入庫是加鹽加密
真實名:必填
性別:非必填,只能0(male)或者1(female)
電話:必填,唯一,滿足電話要求,數字,且11位
登錄:用戶登錄,成功,則保存token到redis,其中:
用戶名:必填
密碼:必填
如果登錄成功,對用戶名加時間戳的字符串進行md5加密,生成的值作為token,然后將用戶名作為key,token作為value,存入redis,且設置失效時間
添加用戶:只能是管理員且登錄成功后,才可以添加用戶
token:必填,登錄成功返回的token
添加者:必填
用戶名:必填,唯一
真實名:必填
性別:非必填,只能0(male)或者1(female)
電話:必填,唯一,滿足電話要求,數字,且11位
密碼:默認是123456,不填
刪除用戶:只能是管理員且登錄成功后,才可以刪除用戶
略
數據庫表設計、接口開發實現(含源碼)
測試提升圈專屬版本:https://www.cnblogs.com/uncleyong/protected/p/12046058.html
本項目用到了主流技術棧,這些都是測試必備的:python、flask、redis基礎、mysql基礎、git基礎、shell基礎、linux、jenkins等
你也可以開發幾個mock接口用於練習,推薦用flask或者springboot
比如是flask的話:
return jsonify({"code":9410,"msg":"用戶名或密碼不正確"})
實戰2:demo項目測試(接口功能測試,用jmeter和postman)
實戰1中,已經開發好了我們練習的項目,我們先對接口進行功能測試,
接口功能測試,我們最常用的工具是jmeter和postman
jmeter,參考:https://mp.weixin.qq.com/s/msowzis-ktMk2PL_yM_J6g
postman,參考:https://www.cnblogs.com/uncleyong/p/11268846.html
實戰3:自動化測試框架設計、開發、demo項目自動化測試
實現了關聯、測試數據分離等等,拿來即可使用:
測試提升圈專屬版本:https://www.cnblogs.com/uncleyong/p/12046070.html
多個版本的自動化測試框架,例如:
unittest + 關聯 + excle + ddt
自己造輪子(未使用unittest、pytest等)
實戰4:自動化測試持續集成環境搭建(自動化構建、部署、測試、報告)
開發提交代碼到遠程倉庫后,觸發自動化構建→自動化部署→自動化測試...
自動化持續集成環境搭建(上):git + maven+ jenkins:https://www.cnblogs.com/uncleyong/protected/p/10821832.html
自動化持續集成環境搭建(下):git + maven+ jenkins
測試提升圈專屬版本:https://www.cnblogs.com/uncleyong/protected/p/12229900.html
對外分享版本:https://mp.weixin.qq.com/s/CVrn2XuL3lQj9slUqx73_A
docker版后續更新。
后記
進階提升,性能 or 測開?
通過這幾個實戰,相信認真實操過的朋友肯定收獲不少,不管是編碼,還是linux命令及環境搭建,或者是相關的工具使用;
總之,自動化只是回歸,不要滿足於自動化,多學一個其它測試方向,會更有競爭力;
接下來你需要進階的方向可能是性能測試、或者測試開發,關於二者該怎么選擇,可以參考:https://www.cnblogs.com/uncleyong/p/11995605.html
性能測試:從0到實戰
https://www.cnblogs.com/uncleyong/p/12311432.html