軟體測試之python篇的簡單介紹

本文目錄一覽:

剛面完的位元組跳動Python軟體測試用例編寫(含思路)

軟體測試編寫是軟體測試的基本技能;也有很多人認為測試用例是軟體測試的核心;軟體測試中最重要的是設計和生成有效的測試用例;測試用例是測試工作的指導,是軟體測試的必須遵守的準則。

在這裡我們不討論以上的各種觀點,但是綜上所述,大家可以看出,測試用例編寫這項軟技能非常重要且是測試人的必備技能,相信很多人沒有質疑。

下面我們介紹下測試用例編寫。

我們將用例編寫分為黑盒用例編寫和白盒用例編寫兩大類。

黑盒測試用例(優先)+白盒測試用例(補充)=完整測試用例

總體編寫策略:

對於測試用例編寫來說,常用的四種方法基本就夠用了,等價類、邊界值、正交實驗法、錯誤推斷法,輔以場景測試法、需求/設計轉換法、探索式測試思想,可以應付絕大多數產品的測試。個別的產品還需要在某一點細化和擴充,需要就事論事。

使用各種編寫方法的綜合設計策略;

1)在任何情況下都必須使用邊界值分析方法,經驗表明用這種方法設計出測試用例發現程序錯誤的能力最強。

2)必要時用等價類劃分方法補充一些測試用例,尤其注意無效等價類情況。

3)如果程序的功能說明中含有輸入條件的組合情況,則一開始就可選用因果圖法(或判定表法、正交試驗法)。

4)用錯誤推測法再追加一些測試用例,主要是利用測試經驗。

5)對照程序邏輯,檢查已設計出的測試用例的邏輯覆蓋程度,如果沒有達到要求的覆蓋標準,應當再補充足夠的測試用例;參照白盒用例編寫。

6)對程序的應用場景進行研究和思考,增加不同場景下的測試用例;用戶場景測試必須重視,很大一部分程序錯誤就是因為測試場景與用戶真實場景的差異性帶來的。

7)對業務和程序有更深的理解之後,可以充分發揮發散思維和探索式想法;大家不要誤解探索式測試就是漫無目的的測試,其實探索式測試有非常詳細的測試指導思路。

常見的方法如下:

(1)等價類

(2)邊界值

(3)因果圖

(4)判定表驅動法

(5)正交實驗法

(6)功能圖法

(7)場景實驗法

(8)錯誤推斷法

(9)需求轉化

(10)設計文檔

(11)探索式測試

等價類:選取少數有代表性的數據,這一類數據等價於這一類的其它值;找出最小的子集,可以發現最多的錯誤;

兩大特性:必須設計的用例;涵蓋了大部分情況;

兩類情況:有效等價類;無效等價類;

轉化為測試用例

1、按照輸入條件、有效等價類、無效等價類建立等價類列表,列出所有的等價類;

2、為每一個等價類固定一個編號;

3、設計一個測試用例,使其覆蓋一個或多個有效的等價類;

4、設計一個或更多的測試用例以覆蓋剩餘的有效等價類;

使用場景:輸入條件(取值範圍/值個數;必須值集合;布爾值;一組處理值;必須遵守的規則;再細分更小等價類;)

等價類舉例:

以三角形測試為例:輸入3個整數做為三角形的三個邊,通過程序判定三角形的類型。

邊界值:所謂邊界條件,是指輸入和輸出等價類中那些恰好處於邊界、超過邊界、或在邊界以下的狀態 ;

兩個特徵:選擇一個或多個元素,以便等價類的每一個邊界都經過了測試;與僅僅關注輸入條件不同,還需要考慮結果空間(輸出等價類)設計測試用例;

邊界條件可能非常微妙,因此把他們確定下來煞費心思;

使用場景:輸入+輸出都需要考慮(值的範圍;值個數;有序集合;內部數據結構;分析規格說明;)

邊界值舉例:

以三角形測試為例:輸入3個整數做為三角形的三個邊,1a、b、c10,通過程序判定三角形的類型;

因果圖:輸入條件的組合進行分析。用一個系統的方法選擇出高效的測試用例集;

分析思路:

