軟件測(cè)試(功能、接口、性能、自動(dòng)化)詳解

一、軟件測(cè)試功能測(cè)試

測(cè)試用例編寫(xiě)是軟件測(cè)試的基本技能;也有很多人認(rèn)為測(cè)試用例是軟件測(cè)試的核心;軟件測(cè)試中最重要的是設(shè)計(jì)和生成有效的測(cè)試用例;測(cè)試用例是測(cè)試工作的指導(dǎo),是軟件測(cè)試的必須遵守的準(zhǔn)則。

黑盒測(cè)試常見(jiàn)測(cè)試用例編寫(xiě)方法

1、等價(jià)類

選取少數(shù)有代表性的數(shù)據(jù),這一類數(shù)據(jù)等價(jià)于這一類的其它值;找出最小的子集,可以發(fā)現(xiàn)最多的錯(cuò)誤;特性:必須設(shè)計(jì)的用例;涵蓋了大部分情況;

2、邊界值

所謂邊界條件,是指輸入和輸出等價(jià)類中那些恰好處于邊界、超過(guò)邊界、或在邊界以下的狀態(tài) ;特征:選擇一個(gè)或多個(gè)元素,以便等價(jià)類的每一個(gè)邊界都經(jīng)過(guò)了測(cè)試;與僅僅關(guān)注輸入條件不同,還需要考慮結(jié)果空間(輸出等價(jià)類)設(shè)計(jì)測(cè)試用例;

3、因果圖

輸入條件的組合進(jìn)行分析。用一個(gè)系統(tǒng)的方法選擇出高效的測(cè)試用例集;

分析思路:

a、分析規(guī)格說(shuō)明描述,確定原因和結(jié)果,并賦予標(biāo)識(shí)符;

b、分析規(guī)格說(shuō)明語(yǔ)義,找出原因與原因之間,原因與結(jié)果之間關(guān)系,畫(huà)出因果圖;

c、有些原因與原因之間,原因與結(jié)果之間組合不會(huì)出現(xiàn),用記號(hào)表明約束或限制條件;

d、因果圖轉(zhuǎn)換為判定表;

e、判定表的每一列作為依據(jù),設(shè)計(jì)測(cè)試用例;

4、判定表驅(qū)動(dòng)法

分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具 ;略過(guò)因果圖的繪制,直接列出所有組合進(jìn)行篩選;

5、正交實(shí)驗(yàn)法

利用因果圖來(lái)設(shè)計(jì)測(cè)試用例時(shí), 輸入原因與輸出結(jié)果之間的因果關(guān)系,有時(shí)很難從軟件需求規(guī)格說(shuō)明中得到;往往因果關(guān)系非常龐大,以至于測(cè)試用例數(shù)目巨大,為了有效地、合理地減少測(cè)試的工時(shí)與費(fèi)用,可利用正交實(shí)驗(yàn)設(shè)計(jì)方法進(jìn)行測(cè)試用例的設(shè)計(jì)。

6、功能圖法

一個(gè)程序的功能包括靜態(tài)和動(dòng)態(tài)說(shuō)明。動(dòng)態(tài)說(shuō)明描述輸入數(shù)據(jù)的次序或轉(zhuǎn)移的次序,和業(yè)務(wù)流程緊密對(duì)應(yīng)。靜態(tài)說(shuō)明描述了輸入輸出條件之間的對(duì)應(yīng)關(guān)系。對(duì)于面向市場(chǎng)的產(chǎn)品,其邏輯復(fù)雜、組合龐大,必須用動(dòng)態(tài)說(shuō)明來(lái)補(bǔ)充功能說(shuō)明。

功能圖設(shè)計(jì)方法:功能圖方法使用功能圖形象地表示程序的功能說(shuō)明,并機(jī)械地生成功能圖的測(cè)試用例。我們?cè)诓煌臋n中看到的“狀態(tài)遷移圖”、“流程圖”、“菜單樹(shù)”,在一定程度上都是功能圖的不同表現(xiàn),不同測(cè)試人員可能對(duì)具體方法的使用稍有不同。

