A. 應聘軟體測試,一般會有什麼筆試的題目
一般筆試重點測試考生的政策理論水平、分析解決實際問題的能力和文字表達能力等綜合素質。題型主要包括論述題、案例分析題、公文處理、對策性文章等形式。歸納起來就是讀材料,看材料中反映了什麼問題,然後提出解決問題的辦法。考試時間一般是2.5-3小時,3-4道題。案例分析題可能會有兩問,公文寫作每年公文種類不定,有時是通知,有時是調研報告,有時又是會議紀要,有時會是公文改錯題等等,大作文一般是對策性論文,就是寫怎麼辦的文章。分值分布一般是案例分析30-40分(2道題左右),公文寫作(1道題)20-30分,對策性論文(1道題)40分。
具體的範文模板
鏈接:https://pan..com/s/1ElLaFPNS_Ax5WnumUrjv6A
B. 軟體測試面試題:WEB+網路|介面測試|性能測試|自動化測試
1. http代碼表,常考題目
404:找不到資源
500:伺服器內部錯誤,無法完成請求。
501:伺服器不支持請求的功能,無法完成請求。
502:充當網關或代理的伺服器,從遠端伺服器接收到了一個無效的請求。
301:永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI,今後任何新的請求都應使用新的URI代替。
302:臨時移動。與301類似。但資源只是臨時被移動,客戶端應繼續使用原有URI。
200:成功。
2. TCP/IP四層網路模型
鏈路層、網路層、傳輸層、應用層。
3. TCP/UDP區別?
TCP: 可靠傳輸協議,需要三次握手連接,有確認重傳機制,特點是可靠、准確、有擁塞控制,缺點就是比較慢,傳輸量比較小,適用於升級、下載;一句話:TCP是可靠的傳輸。
UDP: 不可靠傳輸協議,面向非連接的協議,優點是傳輸量大、速度快,缺點是已丟失、沒有擁塞控制,適用於直播、視頻等。一句話:UDP是不可靠的傳輸。
4. html css js運行的先後順序是什麼?
界面載入的時候先載入html在載入css最後載入js
5. session和cookie的區別是什麼
1. session存放在伺服器端用來校驗客戶端的身份
2. cookie存放在客戶端,每次從客戶端往伺服器發請求時,將cookie帶到伺服器端,用來校驗客戶端的身份
1. 怎麼用JMeter測試介面?
如果使用JMeter進行介面測試:
1) 測試前了解需求,根據介面規格說明書梳理業務;
2) 接下來設計用例,分析介面的入參和出參,分清楚有哪些有效輸入和無效輸入,設計用例(原則:用最少的用例覆蓋所有有效輸入,針對每一個無效的輸入設計一個測試用例,如果有錯誤碼沒有覆蓋到,還要對每個未覆蓋的錯誤碼分別設計一個用例);
3) 准備測試數據,比如:測試所需的賬號、密碼、key 等信息;
4) 打開JMeter,創建一個線程組,根據介面類型,填寫好對應的介面地址和請求方式等;
5) 參數化配置,添加配置元件CSV Data Set Config,定義變數,並准備CSV格式的數據,變數的引用用${變數名}的格式;
6) 添加斷言來判斷測試結果的正確性,用得最多的是響應斷言;
7) 添加監聽器,比如查看結果樹,對測試結果進行監聽;
8) 運行測試用例;
9) 查看監聽器結果,來判斷用例的執行是成功還是失敗,針對失敗的用例,分析其失敗原因;
10) 針對測試中發現的問題,給開發提單,直到問題最終解決。
11) 最後輸出測試報告。
2. 怎麼用Postman測試介面?
如果使用Postman測試介面:
其中1,2,3點相同,工具使用方面則比JMeter跟簡單,工具的主要的步驟是添加對應的請求、填寫主機URL及入參、添加測試套、運行測試套、分析結果出報告。
3. 在JMeter上如何把上一個請求的結果作為下一個請求的參數?
使用正則表達式提取器提取上一個請求的響應中的信息,保存一個引用名稱比如abc,在下一個請求的參數中,用${abc}的格式來引用提取的結果。
常用的正則表達式格式:(.+?),其中.表示匹配任意字元串,+表示只匹配一次,?表示匹配到就停下來。
一般是我們功能測試完成最後兩三天時間測試性能。
1、先是分析需求計算出並發數,TPS,響應時間和 CPU,內存,硬碟和網路IO這些指標。
2、制定測試方案,主要包括環境,計劃和具體測試那些場景(如可靠性,並發,負載,壓力測試等)
3、根據場景用Badboy錄制腳本,導出為JMeter工具支持的腳本。
4、用JMeter工具打開腳本,進行腳本調試,加一些斷言,監聽器,參數化等。
5、接下來執行性能測試,然後主要收集監聽器和收集伺服器CPU,內存,硬碟和網路IO等分析是否滿足需求,如果滿足就輸出性能測試報告。
6、如果指標不能滿足,反饋給開發進行調優。調優後繼續測試,一直到滿足需求後最終輸出測試報告。
1. python怎麼定義一個函數?
你可以定義一個由自己想要功能的函數,以下是簡單的規則:
1) 函數代碼塊以def關鍵詞開頭,後接函數標識符名稱和圓括弧()。
2) 任何傳入參數和自變數必須放在圓括弧中間。圓括弧之間可以用於定義參數。
3) 函數的第一行語句可以選擇性地使用文檔字元串—用於存放函數說明。
4) 函數內容以冒號起始,並且縮進
5) return[表達式]結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回None
2 Python切片
3. Python上用過什麼庫/模塊?
webdriver:定位和操作元素
time:設置等待時間
ActionChains:動作鏈,完成滑鼠的相關操作
Keys:鍵盤的相關操作
WebDriverWait:設置顯式等待
Expect_Conditions:針對單個元素,設置顯式等待的場景
PIL:截圖
Select:下拉選擇框的操作
unittest python:自帶的單元測試框架
HTMLTestRunner:運行腳本,生成報告
ddt:實現數據驅動測試,行為和數據分離
4. 你做過自動化測試嗎?
我在上一份工作中,公司去年下半年也開始規劃做Web 自動化,採用Python作為開發語言,通過Selenium WebDriver定位和操作頁面元素,自動化框架用的是unittest。我主要負責寫測試腳本。
假設一個測試團隊有5個人:1資深(測試經理)+2~3個中級(自動化+手動)+1 個初級(手動)
5. 使用什麼工具進行的自動化測試
使用的工具是Selenium(Web自動化工具)
6. 用的什麼編程語言
用的Python
7. Selenium 用的是哪個版本的的?Python用的是哪個版本的?
用的是selenium 3.11.0和Python2.7.10
8. Selenium的工作原理?
1)對html元素定位
2)模擬對第一步定位到的元素進行點擊、輸入、選擇等操作一句話:定位元素,操作元素。
9. 元素定位方法有哪些?
要點:8種定位方法
1) 根據元素的屬性值定位,比如 id、name、class、標簽名、鏈接文字和部分鏈接文字;
2) 根據CSS選擇器定位;
3) 根據 XPath 定位;
10. 子頁面里的元素怎麼定位?
先切換到框架里,然後再定位,用switch_to_frame函數根據子頁面id或name,切換到子頁面;定位完了如果要再定位主頁面的元素,要用switch_to_default_content 函數先返回主頁面。
11. 怎麼定位alert彈窗?或者這樣問:怎麼處理JS原生窗口?
要點:主要涉及點擊彈窗確認按鈕、強行關閉彈窗、獲取彈窗中的文字等操作。
1) 點擊彈窗的確定按鈕,用如下函數:
driver.switch_to_alert().accept()
2) 強行關閉,點擊右上角的叉叉,用如下函數:
driver.switch_to_alert().dismiss()
3) 獲取彈窗里的文字,用如下函數:
driver.switch_to_alert().text
12. 怎麼運行自動化用例並生成測試報告?
以unittest為例,我通常的做法是把用例載入到測試套中,做成一個腳本,在命令窗口下運行腳本,報告的生成用第三方模塊HTML TestRunner來生成。
13. 怎麼定位/操作圖片中的驗證碼?
用tesseract OCR引擎處理圖片中的驗證碼,步驟:
(1)對整個屏幕截屏,保存成png格式的圖片;
(2)在截取的圖片中定位驗證碼圖片的位置坐標;
(3)根據坐標對驗證碼截圖;
(4)在圖片中提取驗證碼,輸入到輸入框。
C. 軟體測試面試題
linux的話一般面試官都會直接問題你熟悉的常用命令有哪些,你自己說一部分,面試官還問的話一般也是問一些查埠號啊,進程啊,或者是查看磁碟空間或者是C PU、內存的命令。然後還可能問你會不會SHELL腳本編寫。oracle的話基本的增刪改查肯定是要會的,一般資料庫方面的知識在做筆試題的時候就會有。考的最多的應該還是查詢,多表聯查、或者根據什麼信息查詢內容。如果要學基本語法的話,這個網站很不錯。http://www.w3school.com.cn/sql/index.asp
D. 求軟體測試面試問題
測試技術面試題
1、什麼是兼容性測試?兼容性測試側重哪些方面?
參考答案:
兼容測試主要是檢查軟體在不同的硬體平台、軟體平台上是否可以正常的運行,即是通常說的軟體的可移植性。
兼容的類型,如果細分的話,有平台的兼容,網路兼容,資料庫兼容,以及數據格式的兼容。
兼容測試的重點是,對兼容環境的分析。通常,是在運行軟體的環境不是很確定的情況下,才需要做兼容。根據軟體運行的需要,或者根據需求文檔,一般都能夠得出用戶會在什麼環境下使用該軟體,把這些環境整理成表單,就得出做兼容測試的兼容環境了。
兼容和配置測試的區別在於,做配置測試通常不是Clean OS下做測試,而兼容測試多是在Clean OS的環境下做的。
2、我現在有個程序,發現在Windows上運行得很慢,怎麼判別是程序存在問題還是軟硬體系統存在問題?
參考答案:
1、檢查系統是否有中毒的特徵;
2、檢查軟體/硬體的配置是否符合軟體的推薦標准;
3、確認當前的系統是否是獨立,即沒有對外提供什麼消耗CPU資源的服務;
4、如果是C/S或者B/S結構的軟體,需要檢查是不是因為與伺服器的連接有問題,或者訪問有問題造成的;
5、在系統沒有任何負載的情況下,查看性能監視器,確認應用程序對CPU/內存的訪問情況。
3、測試的策略有哪些?
參考答案:
黑盒/白盒,靜態/動態,手工/自動,冒煙測試,回歸測試,公測(Beta測試的策略)
4、正交表測試用例設計方法的特點是什麼?
參考答案:
用最少的實驗覆蓋最多的操作,測試用例設計很少,效率高,但是很復雜;
對於基本的驗證功能,以及二次集成引起的缺陷,一般都能找出來;但是更深的缺陷,更復雜的缺陷,還是無能為力的;
具體的環境下,正交表一般都很難做的。大多數,只在系統測試的時候使用此方法。
5、描述使用bugzilla缺陷管理工具對軟體缺陷(BUG)跟蹤的管理的流程?
參考答案:
就是Bugzilla的狀態轉換圖。
6、你覺得bugzilla在使用的過程中,有什麼問題?
參考答案:
界面不穩定;
根據需要配置它的不同的部分,過程很煩瑣。
流程式控制制上,安全性不好界定,很容易對他人的Bug進行誤操作;
沒有綜合的評分指標,不好確認修復的優先順序別。
7、描述測試用例設計的完整過程?
參考答案:
需求分析 + 需求變更的維護工作;
根據需求 得出測試需求;
設計測試方案,評審測試方案;
方案評審通過後,設計測試用例,再對測試用例進行評審;
8、單元測試的策略有哪些?
參考答案:
邏輯覆蓋、循環覆蓋、同行評審、桌前檢查、代碼走查、代碼評審、景泰數據流分析
9、LoadRunner分哪三部分?
參考答案:
用戶動作設計;
場景設計;
測試數據分析;
10、LoadRunner進行測試的流程?
參考答案:
1、 測試測試
2、 創建虛擬用戶腳本
3、 創建運行場景
4、 運行測試腳本
5、 監視場景
6、 分析測試的結果
以上,最好是結合一個案例,根據以上流程來介紹。
什麼是並發?在lordrunner中,如何進行並發的測試?集合點失敗了會怎麼樣?
參考答案:
在同一時間點,支持多個不同的操作。
LoadRunner中提供IP偽裝,集合點,配合虛擬用戶的設計,以及在多台電腦上設置,可以比較好的模擬真實的並發。
集合點,即是多個用戶在某個時刻,某個特定的環境下同時進行虛擬用戶的操作的。集合點失敗,則集合點的才操作就會取消,測試就不能進行。
12、使用QTP做功能測試,錄制腳本的時候,要驗證多個用戶的登錄情況/查詢情況,如何操作?
參考答案:
分析用戶登錄的基本情況,得出一組數據,通過性測試/失敗性測試的都有(根據TC來設計這些數據),然後錄制登錄的腳本,將關鍵的數據參數化,修改腳本,對代碼進行加強,調試腳本。
13、QTP中的Action有什麼作用?有幾種?
參考答案:
Action的作用
用Action可以對步驟集進行分組
步驟重組,然後被整體調用
擁有自己的sheet
組合有相同需求的步驟,整體操作
具有獨立的對象倉庫
Action的種類
可復用Action
不可復用Action
外部Action
14、TestDirector有些什麼功能,如何對軟體測試過程進行管理?
參考答案:
需求管理
定義測試范圍
定義需求樹
描述需求樹的功能點
測試計劃
定義測試目標和測試策略。
分解應用程序,建立測試計劃樹。
確定每個功能點的測試方法。
將每個功能點連接到需求上,使測試計劃覆蓋全部的測試需求。
描述手工測試的測試步驟
指明需要進行自動測試的功能點
測試執行
定義測試集合。
為每個測試人員制定測試任務和測試日程安排。
運行自動測試。
缺陷跟蹤
記錄缺陷
查看新增缺陷,並確定哪些是需要修正的
相關技術人員修改缺陷
回歸測試
分析缺陷統計圖表,分析應用程序的開發質量
E. 軟體測試面試題
第一題:我認為需要在測試前需要先寫好測試計劃,其中最重要的是本次測試使用的測試方法、使用的測試工具、測試環境。人員方面需要進行人員及進度的安排,每個測試階段後的輸出工件,還要有風險評估。在測試前將這些准備工作做到位,這樣在測試的時候就會比較有條理。
第二題:控制測試質量,我認為最好是做好測試用例的設計,這樣可以對測試的覆蓋率進行控制。
補充:如果時間充裕的話可以在設計用例後對其進行評審,這樣可以提高測試質量。不過這個在實際的工作當中一般實現不了。。。。
下面列出的是網上的一個軟測筆試題,好多單位在筆試的時候都會下來作為筆試題,我至少遇到兩次了,其他的筆試題還有,但不一一列出了。
一、判斷題(每題1分,12 分,正確的√,錯誤的╳)
1.軟體測試的目的是盡可能多的找出軟體的缺陷。()
2.Beta 測試是驗收測試的一種。()
3.驗收測試是由最終用戶來實施的。()
4.項目立項前測試人員不需要提交任何工件。()
5.單元測試能發現約80%的軟體缺陷。()
6.代碼評審是檢查源代碼是否達到模塊設計的要求。()
7.自底向上集成需要測試員編寫驅動程序。()
8.負載測試是驗證要檢驗的系統的能力最高能達到什麼程度。()
9.測試人員要堅持原則,缺陷未修復完堅決不予通過。()
10.代碼評審員一般由測試員擔任。() 1
11.我們可以人為的使得軟體不存在配置問題。()
12.集成測試計劃在需求分析階段末提交。()
二、不定項選擇題(每題2 分,10分)
1.軟體驗收測試的合格通過准則是:()
A. 軟體需求分析說明書中定義的所有功能已全部實現,性能指標全部達到要求。
B. 所有測試項沒有殘餘一級、二級和三級錯誤。
C. 立項審批表、需求分析文檔、設計文檔和編碼實現一致。
D. 驗收測試工件齊全。
2.軟體測試計劃評審會需要哪些人員參加?()
A.項目經理
B.SQA 負責人
C.配置負責人
D.測試組
3.下列關於alpha 測試的描述中正確的是:()
A.alpha 測試需要用戶代表參加
B.alpha 測試不需要用戶代表參加
C.alpha 測試是系統測試的一種
D.alpha 測試是驗收測試的一種
4.測試設計員的職責有:()
A.制定測試計劃
B.設計測試用例
C.設計測試過程、腳本
D.評估測試活動
5.軟體實施活動的進入准則是:()
A.需求工件已經被基線化
B.詳細設計工件已經被基線化
C.構架工件已經被基線化
D.項目階段成果已經被基線化
三、填空題(每空1分,24 分)
1.軟體驗收測試包括(正式驗收測試)、(非正式驗收測試和Alpha測試)、(Beta測試)三種類型。
2.系統測試的策略有功能測試、(性能測試)、(負載測試)、(壓力測試)、易用性測試、(容量測試)、(強度測試)、 (兼容性測試又稱)、(本地化測試)、(BVT測試)、(裸機測試)、(安全性測試)、()、(容錯性測試)、(恢復測試)、()等15 種方法。
3.設計系統測試計劃需要參考的項目文檔有(需求規格說明書)、()和迭代計劃。
4.對面向過程的系統採用的集成策略有()、()兩種。
5.通過畫因果圖來寫測試用例的步驟為、、、及把因果圖轉 換為狀態圖共五個步驟。
四、簡答題(共37分)
1. 階段評審與同行評審的區別。(4 分)
2 . 什麼是軟體測試。(3 分)
答:通過人工或自動化手段對系統進行測試,目的是為了驗證系統是否滿足預定功能或者是為了弄清楚實際結果與預期結果之間的差別。
3 . 簡述集成測試的過程。(5 分)
答:將通過單元測試的單元模塊按照設計要求組合起來再進行測試。重點檢查程序介面處是否有問題。
過程:首先進行集成測試的測試計劃測試設計測試開發測試用例執行測試評估,並且進行全程的缺陷跟蹤。
4 . 怎樣做好文檔測試?(4 分)
答:文檔測試要注意一下幾點:文檔的讀者群、文檔的術語、文檔的正確性、文檔的完整性、文檔的一致性、文檔的易用性、樣例與示例、文檔的語言
5. 白盒測試有那幾種方法?(6 分)
答:白盒測試方法分為:靜態測試和動態測試
靜態測試方法:①編碼標准與准則 ②走查 ③審查 ④評審
動態測試方法:①語句覆蓋 ②判定覆蓋 ③條件覆蓋 ④判定-條件覆蓋 ⑤條件組合覆蓋 ⑥路徑覆蓋
⑦條件組合+路徑覆蓋
6. 系統測試計劃是否需要同行評審,為什麼?(4 分)
答:系統測試計劃需要進行同行評審,因為如果對一個系統長時間進行測試可能會出現測試疲勞甚至出現
對系統的免疫現象,因此可以進行同行評審,減少對相同系統的疲勞測試。
7. Alpha 測試與beta 測試的區別。(4 分)
8 . 比較負載測試、容量測試和強度測試的區別。(6 分)
9 . 測試結束的標準是什麼?(3 分)
F. Python做軟體自動化測試的入門提問
同在軟體測試崗位。由於同樣初學python,所以沒有太多的實踐經驗。
使用python的單元測試框架,可以建立測試類,構造測試集。
測試類中包含了common的測試方法定義,包括測試開始前建立測試環境的setUp方法和測試完成後清理還原環境的tearDown方法,最好按照約定規則(以test開頭)來命名所有的測試方法。
測試集允許你根據測試策略組合不同的測試用例並實施。
下面兩篇文章推薦看看:
http://www.ibm.com/developerworks/cn/linux/l-pyunit/
http://www.cnblogs.com/coderzh/archive/2010/08/23/custom-python-unittestoutput-as-gtest.html
有一個問題我還沒找到答案,就是如何讓單元測試框架的log輸出到文件(默認輸出到控制台)。
G. 跪求Python大佬,題目如下
H. 剛面完的位元組跳動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個整數做為三角形的三個邊,1<a、b、c<10,通過程序判定三角形的類型;
因果圖:輸入條件的組合進行分析。用一個系統的方法選擇出高效的測試用例集;
分析思路:
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年軟體測試面試寶典,還有軟體測試求職的各類精選簡歷,希望對大家有所幫助……
I. 跪求Python大佬,題目如下