1、分析規格說明描述,確定原因和結果,並賦予標識符;

2、分析規格說明語義,找出原因與原因之間,原因與結果之間關係,畫出因果圖;

3、有些原因與原因之間,原因與結果之間組合不會出現,用記號表明約束或限制條件;

4、因果圖轉換為判定表;

5、判定表的每一列作為依據,設計測試用例;

使用場景:必須考慮輸入條件的各種組合(一種適合於描述多種條件的組合、相應產生多個動作的形式來進行設計);

4、黑盒-判定表

判定表:分析和表達多邏輯條件下執行不同操作的情況的工具 ;略過因果圖的繪製,直接列出所有組合進行篩選;

分析思路:判定表通常有四個部分組成:條件樁、動作樁、條件項、動作項;

判定表的建立步驟:(根據軟體規格說明)

確定規則個數;列出所有條件樁和動作樁;填入條件項;填入動作項,得到初始判定表;簡化合併相似規則;

使用場景:控制類和遊戲。優點是能把複雜的問題按各種可能的情況一一列舉出來,簡明而易於理解,也可避免遺漏。缺點是不能表達重複執行的動作,例如循環結構。

5、黑盒-正交試驗法

正交實驗法:利用因果圖來設計測試用例時, 輸入原因與輸出結果之間的因果關係,有時很難從軟體需求規格說明中得到;往往因果關係非常龐大,以至於測試用例數目巨大,為了有效地、合理地減少測試的工時與費用,可利用正交實驗設計方法進行測試用例的設計。

分析思路:

(1)提取功能說明,構造因子–狀態表 ;

(2)加權篩選,生成因素分析表 ;

(3)利用正交表構造測試數據集 ;

使用場景:必須考慮輸入條件的各種組合(從大量的數據中挑取適量、有代表性的點,合理有效的測試);

6、黑盒-場景實驗法

場景實驗法:軟體幾乎都是由事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果形成事件流;生動的描繪出事件觸發時的情景,有利於設計用例,同時測試用例也更容易的得到理解和執行。

分析思路:

每條路徑都反映了基本流和備選流;基本流是最簡單的路徑;備選流自基本流開始,會有特定條件下加入並執行,可能有多種情況;

使用場景(0代表基本流):0;0+1;0+1+2;0+3;0+3+1;0+3+1+2;0+4;0+3+4;…

7、錯誤推斷法

錯誤推斷法:基於經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法;更多的與用戶的使用習慣及測試程序中的常見問題為主。

分析思路:

(1)列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據這些情況選擇測試用例;

(2)注意積累與分享;

使用場景:任何測試、任何情景下都會用到的方法。

有常用的測試用例集,可以參照。

舉例:數字輸入驗證,分別輸入數字(正數、負數、零值、單精度、雙精度)、字元串、空白值、空值、臨界數值;不合法的輸入,系統給出必要的判斷提示信息;

8、黑盒-需求轉換法

需求轉換法:根據需求,執行需求分析,並編寫測試用例。

分析思路:

(1)將需求轉換為思維導圖;

(2)仔細推敲每一個字的含義;

(3)與用戶的使用場景和目的結合;

(4)嚴格設計每一個用例;

(5)可以建立一種模型,進行需求轉換;

使用場景:任何測試、任何情景下都會用到的方法。

注意:需求的變更帶來的影響;需求理解偏差帶來的影響;需求含糊不清帶來的影響等;

9、黑盒-設計文檔

設計文檔:參照設計文檔,可以理解軟體系統內部設計流程及處理機制,對比寫好的測試用例,可以在對應功能及模塊處新增;

分析思路:

(1)仔細閱讀設計文檔;

(2)與相關人員溝通實現機制;

(3)結合測試用例編寫方法,對比之前寫好的用例;

使用場景:任何測試、任何情景下都會用到的方法。

注意:設計文檔的編寫正確性;設計文檔的理解偏差;

10、黑盒-探索式測試法

探索式測試法:無限創意的測試點,永無止境的探索測試;我們要在測試的最前沿發揮洞察力、技術及應變措施,找出產品的缺陷;

分析思路:

局部探索式測試;全局探索式測試;混合探索式測試;

使用場景:任何測試、任何情景下都會用到的方法。像漫遊一樣,自由地尋找軟體中的缺陷,軟體測試的未來必然有探索式測試。

基本思路:

第一步需要繪製流程圖;

第二步根據路徑分析法確定測試用例;

第三步使用等價類/邊界值的方法確定測試用例的數據

第四步根據實際情況補充(如默認流程、特殊流程等)

基本策略:

1、語句覆蓋準則基本上沒啥用,比較強的邏輯覆蓋準則是判定覆蓋或者條件覆蓋;通常判定覆蓋可以滿足語句覆蓋;語句覆蓋判定覆蓋條件覆蓋;

2、循環覆蓋來說,完全的路徑測試並不符合實際;

若你想深入學習軟體測試,但是卻苦於沒有資源,現在就給大家奉上一份13G的超實用乾貨測試學習資源,涉及的內容非常全面。 需要點擊鏈接免費領取喔

包括測試軟體學習路線圖,50多天的測試上課視頻、16個突擊實戰測試項目,80餘個軟體測試用軟體,37份測試文檔,70個軟體測試相關問題,40篇測試經驗級文章,上千份測試真題分享,還有2022年軟體測試面試寶典,還有軟體測試求職的各類精選簡歷,希望對大家有所幫助……

python自動化教程Jmeter性能測試

python自動化教程Jmeter性能測試25套高級軟體測試,性能測試,功能測試,自動化測試,介面測試,移動端測試,手機測試,WEB測試,滲透測試,測試用例設計,黑盒測試,白盒測試,UFT高級測試,Android測試,Selenium3自動化測試,Python3 測試,Java介面測試項目實戰視頻教程

軟體測試技術包含:性能測試,功能測試,自動化測試,介面測試,移動端測試,手機測試,WEB測試,滲透測試,測試用例設計,黑盒測試,白盒測試,UFT高級測試,項目實戰,Android測試,Selenium3自動化測試,Python3 測試,Java介面測試,LoadRunner性能測試,Appiumapp自動化測試,UIAutomator,Appium,Unittest測試框架,Kali Linux Web滲透測試,Git+Jenkins持續集成,LR+Jmeter性能測試,分散式性能測試高級視頻教程。。。

Dodwnload:

總目錄:25套高級軟體測試,性能測試,功能測試,自動化測試,介面測試,移動端測試,手機測試,WEB測試,滲透測試,測試用例設計,黑盒測試,白盒測試,目實戰視頻教程

第一套:【基礎精通】軟體測試特訓營基礎到就業班,系統測試,WEB測試,UFT與Selenium自動化測試,LR性能測試視頻教程

第二套:【項目實戰】軟體測試系列之Java Selenium3自動化測試項目實戰視頻教程

第三套:【微服務課】Spring Cloud微服務最新技術入門到精通視頻教程

第四套:【系統學習】Android移動端自動化測試從入門到實戰(Java篇)UIAutomator,Robotium,Appium實戰進階視頻教程

第五套:【系統學習】Android移動端專項測試與自動化測試(Python篇)UIAutomator,Appium,Unittest框架視頻教程

第六套:【性能測試】JMeter深入進階性能測試體系,介面性能測試,各領域企業實戰視頻教程

第七套:【項目實戰】JMeter全程實戰、性能測試實戰、分散式性能測試、真實案例分析、基礎到精通視頻教程

第八套:【性能測試】LoadRunner性能測試基礎到精通全程實戰視頻教程

第九套:【滲透測試】Kali Linux Web滲透測試視頻教程

第十套:【系統學習】Appiumapp自動化測試基礎到精通視頻教程

第十一套:【項目實戰】python selenium自動化測試項目實戰視頻教程(3套)

第十二套:【系統學習】快速上手JMeter性能測試工具視頻教程

第十三套:【系統學習】LoadRunner軟體性能測試,介面性能測試視頻教程

第十四套:【項目實戰】Selenium3.0深度解析自動化測試框架設計與實戰與平台設計高級測試開發實戰視頻教程