7、場(chǎng)景實(shí)驗(yàn)法

現(xiàn)在的軟件幾乎都是用事件觸發(fā)來(lái)控制流程的,事件觸發(fā)時(shí)的情景便形成了場(chǎng)景,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成事件流。該方法可以比較生動(dòng)地描繪出事件觸發(fā)時(shí)的情景,有利于測(cè)試設(shè)計(jì)者設(shè)計(jì)測(cè)試用例,是測(cè)試用例更容易理解和執(zhí)行。

8、錯(cuò)誤推斷法

基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法;更多的與用戶的使用習(xí)慣及測(cè)試程序中的常見(jiàn)問(wèn)題為主。

9、需求轉(zhuǎn)化

根據(jù)需求,執(zhí)行需求分析,并編寫(xiě)測(cè)試用例。

10、設(shè)計(jì)文檔

參照設(shè)計(jì)文檔,可以理解軟件系統(tǒng)內(nèi)部設(shè)計(jì)流程及處理機(jī)制,對(duì)比寫(xiě)好的測(cè)試用例,可以在對(duì)應(yīng)功能及模塊處新增;

11、探索式測(cè)試

無(wú)限創(chuàng)意的測(cè)試點(diǎn),永無(wú)止境的探索測(cè)試;我們要在測(cè)試的最前沿發(fā)揮洞察力、技術(shù)及應(yīng)變措施,找出產(chǎn)品的缺陷;

二、軟件測(cè)試接口測(cè)試

1、什么是接口測(cè)試?

接口測(cè)試是測(cè)試系統(tǒng)組件間接口的一種測(cè)試。接口測(cè)試主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測(cè)試的重點(diǎn)是要檢查數(shù)據(jù)的交換,傳遞和控制管理過(guò)程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。

2、為什么要做接口測(cè)試?

a) 如今的系統(tǒng)復(fù)雜度不斷上升,傳統(tǒng)的測(cè)試方法成本急劇增加且測(cè)試效率大幅下降,接口測(cè)試可以提供這種情況下的解決方案。

b) 接口測(cè)試相對(duì)容易實(shí)現(xiàn)自動(dòng)化持續(xù)集成,且相對(duì)UI自動(dòng)化也比較穩(wěn)定,可以減少人工回歸測(cè)試人力成本與時(shí)間,縮短測(cè)試周期,支持后端快速發(fā)版需求。接口持續(xù)集成是為什么能低成本高收益的根源。

c) 現(xiàn)在很多系統(tǒng)前后端是分離的,從安全層面來(lái)說(shuō):

1)、只依賴前端進(jìn)行限制已經(jīng)完全不能滿足系統(tǒng)的安全要求(繞過(guò)前面實(shí)在太容易), 需要后端同樣進(jìn)行控制,在這種情況下就需要從接口層面進(jìn)行驗(yàn)證。

2)、前后端傳輸、日志打印等信息是否加密傳輸也是需要驗(yàn)證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。

3、如何做接口測(cè)試

a、根據(jù)后端開(kāi)發(fā)提供的接口測(cè)試文檔進(jìn)行接口測(cè)試驗(yàn)證

如圖:



然后根據(jù)接口文檔輸入url,參數(shù),查看響應(yīng)是否正確


b、在沒(méi)有接口文檔的情況下,使用抓包工具進(jìn)行接口數(shù)據(jù)抓取,抓包工具:fiddler

三、軟件測(cè)試性能測(cè)試

1、性能測(cè)試領(lǐng)域分析

根據(jù)對(duì)項(xiàng)目背景,業(yè)務(wù)的了解,確定本次性能測(cè)試要解決的問(wèn)題點(diǎn);是測(cè)試系統(tǒng)能否滿足實(shí)際運(yùn)行時(shí)的需要,還是目前的系統(tǒng)在哪些方面制約系統(tǒng)性能的表現(xiàn),或者,哪些系統(tǒng)因素導(dǎo)致

