面試題匯總1

銀行軟件測試面試問題 軟件測試經(jīng)典面試題

軟件測試面試題匯總

測試技術面試題

1、什么是兼容性測試?兼容性測試側重哪些方面?

參考答案:

兼容測試主要是檢查軟件在不同的硬件平臺、軟件平臺上是否可以正常的運行,即是通常說的軟件的可移植性。

兼容的類型,如果細分的話,有平臺的兼容,網(wǎng)絡兼容,數(shù)據(jù)庫兼容,以及數(shù)據(jù)格式的兼容。

兼容測試的重點是,對兼容環(huán)境的分析。通常,是在運行軟件的環(huán)境不是很確定的情況下,才需要做兼容。根據(jù)軟件運行的需要,或者根據(jù)需求文檔,一般都能夠得出用戶會在什么環(huán)境下使用該軟件,把這些環(huán)境整理成表單,就得出做兼容測試的兼容環(huán)境了。

兼容和配置測試的區(qū)別在于,做配置測試通常不是Clean OS下做測試,而兼容測試多是在Clean OS的環(huán)境下做的。

2、我現(xiàn)在有個程序,發(fā)現(xiàn)在Windows上運行得很慢,怎么判別是程序存在問題還是軟硬件系統(tǒng)存在問題? 參考答案:

1、檢查系統(tǒng)是否有中毒的特征;

2、檢查軟件/硬件的配置是否符合軟件的推薦標準;

3、確認當前的系統(tǒng)是否是獨立,即沒有對外提供什么消耗CPU資源的服務;

4、如果是C/S或者B/S結構的軟件,需要檢查是不是因為與服務器的連接有問題,或者訪問有問題造成的;

5、在系統(tǒng)沒有任何負載的情況下,查看性能監(jiān)視器,確認應用程序對CPU/內存的訪問情況。

3、測試的策略有哪些?

參考答案:

黑盒/白盒,靜態(tài)/動態(tài),手工/自動,冒煙測試,回歸測試,公測(Beta測試的策略)

4、正交表測試用例設計方法的特點是什么?

參考答案:

用最少的實驗覆蓋最多的操作,測試用例設計很少,效率高,但是很復雜;

對于基本的驗證功能,以及二次集成引起的缺陷,一般都能找出來;但是更深的缺陷,更復雜的缺陷,還是無能為力的;

具體的環(huán)境下,正交表一般都很難做的。大多數(shù),只在系統(tǒng)測試的時候使用此方法。

5、描述使用bugzilla缺陷管理工具對軟件缺陷(BUG)跟蹤的管理的流程?

參考答案:

就是Bugzilla的狀態(tài)轉換圖。

1

6、你覺得bugzilla在使用的過程中,有什么問題?

參考答案:

界面不穩(wěn)定;

根據(jù)需要配置它的不同的部分,過程很煩瑣。

流程控制上,安全性不好界定,很容易對他人的Bug進行誤操作;

沒有綜合的評分指標,不好確認修復的優(yōu)先級別。

7、描述測試用例設計的完整過程?

參考答案:

需求分析 + 需求變更的維護工作;

根據(jù)需求 得出測試需求;

設計測試方案,評審測試方案;

方案評審通過后,設計測試用例,再對測試用例進行評審;

8、單元測試的策略有哪些?

參考答案:

邏輯覆蓋、循環(huán)覆蓋、同行評審、桌前檢查、代碼走查、代碼評審、景泰數(shù)據(jù)流分析

9、LoadRunner分哪三部分?

參考答案:

用戶動作設計;

場景設計;

測試數(shù)據(jù)分析;

10、LoadRunner進行測試的流程?

參考答案:

1、 測試測試

2、 創(chuàng)建虛擬用戶腳本

3、 創(chuàng)建運行場景

4、 運行測試腳本

5、 監(jiān)視場景

6、 分析測試的結果

以上,最好是結合一個案例,根據(jù)以上流程來介紹。

什么是并發(fā)?在lordrunner中,如何進行并發(fā)的測試?集合點失敗了會怎么樣?

參考答案:

在同一時間點,支持多個不同的操作。

LoadRunner中提供IP偽裝,集合點,配合虛擬用戶的設計,以及在多臺電腦上設置,可以比較好的模擬真實的并發(fā)。

集合點,即是多個用戶在某個時刻,某個特定的環(huán)境下同時進行虛擬用戶的操作的。集合點失敗,則集合點的才操作就會取消,測試就不能進行。

12、使用QTP做功能測試,錄制腳本的時候,要驗證多個用戶的登錄情況/查詢情況,如何操作? 參考答案:

2

分析用戶登錄的基本情況,得出一組數(shù)據(jù),通過性測試/失敗性測試的都有(根據(jù)TC來設計這些數(shù)據(jù)),然后錄制登錄的腳本,將關鍵的數(shù)據(jù)參數(shù)化,修改腳本,對代碼進行加強,調試腳本。

13、QTP中的Action有什么作用?有幾種?

參考答案:

Action的作用

? 用Action可以對步驟集進行分組

? 步驟重組,然后被整體調用

? 擁有自己的sheet

? 組合有相同需求的步驟,整體操作

? 具有獨立的對象倉庫

Action的種類

? 可復用Action

? 不可復用Action

? 外部Action

14、TestDirector有些什么功能,如何對軟件測試過程進行管理?

參考答案:

需求管理

? 定義測試范圍

? 定義需求樹

? 描述需求樹的功能點

測試計劃

? 定義測試目標和測試策略。

? 分解應用程序,建立測試計劃樹。

? 確定每個功能點的測試方法。

? 將每個功能點連接到需求上,使測試計劃覆蓋全部的測試需求。

? 描述手工測試的測試步驟

? 指明需要進行自動測試的功能點

測試執(zhí)行

? 定義測試集合。

? 為每個測試人員制定測試任務和測試日程安排。

