軟體測試常見面試題

2022-08-22 03:18:08 字數 3649 閱讀 3035

計畫階段(planning)-〉需求分析(requirement)-〉設計階段(design)-〉編碼(coding)->測試(testing)->執行與維護(running maintrnacne)

用例編號  測試專案  測試標題  重要級別  預置條件  輸入資料  執行步驟   預期結果

軟體是計算機系統中與硬體相互依存的另一部分,與計算機系統操作有關的電腦程式、規程、規則,以及可能有的檔案、文件及資料。

軟體復用(software reuse)是將已有軟體的各種有關知識用於建立新的軟體,以縮減軟體開發和維護的花費。軟體復用是提高軟體生產力和質量的一種重要技術。早期的軟體復用主要是**級復用,被復用的知識專指程式,後來擴大到包括領域知識、開發經驗、設計決定、體系結構、需求、設計、**和文件等一切有關方面。

可以被復用的軟體成分一般稱作可復用構件

在規定的條件下對程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。

軟體測試的目的:

軟體測試的原則:

概括地說,軟體質量就是「軟體與明確的和隱含的定義的需求相一致的程度」。具體地說,軟體質量是軟體符合明確敘述的功能和效能需求、文件中明確描述 的開發標準、以及所有專業開發的軟體都應具有的隱含特徵的程度。 影響軟體質量的主要因素,這些因素是從管理角度對軟體質量的度量。可劃分為三組,分別反應使用者在使用軟體產品時的三種觀點。正確性、健壯性、效率、完整性、可用性、風險(產品執行);可理解性、可維修性、靈活性、可測試性(產品修改);可移植性、可再用性、互執行性(產品轉移)。

測試策略分類:1、靜態與動態測試 2、黑盒與白盒測試 3、手工和自動測試 4、冒煙測試 5、回歸測試;

測試階段分類:單元測試、整合測試、系統測試;

其他常見測試方法:1、功能測試 2、效能測試 3、壓力測試 4、負載測試 5、易用性測試 6、安裝測試 7、介面測試 8、配置測試 9、文件測試 10、相容性測試 11、安全性測試 12、恢復測試

白盒測試:邏輯覆蓋、迴圈覆蓋、基本路徑覆蓋

黑盒測試:邊界值分析法、等價類劃分、錯誤猜測法、因果圖法、狀態圖法、測試大綱法、隨機測試、場景法

1)等價類劃分: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入資料對於揭露程式中的錯誤都是等效的.並合理地假定:測試某等價類的代表值就等於對這一類其它值的測試.

因此,可以把全部輸入資料合理劃分為若干等價類,在每乙個等價類中取乙個資料作為測試的輸入條件,就可以用少量代表性的測試資料.取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.

2)邊界值分析法:是對等價類劃分方法的補充。測試工作經驗告訴我,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.

使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等於,剛剛大於或剛剛小於邊界的值作為測試資料,而不是選取等價類中的典型值或任意值作為測試資料.

3)錯誤猜測法:基於經驗和直覺推測程式中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法.

錯誤推測方法的基本思想: 列舉出程式中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例. 例如, 在單元測試時曾列出的許多在模組中常見的錯誤. 以前產品測試中曾經發現的錯誤等, 這些就是經驗的總結.

還有, 輸入資料和輸出資料為0的情況. 輸入**為空格或輸入**只有一行. 這些都是容易發生錯誤的情況. 可選擇這些情況下的例子作為測試用例.

4)因果圖方法:前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯絡, 相互組合等. 考慮輸入條件之間的相互組合,可能會產生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情,

即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多. 因此必須考慮採用一種適合於描述對於多種條件的組合,相應產生多個動作的形式來考慮設計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表.          它適合於檢查程式輸入條件的各種組合情況.

5)正交表分析法:可能因為大量的引數的組合而引起測試用例數量上的激增,同時,這些測試用例並沒有明顯的優先順序上的差距,而測試人員又無法完成這麼多數量的測試,就可以通過正交表來進行縮減一些用例,從而達到盡量少的用例覆蓋 盡量大的範圍的可能性。

6)場景分析方法:指根據使用者場景來模擬使用者的操作步驟,這個比較類似因果圖,但是可能執行的深度和可行性更好。 

7)狀態圖法:通過輸入條件和系統需求說明得到被測系統的所有狀態,通過輸入條件和狀態得出輸出條件;通過輸入條件、輸出條件和狀態得出被測系統的測試用例。