系統(tǒng)無(wú)法跟上業(yè)務(wù)發(fā)展?確定測(cè)試領(lǐng)域,然后具體問(wèn)題具體分析。

2、用戶場(chǎng)景剖析和業(yè)務(wù)建模

根據(jù)對(duì)系統(tǒng)業(yè)務(wù)、用戶活躍時(shí)間、訪問(wèn)頻率、場(chǎng)景交互等各方面的分析,整理一個(gè)業(yè)務(wù)場(chǎng)景表,當(dāng)然其中最好對(duì)用戶操作場(chǎng)景、步驟進(jìn)行詳細(xì)的描述,為測(cè)試腳本開(kāi)發(fā)提供依據(jù)。

3、確定性能目標(biāo)

前面已經(jīng)確定了本次性能測(cè)試的應(yīng)用領(lǐng)域,接下來(lái)就是針對(duì)具體的領(lǐng)域關(guān)注點(diǎn),確定性能目標(biāo)(指標(biāo));

比如:

①登錄請(qǐng)求到登錄成功的頁(yè)面響應(yīng)時(shí)間不能超過(guò)2秒;

②報(bào)表審核提交的頁(yè)面響應(yīng)時(shí)間不能超過(guò)5秒;

③文件的上傳、下載頁(yè)面響應(yīng)時(shí)間不超過(guò)8秒;

4、性能測(cè)試腳本的編寫(xiě)

性能測(cè)試工具:loadrunner、jmeter

這里使用jmeter,因?yàn)閘oadrunner安裝包太大不夠輕便。

jmeter性能測(cè)試,就是通過(guò)接口對(duì)服務(wù)器進(jìn)行高并發(fā)訪問(wèn)的,所以腳本的編寫(xiě)的就和接口測(cè)試的時(shí)候差不多,輸入url,參數(shù)等,



四、軟件測(cè)試自動(dòng)化測(cè)試

1、ui自動(dòng)化測(cè)試

a、web端ui自動(dòng)化測(cè)試、一般是使用python+selenium,定位頁(yè)面元素然后通過(guò)瀏覽器驅(qū)動(dòng),模擬人進(jìn)行頁(yè)面操作,實(shí)現(xiàn)web端ui自動(dòng)化測(cè)試

b、移動(dòng)端ui自動(dòng)化測(cè)試、一般是使用python+appium,通過(guò)調(diào)用Android的jdk,獲取app頁(yè)面元素,模擬人進(jìn)行app操作,實(shí)現(xiàn)移動(dòng)端ui自動(dòng)化測(cè)試

2、接口自動(dòng)化測(cè)試

接口自動(dòng)化測(cè)試一般使用的是python+requests,或者h(yuǎn)ttpx。這里博主使用的requests,因?yàn)楸容^簡(jiǎn)單。簡(jiǎn)單的例子,如圖:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 久違的晴天,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開(kāi)好到教室時(shí),離放學(xué)已經(jīng)沒(méi)多少時(shí)間了。班主任說(shuō)已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,822評(píng)論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開(kāi)了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    余生動(dòng)聽(tīng)閱讀 10,857評(píng)論 0 11
  • 可愛(ài)進(jìn)取,孤獨(dú)成精。努力飛翔,天堂翱翔。戰(zhàn)爭(zhēng)美好,孤獨(dú)進(jìn)取。膽大飛翔,成就輝煌。努力進(jìn)取,遙望,和諧家園??蓯?ài)游走...
    趙原野閱讀 3,508評(píng)論 1 1
  • 在妖界我有個(gè)名頭叫胡百曉,無(wú)論是何事,只要找到胡百曉即可有解決的辦法。因?yàn)槭侵缓偞蠹乙杂瀭饔灲形摇皟A城百曉”,...
    貓九0110閱讀 3,715評(píng)論 7 3

友情鏈接更多精彩內(nèi)容