第十五套:【系統學習】Web自動化測試,Selenium基礎到企業應用,用例設計,持續集成視頻教程

第十六套:【項目實戰】最全面的Java介面自動化測試實戰視頻教程

第十七套:【項目實戰】Python介面自動化從設計到開發,測試框架實戰與自動化進階視頻教程

第十八套:【系統學習】達內軟體測試零基礎到就業視頻教程

第十九套:【測試就業】軟體測試就業指導視頻教程

第二十套:【安卓測試】Android安卓自動化新手進階測試培訓手機app軟體開發課

第二十一套:【系統學習】軟體測試特訓營,自動化測試與UFT應用視頻教程

第二十二套:【高新面試】Python高新面試教程移動自動化測試面試面試分析+知識理論+面試技巧視頻教程

第二十三套:【高級測試】最新Web自動化測試框架Selenium3.0+Python3,搭建通用的Web自動化測試框架實戰視頻教程

第二十四套:【高級測試】高級軟體測試工程師精英培訓班,軟體測試工程師(Web自動化+APP自動化+介面自動化+面試)視頻教程

第二十五套:【系統學習】軟體測試web自動化測試selenium+移動端項目測試appium+介面測試Jmeter+性能測試LoadRunner視頻教程

python自動化教程Jmeter性能測試python自動化教程Jmeter性能測試python自動化教程Jmeter性能測試python自動化教程Jmeter性能測試python自動化教程Jmeter性能測試python自動化教程Jmeter性能測試python自動化教程Jmeter性能測試python自動化教程Jmeter性能測試python自動化教程Jmeter性能測試

測試工程師學Python有什麼用?

軟體測試人員能用python做的事情很多,最常見的就是下面四項:1)做自動化測試【web自動化,app自動化,介面自動化】;2)做性能測試;3)開發小工具;4)搭建測試平台。

軟體測試工程師是被遺忘的技術人。主要是因為軟體測試入門門檻比較低,一大批人加入到軟體測試行業大軍中。但大部分都是一直在做點點點的功能測試,可替代性很強。行業高速發展,單純功能測試已無法滿足企業需求。如果你想增強自身競爭力,就需要有豐富的自動化項目經驗,可以根據公司項目靈活的打造一套自動化測試框架。這,都需要從熟練掌握Python編程開始。其實,不管你從事的是什麼工作,數據都會是其中的一部分。IT,軟體開發,市場等,它們都深度地關乎數據且對於智慧求之若渴。很快數據分析技能就會像編碼技能一樣的重要,掌握Python編程對你的工作有著極大的提升。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,是一家性價比極高的教育機構

Python自動化測試框架有哪些?

第一種:Robot Framework

作為最重要的python測試框架之一,Robot Framework主要被用在測試驅動類型的開發與驗收中。雖然由python開發而來,但是它也可以在基於.net的Ironpython和基於Java的Jython上運行。同時,作為一個python框架,Robot還能夠兼容諸如Windows、MacOS、Linux等平台。

在使用Robot Framework之前,需要先安裝python2.7.14及以上版本,在這裡推薦大家使用python3.6.4,以確保適當的註解能夠被添加到代碼段中,並能夠跟蹤程序的更改,同時,您還需要安裝python包管理器–pip。

第二種:Pytest

適用於多種軟體測試的Pytest,是另一個python類型的自動化測試框架。憑藉著開源和易學的特點,該工具經常被QA團體、開發團體、個人團體以及各種開源項目所使用。鑒於Pytest具有斷言重寫之類的實用功能,許多大型互聯網應用,如Dropbox、Mozilla,都已經從下面將要提到的unittest切換到了Pytest之上。

除了基本的python知識,用戶並不需要更多的技術儲備。另外,用戶只需要有一台帶有命令行界面的測試設備,並且安裝好了python包管理器以及可用於開發的IDE工具。

第三種:UnitTest/PyUnit

受到Junit啟發的UnitTest/PyUnit,也是一種標準化的針對單元測試的python類自動化測試框架。它的基類TestCase提供了各種斷言方法、以及所有清理和設置的常式。因此,TestCase子類中的每一種方法都是以test作為名詞點綴,以標識它們能夠被作為測試用例所運行。用戶可以使用load方法和TestSuite類來分組、並載入各種測試。當然,也可以通過聯合使用,來構建自定義的測試運行器。正如我們使用Junit去測試Selenium那樣,UnitTest也會用到unittest-sml-reporting,並能生成各種XML類型的報告。

