《後臺搜索服務》接口學習書python
適用範圍 XX軟件-大客戶業務中心 做者 段旭 web
此文是介紹接口測試是怎樣進行的,結合後臺搜索服務,從理論引伸到實踐的一個學習過程,其中包括介紹階段性的學習與實踐,內容並不具體詳細,不少細節仍是須要本身進行學習和探究,知識與經驗是靠累積與沉澱才穩固牢靠。編程
XX開發適配各類http接口給須要服務的CP提供相應的支持。瀏覽器
議讀此計劃書,一共有3重意義:服務器
第一,學習測試,認識軟件測試過程,學習接口的測試,什麼是接口,應該怎麼正確的對待接口測試,保證接口的功能性,穩定性,健壯性,從而實現所提供接口的需求併發
第二,學會分析,學會理解需求,發散本身軟件工程的邏輯思惟app
第三,提升本身的學習能力與工做經驗,從而增長本身的人生價值框架
(1)測試經理:XXX運維
(2)組長:XXX編程語言
(3)Tester: XXX
(1)測試人員:
l 初次接觸接口的測試人員,基本的測試能力要達到,接口測試爲底層測試,不一樣於UI測試那麼複雜多樣化,它更多的是展示枯燥與無聊,因此須要更大的細心和耐心去慢慢融入其中,同時接口也不是那麼簡單易懂,它涵蓋豐富的邏輯性去開闊初次接觸它們的測試者,讓初次接口的測試人員更快的融入接口測試中,進而的提升工做效率與工做積極性。
l 已經接觸過接口測試人員,因爲接口測試有比較大量的case去覆蓋所實現的需求,而且軟件工程的邏輯就是牽一脈動全身,因此大量的迭代測試也是必不可免的。這時候普通的黑盒測試已經知足不了咱們對測試任務的效率,因此咱們在開闊邏輯思惟的同時須要完善本身的編碼能力,簡單的腳本語言就能夠代替你複雜沉多的工做。
(2)管理者:認識接口測試流程,瞭解接口內容,熟悉測試人員任務與測試內容從而更有效的掌控測試過程。
此計劃書本着運用問題情景教學策略,以問題爲引導,將「面向對象」一步步帶入接口測試的學習中與項目熟悉的認知中。在適當的運用本身的測試經驗,讓你們在思考中完成對接口測試的理解。
如下活動問題須要思考與分析:
l 提問1:接口測試主要講究文檔效益,須要對文檔編寫能力有必定要求,這樣能讓他人清楚明白的你要作什麼?你想要作什麼?例如測試case/計劃如何寫?需求理解中Q&A管理表的產生。
l 提問2:掌握好總體項目的流程,哪些流程是須要測試參與?測試須要發起哪些流程?測試在項目中擔任的角色是什麼?
l 提問3: 如何理解接口測試?學習接口測試須要掌握哪些知識?接口測試須要怎麼測試?怎麼作好接口測試?它與UI測試的不一樣?
l 提問4:接口須要藉助哪些工具?接口運用工具都須要作些什麼?
l 提問5:接口須要使用到哪些腳本語言?它能代替人工作什麼?
l 提問6:接口測試因爲自己的邏輯性特質,因此接口測試中如何進行有效的溝通,如何有效的利用wiki工具或者BUG工具?
測試基礎自主學習,參考前人寫的測試文檔,重點學習test plan中格式;人員分配;資源分配;時間控制;測試標準。重點學會對需求進行理解,若有不懂的地方多與項目經理/產品經理進行溝通討論,多與同事進行討論,編制相應的QA管理表,把疑問記錄下來,方便往後維護和幫助其餘同事進行需求理解。重點學習測試case的編寫,把需求功能點轉化成case進行覆蓋,此過程也須要多與同事溝通,case編寫完成要與相應人員進行審覈,重點學習測試報告中的格式,測試報告中對測試結果的分析與結論是對整個測試的概括。此步驟在下方四大節中有相應的項目模板,均是實際項目產生的文檔可供你們參考
測試能力相當重要,但一個好的測試流程每每會規避不少資源浪費和溝通障礙,全部參與項目中的角色都要熟知流程,測試人員要重點理解本身在測試流程中的位置職責以達到最好的測試效果。
l 接口也就是咱們一般說的API,通常以用於多系統間交互開發,接口分爲程序內部接口,程序外部接口,內部接口的測試一般是進行白盒測試(測試一般是開發進行的),測試人員在這裏所作的工做就是外部接口測試,接口測試適用於爲其餘系統提供服務的底層框架系統和中心服務系統,主要測試這些系統對外部提供的接口,驗證其正確性和穩定性。簡化理解就是,咱們要把編譯好的數據經過HTTP的接口(web服務接口)形式傳遞交換給客戶,從而支持客戶需求的相應服務的產品。(咱們主要測試HTTP接口)學習測試HTTP接口的前提只須要簡單的瞭解http和https有什麼區別?接口加密是什麼?。
l 咱們想要作好接口測試應該確保較早地與相關的部門協調好並肯定進行外部接口測試的方案,由於不是全部的團隊均可以在一個隔離的測試環境中進行測試工做的,所以使得對外部接口的測試顯得困難。有時候只是人工的靜態的審閱一次數據而並不真正的用這些數據來測試,等等這些都增長了實際測試執行中遇到的風險,但有些時候是能夠避免的。
接口測試會使用到常識的瀏覽器,因爲接口返回有XML/JOSN/JOSNP等格式,因此不一樣瀏覽器須要裝不一樣的插件來訪問對應的格式。瀏覽器只是測試接口的媒介,靜態觀察接口返回數據的正確性。
接口的性能須要藉助性能測試工具,目前流行的兩個均可以知足咱們對接口性能測試的要求,這兩個工具:loadrunner,jmeter。Loadrunner是收費軟件,功能強大,最經常使用的是模擬任何用戶場景與IP欺騙。Jmeter則是開源軟件,簡介易懂的界面,不須要安裝就可以使用,10幾M的容量對比loadrunner顯得很小喬靈活。這兩款軟件都可以對咱們就接口的性能測試獲得幫助,輸出的APS,每秒點擊量,每秒訪問量均可以顯示。足以知足對性能參數的支持。不過大部分時間咱們的項目仍是運用loadrunner,它有個很是強大的功能能夠實時偵測服務器的性能,觀察每一個階段併發數服務器的質量。一樣第四節你能夠找到相應的學習文檔,PS:其實在接口需求中只是對接口性能作了限定,可是並無就服務器軟硬件參數給出合理的併發用戶,因此這時須要涉及運維人員的幫助與協調,而且因爲測試環境的限制,每每性能測試比較客觀。沒法真正的作到對線上環境性能測試。
目前咱們使用的語言爲python,此種腳本語言簡單易懂,有不少豐富的類庫供使用,也是高效快捷的一個腳本語言,咱們使用此語言把黑盒case進行自動化處理,俗稱的灰盒測試,把重複性較高的工做教給腳原本運行會大大節省咱們的時間。附件有咱們使用腳本對的接口測試
l 接口在剛開始接觸不太好理解,複雜的邏輯性,沒有UI體現那麼直觀的參數值,理解這些須要查閱大量文檔的同時也須要積極與項目/產品經理進行溝通,他們是最早了解需求,創造需求的角色。積極,多問,多討論,不只是測試人的素養,也是互聯網許多職業中的素養,因爲目前互聯網發達通信工具不少,充分利用這些工具進行溝通,不要讓他們限制,若是還達不到效果則採用電話,更甚face to face吧。
l 合理的利用好BUG管理工具(BUGjira,readmine,bugfree等),這樣不只能高效的記錄產生問題,產生問題時間,還能在往後完善測試報告分析BUG走勢等最好積澱,同時有記錄了本身的工做產出,不要怕麻煩,清楚的記錄,嚴謹的描述問題也是測試人必備的能力之一。
l test plan
l test case
l 測試腳本
Python所用到的腳本:
腳本所用的case:
l 測試報告
l 教學財富
Loadrunner PPT教學文檔:
Jmeter PPT教學文檔:
以上兩個文檔均是結合項目,從理論到實踐的產出物,均由後臺服務測試小組提供。
鑑因而介紹學習過程和方法,因此先發了測試過程當中的文檔參考,此節主要介紹後臺服務哪些項目業務須要測試。
以上就是咱們目前在作的測試項目,因爲項目文檔過多這裏就一帶而過,主要是學習接口的測試方法。如下是一些接口需求文檔與技術文檔的示例。
l 接口需求文檔樣式:
l 技術類的需求文檔樣式:
,
這些統稱爲產品說明書有些來自產品/項目經理,有些則來自客戶或者直接郵件。測試人員都須要關注。
整個過程總結於:
知識掌握—測試人員職責—善於思考敢於實踐(功能測試)—性能測試—自動化測試—總結分析
|
活動 |
過程結果 |
|
第一階段 |
基礎自主學習: 1、測試基礎書 2、測試論壇 3、學習文檔中的重點 4、測試文檔的書寫:主要學習test case的書寫 5、總體學習階段感悟 |
知識掌握 |
掌握知識與相應的測試能力,標註的重點是須要着重學習 |
第二階段 |
測試流程的掌握: 1、熟知項目流程中每一個人角色位置 2、熟悉測試流程中每一個階段測試人的職責 3、必定要按流程進行,如流程哪些疑問的地方須要及時提出本身的建議和意見 |
角色控制 |
讓測試人慢慢培養團隊協同能力,配合流程控制,減小項目成本和沒必要要的風險
|
第三階段 |
接口學習與探究 1、學習HTTP協議,學習加密格式 2、理解什麼是接口,接口的構成 3、對接口測試核心是什麼?4、爲何要作接口測試呢? |
思考實踐 |
這個階段不只要學會有關接口方面的理論知識,多上網查詢資料,還要結合項目需求和case進行實踐,逐漸實習過程當中就會理解怎麼測試接口。 |
第四階段 |
工具的使用: 1、學習性能測試工具 2、讓工具更好的輔助本身作接口測試 |
測試工具 |
針對loadrunner/jmeter學習網上不少,我們主要使用它們對接口進行測試,難度不大。掌握此軟件中控件是作什麼的便可,簡單的會一些C語言就可自行編寫測試腳本 |
第五階段 |
拓展延伸: 1、掌握一門編程語言,不用太熟悉,掌握基礎便可 2、敢於實踐,代碼嘛,必定要多寫,在撰寫代碼過程當中會遇到問題,也會鍛鍊本身分析思考的能力 |
自動化 測試 |
讓測試人善於把常常跌點,繁多的case進行自動化處理,這樣大大減小本身的工做量和節省時間,但在初期,代碼熟悉起來可能比較慢,效果不好不要放棄。 |
第六階段 |
溝通與總結: 1、需求理解階段與項目/產品經理溝通 2、case書寫階段與項目組內成員溝通 3、測試階段與測試同事溝通 4、遇到困難及時與測試經理溝通 5、學會總結 |
有效溝通 |
有效溝通能大大節省項目成本減小風險,還能讓本身瞭解他人所想。學會總結,總結每一個階段的收穫與不足。最好能發出周知讓別人瞭解本身作了什麼,還能進行問題備案。 |
全篇學習書只是簡述測試人對接口測試的學習方法,具體的測試和工做中經驗是寫不完的,你們能夠參考文中的階段在對應本身的項目逐漸適應於實踐,天然會了解接口測試。
接口測試主要熟悉每一個項目中接口的參數與參數值,瞭解它的構成,這樣多方面的考慮怎麼測試驗證接口就更全面了。接口不只要注重自己參數的正確性還要保證數據的正確性,看是否符合建立接口調用後的條件,每一個參數會影響數據中的哪些參數都一一清楚。接口測試並無想象中那麼複雜,相反比UI測試簡單的多。沒有UI測試項多,可是因爲是底層接口因此須要考慮的比UI更全面,接口的穩定性也是重中之重。
接口測試是一個緩慢過程,常常作UI測試的tester,初次接觸測試接口起來可能會有疑問,上手須要瞭解業務,再瞭解接口,再瞭解測試,再作測試這個過程必不可少。但若是以前有執行的項目,能夠藉助項目中的case,先作測試,再作了解,這種方法不失爲一個快速高效的測試捷徑。