1、首先使用VMVARE10搭建一個redhat6.5的虛擬機。

我們提供的服務有:網(wǎng)站設計、成都網(wǎng)站設計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、隴川ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的隴川網(wǎng)站制作公司
2、在虛擬redhat6.5上安裝ORACLE11G的數(shù)據(jù)庫。
3、使用oewizard導入測試數(shù)據(jù),可以根據(jù)向?qū)崾具M行數(shù)據(jù)導入。
4、使用swingbench進行壓力測試。
測試步驟:
1、導數(shù)據(jù)之前需要修改temp表空間大小,使其能夠容納下相應的導入數(shù)據(jù)
create temporarytablespace temp tempfile '/home/oracle/oradata/orcl/temp.dbf' size 1g;
alter databasedefault temporary tablespace temp;
2、 安裝swingbench測試軟件,直接解壓縮即可運行。
unzip -x swingbench25919.zip
3、進入swingbench/bin目錄執(zhí)行oewizard導入1G測試數(shù)據(jù),并修改數(shù)據(jù)庫連接名和DBA密碼
wKioL1Qx2h3TrIIGAAGyVq92CVA180.jpg
輸入導入數(shù)據(jù)文件存放位置:
wKiom1Qx2nGTFbZFAAGBnRUybxU038.jpg
選擇導入1G數(shù)據(jù):
wKioL1Qx2tnyThWoAAE8qLLgIJI464.jpg
數(shù)據(jù)導完之后在該目錄下運行swingbench執(zhí)行測試,修改數(shù)據(jù)庫連接名,用戶連接數(shù)設置為300,測試時間設置為10分鐘
wKiom1Qx2v6S6yjvAAKAl63J5mg784.jpg
修改Distributed Controls用于測試過程中搜集測試監(jiān)控信息,修改完之后測試連接是否正常, 并可以統(tǒng)計主機的cpu disk IO 信息
wKioL1Qx24DDSssqAAFmiLc2VSU132.jpg
還可以 拉出AWR報表
wKioL1Qx3O2gzw45AADH_p4CEeQ979.jpg
設置 insert,update ,select的比例
wKioL1Qx3RHB32ITAAEK9ABjiPI261.jpg
設置完成之后,點擊左上角綠色按鈕執(zhí)行測試
wKiom1Qx24zgsNQ-AAEJ51YcKSs614.jpg
wKiom1Qx3QaxFssnAAGpJeiYV6Q924.jpg
測試結果可保持為XML文檔,
1、什么是接口?
2、什么是接口測試?
3、接口組成的要素有哪些?
4、Python 的 requests 包是干什么的?
5、如何使用 Python 的 requests 包?
6、為什么開展接口測試?
7、為什么要寫接口測試用例?
8、接口測試用例設計主要考慮哪些?
9、接口測試用例包含哪些內(nèi)容?
10、接口測試如何設計用例?
11、通用接口用例設計?
12、接口測試報告包含哪些內(nèi)容?
13、測試指標范圍包含哪些?
14、做接口測試運用過哪些測試工具?
15、抓包工具用過哪些?
16、為什么進行抓包測試?
17、TCP/IP 參考模型有哪幾層?
18、常用協(xié)議的端口號?
19、常見的狀態(tài)碼有哪些?
20、你們公司的接口測試流程是怎樣的?
21、請詳細闡述接口測試和 UI 測試在測試活動中是如何協(xié)同測試的?
22、接口測試注意事項?
23、接口測試執(zhí)行中對比數(shù)據(jù)庫嗎?
24、請簡述一下 cookie、session 以及 token 的區(qū)別?
25、談談你對 HTTP 協(xié)議的了解?
26、你對 http 請求跟 webservice 請求的了解?
27、在接口測試中關聯(lián)是什么含義?如何使用 Postman 設置關聯(lián)?
28、接口自動化測試框架一般分為幾層?
29、測試框架里如何做到數(shù)據(jù)和代碼分離?
1、什么是接口?
接口就是 API,意思是應用程序編程接口。
接口本質(zhì)上是程序開發(fā)的函數(shù)和方法,提供參數(shù)和返回值。
2、什么是接口測試?
接口測試是測試系統(tǒng)組件間接口的一種測試,接口測試主要用于檢測外部系統(tǒng)和內(nèi)部系統(tǒng)之間以及各個子系統(tǒng)之間的交互點。測試的重點是檢查數(shù)據(jù)的交換、傳遞和控制管理的過程,以及系統(tǒng)間的相互邏輯依賴關系等。
3、接口組成的要素有哪些?
接口訪問的地址、請求的方法、參數(shù)、返回值
(1)接口訪問的地址 協(xié)議://IP 地址或域名:端口號/應用名/功能名
(2)請求的方法 get、post 等
(3)參數(shù) 用戶使用接口時,需要向接口提供的數(shù)據(jù)。
(4)返回值 接口給用戶的反饋結果。
4、Python 的 requests 包是干什么的?
requests 是一個 HTTP 庫,作用是發(fā)送 HTTP 請求,獲得響應,往往使用在網(wǎng)絡爬蟲,接口自動化測試中。
5、如何使用 Python 的 requests 包?
(1)安裝 Python
(2)安裝 requests 模塊
(3)創(chuàng)建.py 文件
(4)導入 requests 模塊
(5)編寫 Python 代碼
(6)調(diào)用 requests 方法
6、為什么開展接口測試?
接口測試屬于集成測試、測試接入越早,就越能在項目早期發(fā)現(xiàn)問題,修復問題成本降低。
接口測試非常快速,UI 自動化執(zhí)行一個測試用例 10s 左右,接口用例執(zhí)行一般毫秒級。
7、為什么要寫接口測試用例?
(1)理清思路,避免漏測和重復測試。
(2)提高測試效率、跟進測試進度、告訴領導做過、跟進重復性工作。
(3)更好的記錄問題、發(fā)現(xiàn)問題、復現(xiàn)問題、同時這也是接口測試流程中的一個產(chǎn)物。
8、接口測試用例設計主要考慮哪些?
(1)功能是否正常。
(2)功能是否按照接口文檔實現(xiàn)、是否依賴業(yè)務、異常情況(參數(shù)異常、數(shù)據(jù)異常)、安全測試等。
9、接口測試用例包含哪些內(nèi)容?
用例名稱、接口地址、請求方式、前置條件、描述、請求頭部、請求參數(shù)、狀態(tài)碼、預期返回結果
10、接口測試如何設計用例?
接口測試一般考慮入?yún)⑿问降淖兓徒涌诘臉I(yè)務邏輯。
一般設計接口測試用例采用等價類、邊界值、場景法居多。
接口測試用例設計思路:
(1)接口業(yè)務邏輯測試,接口邏輯測試是指根據(jù)業(yè)務邏輯,輸入?yún)?shù),輸出值的描述,對正常輸入情況下所得輸出值是否正確的測試,也就是測試對外提供的接口服務是否正常。
(2)模塊接口測試,模塊接口測試是為了保證數(shù)據(jù)的安全及程序在異常情況下的邏輯正確性而進行的測試模塊,接口測試主要包括以下幾個方面
a.鑒權碼 token 異常(為空、沒有、錯誤、過期)
b.其他參數(shù)的異常,必填項的檢查,參數(shù)的長度、類型、格式異常。常規(guī)的參數(shù)有數(shù)字,字符串,日期;參數(shù)長度,位數(shù)、身份證、電話的長度;參數(shù)的類型,數(shù)字精度,字母,中文,帶空格的參數(shù),特殊字符;日期格式,日期年月日,年月日時分秒,日期格式(包含/-:等)
c.錯誤碼異常覆蓋
11、通用接口用例設計?
(1)通過性驗證:首先肯定要保證這個接口功能是好使的,也就是正常的通過性測試,按照接口文檔上的參數(shù),正常傳入,是否可以返回正確的結果。
(2)參數(shù)組合:現(xiàn)在有一個操作商品的接口,有個字段 type,傳 1 的時候代表修改商品,商品 id、商品名稱、價格有一個是必傳的,type 傳 2 的時候是刪除商品,商品 id 是必傳的,這樣就要測參數(shù)組合了,type 傳 1 的時候,只傳商品名稱能不能修改成功,id、名稱、價格都傳的時候能不能修改成功。
(3)接口安全:繞過驗證,比如說購買了一個商品,它的價格是 300 元,那我在提交訂單時候,我把這個商品的價格改成 3 元,后端有沒有做驗證,更狠點,我把錢改成-3,是不是我的余額還要增加?繞過身份授權,比如說修改商品信息接口,那必須得是賣家才能修改,那我傳一個普通用戶,能不能修改成功,我傳一個其他的賣家能不能修改成功。參數(shù)是否加密,比如說我登陸的接口,用戶名和密碼是不是加密,如果不加密的話,別人攔截到你的請求,就能獲取到你的信息了,加密規(guī)則是否容易破解。密碼安全規(guī)則,密碼的復雜程度校驗。
(4)異常驗證:所謂異常驗證,也就是我不按照你接口文檔上的要求輸入?yún)?shù),來驗證接口對異常情況的校驗。比如說必填的參數(shù)不填,輸入整數(shù)類型的,傳入字符串類型,長度是 10 的,傳 11,總之就是你說怎么來,我就不怎么來,其實也就這三種,必傳非必傳、參數(shù)類型、入?yún)㈤L度。
12、接口測試報告包含哪些內(nèi)容?
系統(tǒng)接口概況、測試目的與范圍、測試工具與資源、測試記錄及結果分析(單場景接口、混合場景接口)、測試結論
13、測試指標范圍包含哪些?
(1)被測接口接收請求和返回報文。
(2)被測接口返回狀態(tài)、被測接口對應業(yè)務邏輯處理、涉及數(shù)據(jù)沉淀的處理、復雜場景下多個接口串聯(lián)交互。
14、做接口測試運用過哪些測試工具?
(1)Postman
(2)JMeter
(3)SoapUI
(4)Python + requests
(5)Java + HttpClient
(6)Java + OkHttp
15、抓包工具用過哪些?
(1)Fiddler
(2)Charles
(3)Wireshark
16、為什么進行抓包測試?
有些時候公司沒有標準的接口文檔,測試人員只能抓包來獲取接口信息。
抓包可以迅速找到請求,通過抓包可以查看整個請求過程,以及響應過程,可以通過抓包來分辨前臺還是后臺 bug。
通過抓包,可以查看是否有敏感信息泄露,比如用戶密碼和個人賬號信息等數(shù)據(jù)。
通過抓包進行測試,攔截請求,修改請求數(shù)據(jù),查看對應響應結果,抓包本身就是接口測試的一部分。
17、TCP/IP 參考模型有哪幾層?
應用層、傳輸層、網(wǎng)絡層、網(wǎng)絡接口層
18、常用協(xié)議的端口號?
(1)21/tcp FTP 文件傳輸協(xié)議
(2)22/tcp SSH 安全登錄、文件傳送(SCP)和端口重定向
(3)23/tcp Telnet 不安全的文本傳送
(4)25/tcp SMTP Simple Mail Transfer Protocol(E-mail)
(5)69/udp TFTP Trivial File Transfer Protocol(微型文件傳輸協(xié)議)
(6)80/tcp HTTP 超文本傳送協(xié)議(WWW)
(7)110/tcp POP3 Post Office Protocol(E-mail)
(8)443/tcp HTTPS used for securely transferring web pages
(9)3389/tcp 遠程訪問 5631/tcp
(10)5632/udp pcanywhere 端口號
(11)1433 SqlServer 服務端口號
(12)1521 Oracle 服務端口號
(13)3306 Mysql 服務端口號
(14)8080 Tomcat 默認服務端口號
19、常見的狀態(tài)碼有哪些?
(1)1XX 信息提示,用于指定客戶端相應的某些動作。
(2)2XX 成功,用于表示請求成功。
(3)3XX 重定向,用于移動的文件并且常被包含在定位頭信息中制定的新的地址信息。
(4)4XX 客戶端錯誤,用于指出客戶端的錯誤。
(5)5XX 服務器錯誤,用于指出服務器的錯誤。
20、你們公司的接口測試流程是怎樣的?
(1)從開發(fā)中取得接口文檔,了解接口業(yè)務,主要包括接口地址、請求方式、入?yún)ⅰ⒊鰠ⅰ⒎祷馗袷降刃畔ⅰ?/p>
(2)使用 Jmeter 進行接口測試,創(chuàng)建一個線程組,然后建立一個 http 請求默認值,再新建很多 http 請求,一個請求是一個用例,輸入相應接口路徑、訪問方式、參數(shù)等,創(chuàng)建斷言和察看結果樹。
(3)最后調(diào)用并執(zhí)行測試用例,編寫測試報告。
(4)在做接口測試的時候遇到過很多問題,都是自己獨立解決的,比如返回值亂碼(修改 Jmeter 的配置文件為 UTF-8)。
21、請詳細闡述接口測試和 UI 測試在測試活動中是如何協(xié)同測試的?
接口測試和 UI 測試這兩塊其實是有一部分是重疊的,UI 測試是通過前端寫的界面來調(diào)用接口,而接口測試是直接調(diào)接口。所以排除前端的處理的邏輯和調(diào)用的正確性,在理論上接口測試是可以覆蓋所有的 UI 測試。但實際過程中,如果只是在接口層覆蓋所有的業(yè)務流,在 UI 上只測試前端的邏輯,最終的結果可能會是忽視很多原有的功能點,導致了 UI 測試的不充分。所以存在多人分工且時間充分的時候可以嘗試接口去做業(yè)務流的全覆蓋,否則不要輕易嘗試。
22、接口測試注意事項?
(1)改變請求參數(shù),看響應結果是否和接口文檔一致。
(2)查看參數(shù)是否有敏感信息(比如個人賬戶信息,資金信息)。
(3)查看是否對關鍵參數(shù)進行加密處理(密碼信息)。
(4)所有列表頁接口必須考慮排序值。
(5)接口返回的圖片地址能否打開,圖片尺寸是否符合需求。
(6)接口有翻頁時,頁碼與頁數(shù)的異常值測試。
(7)當輸出參數(shù)有聯(lián)動性時,需要校驗返回兩參數(shù)的實際結果是否都符合需求每個接口入?yún)⒌哪J值、異常類型、非空校驗。
(8)入?yún)⒅С侄鄠€值時,要考慮傳的值的個數(shù)多的情況下,接口會不會報錯。
23、接口測試執(zhí)行中對比數(shù)據(jù)庫嗎?
肯定要對比,因為接口返回值的數(shù)據(jù)來源于數(shù)據(jù)庫,接口對數(shù)據(jù)的操作還要進行深層次的數(shù)據(jù)庫檢查。
24、請簡述一下 cookie、session 以及 token 的區(qū)別?
cookie 數(shù)據(jù)存放在客戶的瀏覽器上、session 數(shù)據(jù)放在服務器上、token 是接口測試時鑒權碼,一般情況下登陸后才可以獲取到 token,然后在每次請求接口時需要帶上 token 參數(shù)。
cookie 不安全,別人可以分析存在本地的 cookie 并進行 cookie 欺騙,考慮到安全應當使用 session 可以將登錄信息等重要信息存放為 session,其他信息可以保存在 cookie。
25、談談你對 HTTP 協(xié)議的了解?
超文本傳輸協(xié)議,端口為 80,是由請求和響應兩部分組成的。
請求是由請求頭,請求行,請求正文組成;響應是由響應頭、響應行、響應正文組成。
面向安全的話使用 https。
26、你對 http 請求跟 webservice 請求的了解?
(1)http api 接口:是走 http 協(xié)議,通過路徑來區(qū)分調(diào)用的方法,請求報文都是 key-value 形式的,返回報文一般都是 json 串,有 get 和 post 等方法,這也是最常用的兩種請求方式。可以使用的工具有 postman、RESTClient、jmeter、loadrunner 等。
(2)webservice 接口:是走 soap 協(xié)議通過 http 傳輸,請求報文和返回報文都是 xml 格式的,都是通過工具才能進行調(diào)用與測試。可以使用的工具有 SoapUI、jmeter、loadrunner 等。
27、在接口測試中關聯(lián)是什么含義?如何使用 Postman 設置關聯(lián)?
關聯(lián)就是把上一個接口返回值的部分截取出來,作為下一個接口的參數(shù),能讓接口串聯(lián)運行。
在 Postman 中設置關聯(lián)的步驟如下:
(1)通過正則表達式提取的方式或 json 取值的方式把下一個接口需要的信息從上一個接口截取出來。
(2)使用設置全局變量的代碼把取出來的值保存到全局變量里。
(3)在下一個接口中,使用(全局變量)代替要替換的靜態(tài)值。
28、接口自動化測試框架一般分為幾層?
自動化測試框架一般分為 5 層(配置層,腳本層,數(shù)據(jù)層,測試報告層,驅(qū)動層)
接口項目工程規(guī)劃大致可分為幾類,首先是測試結果類,比如說叫 test_rusult,里面存放一些比如日志文件,測試報告。然后是測試用例 testcase,里面分模塊存放測試用例。接下來是公共方法類,比如說叫 public,或者是 tools,里面存放一些,讀取 excel 數(shù)據(jù)的方法,發(fā)送 http 請求的方法,收集 log 日志的方法,發(fā)送郵件,操作數(shù)據(jù)庫等方法。還有就是配置文件類,比如說叫 config,里面存放一些指定運行部分用例的配置文件,連接數(shù)據(jù)庫的配置文件。最后是寫一個 run 方法,運行所有的用例。
29、測試框架里如何做到數(shù)據(jù)和代碼分離?
第一種:寫在 excel 表格里,像這種主要是讀取 excel 數(shù)據(jù)有點麻煩,常用的用來讀取 excel 的第三方庫有 openpyxl,xlrd 等。當然讀取 excel 數(shù)據(jù)最好用的還是用來做數(shù)據(jù)分析的 pandas 模塊,不用寫那么多 for 循環(huán)。
第二種:數(shù)據(jù)存放到 yaml 文件里,一個模塊或者是一個功能寫一個 yaml 文件,最后寫個讀取 yaml 文件的公共方法就行了。yaml 格式的文件比較簡單。
第三種:存放在數(shù)據(jù)庫里面。
第四種:數(shù)據(jù)存放在 json 文件里。
用SQL *plus測試。
通常,采用命令行方式檢測。
操作步驟如下:
在運行中輸入:cmd
接著輸入:sqlplus /nolog
再輸入:conn sys as sysdba;
輸入密碼。輸入過程中,所輸密碼不顯示。輸完按回車即可。
如果能正常連接到數(shù)據(jù)庫,就說明能正常訪問。
服務端系分提供的某接口樣例為:
評估后可采用使用jmeter進行壓力測試的步驟為:
啟動jmeter:在bin下點擊jmeter.bat,運行jmeter
2. 創(chuàng)建測試計劃:
默認啟動jmeter時會加載一個測試技術模板
3. 保存測試計劃:修改名稱為http_demo,點擊保存,選擇保存路徑
4. 添加線程組
右鍵左邊樹中的測試計劃“http_demo”節(jié)點,“添 加”---“線程組”,添加一“線程組”
添加成功后,“http_demo”節(jié)點下多了“線程組” 節(jié)點
5. 添加http默認請求:(用來配置公共參數(shù),不是http請求)
右鍵線程組,選擇“添加”—〉 “配置元件”—〉“HTTP請求默認值”,點擊“HTTP請求默認值”后
添加成功后,線程組“節(jié)點下多了”HTTP請求默認值“節(jié)點
6. 設置”HTTP請求默認值“:
針對本項目填寫如下,服務端的系分說明
填寫默認請求名、服務器、默認請求路徑,保存測試計劃
7. 添加http請求
右鍵”http_demo“,選擇”添加“—〉 ”Sampler“—〉”HTTP請求“
添加成功后,HTTP請求默認值”XX閱讀平臺“節(jié)點下發(fā)出現(xiàn)”HTTP請求“
8. 設置http請求
填寫參考服務端系分:
填寫完成,保存測試計劃
9. 添加監(jiān)聽器:
右鍵線程組,選擇”添加“—〉 ”監(jiān)聽器“—〉”察看結果樹“
添加成功后,”線程組“下增加了察看結果樹節(jié)點
10. 試運行
點擊執(zhí)行
參看請求和響應執(zhí)行情況:執(zhí)行成功如下,檢查響應數(shù)據(jù)返回的正確性
11. 添加圖表分析監(jiān)聽器
12. 修改線程組的線程數(shù)等參數(shù),用于壓力測試
13. 執(zhí)行壓力測試,參看數(shù)據(jù)
點擊執(zhí)行后,選擇圖形結果,觀察壓力測試的數(shù)據(jù)內(nèi)容
14. 如需要用表格查看結果
選擇”添加“—〉 ”監(jiān)聽器“—〉”用表格查看結果“
15. 設置”用表格查看結果“的主要參數(shù):
Configure:點擊”Configure“按鈕,在彈出的窗口中選中”Save Response Data“ 項,以保存響應數(shù)據(jù)
分享文章:oracle接口測試怎么測 Oracle測試
URL分享:http://chinadenli.net/article48/hhjihp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、網(wǎng)站建設、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、域名注冊、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)