阿里高级测开:软件测试(功能、接口、性能、自动化)详解
全文2000字,預(yù)計閱讀時間10分鐘,建議先點贊收藏慢慢看
一、軟件測試功能測試
測試用例編寫是軟件測試的基本技能;也有很多人認為測試用例是軟件測試的核心;軟件測試中最重要的是設(shè)計和生成有效的測試用例;測試用例是測試工作的指導(dǎo),是軟件測試的必須遵守的準則。
黑盒測試常見測試用例編寫方法
1、等價類
選取少數(shù)有代表性的數(shù)據(jù),這一類數(shù)據(jù)等價于這一類的其它值;找出最小的子集,可以發(fā)現(xiàn)最多的錯誤;特性:必須設(shè)計的用例;涵蓋了大部分情況;
2、邊界值
所謂邊界條件,是指輸入和輸出等價類中那些恰好處于邊界、超過邊界、或在邊界以下的狀態(tài) ;特征:選擇一個或多個元素,以便等價類的每一個邊界都經(jīng)過了測試;與僅僅關(guān)注輸入條件不同,還需要考慮結(jié)果空間(輸出等價類)設(shè)計測試用例;
3、因果圖
輸入條件的組合進行分析。用一個系統(tǒng)的方法選擇出高效的測試用例集;
分析思路:
-
a、分析規(guī)格說明描述,確定原因和結(jié)果,并賦予標識符;
-
b、分析規(guī)格說明語義,找出原因與原因之間,原因與結(jié)果之間關(guān)系,畫出因果圖;
-
c、有些原因與原因之間,原因與結(jié)果之間組合不會出現(xiàn),用記號表明約束或限制條件;
-
d、因果圖轉(zhuǎn)換為判定表;
-
e、判定表的每一列作為依據(jù),設(shè)計測試用例;
4、判定表驅(qū)動法
分析和表達多邏輯條件下執(zhí)行不同操作的情況的工具 ;通過因果圖的繪制,直接列出所有組合進行篩選;
5、正交實驗法
利用因果圖來設(shè)計測試用例時, 輸入原因與輸出結(jié)果之間的因果關(guān)系,有時很難從軟件需求規(guī)格說明中得到;往往因果關(guān)系非常龐大,以至于測試用例數(shù)目巨大,為了有效地、合理地減少測試的工時與費用,可利用正交實驗設(shè)計方法進行測試用例的設(shè)計。
6、功能圖法
一個程序的功能包括靜態(tài)和動態(tài)說明。動態(tài)說明描述輸入數(shù)據(jù)的次序或轉(zhuǎn)移的次序,和業(yè)務(wù)流程緊密對應(yīng)。靜態(tài)說明描述了輸入輸出條件之間的對應(yīng)關(guān)系。對于面向市場的產(chǎn)品,其邏輯復(fù)雜、組合龐大,必須用動態(tài)說明來補充功能說明。 功能圖設(shè)計方法:功能圖方法使用功能圖形象地表示程序的功能說明,并機械地生成功能圖的測試用例。我們在不同文檔中看到的“狀態(tài)遷移圖”、“流程圖”、“菜單樹”,在一定程度上都是功能圖的不同表現(xiàn),不同測試人員可能對具體方法的使用稍有不同。
7、場景實驗法
現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時的情景便形成了場景,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成事件流。該方法可以比較生動地描繪出事件觸發(fā)時的情景,有利于測試設(shè)計者設(shè)計測試用例,是測試用例更容易理解和執(zhí)行。
8、錯誤推斷法
基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設(shè)計測試用例的方法;更多地以用戶的使用習(xí)慣及測試程序中的常見問題為主。
9、需求轉(zhuǎn)化
根據(jù)需求,執(zhí)行需求分析,并編寫測試用例。
10、設(shè)計文檔
參照設(shè)計文檔,可以理解軟件系統(tǒng)內(nèi)部設(shè)計流程及處理機制,對比寫好的測試用例,可以在對應(yīng)功能及模塊處新增;
11、探索式測試
無限創(chuàng)意的測試點,永無止境的探索測試;我們要在測試的最前沿發(fā)揮洞察力、技術(shù)及應(yīng)變措施,找出產(chǎn)品的缺陷;
二、軟件測試接口測試
1、什么是接口測試?
接口測試是測試系統(tǒng)組件間接口的一種測試。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點。測試的重點是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
2、為什么要做接口測試?
-
a) 如今的系統(tǒng)復(fù)雜度不斷上升,傳統(tǒng)的測試方法成本急劇增加且測試效率大幅下降,接口測試可以提供這種情況下的解決方案。
-
b) 接口測試相對容易實現(xiàn)自動化持續(xù)集成,且相對UI自動化也比較穩(wěn)定,可以減少人工回歸測試人力成本與時間,縮短測試周期,支持后端快速發(fā)版需求。接口持續(xù)集成是為什么能低成本高收益的根源。
-
c) 現(xiàn)在很多系統(tǒng)前后端是分離的,從安全層面來說:
-
1、只依賴前端進行限制已經(jīng)完全不能滿足系統(tǒng)的安全要求(繞過前端實在太容易), 需要后端同樣進行控制,在這種情況下就需要從接口層面進行驗證。
-
2、前后端傳輸、日志打印等信息是否加密傳輸也是需要驗證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。
-
3、如何做接口測試
-
a、根據(jù)后端開發(fā)提供的接口測試文檔進行接口測試驗證
如圖:
然后根據(jù)接口文檔輸入url,參數(shù),查看響應(yīng)是否正確
b、在沒有接口文檔的情況下,使用抓包工具進行接口數(shù)據(jù)抓取,抓包工具:fiddler
三、軟件測試性能測試
1、性能測試領(lǐng)域分析
根據(jù)對項目背景,業(yè)務(wù)的了解,確定本次性能測試要解決的問題點;是測試系統(tǒng)能否滿足實際運行時的需要,還是目前的系統(tǒng)在哪些方面制約系統(tǒng)性能的表現(xiàn),或者,哪些系統(tǒng)因素導(dǎo)致
系統(tǒng)無法跟上業(yè)務(wù)發(fā)展?確定測試領(lǐng)域,然后具體問題具體分析。
2、用戶場景剖析和業(yè)務(wù)建模
根據(jù)對系統(tǒng)業(yè)務(wù)、用戶活躍時間、訪問頻率、場景交互等各方面的分析,整理一個業(yè)務(wù)場景表,當(dāng)然其中最好對用戶操作場景、步驟進行詳細的描述,為測試腳本開發(fā)提供依據(jù)。
3、確定性能目標
前面已經(jīng)確定了本次性能測試的應(yīng)用領(lǐng)域,接下來就是針對具體的領(lǐng)域關(guān)注點,確定性能目標(指標);
比如:
①登錄請求到登錄成功的頁面響應(yīng)時間不能超過2秒;
②報表審核提交的頁面響應(yīng)時間不能超過5秒;
③文件的上傳、下載頁面響應(yīng)時間不超過8秒;
4、性能測試腳本的編寫
性能測試工具:loadrunner、jmeter
這里使用jmeter,因為loadrunner安裝包太大不夠輕便。
jmeter性能測試,就是通過接口對服務(wù)器進行高并發(fā)訪問的,所以腳本的編寫的就和接口測試的時候差不多,輸入url,參數(shù)等,
四、軟件測試自動化測試
1、ui自動化測試
a、web端ui自動化測試、一般是使用python+selenium,定位頁面元素然后通過瀏覽器驅(qū)動,模擬人進行頁面操作,實現(xiàn)web端ui自動化測試
b、移動端ui自動化測試、一般是使用python+appium,通過調(diào)用Android的jdk,獲取app頁面元素,模擬人進行app操作,實現(xiàn)移動端ui自動化測試
2、接口自動化測試
接口自動化測試一般使用的是python+requests,或者httpx。這里博主使用的requests,因為比較簡單。簡單的例子,如圖:
最后為方便大家學(xué)習(xí)軟件測試,特意給大家準備了一份13G的超實用干貨學(xué)習(xí)資源,涉及的內(nèi)容非常全面。
包括,軟件學(xué)習(xí)路線圖,50多天的上課視頻、16個突擊實戰(zhàn)項目,80余個軟件測試用軟件,37份測試文檔,70個軟件測試相關(guān)問題,40篇測試經(jīng)驗級文章,上千份測試真題分享,還有2021軟件測試面試寶典,還有軟件測試求職的各類精選簡歷,希望對大家有所幫助,關(guān)注我公眾號:程序員二黑,即可免費領(lǐng)取!
如果你不想再體驗一次自學(xué)時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們的群:785128166 大家一起討論交流,里面也有各種軟件測試資料和技術(shù)交流。
精彩推薦
在職阿里6年,一個29歲女軟件測試工程師的心聲
拒絕B站邀約,從月薪3k到年薪47W,我的經(jīng)驗值得每一個測試人借鑒
公司新來的阿里p8,看了我做的APP和接口測試,甩給了我這份文檔
總結(jié)
以上是生活随笔為你收集整理的阿里高级测开:软件测试(功能、接口、性能、自动化)详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文阅读CVPR2019】Text2S
- 下一篇: qemu毒液漏洞分析(2015.9)