? 運行自動測試。

缺陷跟蹤

? 記錄缺陷

? 查看新增缺陷,并確定哪些是需要修正的

? 相關技術人員修改缺陷

? 回歸測試

? 分析缺陷統(tǒng)計圖表,分析應用程序的開發(fā)質量。

15、你所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試、性能測試??)?

參考答案:Compatibility Testing(兼容性測試),也稱“Configuration testing(配置測試)”,測試軟件是否和系統(tǒng)的其它與之交互的元素之間兼容,如:瀏覽器、操作系統(tǒng)、硬件等。驗證測試對象在不同的軟件和硬件配置中的運行情況。

Functional testing (功能測試),也稱為behavioral testing(行為測試),根據(jù)產(chǎn)品特征、操作描述和用戶方案, 3

測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設計需求。本地化軟件的功能測試,用于驗證應用程序或網(wǎng)站對目標用戶能正確工作。使用適當?shù)钠脚_、瀏覽器和測試腳本,以保證目標用戶的體驗將足夠好,就像應用程序是專門為該市場開發(fā)的一樣。 Performance testing(性能測試),評價一個產(chǎn)品或組件與性能需求是否符合的測試。包括負載測試、強度測試、數(shù)據(jù)庫容量測試、基準測試等類型。

16、軟件缺陷(或者叫Bug)記錄都包含了哪些內容?如何提交高質量的軟件缺陷(Bug)記錄? 參考答案:5C標準

17、Beta測試與Alpha測試有什么區(qū)別?

參考答案:Beta testing(β測試),測試是軟件的多個用戶在一個或多個用戶的實際使用環(huán)境下進行的測試。開發(fā)者通常不在測試現(xiàn)場 Alpha testing (α測試),是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內部的用戶在模擬實際操作環(huán)境下進行的受控測試

18、軟件的評審一般由哪些人參加?其目的是什么?

參考答案:

在正式的會議上將軟件項目的成果(包括各階段的文檔、產(chǎn)生的代碼等)提交給用戶、客戶或有關部門人員對軟件產(chǎn)品進行評審和批準。其目的是找出可能影響軟件產(chǎn)品質量、開發(fā)過程、維護工作的適用性和環(huán)境方面的設計缺陷,并采取補救措施,以及找出在性能、安全性和經(jīng)濟方面的可能的改進。

人員:用戶、客戶或有關部門開發(fā)人員,測試人員,需求分析師都可以,就看處于評審那個階段

19、測試活動中,如果發(fā)現(xiàn)需求文檔不完善或者不準確,怎么處理?

參考答案:

測試需求分析 發(fā)現(xiàn)需求文檔不完善或者不準確,應該立即和相關人員進行協(xié)調交流。

20、階段評審與項目評審有什么區(qū)別?

參考答案:

階段評審 對項目各階段評審:對階段成果和工作

項目評審 對項目總體評審:對工作和產(chǎn)品

21、闡述工作版本的定義?

參考答案:

構造號: BUILD

22、什么是樁模塊?什么是驅動模塊?

參考答案:

樁模塊:被測模塊調用模塊

驅動模塊 調用被測模塊

23、什么是扇入?什么是扇出?

參考答案:

扇入:被調次數(shù),扇出:調其它模塊數(shù)目

4

24、你認為做好測試計劃工作的關鍵是什么?

參考答案:

軟件測試計劃就是在軟件測試工作正式實施之前明確測試的對象,并且通過對資源、時間、風險、測試范圍和預算等方面的綜合分析和規(guī)劃,保證有效的實施軟件測試;

做好測試計劃工作的關鍵 :目的,管理,規(guī)范

1. 明確測試的目標,增強測試計劃的實用性 編寫軟件測試計劃得重要目的就是使測試過程能夠發(fā)現(xiàn)更多的軟件缺陷,因此軟件測試計劃的價值取決于它對幫助管理測試項目,并且找出軟件潛在的缺陷。因此,軟件測試計劃中的測試范圍必須高度覆蓋功能需求,測試方法必須切實可行,測試工具并且具有較高的實用性,便于使用,生成的測試結果直觀、準確