8)大綱法:大綱法是一種著眼於需求的方法,為了列出各種測試條件,就將需求轉換為大綱的形式。大綱表示為樹狀結構,在根和每個葉子結點之間存在唯一的路徑。大綱中的每條路徑定義了乙個特定的輸入條件集合,用於定義測試用例。樹中葉子的數目或大綱中的路徑給出了測試所有功能所需測試用例的大致數量。

黑盒測試的優點有:比較簡單,不需要了解程式內部的**及實現;與軟體的內部實現無關;  從使用者角度出發,能很容易的知道使用者會用到哪些功能,會遇到哪些問題;

基於軟體開發文件,所以也能知道軟體實現了文件中的哪些功能;在做軟體自動化測試時較為方便。

黑盒測試的缺點有:不可能覆蓋所有的**,覆蓋率較低,大概只能達到總**量的30%;自動化測試的復用性較低。

白盒測試的優點有:幫助軟體測試人員增大**的覆蓋率,提高**的質量,發現**中隱藏的問題。

白盒測試的缺點有:程式執行會有很多不同的路徑,不可能測試所有的執行路徑;測試基於**,只能測試開發人員做的對不對,而不能知道設計的正確與否,可能會漏掉一些功能需求;系統龐大時,測試開銷會非常大。

和開發過程相對應,測試過程會依次經歷單元測試、整合測試、系統測試、驗收測試四個主要階段:

單元測試測試策略:

自頂向下的單元測試策略:比孤立單元測試的成本高很多,不是單元測試的乙個好的選擇。

自底向上的單元測試策略:比較合理的單元測試策略,但測試週期較長。

孤立單元測試策略:最好的單元測試策略。

整合測試的測試策略:

大**整合:適應於乙個維護型專案或被測試系統較小

自頂向下整合:適應於產品控制結構比較清晰和穩定;高層介面變化較小;底層介面未定義或經常可能被修改;產口控制項具有較大的技術風險,需要盡早被驗證;希望盡早能看到產品的系統功能行為。

自底向上整合:適應於底層介面比較穩定;高層介面變化比較頻繁;底層元件較早被完成。

基於進度的整合

優點:具有較高的並行度;能夠有效縮短專案的開發進度。

缺點:樁和驅動工作量較大;有些介面測試不充分;有些測試重複和浪費。

系統測試的測試策略:

資料和資料庫完整性測試;功能測試;使用者介面測試;效能評測;負載測試;強度測試;容量測試;安全性和訪問控制測試;故障轉移和恢復測試;配置測試;安裝測試;加密測試;可用性測試;版本驗證測試;文件測試

從微觀上來說,在測試計畫中定義,比如系統在一定效能下平穩執行72小時,目前bug tracking system中,本版本中沒有一般嚴重的bug,普通bug的數量在3以下,bug修復率90%以上等等引數,然後由開發經理,測試經理,專案經理共同簽字認同版本release。

如果說巨集觀的,則是當這個軟體徹底的消失以後,測試就結束了。

軟體測試常見面試題(2)

1.介紹你在上一家公司的專案 鴻學金信系統 專案主要目的是針對個體和個體之間通過網際網路平台實現的直接借貸。整個專案分為前台系統 使用者訪問平台 與後台管理系統兩個專案 2.在實際專案中你是如何做測試的 3.你如何制定測試的時間進度的 需求分析1到2天,用例也是寫兩天左右,包括用例評審 用例的個數看...

軟體測試常見面試題(4)

2 los和android測試的側重點是?互動,安卓和 ios 在互動設計理念上是不同的,如果設計師對安卓和 ios 搞了兩套 ui,那就得看。如果是一套 ui,那會輕鬆點。相容性,包括機型,系統版本。機型上因為 ios 的換新率非常高,所以通常 3 個版本足夠了。安卓比較坑,特別是你的應用如果要在...

效能測試常見面試題

概述一下效能測試流程?1.分析效能需求。挑選使用者使用最頻繁的場景來測試。確定效能指標,比如 事務通過率為100 top99 是5秒,最大併發使用者為1000人,cpu和記憶體的使用率在70 以下 2.制定效能測試計畫,明確測試時間 通常在功能穩定後,如第一輪測試後進行 和測試環境和測試工具 3.編...