尋找的工作為「自動化測試工程師」,使用的語言為 Python
正努力成為一個值得被尊重的 QA,並同時也在尋找一個會尊重 QA 的工作環境。
目前職稱 自動化測試工程師
Taipei,TW
[email protected]
工作內容 :
- iOS/Android APP ⾃動化腳本撰寫 (Appium)
- 網⾴⾃動化腳本撰寫 (modules: Pytest / Selenium / Playwright)
- 實作遠端觸發自動化測試腳本機制(API/APP自動化/Web)
- API 接口自動化回歸測試 (modules: Requests)
- API 接口壓力測試,使用 Locust 進行 Http Request API 接口壓測 (modules: Locust)
- Websocket 接口壓力測試,使用 Locust 進行 Websocket 接口壓測,透過添加壓測機數量擴充,曾測試過同時 3000 個機器人 1800 request/sec 這個級距的量 (modules: Locust / Tornado)
- 遊戲自動化
- 後端透過websocket連線進行互動,並取得回傳資料寫Log後分析驗證,能做到最多同時1000人於線上遊玩遊戲 的目的 (modules: Tornado)
- 實作以先使用 OpenCV2 影像辨識後點擊畫面的方式,進行網頁遊戲畫面點擊並將點擊結果截圖後人工比對驗 證,可驗證多語言及自動化回歸測試 (modules: OpenCV2)
其他補充:
- 自動化運行在 AWS EC2,由 QA 部屬自動化相關程式,由 DevOps 部門管理機器
- QA 內部透過 Gitlab 進行版本控制,含我在內共兩位開發人員
- 曾在一個季度的時間內帶領一個由4人組成的測試小組,其中包括1名自動化測試工程師和3名手動測試人員
工作內容 :
- 負責期貨交易所改版專案,該專案目的為將後端 Spring/Struts/Hibernate 架構改成使用 SpringBoot
- 維護舊專案以 JSP 撰寫的前端,視需求些微調整 HTML/JS/CSS
- 撰寫 JAVA 共用元件讓外包人員調用,銜接新舊模組
- 審查外包人員程式碼,確保正確與整體一致性
- 前三個⽉學習 Java 知識並實作遊戲專題
- design pattern / 演算法
- API 串接 / MongoDB / Node.js
- Android APP 基礎架構
- 期末專題後端開發 Java + Spring Boot + MySQL
工作內容 :
- 設計並開發⾃動化測試系統後端
- Python + Flask Framework 撰寫 Web API (分析 APP 發出的 API request)
- iOS/Android APP ⾃動化腳本撰寫 (Appium)
- 架設測試環境 (Smartphone Test Farm)
工作內容 :
- 網⾴⾃動化腳本撰寫 Python + Selenium + Robot Framework
- Android ⾃動化腳本撰寫 Python + Appium + Robot Framework
- Postman 進⾏ API 測試
- Jmeter 對後端伺服器進⾏壓⼒測試
部門 :
- 自動化軟體開發部門
工作內容 :
- 使用 Python 開發 protocol 間傳輸效能測試之測試項目,如使用 SMB or AFP 等 protocol 進行傳送檔案並計算速率。
- 執行效能測試並將結果更新至官方網站
https://www.synology.com/en-global/products/performance
- 使用 Jenkins 自動執行 build test 追蹤每版效能是否有問題
- 與 Sales/PM 合作進行客戶專案需求測試
部門 :
- 網路影像監控軟/硬體測試部門
管理 :
- 主管職務代理人,全員包含工程師助理1名共8人
工作內容 :
- 主要⼯作為測試伺服器上 web-based 的攝影機監控軟體
- 曾為義⼤醫院監控採購案之負責⼈,負責⼈⼒、時程安排並主導測試⽬的與過程
- ⾄各⼤網路攝影機廠商如晶睿科技或海康威視與該公司 RD 合作進⾏整合測試
Java + Spring Boot
Python + Flask
Shell Script
GitHub
BitBucket
Google Cloud Source Repositories
GitLab
MySQL
Maria
Mongo
Postgres
Selenium
Appium
Playwright
Locust
Pycharm
Postman
DBvear
Another Redis Desktop Manager
GitKraken
Jenkins
Charles
Mitmproxy
JIRA
Jmeter
Slack
Node.js
OpenCV
IDE: Eclipse/IntelliJ/VScode
我過去的職涯曾擔任過 QA、SDET 以及 RD 的角色,這些多元的經歷使我深刻了解了產品開發過程中的各個階段,並且能夠以多樣的視角來看待產品開發的挑戰與需求。
目前規劃是擔任 Sr.QA 或是 SDET 的職位,對於組內沒有自動化經驗的夥伴有過數次教學的經驗,樂於當個傳教士傳遞知識讓團隊一起成長,能勝任獨自完成交派的工作,但同時更享受當個 team player 與夥伴一起努力並完成工作,是我在職場目前的狀態。
這邊分享前公司的部分產品開發流程
測試流程:
- 團隊評估時程時利用 Scrum 的 Story Point 進行評分給予權重。
- PM/RD/QA 三方會在各開發週期互相做確保:
- 需求評審,於需求初期由 RD/QA 確保 PM 的 SPEC 沒有問題。
- 測試用例評審,於測試初期由 RD/PM 確保 QA 的測試用例沒有問題。
- 產品測試/使用者測試(UAT),測試時期由 QA/PM 確保 RD 開發出的產品與規格描述一致。
- 測試透過跑白箱測試,以測試覆蓋率來確保測試邏輯沒有缺漏。
- 測試多國語系以及 UI。
- 後端RD撰寫單元測試並跑 SonarQube 確保程式碼品質。
- 前端部屬時使用金絲雀部署減少上線後才發現問題。
過去曾測試過:
- Web
- iOS/Android APP
- API
- DB/MQ/Redis
自動化測試包含但不限於以下:
- 自動化點擊(Playwright/Selenium)
- Web Browser
- iOS/Android
- 批次打 API 看結果。
- 使用 Websocket 連線,與後端使用 protobuf 互動模擬使用者操作行為。
- 使用 Locust 進行 API/Websocket 的壓力測試。
- 使用 Playwright 畫面點擊破解阿里雲滑動驗證碼。
- 使用 Mitmproxy 攔截封包軟體竄改內容進行測試。
- 使用 OpenCV 進行影像辨識進行畫面點擊畫面測試遊戲。
Side Project - Line Bot
這是一個會依據使用者所說的話來回覆圖片的 Line Bot,使用者可以自定義當出現什麼字眼時要回覆哪張圖片。
使用 Python Flask 框架串 SDK 做 webhook
利用 server less 的方式實作此 Linebot 功能,可以省去開啟伺服器的基礎費用而純看使用的流量計費,但缺點是在一段時間沒使用時重新使用會花多一點時間
這邊串接 Imgur 這個免費的圖床服務,藉此做到保存使用者上傳的圖片,但免費帳號有些許缺點,像是上傳的圖片數量以及一個月沒開啟圖片連結會被系統自動刪除
利用自己的 NAS 架設 MariaDB,並將原放在 GCP MySQL 上的資料搬遷過來節省額外開銷,當中儲存了每個使用該 linebot 的聊天室中的設定檔(要不要回話等等的設定),以及儲存文字與圖片連結的 key pair