2.堅持“5W”規(guī)則,明確內容與過程 “5W”規(guī)則指的是“What(做什么)”、“Why(為什么做)”、“When(何時做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”規(guī)則創(chuàng)建軟件測試計劃,可以幫助測試團隊理解測試的目的(Why),明確測試的范圍和內容(What),確定測試的開始和結束日期(When),指出測試的方法和工具(How),給出測試文檔和軟件的存放位置(Where)。

3.采用評審和更新機制,保證測試計劃滿足實際需求 測試計劃寫作完成后,如果沒有經(jīng)過評審,直接發(fā)送給測試團隊,測試計劃內容的可能不準確或遺漏測試內容,或者軟件需求變更引起測試范圍的增減,而測試計劃的內容沒有及時更新,誤導測試執(zhí)行人員。

4. 分別創(chuàng)建測試計劃與測試詳細規(guī)格、測試用例 應把詳細的測試技術指標包含到獨立創(chuàng)建的測試詳細規(guī)格文檔,把用于指導測試小組執(zhí)行測試過程的測試用例放到獨立創(chuàng)建的測試用例文檔或測試用例管理數(shù)據(jù)庫中。測試計劃和測試詳細規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術的關系,測試計劃主要從宏觀上規(guī)劃測試活動的范圍、方法和資源配置,而測試詳細規(guī)格、測試用例是完成測試任務的具體戰(zhàn)術。

25、你認為做好測試用例工作的關鍵是什么?

參考答案:

需求和設計文檔的理解程度,對系統(tǒng)的熟悉程度

26、簡述一下缺陷的生命周期?

參考答案:提交->確認->分配->修復->驗證->關閉

27、軟件的安全性應從哪幾個方面去測試?

參考答案:

(1) 用戶認證機制:如數(shù)據(jù)證書、智能卡、雙重認證、安全電子交易協(xié)議

(2) 加密機制

(3) 安全防護策略:如安全日志、入侵檢測、隔離防護、漏洞掃描

(4) 數(shù)據(jù)備份與恢復手段:存儲設備、存儲優(yōu)化、存儲保護、存儲管理

(5) 防病毒系統(tǒng)

28、軟件配置管理工作開展的情況和認識?

參考答案:

軟件配置管理貫穿于軟件開發(fā)、測試活動的始終,覆蓋了開發(fā)、測試活動的各個環(huán)節(jié),它的重要作用之一就是要全面的管理保存各個配置項,監(jiān)控各配置項的狀態(tài),并向項目經(jīng)理及相關的人員報告,從而實現(xiàn)對軟件過程的控制。

軟件測試配置管理包括4個最基本的活動:

配置項標識

5

配置項控制

配置項狀態(tài)報告

配置審計

軟件配置管理通常借助工具來輔助,主要有MS SourceSafe、Rational ClearCase等

29、你覺得軟件測試通過的標準應該是什么樣的?

參考答案:

缺陷密度值達到客戶的要求

30、引入測試管理的含義?

參考答案:風險分析,進度控制、角色分配、質量控制

31、一套完整的測試應該由哪些階段組成?

參考答案:測試計劃、測試設計與開發(fā)、測試實施、測試評審與測試結論

32、單元測試的主要內容?

參考答案:

模塊接口測試、局部數(shù)據(jù)結構測試、路徑測試、錯誤處理測試、邊界測試

33、集成測試也叫組裝測試或者聯(lián)合測試,請簡述集成測試的主要內容?

參考答案:

(1)在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失;

(2)一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;

(3)各個子功能組合起來,能否達到預期要求的父功能;

(4)全局數(shù)據(jù)結構是否有問題;

(5)單個模塊的誤差累積起來,是否會放大,從而達到不能接受的程度。

34、簡述集成測試與系統(tǒng)測試關系?

參考答案:

(1)集成測試的主要依據(jù)概要設計說明書,系統(tǒng)測試的主要依據(jù)是需求設計說明書;

(2)集成測試是系統(tǒng)模塊的測試,系統(tǒng)測試是對整個系統(tǒng)的測試,包括相關的軟硬件平臺、網(wǎng)絡以及相關外設的測試。

35、軟件測試的文檔測試應當貫穿于軟件生命周期的全過程,其中用戶文檔是文檔測試的重點。那么軟件系統(tǒng)的用戶文檔包括哪些?

參考答案:

用戶手冊

安裝和設置指導

聯(lián)機幫助

指南、向導

樣例、示例和模板

授權/注冊登記表

最終用戶許可協(xié)議

6

36、軟件系統(tǒng)中除用戶文檔之外,文檔測試還應該關注哪些文檔?

參考答案:

開發(fā)文檔

軟件需求說明書

數(shù)據(jù)庫設計說明書

概要設計說明書

詳細設計說明書

可行性研究報告

管理文檔

項目開發(fā)計劃

測試計劃

測試報告

開發(fā)進度月報

開發(fā)總結報告

37、簡述軟件系統(tǒng)中用戶文檔的測試要點?

參考答案:

(1)讀者群。文檔面向的讀者定位要明確。對于初級用戶、中級用戶以及高級用戶應該有不同的定位

(2)術語。文檔中用到的術語要適用與定位的讀者群,用法一致,標準定義與業(yè)界規(guī)范相吻合。

(3)正確性。測試中需檢查所有信息是否真實正確,查找由于過期產(chǎn)品說明書和銷售人員夸大事實而導致

的錯誤。檢查所有的目錄、索引和章節(jié)引用是否已更新,嘗試鏈接是否準確,產(chǎn)品支持電話、地址和郵政編碼是否正確。

(4)完整性。對照軟件界面檢查是否有重要的分支沒有描述到,甚至是否有整個大模塊沒有描述到。

(5)一致性。按照文檔描述的操作執(zhí)行后,檢查軟件返回的結果是否與文檔描述的相同。

(6)易用性。對關鍵步驟以粗體或背景色給用戶以提示,合理的頁面布局、適量的圖表都可以給用戶更高

的易用性。需要注意的是文檔要有助于用戶排除錯誤。不但描述正確操作,也要描述錯誤處理辦法。文檔對于用戶看到的錯誤信息應當有更詳細的文檔解釋。

(7)圖表與界面截圖。檢查所有圖表與界面截圖是否與發(fā)行版本相同。

(8)樣例與示例。像用戶一樣載入和使用樣例。如果是一段程序,就輸入數(shù)據(jù)并執(zhí)行它。以每一個模塊制

作文件,確認它們的正確性。

(9)語言。不出現(xiàn)錯別字,不要出現(xiàn)有二義性的說法。特別要注意的是屏幕截圖或繪制圖形中的文字。

(10)印刷與包裝。檢查印刷質量;手冊厚度與開本是否合適;包裝盒的大小是否合適;有沒有零碎易丟失

的小部件等等。

38、單元測試主要內容是什么?

參考答案:

單元測試大多數(shù)由開發(fā)人員來完成,測試人員技術背景較好或者開發(fā)系統(tǒng)軟件時可能會安排測試人員進行單元測試,大多數(shù)進行的單元測試都是開發(fā)人員調試程序或者開發(fā)組系統(tǒng)聯(lián)合調試的過程。討論這個問題主要是擴充一下讀者的視野。

單元測試一般包括五個方面的測試:

(1)模塊接口測試:模塊接口測試是單元測試的基礎。只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測試才有意義。模塊接口測試也是集成測試的重點,這里進行的測試主要是為后面打好基礎。測試接口正確與否應該考慮下列因素:

-輸入的實際參數(shù)與形式參數(shù)的個數(shù)是否相同;

-輸入的實際參數(shù)與形式參數(shù)的屬性是否匹配;

-輸入的實際參數(shù)與形式參數(shù)的量綱是否一致;

-調用其他模塊時所給實際參數(shù)的個數(shù)是否與被調模塊的形參個數(shù)相同;

7

-調用其他模塊時所給實際參數(shù)的屬性是否與被調模塊的形參屬性匹配;

-調用其他模塊時所給實際參數(shù)的量綱是否與被調模塊的形參量綱一致;

-調用預定義函數(shù)時所用參數(shù)的個數(shù)、屬性和次序是否正確;

-是否存在與當前入口點無關的參數(shù)引用;

-是否修改了只讀型參數(shù);

-對全程變量的定義各模塊是否一致;

-是否把某些約束作為參數(shù)傳遞。

如果模塊功能包括外部輸入輸出,還應該考慮下列因素:

-文件屬性是否正確;

-OPEN/CLOSE語句是否正確;

-格式說明與輸入輸出語句是否匹配;

-緩沖區(qū)大小與記錄長度是否匹配;

-文件使用前是否已經(jīng)打開;

-是否處理了文件尾;

-是否處理了輸入/輸出錯誤;

-輸出信息中是否有文字性錯誤。

-局部數(shù)據(jù)結構測試;

-邊界條件測試;

-模塊中所有獨立執(zhí)行通路測試;

(2)局部數(shù)據(jù)結構測試:檢查局部數(shù)據(jù)結構是為了保證臨時存儲在模塊內的數(shù)據(jù)在程序執(zhí)行過程中完整、正確,局部功能是整個功能運行的基礎。重點是一些函數(shù)是否正確執(zhí)行,內部是否運行正確。局部數(shù)據(jù)結構往往是錯誤的根源,應仔細設計測試用例,力求發(fā)現(xiàn)下面幾類錯誤:

-不合適或不相容的類型說明;

-變量無初值;

-變量初始化或省缺值有錯;

-不正確的變量名(拼錯或不正確地截斷);

-出現(xiàn)上溢、下溢和地址異常。

(3)邊界條件測試:邊界條件測試是單元測試中最重要的一項任務。眾所周知,軟件經(jīng)常在邊界上失效,采用邊界值分析技術,針對邊界值及其左、右設計測試用例,很有可能發(fā)現(xiàn)新的錯誤。邊界條件測試是一項基礎測試,也是后面系統(tǒng)測試中的功能測試的重點,邊界測試執(zhí)行的較好,可以大大提高程序健壯性。

(4)模塊中所有獨立路徑測試:在模塊中應對每一條獨立執(zhí)行路徑進行測試,單元測試的基本任務是保證模塊中每條語句至少執(zhí)行一次。測試目的主要是為了發(fā)現(xiàn)因錯誤計算、不正確的比較和不適當?shù)目刂屏髟斐傻腻e誤。具體做法就是程序員逐條調試語句。常見的錯誤包括:

-誤解或用錯了算符優(yōu)先級;

-混合類型運算;

-變量初值錯;

-精度不夠;

-表達式符號錯。

比較判斷與控制流常常緊密相關,測試時注意下列錯誤:

-不同數(shù)據(jù)類型的對象之間進行比較;

-錯誤地使用邏輯運算符或優(yōu)先級;

-因計算機表示的局限性,期望理論上相等而實際上不相等的兩個量相等;

-比較運算或變量出錯;

-循環(huán)終止條件或不可能出現(xiàn);

-迭代發(fā)散時不能退出;

-錯誤地修改了循環(huán)變量。

模塊的各條錯誤處理通路測試:程序在遇到異常情況時不應該退出,好的程序應能預見各種出錯條件,并預設各種出錯處理通路。如果用戶不按照正常操作,程序就退出或者停止工作,實際上也是一種缺陷,因此單元測試要測試各種錯誤處理路徑。一般這種測試著重檢查下列問題:

8

-輸出的出錯信息難以理解;

-記錄的錯誤與實際遇到的錯誤不相符;

-在程序自定義的出錯處理段運行之前,系統(tǒng)已介入;

-異常處理不當;

-錯誤陳述中未能提供足夠的定位出錯信息。

39、如何理解強度測試?

參考答案:

強度測試是為了確定系統(tǒng)在最差工作環(huán)境的工作能力,也可能是用于驗證在標準工作壓力下的各種資源的最下限指標。

它和壓力測試的目標是不同的,壓力測試是在標準工作環(huán)境下,不斷增加系統(tǒng)負荷,最終測試出該系統(tǒng)能力達到的最大負荷(穩(wěn)定和峰值),而強度測試則是在非標準工作環(huán)境下,甚至不斷人為降低系統(tǒng)工作環(huán)境所需要的資源,如網(wǎng)絡帶寬,系統(tǒng)內存,數(shù)據(jù)鎖等等,以測試系統(tǒng)在資源不足的情況下的工作狀態(tài),通過強度測試,可以確定本系統(tǒng)正常工作的最差環(huán)境.

強度測試和壓力測試的測試指標相近,大多都是與時間相關的指標,如并發(fā)量(吞吐量),延遲(最大\最小\平均)以及順序指標等

強度測試需要對系統(tǒng)的結構熟悉,針對系統(tǒng)的特征設計強度測試的方法

40、如何理解壓力、負載、性能測試測試?

參考答案:

性能測試是一個較大的范圍,實際上性能測試本身包含了性能、強度、壓力、負載等多方面的測試內容。

壓力測試是對服務器的穩(wěn)定性以及負載能力等方面的測試,是一種很平常的測試。增大訪問系統(tǒng)的用戶數(shù)量、或者幾個用戶進行大數(shù)據(jù)量操作都是壓力測試。而負載測試是壓力相對較大的測試,主要是測試系統(tǒng)在一種或者集中極限條件下的相應能力,是性能測試的重要部分。100個用戶對系統(tǒng)進行連續(xù)半個小時的訪問可以看作壓力測試,那么連續(xù)訪問8個小時就可以認為負載測試,1000個用戶連續(xù)訪問系統(tǒng)1個小時也可以看作是負載測試。

