一.功能測試用例的設計
舉例:
(一).我想要回家,讓你給我買一張票,然后設計測試用例
答案:
1.確定需求(回家回哪,需要什么票,買什么時候的票)
2.開始測試
2.1 功能測試(我去買票(買火車票,飛機票),買到票(什么時候),回來給你)
2.2 可靠性測試(我去買票過程中被撞死了,票買不到怎么辦,延期了,買那個點的票沒了怎么辦讓我幫他買票的人的身份,比如是否有特殊優待,如軍人,1米2以下兒童等,身份證丟了,或者票丟了,責任划分)
2.3 可維護性測試(票是否可保存完好)
2.4 兼容性(還不同人的去買,我中間招人去買,我坐車走路)
2.5 算法測試(我通過不同的渠道買票花費的時間)
2.6 競品測試(別的人怎么買的票)
2.7 安全性測試(身份信息保密)
2.8 性能測試(一個身份證買多張票,同時多張身份證買多張票)
二.工作測試流程
(一).功能測試流程
- 需求評審(重點,你發揮的作用是什么,需求可執行性,關聯影響的功能模塊,異常情況處理)
- 評估測試時間(測試計划)
- 測試用例設計(正交,邊界值,等價類。。)
- 用例review(領導,開發,產品)
- 提測(確認開發進行過自測,功能主流程暢通,然后開始介入測試)(產品開發測試一塊走流程)
- codediff(代碼改動點,從根源發現開發的問題,代碼中明顯測試代碼(return,寫死值),公共靜態變量在發生高並發時容易出問題,所以不能讓這個變量的值去內存里面取)
- 執行用例
- 提bug(禪道)
- 回歸測試
- 確認測試(准生產環境確認)(分情況)
- 發布(線上回歸))
- BUG review(總結問題)
注意點:
發布測試來控制,測試環境部署測試來控制
發布過程中,開發運維做監控。(分批發布)
三.app專項測試
-
CPU,內存,流量,電量,弱網,兼容性,FPS,中斷,安裝,穩定性??
怎么自動化實現,寫一些自動化框架方法封裝起來,重復的使用
-
冷熱啟動的區別
冷啟動:在個人電腦中,冷啟動是切斷電源后重新啟動。App類似,就是完全退出(不在后台運行)后重啟啟動。
熱啟動:非冷啟動情況都可以稱為熱啟動。熱啟動比冷啟動多了一個觸發點,那就是在后台啟動App,比如雙擊蘋果的HOME鍵,進行App的熱啟動。同時熱啟動通常會有一個計時器,特別是一些理財和銀行的類的App會做此處理,當你間隔一段時間觸發了熱啟動后,會讓你再次登錄(通過密碼/手勢/指紋)。也有比如網易新聞客戶端這樣的,當你間隔一段時間后觸發熱啟動,會彈出廣告頁。
四.工具使用
- postman:接口,功能測試,可以做參數化
- httprequester:接口,功能測試
- jemter:接口功能性能工具
- lr:接口功能性能
- fiddler:抓包,設置代理,設置斷點,mock數據
- charles:抓包,設置代理,設置斷點,mock數據
- robot:功能自動化
- uft(qtp):功能自動化
- docker:容器
- monkey:性能穩定性(app)
- jenkins:自動持續集成
- git,svn:代碼管理
- xmind/visio:腦圖
- soapUI:接口功能測試(HTTP,WEBSERVICE協議)
- xshell/SecureCRT/putty:
- slor:關鍵字分詞
- slor:我測試:我 測試分別去數據庫搜索結果
- nginx(反向代理)
- tomcat(動態網頁發布)
五.系統基礎概念
- 什么是性能測試
- HTTP協議(哪些方法,什么區別(GET\POST),怎么組成,狀態碼)
- TCP三次握手四次離手
- 線程,進程區別聯系
- 內存泄露,內存溢出
- 死鎖
六.自動化測試
(一).自動化測試腳本的應用場景:
1.重復性較多的,寫腳本能省時間,節省效率,接口重復回歸,功能重復回歸
2.手動做不了的測試上萬數據的准確性校驗,腳本跑,錯誤數據篩選出來數據更新機制的調整,全量變成增量更新
(二).自動化框架的搭建:
接口自動化框架
- 結構(1.框架思想(數據,關鍵字,行為,事件,混合)
- 讀取用例的模塊(excel,txt,mysql,xml)
- 發請求的模塊(requests封裝)
- 斷言模塊(re,遍歷斷言)
- 日志模塊
- 測試報告生成模塊
- 發郵件模塊
- 配置文件)
(三). 怎么設計測試用例,注意哪些點:
(四). 怎么斷言:
(五).功能自動化框架
- 和接口自動化類似
- 對頁面各個控件的api封裝(哪些封裝,下拉框,選擇框,對隱形控件怎么處理)
- 不同環境處理
- xpath定位方法()
- js定位方法()
(六).平台工具:
- 接口自動化集成到平台上;
- 平台做測試環境,線上環境的監控
- 做公用統計線上badcase的統計
七.算法
(會多門語言(前端了解。java熟練,python熟練))
- 排序算法
- 冒泡
- 快排
- 查找算法
- 二分查找,隊列,堆,棧實現
八.linux
常用命令背下來,熟悉,知道怎么用
ls -alih()
看日志(cat,head,tail,more)
grep|wc -l
九.數據庫
- 關系型數據庫:
SQLite
mangodb
mysql(sql,慢查詢,配置)
oracal
GP數據庫 - 非關系型數據庫:
redis
十.服務架構
服務分布式架構(超融合):概念實現理解
十一.網絡
IP
網關
路由
根據子網掩碼算網關
NAT
VPN
交換機配置
十二.典型例題
(一).Web頁面出現空白頁怎么定位問題
- 抓包(抓包)
- 看服務日志
- 看你當前url 用接口實際訪問模擬下請求
- mock數據,給請求,確認是那部分問題
(二).Web頁面響應過慢怎么定位問題
- 從一個瀏覽器輸入url到形成頁面經歷了什么
(三).你所測試的系統架構