第四種:Behave

行為驅動開發是一種基於敏捷軟體開發的方法。它能夠鼓勵開發人員、業務參與者和QA人員,三者之間的協作。python測試框架Behave允許團隊避開各種複雜的情況,去執行BDD測試。從本質上說該框架與SpecFlow和Cucumber相似,常被用於執行自動化測試。用戶可以通過簡單易讀的語言來編寫測試用例,並能夠在其執行期間粘貼到代碼之中。而且,那些被設定的行為規範與步驟,也可以被重用到其他的測試方案中。

第五種:Lettuce

Lettuce是另一種基於Cucumber和python的行為驅動類自動化工具。Lettuce主要專註於那些具有行為驅動開發特性的普通任務。它不但簡單易用,而且能夠使得整個測試過程更流暢、甚至更有趣。

您需要安裝帶有IDE的python2.7.14及以上版本。當然,您也可以使用pycharm或任何其他IDE工具。同時,您還需要安裝python包管理器。

Python做軟體自動化測試的入門提問

用python做自動化測試,主要是介面測試和UI自動化測試。一、介面測試:http協議的舉例:可以用python自帶的urllib\urllib2模擬,模擬前端向伺服器發送數據,獲取返回值後,進行校驗和判斷來進行介面測試。網上的例子也比較多,這裡簡單說一下,比如request中data的邊界值測試、字元測試、非空為空測試等等,都可以做二、UI自動化測試:html頁面(python+selenium)或者一些安卓app(python+appiun)可以用。主要是頁面元素的檢查、輸入等。比如可以寫一個腳本,自動登錄百度頁面,搜索某一個關鍵字,並且獲得此關鍵字的百度搜索數量。

北大青鳥設計培訓:python編程開發環境下的軟體測試技術?

軟體測試相信大家應該都不陌生了吧,今天我們就一起來了解一下,在python編程開發環境下的軟體測試都有哪些知識點。

格式化輸出我們有兩種大相徑庭地輸出值方法:表達式語句*和print()函數(三種方法使用文件對象的write()方法,標準文件輸出可以參考sys.stdout)。

通常需要對輸出做更多的格式控制,而不是簡單的列印空格分隔值。

有兩種方法可以格式化你的輸出:一種方法是由你自己處理整個字元串,通過使用字元串切片和連接操作可以創建任何你想要的輸出形式。

string類型包含一些將字元串填充到指定列寬度的有用操作。

二種方法是使用str.format()方法。

標準模塊string的Template類可以替換字元串的值。

(python標準模塊介紹-string:文本常量和模板)Python有辦法將任意值轉為字元串:repr()或str()函數。

函數str()用於將值轉化為適於人閱讀的形式,而repr()轉化為供解釋器讀取的形式(如果沒有相關語法,則會發生SyntaxError異常,沒有str()會返回與repr()等同的值。

很多類型,諸如數值或列表、字典這樣的結構,兩者解讀方式相同。

字元串和浮點數則不同。

文件讀寫通常,文件以text模式打開,這意味著,你從文件讀出和向文件寫入的字元串會被特定的編碼方式(類Linux默認是UTF-8,windows經常為gbk,容易導致一些IO問題)編碼。

模式後面的’b’以二進位模式打開文件:數據會以位元組對象的形式讀出和寫入。

IT培訓發現這種模式應該用於所有不包含文本的文件。

在文本模式下,讀取時默認會將平台有關的行結束符(Unix上是\n,Windows上是\r\n)轉換為\n。

在文本模式下寫入時,默認會將出現的\n轉換成平台有關的行結束符。

這種暗地裡的修改對ASCII文本文件沒有問題,但會損壞JPEG或EXE這樣的二進位文件中的數據。

使用二進位模式讀寫此類文件時要特別小心。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/229230.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 12:10
下一篇 2024-12-10 12:23

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論