實際上壓力測試和負載測試沒有明顯的區(qū)分。測試人員應該站在關注整體性能的高度上來對系統(tǒng)進行測試。

41、什么是系統(tǒng)瓶頸?

參考答案:

瓶頸主要是指整個軟硬件構成的軟件系統(tǒng)某一方面或者幾個方面能力不能滿足用戶的特定業(yè)務要求,“特定”是指瓶頸會在某些條件下會出現(xiàn),因為畢竟大多數(shù)系統(tǒng)在投入前。

嚴格的從技術角度講,所有的系統(tǒng)都會有瓶頸,因為大多數(shù)系統(tǒng)的資源配置不是協(xié)調的,例如CPU使用率剛好達到100%時,內存也正好耗盡的系統(tǒng)不是很多見。因此我們討論系統(tǒng)瓶頸要從應用的角度討論:關鍵是看系統(tǒng)能否滿足用戶需求。在用戶極限使用系統(tǒng)的情況下,系統(tǒng)的響應仍然正常,我們可以認為改系統(tǒng)沒有瓶頸或者瓶頸不會影響用戶工作。

因此我們測試系統(tǒng)瓶頸主要是實現(xiàn)下面兩個目的:

-發(fā)現(xiàn)“表面”的瓶頸。主要是模擬用戶的操作,找出用戶極限使用系統(tǒng)時的瓶頸,然后解決瓶頸,這是性能測試的基本目標。

-發(fā)現(xiàn)潛在的瓶頸并解決,保證系統(tǒng)的長期穩(wěn)定性。主要是考慮用戶在將來擴展系統(tǒng)或者業(yè)務發(fā)生變化時,系統(tǒng)能夠適應變化。滿足用戶目前需求的系統(tǒng)不是最好的,我們設計系統(tǒng)的目標是在保證系統(tǒng)整個軟件生命周期能夠不斷適應用戶的變化,或者通過簡單擴展系統(tǒng)就可以適應新的變化。

9

42、文檔測試主要包含什么內容?

參考答案:

在國內軟件開發(fā)管理中,文檔管理幾乎是最弱的一項,因而在測試工作中特別容易忽略文檔測試也就不足為奇了。要想給用戶提供完整的產(chǎn)品,文檔測試是必不可少的。文檔測試一般注重下面幾個方面:

文檔的完整性:主要是測試文檔內容的全面性與完整性,從總體上把握文檔的質量。例如用戶手冊應該包括軟件的所有功能模塊。

描述與軟件實際情況的一致性:主要測試軟件文檔與軟件實際的一致程度。例如用戶手冊基本完整后,我們還要注意用戶手冊與實際功能描述是否一致。因為文檔往往跟不上軟件版本的更新速度。

易理解性:主要是檢查文檔對關鍵、重要的操作有無圖文說明,文字、圖表是否易于理解。對于關鍵、重要的操作僅僅只有文字說明肯定是不夠的,應該附有圖表使說明更為直觀和明了。

文檔中提供操作的實例:這項檢查內容主要針對用戶手冊。對主要功能和關鍵操作提供的應用實例是否豐富,提供的實例描述是否詳細。只有簡單的圖文說明,而無實例的用戶手冊看起來就像是軟件界面的簡單拷貝,對于用戶來說,實際上沒有什么幫助。

印刷與包裝質量:主要是檢查軟件文檔的商品化程度。有些用戶手冊是簡單打印、裝訂而成,過于粗糙,不易于用戶保存。優(yōu)秀的文檔例如用戶手冊和技術白皮書,應提供商品化包裝,并且印刷精美。

43、功能測試用例需要詳細到什么程度才是合格的?

參考答案:

這個問題也是測試工程師經(jīng)常問的問題。有人主張測試用例詳細到每個步驟執(zhí)行什么都要寫出來,目的是即使一個不了解系統(tǒng)的新手都可以按照測試用例來執(zhí)行工作。主張這類寫法的人還可以舉出例子:歐美、日本等軟件外包文檔都是這樣做的。

另外一種觀點就是主張寫的粗些,類似于編寫測試大綱。主張這種觀點的人是因為軟件開發(fā)需求管理不規(guī)范,變動十分頻繁,因而不能按照歐美的高標準來編寫測試用例。這樣的測試用例容易維護,可以讓測試執(zhí)行人員有更大的發(fā)揮空間。

實際上,軟件測試用例的詳細程度首先要以覆蓋到測試點為基本要求。舉個例子:“用戶登陸系統(tǒng)”的測試用例可以不寫出具體的執(zhí)行數(shù)據(jù),但是至少要寫出五種以上情況(),如果只用一句話覆蓋了這個功能是不合格的測試用例。覆蓋功能點不是指列出功能點,而是要寫出功能點的各個方面(如果組合情況較多時可以采用等價劃分)。

另一個影響測試用例的就是組織的開發(fā)能力和測試對象特點。如果開發(fā)力量比較落后,編寫較詳細的測試用例是不現(xiàn)實的,因為根本沒有那么大的資源投入,當然這種情況很隨著團隊的發(fā)展而逐漸有所改善。測試對象特點重點是指測試對象在進度、成本等方面的要求,如果進度較緊張的情況下,是根本沒有時間寫出高質量的測試用例的,甚至有些時候測試工作只是一種輔助工作,因而不編寫測試用例。

因此,測試用例的編寫要根據(jù)測試對象特點、團隊的執(zhí)行能力等各個方面綜合起來決定編寫策略。最后要注意的是測試人員一定不能抱怨,力爭在不斷提高測試用例編寫水平的同時,不斷地提高自身能力。

