10道軟體測試題,檢測你是否真的懂測試
大家好,我是《軟體測試 52 講》專欄的作者茹炳晟,我用我 16 年的測試知識和經驗,梳理出了這一整套軟體測試的知識專欄。
現在,我從專欄中精心挑選了
10 個核心知識點
,組成了 10 道測試題目(包含 5 道選擇題,5 道問答題)。無論是否是我專欄的訂閱者,你都可以用這 10 道題目,找到自己的薄弱點,對症下藥;如果你已經學習了一段時間,可以用這 10 道題目,檢測一下學習成果,查漏補缺。我的建議是:你可以拿出紙筆,寫下這 10 道題的答案,然後再與文末的答案進行對照。
選擇題
(單選)當需要對某個系統進行測試的時候,應該從哪些方面來設計測試用例?
A. 功能驗證
B. 性能相關的驗證
C. 兼容性相關的驗證
D. 安全性相關的驗證
E. 以上全是
(多選)軟體測試過程中,測試數據準備的痛點有哪些?(多選)
A. On-the-fly 測試數據準備的時間消耗
B. Out-of-box 測試數據的「臟數據」
C. 測試數據本身組合的複雜性和多樣性
D. 性能測試數據準備的時間消耗
E. 微服務化後,跨多個微服務的數據準備缺乏完整的知識體系
F. 微服務化後,測試數據準備的環境依賴性
(單選)無頭瀏覽器的主要應用場景是?
A. 網路爬蟲
B. GUI 自動化功能測試
C. 頁面監控
D. 以上全是
(單選)以下不屬於 API 測試工具的是哪個?
A. Postman
B. SoapUI
C. JMeter
D. Selenium
(單選)以下屬於移動應用測試的工具是哪個?
A. Appium
B. UFT
C. TestNG
D. LoadRunner
問答題
6.GUI 自動化測試腳本分層設計的最佳實踐是怎麼樣?
7. 多個 API 連續調用的測試用例的難點是什麼?你是如何來解決的?
8. 單元測試中,樁函數和 Mock 函數用來解決什麼問題,兩者又有什麼區別?
9. 性能壓測過程中,當面對大量並發用戶調用的時候,伺服器端 CPU 的使用率是高好還是低好?為什麼?
10. 當需要在儘可能短的時間內完成大量 GUI 自動化測試用例的執行時,業界主流的解決方案是什麼?
答案與解析
1、(單選)答案:E
解析:
在專欄第 1 篇文章《你真的懂測試嗎?從「用戶登錄」測試談起》
中,我和你分享了設計一個測試用例,除了要考慮顯示的功能性需求外,還要涉及安全性、性能、兼容性等非功能性需求的驗證。2、(多選)答案:ABCDEF
解析
:在專欄的第 15 篇文章《過不了的坎:聊聊 GUI 自動化過程中的測試數據》
、第 36 篇文章
《淺談測試數據的痛點》
中,我從測試時機準備的角度,和你分享了測試數據準備有哪些痛點。而關於現在流行的微服務模式,由於每個單一功能的服務都是獨立分開部署的,所以我們在準備測試數據時,還可能會遇到諸如環境依賴、跨多個微服務的數據準備缺乏完整的知識體系等問題。
3、(單選)答案:D
解析
:我在專欄的第 16 篇文章《腦洞大開:GUI 測試還能這麼玩(Page Code Gen + Data Gen + Headless)?》
中,和你分享過:無頭瀏覽器的主要應用場景,包括 GUI 自動化測試、頁面監控以及網路爬蟲這三種。4、(單選)答案:D
解析
:Selenium 屬於 GUI 自動化測試工具。我還在第 12 篇文章《從 0 到 1:你的第一個 GUI 自動化測試》
中,基於 Selenium 和你一起搭建了我們的第一個測試用例,你還記得嗎?5、(單選)答案:A
解析
:UFT(以前的 QTP)屬於一款 GUI 測試工具,LoadRunner 屬於性能測試工具。而 TestNG 是一個用來簡化廣泛的測試需求的測試框架,適用於從單元測試到集成測試階段的測試。Appium 則是一款很好用的移動測試工具。如果你不記得它的使用方法了,可以再回顧下第 21 篇文章
《移動測試神器:帶你玩轉 Appium》
中的內容。6、GUI 自動化測試腳本分層設計的最佳實踐是怎樣的?
考點分析
:GUI 自動化測試腳本的分層設計原理。答案與解析:
大量 GUI 自動化測試能夠成功的關鍵,就在於腳本的分層設計。而腳本分層設計的核心思想就是模塊化。
首先,我們需要對頁面進行抽象,形成頁面對象模型。在這樣的測試用例中,你看到的都是類似於 XXXPage.YYYComponent.ZZZOperation 的語句。它們和實際的手工測試可以建立一一對應的關係,用通俗的話語來講,就是某某頁面上的某某元素,執行了某某操作。
接下來,為了使 GUI 自動化測試腳本更加符合業務場景的描述,同時進一步提高腳本的封裝性和可重用性,就需要引入業務流程腳本的概念。這裡,業務流程和實際的業務流程也是一一對應的關係。這樣,測試用例就可以通過調用業務流程腳本來實現,測試用例本身的可讀性以及可維護性也會更好。同樣地,業務流程腳本,也是基於頁面對象模型實現的。
關於頁面對象模型的細節,你可以再回顧下第 13 篇文章
《效率為王:腳本與數據的解耦 + Page Object 模型》
中的相關內容。而關於業務流程抽象的細節,你可以再回顧下第 14 篇文章
《更接近業務的抽象:讓自動化測試腳本更好地描述業務》
中的相關內容。若你對另外 5 道問答題的答案感興趣,你可以
掃碼免費
看我專欄的最後一篇文章:《測一測 | 這些軟體測試題目,你都掌握了嗎?》
《軟體測試 52 講》也正在
限時優惠¥79
另外,我今天晚上 19:30-20:30 在極客時間有一場直播,有興趣的朋友歡迎來直播互動。掃下方的二維碼,加我
專欄運營 Monica 微信:imonica1010
,領取我製作的一整套「軟體測試工程師進階圖譜」
。


※臉書、推特執行官表示目前無意來中國發展;大陸高薪吸引台灣晶元工程師;編程語言榜Python強勢殺入前三;谷歌成立二十年丨Q新聞
※如何玩轉最豪華的AI體驗? HC2018華為雲展區大賞
TAG:InfoQ |