01、您所熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。
答:有黑盒和白盒兩種測試種類,黑盒有等價類劃分方法
邊界值分析方法
錯誤推測方法
因果圖方法
判定表驅動分析方法
正交實驗設計方法
功能圖分析方法
場景設計方法。
白盒有邏輯覆蓋法,
循環測試路徑選擇,
基本路徑測試。
例子:在一次輸入多個條件的完整性查詢中。利用等價類劃分法則和邊界分析法則,首先利用等價劃分法,可以一個或多個結果是OK的測試用例,然后確認多個NG的測試用例,然后利用邊界值分析法,可以對結果分別是OK和NG的測試用例進行擴展和補充。
02、您認為做好測試用例設計工作的關鍵是什么?
答:測試用例設計工作的關鍵是對可行的和不可行的都要考慮。
1,輸入 2,詳細的操作步驟 3,預期輸出 4,實際輸出。
03、您在從事性能測試工作時,是否使用過一些測試工具?如果有,請試述該工具的工作原理,并以一個具體的工作中的例子描述該工具是如何在實際工作中應用的。
答:有使用過LoadRunner,該工具能夠錄制測試人員的操作步驟,然后對這個操作步驟模擬出多個用戶來播放出來。
1、Visural User Genertor 創建腳本,選擇協議,錄制操作,編輯操作。
2、中央控制器(Controller)調度虛擬用戶,創建場景,選擇腳本,建立虛擬用戶,設計shedual,設置ip spoofer。
3、運行腳本。分析shedual。
4、分析測試結果。
04、您認為性能測試工作的目的是什么?做好性能測試工作的關鍵是什么?
答:性能測試工作的目的是檢查系統是否滿足在需求說明書中規定的性能,性能測試常常需要和強度測試結合起來,并常常要求同時進行軟件和硬件的檢測。
性能測試主要的關注對象是響應時間,吞吐量,占用內存大小(輔助存儲區),處理精度等。
05、在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內容?如何提交高質量的軟件缺陷(Bug)記錄?
答:檢測時間,系統環境,硬件環境,嚴重程度,程式版本,確認人,功能模板,問題描述,詳細操作步驟,是否會重現。
問題描述和詳細操作步驟要盡可能詳細。Bug應該盡量用書面語,對于嚴重程度比較高的缺陷要在相同環境下測試一遍。
在C\S模式下,如果條件滿足可以使用替換法來確認是client端的問題還是server端的問題。
06、你對測試最大的興趣在哪里?為什么?
答:最大的興趣就是具有挑戰性。
因為我并不知道哪里會出現bug,在找到一個bug后會很高興。并且測試需要很強的耐心和細心。我可以很容易的找到一些細節問題。
07、測試活動中,如果發現需要文檔不完善或者不準確,怎么處理?
答:要及時的與項目經理進行溝通協調。要在郵件中詳細的把不完善不準確的地方描述出來,并提出自己的意見。
08、你認為做好測試計劃工作的關鍵是什么?
答:首先,要有一個明確的目標,詳細的閱讀需求文檔說明。
其次,要對整個測試人員、測試時間、測試進度進行一個預估,并預先進行管理。
最后,要對整個測試流程設定一個規范,所有測試人員都按著規范做事,不能隨心所欲的測試。
09、軟件配置管理工作開展的情況和認識?
拿到一臺裸機過后要安裝客戶需要的操作系統,并且安裝一些所必須的軟件。
10、你覺得軟件測試通過的標準應該是什么樣的?
答:測試用例完全執行,測試用例覆蓋到所有的測試點,并且缺陷的密度達到客戶的需求。
11、軟件測試的文檔測試應當貫穿于軟件生命周期的全過程,其中用戶文檔是文檔測試的重點。那么軟件系統的用戶文檔包括哪些?
答:用戶安裝文檔、用戶配置文檔、用戶使用手冊、聯機指導等。
12、簡述軟件系統中用戶文檔的測試要點?
完整性:用戶文檔中功能的描述要完整的。不能讓用戶產生疑問。
一致性:用戶文檔中的功能描述要與實際軟件中的功能一致。不能描述過盛。
易使用性:用戶文檔描述的內容要方便用戶閱讀并且能夠讓用戶很清楚的知道如何操作。
圖表:有的時候用圖表描述會很明了。
13、什么是系統瓶頸?
系統瓶頸就是軟件在一定的并發量、訪問量下無法達到用戶的需求。
比如說用戶需要在10s內完成一個訪問,但是每一次都要12s才能完成,這個就是性能瓶頸,有可能是程序本身的問題,也有可能和操作系統、軟件相關。
14、沒有產品說明書和需求文檔地情況下能夠進行黑盒測試嗎?
可以。
這個情況下我們就要進行探索性測試,把軟件當成用戶需求,一步步進行測試。憑借經驗判斷功能正確與否,有的時候還可以與項目經理、開發人員一起進行交流溝通,從而進行更好的測試。
15、為什么盡量不要讓時間富裕的員工去做一些測試?
首先,專業的測試人員是有一定的技能和耐心對軟件一步一步進行測試。如果讓時間充裕的員工去測試的話,他可能心思并不在測試上面。會很隨意的、沒有目標的進行測試。這樣子的話測試并不完整,有的時候甚至很重要的bug都沒法找出。所以還是需要專業的測試人員來進行測試的。
16、完全測試程序是可能的嗎?
不可能
測試人員對程序進行測試,只能找出程序中的bug,但是并不能保證程序是沒有bug的。
完全的測試要花費很多的人力財力,并且測試的數據量過大,很浪費時間。測試的結果還很多,有的都是類似的,沒有必要進行相同的測試。所以完全測試是不可能的。
18、軟件測試的風險主要體現在哪里?
主要體現在沒法完全測試。有些問題可能隱藏在沒有測到的地方。這樣子就被忽略了。客戶使用的時候并不熟悉軟件是如何操作的。可能有的時候會誤點點出問題。這樣子的話我們就要承擔很大的風險了。
發現的缺陷越多,說明軟件缺陷越多嗎?
是的,通常如果發現一個缺陷的話,有的時候會發現很多類似的缺陷,因為由于開發人員的習慣,可能一個地方有錯誤,另外一個地方就會有相同的錯誤。
19、所有的軟件缺陷都能修復嗎?所有的軟件缺陷都要修復嗎?
從理論上來說所有的缺陷都是可以修復的,但是并不是所有的缺陷都要修復。
一些對于軟件沒有影響的、不影響使用的缺陷我們可以不用修復。因為修復些細小的缺陷也是需要花費很多時間。項目上面可能會因為時間問題而先忽略這些小缺陷。
20、開發人員老是犯一些低級錯誤怎么解決?
要在開發的前期就制定好一些編碼規范,這樣子可以減少很多因為個人習慣引起的錯誤。同時,測試人員在發現開發人員犯一些低級錯誤的時候不可以指責他們,要耐心的給他們指出錯誤所在。然后可以有開發人員自己進行測試,找出一些一眼看得出來是錯誤的地方。
21、您在以往的測試工作中都曾經具體從事過哪些工作?其中最擅長哪部分工作?
我一般都是做的Web測試,搭建測試環境,對于一個程序進行集成測試,系統測試,回歸測試等。還要編寫測試用例以及一些文檔,用戶使用手冊,功能測試文檔等等。最擅長的是功能測試。
22、開發人員說不是bug時,你如何應付?
首先把自己的理由告訴開發人員。在同開發人員溝通到底是不是bug,但是如果開發人員還是認為不是bug的話,就把這個問題提到項目經理處,同時附上自己的理由。有項目經理決定是否為bug。
23、軟件測試項目從什么時候開始為什么?
一般軟件測試越早展開越好,一般是從需要階段就要進行軟件測試。軟件測試不僅是測試功能,對于需求文檔一類的也要進行測試。越早的找出bug,就會減少后續開發人員修改程序的次數,并且可以降低成本,如果等整個軟件開發的差不多了發現一個致命的錯誤的話,是需要花費很多時間和人力來重新修改的。如果在一開始就發現的話就不會出現這種情況了。
24、你能不能說下你的3-5年的職業規劃?
首先,要鞏固自己的測試基礎知識,在基本知識扎實的情況下提高理解需求文檔地能力。
其次,學習自動化測試工具,并將它運用到測試中。
然后,在測試技術達到一定程度后,要學會如何帶領一個測試團隊。
最后,爭取在最快的時間內達到測試經理的水平。
25、功能測試用例需要詳細到什么程度才是合格的?
測試用例覆蓋到所有的測試點。
26、一個缺陷測試報告的組成?
缺陷編號、缺陷標題、缺陷描述、缺陷的優先級、缺陷的重要程度、缺陷所述的模塊、缺陷所屬的版本、缺陷所屬的開發人員、輸入數據、輸出結果、缺陷分析等。
27、測試用例通常包括哪些內容?
用例編號、測試環境、用例標題、輸入數據、預期結果等
28、你都用什么測試方法?
根據不同的系統和模塊有不同的方法。主要是黑盒測試和白盒測試。
29、軟件的評審一般由哪些人員參加?其目的是什么?
參加人員:客戶、項目經理、開發人員、測試人員
目的:查看軟件在未正式投入運行前是否還存在問題。對于不同軟硬件平臺能否正常運行,是否有與客戶理解不一致的地方,同時可以對一些可以改進的地方再多加改進。
30、什么是軟件測試,軟件測試的目的?
軟件測試是通過人工或者自動化的操作進行還沒有商業化用途的程序,查看他們的功能是否滿足客戶需求。
目的:在最短時間內找出盡可能多的軟件缺陷。
31、什么是兼容性測試?
兼容性測試是檢查軟件在不同軟件平臺,硬件平臺上是否可以正常運行的測試。主要查看軟件在不同操作系統、瀏覽器、數據庫中是否運行正常。
32、什么是軟件測試?
答:為了發現程序中的錯誤而執行程序的過程
33、軟件測試的對象有哪些?
答:軟件測試并不等于程序測試。軟件測試應貫穿于軟件定義與開發的整個期間。
需求分析、概要設計、詳細設計以及程序編碼等各階段所得到的文檔,包括需求規格說明、概要設計規格說明、詳細設計規格說明以及源程序,都應成為軟件測試的對象。
34、當測試過程發生錯誤時,有哪幾種解決辦法?
答:1)跳轉到別的測試過程
2)調用一個能夠清除錯誤的過程
3)退出過程,啟用另一個
4)退出過程和應用程序,重新啟動Windows,在失敗的地方重新開始測試
35、怎么才能夠全面的測試到每一個點?
答:測試的全面性主要需要在設計測試計劃的時候考慮,從測試策略,產品需求等等多個角度考慮從而定義全部的測試點。
36、開發與測試的關系?
答:開發和測試是一個有機的整體。在產品發布之前,開發和測試是循環進行的,測出的缺陷要經開發人員修改后繼續測試。在開發的同時測試經理開始編寫測試用例,測試文檔要參考開發文檔,所以開發和測試是不可分割的,少了任何一個都不能開發出產品。
37、測試活動中統計了哪些數據?
答:工作量 bug數量
38、進行測試時產生了哪些文檔或記錄?
答:測試的整個過程有系統測試計劃、系統測試用例、系統測試報告、缺陷報告、產品發布說明
在執行測試的過程中只有缺陷報告,這個還是用在缺陷管理工具中進行的,最后在工具中導出缺陷報告
39、怎樣做好測試計劃?
答:1)理解系統。從整個系統的高度了解被測系統必須滿足的功能和非功能性需求。利用涉及整個系統的文檔,形成對系統的整體了解。
2)及早介入。為了深入了解項目,測試人員應該在系統的開始階段介入,可以增加對客戶需求,客戶問題,潛在風險以及最重要的功能方面的理解
3)測試期望。程序員的期望是什么?客戶的期望是什么?銷售對測試的期望又是什么?測試目標必須是絕對的,以免說不清是否達到目標。
4)吸取教訓。把以前工作中學習到的經驗教訓運用過來,對確定測試策略很有作用。
5)工作量太小。完成測試需要多少工作量?需要多少人員?
6)技術選擇。系統會采取什么技術?系統會采用什么架構?這些信息有助于確定測試策略和測試工具。
7)時間表。系統開發和測試分配的時間有多長?截止日期是什么時候?
40、測試用例如何設計的?
答:在測試用例的設計之前首先要仔細閱讀開發的詳細設計文檔,充分了解產品的詳細功能,不清楚的地方與開發人員進行溝通,搞懂每個功能,盡量詳細到輸入框、按鈕等小功能,功能點清楚之后按照功能模塊分類進行用例編寫。在具體的用例設計中會運用到等價類邊界值等黑盒測試方法
41、簡單概述缺陷報告,并說明包括哪些項?
答:現在缺陷報告一般不再使用紙質檔文檔編寫,而是專用測試管理工具(如TestDirector),這樣便于缺陷管理。在這些工具中,每個缺陷作為一條記錄輸入指定的缺陷管理系統中。
缺陷報告包括:軟件名稱、版本號、功能模板、缺陷編號、對應的用例編號、編寫時間、編寫人、測試員、預期結果、實際結果、缺陷描述、嚴重級別、優先級別
42、什么是bug?
答:軟件的bug指的是軟件中(包括程序和文檔)不符合用戶需求的問題。
常見的軟件bug分為以下三類:
沒有實現的功能
完成了用戶需求的功能,但是運行時會出現一些功能或性能上的問題
實現了用戶不需求的多余功能
43、開發人員修復缺陷后,如何保證不影響其他功能?
答:重新執行用例、看是否出現錯誤結果。并對周圍的一些相關功能點追加新的測試用例。
44、什么時候功能測試?
答:功能測試是在規定的一段時間內運行軟件系統的所有功能,以驗證這個軟件系統有無嚴重錯誤。
45、請問功能測試和性能測試的區別是什么?
答:1)測試目的:
功能測試:檢測實際軟件的功能是否符合用戶需求,測功能是不是全部實現,某個實現是不是有BUG。主要為了發現以下幾類錯誤:A、是否有不正確或遺漏的功能?B、功能實現是否滿足用戶需求和系統設計的隱藏需求?C、能否正確接收輸入?能否正確輸出結果?
性能測試:驗證軟件質量的三個質量特性,可靠性,正確性和效率。主要是測試產品的健壯性
2)測試方式:
功能測試按照系用例,按照系統需求說明書和測試用例,對產品的功能一步步進行測試。找出產品功能是否全部實現
性能測試:一般都使用性能工具對產品的健壯性進行評估。通過創建場景和虛擬用戶模擬真實環境,進行壓力測試和負載測試。
46、為什么選擇測試這行?
答:它是一個新興的行業,有發展潛力,而且很鍛煉人,需要掌握更多的技能,比做開發要更全面。
有續集……
一個用心碼了這么多文字的人,往往渴望得到大家的認可。如果你覺得這篇回答對你有幫助,雙擊屏幕,給我點個贊呀!
一個沉默不語的人,未必像看著那般平庸。很有可能人家在悄悄做事,然后一鳴驚人。
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:【文末領取】
? ? ?【下面是我整理的2023年最全的軟件測試工程師學習知識架構體系圖+全套資料】
一、Python編程入門到精通
二、接口自動化項目實戰??
三、Web自動化項目實戰

四、App自動化項目實戰??
五、一線大廠簡歷

六、測試開發DevOps體系??
七、常用自動化測試工具
八、JMeter性能測試??
九、軟件測試全套資料
十、總結(文末尾部小驚喜)
生命不息,奮斗不止。每一份努力都不會被辜負,只要堅持不懈,終究會有回報。珍惜時間,追求夢想。不忘初心,砥礪前行。你的未來,由你掌握!
生命短暫,時間寶貴,我們無法預知未來會發生什么,但我們可以掌握當下。珍惜每一天,努力奮斗,讓自己變得更加強大和優秀。堅定信念,執著追求,成功終將屬于你!
只有不斷地挑戰自己,才能不斷地超越自己。堅持追求夢想,勇敢前行,你就會發現奮斗的過程是如此美好而值得。相信自己,你一定可以做到!??