44、配置和兼容性測試的區(qū)別是什么?

參考答案:

配置測試的目的是保證軟件在其相關的硬件上能夠正常運行,而兼容性測試主要是測試軟件能否與不同的軟件正確協(xié)作。

配置測試的核心內容就是使用各種硬件來測試軟件的運行情況,一般包括:

(1)軟件在不同的主機上的運行情況,例如Dell和Apple;

(2)軟件在不同的組件上的運行情況,例如開發(fā)的撥號程序要測試在不同廠商生產(chǎn)的Modem上的運行情況;

(3)不同的外設;

(4)不同的接口;

(5)不同的可選項,例如不同的內存大小;

兼容性測試的核心內容:

10

(1)測試軟件是否能在不同的操作系統(tǒng)平臺上兼容;

(2)測試軟件是否能在同一操作系統(tǒng)平臺的不同版本上兼容;

(3)軟件本身能否向前或者向后兼容;

(4)測試軟件能否與其它相關的軟件兼容;

(5)數(shù)據(jù)兼容性測試,主要是指數(shù)據(jù)能否共享;

配置和兼容性測試通稱對開發(fā)系統(tǒng)類軟件比較重要,例如驅動程序、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)等。具體進行時仍然按照測試用例來執(zhí)行。

45、軟件文檔測試主要包含什么?

參考答案:

隨著軟件文檔系統(tǒng)日益龐大,文檔測試已經(jīng)成為軟件測試的重要內容。文檔測試對象主要如下: -包裝文字和圖形;

-市場宣傳材料、廣告以及其它插頁;

-授權、注冊登記表;

-最終用戶許可協(xié)議;

-安裝和設置向導;

-用戶手冊;

-聯(lián)機幫助;

-樣例、示范例子和模板;

-??

文檔測試的目的是提高易用性和可靠性,降低支持費用,因為用戶通過文檔就可以自己解決問題。因文檔測試的檢查內容主要如下:

-讀者對象——主要是文檔的內容是否能讓該級別的讀者理解;

-術語——主要是檢查術語是否適合讀者;

-內容和主題——檢查主題是否合適、是否丟失、格式是否規(guī)范等;

-圖標和屏幕抓圖——檢查圖表的準確度和精確度;

-樣例和示例——是否與軟件功能一致;

-拼寫和語法;

-文檔的關聯(lián)性——是否與其它相關文檔的內容一致,例如與廣告信息是否一致;

文檔測試是相當重要的一項測試工作,不但要給予充分的重視,更要要認真的完成,象做功能測試一樣來對待文檔測試。

46、沒有產(chǎn)品說明書和需求文檔地情況下能夠進行黑盒測試嗎?

參考答案:

這個問題是國內測試工程師經(jīng)常遇到的問題,根源就是國內軟件開發(fā)文檔管理不規(guī)范,對變更的管理方法就更不合理了。實際上沒有任何文檔的時候,測試人員是能夠進行黑盒測試的,這種測試方式我們可以稱之為探索測試,具體做法就是測試工程師根據(jù)自己的專業(yè)技能、領域知識等不斷的深入了解測試對象、理解軟件功能,進而發(fā)現(xiàn)缺陷。

在這種做法基本上把軟件當成了產(chǎn)品說明書,測試過程中要和開發(fā)人員不斷的進行交流。尤其在作項目的時候,進度壓力比較大,可以作為加急測試方案。最大的風險是不知道有些特性是否被遺漏。

47、測試中的“殺蟲劑怪事”是指什么?

參考答案:

“殺蟲劑怪事”一詞由BorisBeizer在其編著的《軟件測試技術》第二版中提出。用于描述測試人員對同一測試對象進行的測試次數(shù)越多,發(fā)現(xiàn)的缺陷就會越來越少的現(xiàn)象。就像老用一種農(nóng)藥,害蟲就會有免疫力,農(nóng)藥發(fā)揮不了效力。這種現(xiàn)象的根本原因就是測試人員對測試軟件過于熟悉,形成思維定勢。

為了克服這種現(xiàn)象,測試人員需要不斷編寫新的測試程序或者測試用例,對程序的不同部分進行測 11

試,以發(fā)現(xiàn)更多的缺陷。也可以引用新人來測試軟件,剛剛進來的新手往往能發(fā)現(xiàn)一些意想不到的問題。

48、在配置測試中,如何判斷發(fā)現(xiàn)的缺陷是普通問題還是特定的配置問題?

參考答案:

在進行配置測試時,測試工程師仍然會發(fā)現(xiàn)一些普通的缺陷,也就是與配置環(huán)境無關的缺陷。因此判斷新發(fā)現(xiàn)的問題,需要在不同的配置中重新執(zhí)行發(fā)現(xiàn)軟件缺陷的步驟,如果軟件缺陷不出現(xiàn)了,就可能是配置缺陷;如果在所有的配置中都出現(xiàn),就可能是普通缺陷。

需要注意的是,配置問題可以在一大類配置中出現(xiàn)。例如,撥號程序可能在所有的外置Modem中都存在問題,而內置的Modem不會有任何問題。

49、為什么盡量不要讓時間有富裕的員工去做一些測試?

參考答案:

表面上看這體現(xiàn)了管理的效率和靈活性,但實際上也體現(xiàn)了管理者對測試的輕視。測試和測試的人有很大關系。測試工作人員應該是勤奮并富有耐心,善于學習、思考和發(fā)現(xiàn)問題,細心有條理,總結問題,如果具備這樣的優(yōu)點,做其它工作同樣也會很出色,因此這里還有一個要求,就是要喜歡測試這項工作。如果他是專職的,那么肯定更有經(jīng)驗和信心。國內的小伙子好象都喜歡做程序員,兩者工作性質不同,待遇不同,地位不同,對自我實現(xiàn)的價值的認識也不同,這是行業(yè)的一個需要改善的問題。如果只是為了完成任務而完成任務,或者發(fā)現(xiàn)了幾個問題就覺得滿意了,這在任何其它工作中都是不行的。

