天天看點

軟體測試分類的面試題

我了解的測試種類的話,就分為功能測試、性能測試和自動化測試。當然還有其他的一些名詞,你比如說咱要是按照階段來進行測試劃分的話,又可以說分為單元測試、內建測試、系統測試、還有驗收測試。又可以根據不同的代碼,分為白盒測試和黑盒測試,還有一些其他的測試,比如說回歸測試、冒煙測試、還有随機測試。像這個測試種類可多了

1.1. 功能測試

我就重點說一下這個功能測試吧,功能測試。我們主要是測試軟體功能是否正常使用,當然功能測試也不是這麼簡單的,我們要測試邏輯功能,就是這個操作是否符合正常人的邏輯思維,你比如說,我用智聯招聘,就感覺它有一塊功能做的不好,一般是我們先登入,沒有賬号的話才進行注冊,而智聯招聘,我進入到首頁面,輸入完資訊準備登入。才發現預設是注冊,這個就屬于一塊邏輯上的問題,當然問題還不算很大,注冊結束之後,能夠跳轉到登入界面,這個就是進行界面測試。海域就是測試這個軟體是否容易使用,也就是易用性,如果不好用,使用者操作不了。也可以算一個bug。還有相容性測試,比如我們測試android 手機上的應用,就經常有相容性的問題 ,比如分辨率相容問題,android的app分辨率我們就需要使用多台不同尺寸分辨率的手機進行測試,還有性能相容問題 咱們國内都對手機源代碼進行了改動,同一款app。可能字華為上好使 在小米,VIVO ,OPPO上不好使,這些都是功能測試的範圍

1.2.性能測試

時間性能:軟體的一個具體事務的響應時間。比如點選一個登陸按鈕。到登入成功(失敗)的反應時間,浏覽器非常常見,(ANR(Application not responding 應用程式無響應)

空間性能:軟體運作時所消耗的系統資源,比如對記憶體和cpu多的損耗

一般性能測試:軟體正常運作,不向其施加任何壓力測試

穩定性測試:也叫可靠性測試 是指連續運作被測系統 檢查系統運作時的穩定程度

負載測試:讓被測系統在其能夠忍受的壓力範圍之内連續運作,來檢測系統的穩定性

壓力測試:持續不斷得給被測系統增加壓力直到被測系統壓垮為止,用來測試系統所承受的最大壓力

1.3.自動化測試

自動化測試,一般就需要使用腳本來進行測試,也可以叫做白盒測試,技術含量相對來說比較高,這個我也會 我會的語言是python,基本上python的代碼基礎我是掌握了,比如python的變量和基本資料類型,輸入輸出語句,集合和元祖操作,以及循環和條件判斷操作。還有python中的字典和set集合操作 以及python中的面向對象程式設計,異常,單元測試這些内容,比較熟悉

自動化測試軟體:selenium和appium 這兩個軟體我也使用的比較熟悉,當然也算不上精通,基本的操作,寫一些自動化測試腳本是沒有問題的

1.4.靜态測試和動态測試

靜态測試,是指不實際運作被測試軟體而隻是靜态的檢查程式代碼、界面或者文檔中可能存在的錯誤的過程

動态測試:是指實際運作被測程式,輸入相對應的測試資料,檢查實際輸出結果和預期結果是否相符的過程

1.5 單元測試、內建測試、系統測試、驗收測試

1.1.2單元測試

是指對軟體中最小可能測試單元進行檢查和驗證

單元測試當一段代碼完成的之後 是由白盒測試工程師或者開發人員自行測試,比如java中執行單元測試叫做junit測試

目前大部分公司單元測試由開發人人員簡單編譯和調試一下自己的程式,沒有相應的單元測試計劃

單元測試方式:先靜态的觀察代碼是否符合規範,然後動态的運作一下代碼,檢查運作的結果

1.1.3內建測試

內建測試是單元測試的下一個階段,是指将通過單元測試子產品組裝成系統或者子系統,再進行測試,重點測試不同子產品的接口部分

內建測試也是右白盒測試或者開發人員來完成

1.1.4系統測試和驗收測試

內建測試完成之後。就是系統測試和驗收測試

系統測試:是指将整個軟體系統看做一個整體進行測試,包括對功能、性能、以及軟體所運作的軟硬體環境進行測試

系統測試由黑盒測試人員在整個系統內建完畢後進行測試,前期主要測試系統的功能是否滿足需求,後期主要測試系統運作的性能是否滿足需求 ,以及系統在不同的軟硬體環境的相容性等

1.6.回歸測試 、冒煙測試、随機測試

1.1.5 回歸測試

是指對軟體的新版本進行測試 時 重複執行上一個版本測試時的用例 比如在版本中有一個BUG,到了2.0版本中 再重新測試1.0中這個BUG

1.1.6 冒煙測試

值對一個軟體系統大規模的測試執之前 先指派一兩個測試人員測試一下軟體的主要功能,如果沒有實作 則打回開發組重新開發 這樣做可以節省大量的時間和人力成本

1.1.7随機測試

是指在測試中所有的輸入資料都是随機性的 其目的是模拟使用者的真實操作 并發現一些邊緣性的錯誤