首先談談測試
測試 顧名思義 就是測試一樣東西(Web網站,App軟件),保證這東西盡可能的少bug,以避免上線之后達不到理想的效果,從而被客戶投訴。
關於整個項目的流程,課件里面都有介紹到。那我根據自己實際的工作來介紹一下。
一個常規的軟件開發流程
需求階段:
一個軟件,從0到1 或者是 已經上線了客戶用着用着反饋說想加個功能,然后產品了解到這是個需求,可以做。
之后,一般會是由 產品 組織項目的相關成員(運營,設計,后端 和 前端, 測試 ) 進行開會,這就是需求評審會議。
會議結束之后, 大家再進一步確定需求,具體到需求有什么功能,開發同學能不能實現。可以做到什么樣子。 和設計稿什么時候可以產出。
一些名詞:
PM 產品經理
PD 產品設計師
PRD 需求文檔
設計階段:
到了設計階段,一般由設計組織項目成員開會, 進行交互稿的處理和項目的排期,這就是交互評審會議。
會議結束之后,會確實具體的設計稿。 前端同學再具體和設計師確認一些細節點 (主要是面向客戶的界面)。
時間確認好,什么時候上線 ,開發需要幾天,測試需要幾天。
一些名詞:
Demo 交互稿
用例評審階段:
測試同學根據前面兩個會議后,整理出測試用例,盡可能的覆蓋全面,以保證項目上線的安全。 這個會議的成員一般有開發同學,產品和設計。
會議結束后: 更加保證了項目的進度和穩定性。中間主要是測試同學和開發同學確認功能點和相關的細節。
Case 用例
開發和測試階段:
開發完之后會通知提測 , 大型的項目的會有一個提測郵件,小項目的話直接在群里通知,發群公告。告知測試同學在什么環境下測試。
環境一般分為: 測試環境,生產環境,日常環境 。
測試環境:就是和生產環境區分開來,需要相關的環境配置和搭建,一般開發同學都搭建好的,測試同學綁定hosts就可以用了
生產環境:就是線上環境,發布到客戶去使用的環境,也就是我們常說的項目上線。發布到這個環境的話意味着項目差不多完成啦~
日常環境:這個環境接觸的比較少,用於一些日常的需求,或者臨時改個線上的小bug使用到。一般是由開發同學和產品同學處理,小需求和小bug開發或修復后開發通知產品驗收即可。
上線階段:
開發修復好bug,測試同學和產品同學驗收。通知項目相關成員,可以上線啦~ 。一般會先在測試環境全部回歸一遍,確保功能點。然后上線之后再回歸一遍,項目就完成啦
上線流程。 后端先上線,然后前端同學告知前端版本號,再上線。所以測試同學在線上環境時 要注意查看前端版本號對不對再驗證。
好的,上面我們站在整個項目的流程去了解其中的一二三。現在我們應該十分清楚了測試應該干什么了。
Review (檢閱,回顧,復審)
- 了解軟件開發的流程與測試的工作流程
- 了解項目成員和自己的具體工作內容
那我們正式開始學習吧
第一部分- 基礎知識:
要掌握測試思維和測試方法,參考課件。 在這一部分里面我們要養成測試的思維 ,通俗點說 就是專業找茬。
我上網找了一下 這篇文章總結的比較好
https://blog.csdn.net/u014745194/article/details/79919756
Review
- 可以做到看見杯子或者隨便一樣東西,隨時能說出它們的測試點
- 可以寫出一個比較好的,比較全面的測試用例
- 掌握測試常用的幾種方法,比如:等價類,邊界值,因果圖,等等
第二部分-網絡知識:
課件里面的有點不太清楚,請參考以下鏈接:
http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html
阮一峰大神,講解的通俗易懂,分為一、二 兩篇。這里面的知識點一定要明白,這是很重要的。
Review
- 就是能說出互聯網的工作是怎么樣的
- 我們平時上網,計算機是怎么通過互聯網連接到方方面面的人和物的。這其中的連接說出個一二三來
在網絡知識里面,你會聽到http。 是的,這也是個重點。要掌握請參考以下鏈接:
HTTP知識:
https://juejin.im/post/5afad7f16fb9a07abf72ac30
http://www.ruanyifeng.com/blog/2016/08/http.html
前端后端的交互 :
https://www.jianshu.com/p/6ad8f3d0927b
Review
- 掌握http4個常用的請求方法 put delte post get ,對應的就是我們常常說的增刪改查。
- 明白前端和后端具體的交互方式,主要是清楚請求URL相關參數 ,會涉及到接口測試。
了解掌握之后呢,就要具體的應用上,互聯網工作用的瀏覽器一般是谷歌的。 我們打開谷歌瀏覽器的開發者工具進行使用。
http://www.igeekbar.com/igeekbar/post/156.htm
Chrome教程:
https://www.cnblogs.com/yueshutong/p/10916527.html
我自己也整理了一下工作用到的知識
Elements
在這一頁,主要是確認前端版本, 和一些前端的布局。
Console 控制台
這個面板可以查看錯誤信息、打印調試信息(console.log())、寫一些測試腳本,還可以當作Javascript API查看用,詳細的功能在上面鏈接有找到
工作中一般用於查看前端的JS報錯。
最重要的Network 網絡
下面 默認的勾選可能不是以下樣子,請參考下圖的勾選上相關 。
1、清除緩存:顧名思義,就是把每次產生的返回數據都清空掉,這樣保證每次測試的都是最新的發布。也可以打開Chrome的無痕窗口
2、篩選網絡請求:這一欄有很多的類型,可以試試選擇其它的看相應請求的后綴是什么。
3、請求頭:這一欄就是在前面學到的HTTP知識啦,現在應該可以看得明白了。
工作用到的有:
1、確定環境,在 網絡地址那里,一般測試環境是要綁定hosts的。
hosts作用:就是將一些常用的網址域名與其對應的IP地址建立一個關聯“數據庫”,當用戶在瀏覽器中輸入一個需要登錄的網址時,系統會首先自動從Hosts文件中尋找對應的IP地址,一旦找到,系統會立即打開對應網頁,如果沒有找到,則系統會再將網址提交DNS域名解析服務器進行IP地址的解析。
2、查看接口的入參 和返回的正確性 參考下圖
這個接口是刪除操作,用到比較新的請求方法 DELETE 。我們具體分析一下這個接口,然后可以反演繹出接口文檔里面記錄這個接口是什么樣子的。
1、請求URL 也叫接口。 Request URL : https://tuijian.taobao.com/ai/campaign/delete.json
2、Form Date。 這里面就是接口請求的參數,相信這里你明白了之前看的前端和后端的交互的意義了。
3、請求參數是 bizCode, campaignIdList, csrfID 我們不用管這些英文是什么意思 ,我們只要知道它是干嘛的就行。這里的bizCode 是區分業務線,campaignIdList 是要刪除的東西的標識, csrfID 是隨機生成的一個標識,不重要。
總結:一個簡單的接口請求就是這樣子啦,每個接口不一樣,但里面的位置是一樣,請求參數或多或少,具體看接口文檔,下面看看請求返回
返回
我們來看下返回 :
因為這個接口是執行刪除操作, 返回是不會返回數據,只返回刪除成功 或者不成功。
我們點擊切換到Preview 下 ,是一種格式化的json 就是好看一點
info. ok:true 這樣我們就知道 這個操作是順利完成啦
切換到Response 是以原生json格式返回。可以自己點擊查看一下,內容是和Preview 一樣的,只有是按json返回 一排
Review
- 會查看網頁結構,和明白點擊網頁的交互發送的請求Url 也叫做接口
- 開發者工具的常用設置
- 清楚明白接口的 入參 和返回json的位置 ,以分析是否正確
Future:
后面我會結合實際的網站來進行測試。
會用到的工具:
抓包 : Fiddler ,Charles,
瀏覽器: Chrome
預備知識 :
抓包工作的原理與安裝使用
Fiddler :https://www.cnblogs.com/zhaoyanjun/p/7068905.html
接口相關知識