50、完全測試程序是可能的嗎?

參考答案:

軟件測試初學者可能認為拿到軟件后需要進行完全測試,找到全部的軟件缺陷,使軟件“零缺陷”發(fā)布。實際上完全測試是不可能的。主要有以下一個原因:

-完全測試比較耗時,時間上不允許;

-完全測試通常意味著較多資源投入,這在現(xiàn)實中往往是行不通的;

-輸入量太大,不能一一進行測試;

-輸出結果太多,只能分類進行驗證;

-軟件實現(xiàn)途徑太多;

-軟件產(chǎn)品說明書沒有客觀標準,從不同的角度看,軟件缺陷的標準不同;

因此測試的程度要根據(jù)實際情況確定。

51、軟件測試的風險主要體現(xiàn)在哪里?

參考答案:

我們沒有對軟件進行完全測試,實際就是選擇了風險,因為缺陷極有可能存在沒有進行測試的部分。舉個例子,程序員為了方便,在調試程序時會彈出一些提示信息框,而這些提示只在某種條件下會彈出,碰巧程序發(fā)布前這些代碼中的一些沒有被注釋掉。在測試時測試工程師又沒有對其進行測試。如果客戶碰到它,這將是代價昂貴的缺陷,因為交付后才被客戶發(fā)現(xiàn)。

因此,我們要盡可能的選擇最合適的測試量,把風險降低到最小。

52、發(fā)現(xiàn)的缺陷越多,說明軟件缺陷越多嗎?

參考答案:

這是一個比較常見的現(xiàn)象。測試工程師在沒有找到缺陷前會絞盡腦汁的思考,但是找到一個后,會接二連三的發(fā)現(xiàn)很多缺陷,頗有個人成就感。其中的原因主要如下:

-代碼復用、拷貝代碼導致程序員容易犯相同的錯誤。類的繼承導致所有的子類會包含基類的錯誤,反復拷貝同一代碼意味可能也復制了缺陷。

12

-程序員比較勞累是可以導致某些連續(xù)編寫的功能缺陷較多。程序員加班是一種司空見慣的現(xiàn)象,因此體力不只時容易編寫一些缺陷較多的程序。而這些連續(xù)潛伏缺陷恰恰時測試工程師大顯身手的地方。

“缺陷一個連著一個”不是一個客觀規(guī)律,只是一個常見的現(xiàn)象。如果軟件編寫的比較好,這種現(xiàn)象就不常見了。測試人員只要嚴肅認真的測試程序就可以了。

53、所有的軟件缺陷都能修復嗎?所有的軟件缺陷都要修復嗎?

參考答案:

從技術上講,所有的軟件缺陷都是能夠修復的,但是沒有必要修復所有的軟件缺陷。測試人員要做的是能夠正確判斷什么時候不能追求軟件的完美。對于整個項目團隊,要做的是對每一個軟件缺陷進行取舍,根據(jù)風險決定那些缺陷要修復。發(fā)生這種現(xiàn)象的主要原因如下:

-沒有足夠的時間資源。在任何一個項目中,通常情況下開發(fā)人員和測試人員都是不夠用的,而且在項目中沒有預算足夠的回歸測試時間,再加上修改缺陷可能引入新的缺陷,因此在交付期限的強大壓力下,必須放棄某些缺陷的修改。

-有些缺陷只是特殊情況下出現(xiàn),這種缺陷處于商業(yè)利益考慮,可以在以后升級中進行修復。

-不是缺陷的缺陷。我們經(jīng)常會碰到某些功能方面的問題被當成缺陷來處理,這類問題可以以后有時間時考慮再處理。

最后要說的是,缺陷是否修改要由軟件測試人員、項目經(jīng)理、程序員共同討論來決定是否修復,不同角色的人員從不同的角度來思考,以做出正確的決定。

54、軟件測試人員就是QA嗎?

參考答案:

軟件測試人員的職責是盡可能早的找出軟件缺陷,確保得以修復。而質量保證人員(QA)主要職責是創(chuàng)建或者制定標準和方法,提高促進軟件開發(fā)能力和減少軟件缺陷。測試人員的主要工作是測試,質量保證人員日常工作重要內容是檢查與評審,測試工作也是測試保證人員的工作對象。

軟件測試和質量是相輔相成的關系,都是為了提高軟件質量而工作。

55、如何減少測試人員跳槽帶來的損失?

參考答案:

在IT行業(yè)里跳槽已經(jīng)是一種司空見慣的現(xiàn)象,而且跳槽無論給公司還是給個人都會帶來一定的損失。測試隊伍也無疑會面臨跳槽的威脅,作為測試經(jīng)理管理者,只有從日常工作中開始做起,最能最大限度的減少損失。建議我們從以下兩個方面做起:

-加強部門內員工之間的互相學習,互相學習是建立學習型組織的基本要求,是知識互相轉移的過程。在此基礎上,可以把個人擁有的技術以知識的形式沉積下來,也就完成了隱性知識到顯性知識的轉化。

-通常情況下,企業(yè)能為員工提供足夠大的發(fā)展空間時,如果不是待遇特別低,員工都不會主動離開企業(yè)。因此我們要想留住員工,管理者就應該把員工的個人成長和企業(yè)的發(fā)展聯(lián)系起來,為員工設定合理發(fā)展規(guī)劃并付諸實現(xiàn)。不過這項要求做起來比較,要有比較好的企業(yè)文化為依托。

56、測試產(chǎn)品與測試項目的區(qū)別是什么?

參考答案:

習慣上把開發(fā)完成后進行商業(yè)化、幾乎不進行代碼修改就可以售給用戶使用的軟件成為軟件產(chǎn)品,也就是可以買“賣拷貝”的軟件,例如Windows2000。而通常把針對一個或者幾個特定的用戶而開發(fā)的軟件成為軟件項目,軟件項目是一種個性化的產(chǎn)品,可以是按照用戶要求全部重新開發(fā),也可以修改已有的軟件產(chǎn)品來滿足特定的用戶需求。項目和產(chǎn)品的不同特點,決定我們測試產(chǎn)品和測試項目仍然會有很多不同的地方:

-質量要求不同。通常產(chǎn)品的質量要高一些,修復發(fā)布后產(chǎn)品的缺陷成本較高,甚至會帶來很多負面 13

的影響。而做項目通常面向某一用戶,雖然質量越高越好,但是一般只要滿足用戶要求就可以了。

-測試資源投入多少不同。做軟件產(chǎn)品通常是研發(fā)中心來開發(fā),進度壓力要小些。同時由于質量要求高,因此會投入較多的人力、物力資源。

-項目最后要和用戶共同驗收測試,這是產(chǎn)品測試不具有的特點。

此外,測試產(chǎn)品與測試項目在缺陷管理方面、測試策略制定都會有很大不同,測試管理者應該結合具體的環(huán)境,恰如其分的完成工作。

57、和用戶共同測試(UAT測試)的注意點有哪些?

參考答案:

軟件產(chǎn)品在投產(chǎn)前,通常都會進行用戶驗收測試。如果用戶驗收測試沒有通過,直接結果就是那不到“Money”,間接影響是損害了公司的形象,而后者的影響往往更嚴重。根據(jù)作者的經(jīng)驗,用戶驗收測試一定要讓用戶滿意。

實際上用戶現(xiàn)場測試更趨于是一種演示。在不欺騙用戶的前提下,我們向用戶展示我們軟件的優(yōu)點,最后讓“上帝”滿意并欣然掏出“銀子”才是我們的目標。因此用戶測試要注意下面的事項:

(1)用戶現(xiàn)場測試不可能測試全部功能,因此要測試核心功能。這需要提前做好準備,這些核心功能一定要預先經(jīng)過測試,證明沒有問題才可以和用戶共同進行測試。測試核心模塊的目的是建立用戶對軟件的信心。當然如果這些模塊如果問題較多,不應該進行演示。

(2)如果某些模塊確實有問題,我們可以演示其它重要的業(yè)務功能模塊,必要時要向用戶做成合理的解釋。爭得時間后,及時修改缺陷來彌補。

(3)永遠不能欺騙用戶,蒙混過關。道理很簡單,因為軟件是要給用戶用的,問題早晚會暴露出來,除非你可以馬上修改。

和用戶進行測試還要注意各種交流技巧,爭取不但短期利益得到了滿足,還要為后面得合作打好基礎。

58、如何編寫提交給用戶的測試報告?

參考答案:

隨著測試工作越來越受重視,開發(fā)團隊向客戶提供測試文檔是不可避免的事情。很多人會問:“我們可以把工作中的測試報告提供給客戶嗎?”答案是否定的。因為提供內部測試報告,可能會讓客戶失去信心,甚至否定項目。

測試報告一般分為內部測試報告和外部測試報告。內部報告是我們在測試工作中的項目文檔,反映了測試工作的實施情況,這里不過多討論,讀者可以參考相關教材。這里主要討論一下外部測試報告的寫法,一般外部測試報告要滿足下面幾個要求:

-根據(jù)內部測試報告進行編寫,一般可以摘錄;

-不可以向客戶報告嚴重缺陷,即使是已經(jīng)修改的缺陷,開發(fā)中的缺陷也沒有必要讓客戶知道; -報告上可以列出一些缺陷,但必須是中級的缺陷,而且這些缺陷必須是修復的;

-報告上面的內容盡量要真實可靠;

-整個測試報告要仔細審閱,力爭不給項目帶來負面作用,尤其是性能測試報告。

總之,外部測試報告要小心謹慎的編寫。

59、測試工具在測試工作中是什么地位?

參考答案:

國內的很多測試工程師對測試工具相當迷戀,尤其是一些新手,甚至期望測試工具可以取代手工測試。測試工具在測試工作中起的是輔助作用,一般用來提高測試效率。自動化測試彌補了手工測試的不足,減輕一定的工作量。實際上測試工具是無法替代大多數(shù)手工測試的,而一些諸如性能測試等自動化測試也是手工所不能完成的。

對于自動測試技術,應當依據(jù)軟件的不同情況來分別對待,一般自動技術會應用在引起大量重復性工作的地方、系統(tǒng)的壓力點、以及任何適合使用程序解決大批量輸入數(shù)據(jù)的地方。然后再尋找合適的自動測 14

試工具,或者自己開發(fā)測試程序。一定不要為了使用測試工具而使用。

60、什么是軟件測試,軟件測試的目的?

參考答案:無

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、問:你在測試中發(fā)現(xiàn)了一個bug,但是開發(fā)經(jīng)理認為這不是一個bug,你應該怎樣解決? 首先,將問題提交到缺陷管理...
    小灰輝先生閱讀 1,350評論 0 3
  • 1****、問:你在測試中發(fā)現(xiàn)了一個bug****,但是開發(fā)經(jīng)理認為這不是一個bug****,你應該怎樣解決?首先...
    一箭閱讀 9,103評論 1 205
  • 文章來自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,215評論 2 126
  • 61、簡述負載測試與壓力測試的區(qū)別。 參考答案: 壓力測試(Stress Testing) 壓力測試的主要任務就是...
    天宇逍遙heart閱讀 761評論 0 3
  • 相遇傾心 從眼里讀出故事 誰也沒有說天長地久 他唱歌她畫畫 他們成了別人的風景 成了相傳的故事 月缺是微笑 月圓是...
    卿云巷閱讀 651評論 0 0