1、問:你在測試中發現了一個bug,但是開發經理認為這不是一個bug,你應該怎樣解決? 首先,將問題提交到缺陷管理庫里面進行備案。 然后,要獲取判斷的依據和標準:
合理的論述,向測試經理說明自己的判斷的理由,注意客觀、嚴謹,不參雜個人情緒。 等待測試經理做出最終決定,如果仍然存在爭議,可以通過公司政策所提供的渠道,向上級反映,并有上級做出決定。
2、問:給你一個網站,你如何測試? 首先,查找需求說明、網站設計等相關文檔,分析測試需求。 制定測試計劃,確定測試范圍和測試策略,一般包括以下幾個部分:功能性測試;界面測試;性能測試;數據庫測試;安全性測試;兼容性測試 設計測試用例: 功能性測試可以包括,但不限于以下幾個方面:
界面測試可以包括但不限于一下幾個方面:
性能測試一般從以下兩個方面考慮: 壓力測試;負載測試;強度測試 數據庫測試要具體決定是否需要開展。數據庫一般需要考慮連結性,對數據的存取操作,數據內容的驗證等方面。 安全性測試:
兼容性測試,根據需求說明的內容,確定支持的平臺組合:
開展測試,并記錄缺陷。合理的安排調整測試進度,提前獲取測試所需的資源,建立管理體系(例如,需求變更、風險、配置、測試文檔、缺陷報告、人力資源等內容)。 定期評審,對測試進行評估和總結,調整測試的內容。
3、在搜索引擎中輸入漢字就可以解析到對應的域名,請問如何用LoadRunner進行測試。
錄制測試腳本:新建一個腳本(Web/HTML協議);點擊錄制按鈕,在彈出的對話框的URL中輸入”about:blank”;在打開的瀏覽器中進行正常操作流程后,結束錄制;調試腳本并保存,可能要注意到字符集的關聯。 設置測試場景:針對性能設置測試場景,主要判斷在正常情況下,系統的平均事務響應時間是否達標;針對壓力負載設置測試場景,主要判斷在長時間處于滿負荷或者超出系統承載能力的條件下,系統是否會崩潰;執行測試,獲取測試結果,分析測試結果
4、問:一臺客戶端有三百個客戶與三百個客戶端有三百個客戶對服務器施壓,有什么區別?
5、試述軟件的概念和特點?軟件復用的含義?構件包括哪些? 軟件是計算機系統中與硬件相互依存的另一部分,與計算機系統操作有關的計算機程序、規程、規則,以及可能有的文件、文檔及數據。 軟件復用(SoftWare Reuse)是將已有軟件的各種有關知識用于建立新的軟件,以縮減軟件開發和維護的花費。軟件復用是提高軟件生產力和質量的一種重要技術。早期的軟件復用主要是代碼級復用,被復用的知識專指程序,后來擴大到包括領域知識、開發經驗、設計決定、體系結構、需求、設計、代碼和文檔等一切有關方面。 可以被復用的軟件成分一般稱作可復用構件
6、軟件生存周期及其模型是什么? 軟件生存周期(Software life cycle)又稱為軟件生命期,生存期。是指從形成開發軟件概念起,所開發的軟件使用以后,知道失去使用價值消亡為止的整個過程。一般來說,整個生存周期包括計劃(定義)、開發、運行(維護)三個時期,每個時期又劃分為若干個階段。每個階段有明確的任務。 周期模型(典型的幾種):
生命周期階段:
7、什么是軟件測試?軟件測試的目的與原則 在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。 軟件測試的目的:
軟件測試的原則:
8、軟件配置管理的作用?軟件配置包括什么? 軟件配置管理(Software Configuration Management,SCM)是一種標識、組織和控制修改的技術。軟件配置管理應用于整個軟件工程過程。在軟件建立時變更是不可避免的,而變更加劇了項目中軟件開發者之間的混亂。SCM活動的目標就是為了標識變更、控制變更、確保變更正確實現并向其他有關人員報告變更。從某種角度講,SCM是一種標識、組織和控制修改的技術,目的是使錯誤降為最小并最有效地提高生產效率。 軟件配置包括如下內容:配置項識別、工作空間管理、版本控制、變更控制、狀態報告、配置審計
9、什么是軟件質量? 概括地說,軟件質量就是“軟件與明確的和隱含的定義的需求相一致的程度”。具體地說,軟件質量是軟件符合明確敘述的功能和性能需求、文檔中明確描述的開發標準、以及所有專業開發的軟件都應具有的隱含特征的程度。 影響軟件質量的主要因素,這些因素是從管理角度對軟件質量的度量。可劃分為三組,分別反應用戶在使用軟件產品時的三種觀點。正確性、健壯性、效率、完整性、可用性、風險(產品運行);可理解性、可維修性、靈活性、可測試性(產品修改);可移植性、可再用性、互運行性(產品轉移)。
10、目前主要的測試用例設計方法是什么? 白盒測試:邏輯覆蓋、循環覆蓋、基本路徑覆蓋 黑盒測試:邊界值分析法、等價類劃分、錯誤猜測法、因果圖法、狀態圖法、測試大綱法、隨機測試、場景法
11、軟件的安全性應從哪幾個方面去測試? 軟件安全性測試包括程序、數據庫安全性測試。根據系統安全指標不同測試策略也不同。
12、什么是測試用例 什么是測試腳本 兩者的關系是什么? 為實施測試而向被測試系統提供的輸入數據、操作或各種環境設置以及期望結果的一個特定的集合。 測試腳本是為了進行自動化測試而編寫的腳本。 測試腳本的編寫必須對應相應的測試用例
13、簡述什么是靜態測試、動態測試、黑盒測試、白盒測試、α測試 β測試
14、軟件質量保證體系是什么 國家標準中與質量保證管理相關的幾個標準是什么?他們的編號和全稱是什么? SQA由一套軟件工程過程和方法組成,以保證(軟件的)質量。SQA貫穿整個軟件開發過程,(它)應包括需求文檔評審、代碼控制、代碼評審、變更管理、配置管理、版本管理和軟件測試。 軟件質量保證(SQA-Software Quality Assurance)是建立一套有計劃,有系統的方法,來向管理層保證擬定出的標準、步驟、實踐和方法能夠正確地被所有項目所采用。軟件質量保證的目的是使軟件過程對于管理人員來說是可見的。它通過對軟件產品和活動進行評審和審計來驗證軟件是合乎標準的。軟件質量保證組在項目開始時就一起參與建立計劃、標準和過程。這些將使軟件項目滿足機構方針的要求。
15、軟件產品質量特性是什么? 功能性:適應性、準確性、互操作性、依從性、安全性。 可靠性:成熟性、容錯性、易恢復性。 可使用性:易理解性、易學習性、易操作性。 效率:時間特性、資源特性。 可維護性:易分析性、易變更性、穩定性、易測試性。 可移植性: 適應性、易安裝性、遵循性、易替換性
16、軟件測試的策略是什么? 軟件測試策略:在一定的軟件測試標準、測試規范的指導下,依據測試項目的特定環境約束而規定的軟件測試的原則、方式、方法的集合。
17、軟件測試分為幾個階段 各階段的測試策略和要求是什么? 和開發過程相對應,測試過程會依次經歷單元測試、集成測試、系統測試、驗收測試四個主要階段:
單元測試測試策略: 自頂向下的單元測試策略:比孤立單元測試的成本高很多,不是單元測試的一個好的選擇。 自底向上的單元測試策略:比較合理的單元測試策略,但測試周期較長。 孤立單元測試策略:最好的單元測試策略。 集成測試的測試策略: 大爆炸集成:適應于一個維護型項目或被測試系統較小 自頂向下集成:適應于產品控制結構比較清晰和穩定;高層接口變化較??;底層接口未定義或經常可能被修改;產口控制組件具有較大的技術風險,需要盡早被驗證;希望盡早能看到產品的系統功能行為。 自底向上集成:適應于底層接口比較穩定;高層接口變化比較頻繁;底層組件較早被完成。 基于進度的集成 系統測試的測試策略: 數據和數據庫完整性測試;功能測試;用戶界面測試;性能評測;負載測試;強度測試;容量測試;安全性和訪問控制測試;故障轉移和恢復測試;配置測試;安裝測試;加密測試;可用性測試;版本驗證測試;文檔測試
18、軟件測試各個階段通常完成什么工作?各個階段的結果文件是什么?包括什么內容? 單元測試階段:各獨立單元模塊在與系統地其他部分相隔離的情況下進行測試,單元測試針對每一個程序模塊進行正確性校驗,檢查各個程序模塊是否正確地實現了規定的功能。生成單元測試報告,提交缺陷報告。 集成測試階段:集成測試是在單元測試的基礎上,測試在將所有的軟件單元按照概要設計規格說明的要求組裝成模塊、子系統或系統的過程中各部分工作是否達到或實現相應技術指標及要求的活動。該階段生成集成測試報告,提交缺陷報告。 系統測試階段:將通過確認測試的軟件,作為整個給予計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、數據和人員等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行全面的功能覆蓋。該階段需要提交測試總結和缺陷報告。
19、測試人員在軟件開發過程中的任務是什么? 1、盡可能早的找出系統中的Bug;
20、在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內容?如何提交高質量的軟件缺陷(Bug)記錄? 一條Bug記錄最基本應包含: bug編號; 1) 通用UI要統一、準確
21、黑盒測試和白盒測試是軟件測試的兩種基本方法,請分別說明各自的優點和缺點! 黑盒測試的優點有:比較簡單,不需要了解程序內部的代碼及實現;與軟件的內部實現無關; 從用戶角度出發,能很容易的知道用戶會用到哪些功能,會遇到哪些問題;基于軟件開發文檔,所以也能知道軟件實現了文檔中的哪些功能;在做軟件自動化測試時較為方便。 黑盒測試的缺點有:不可能覆蓋所有的代碼,覆蓋率較低,大概只能達到總代碼量的30%;自動化測試的復用性較低。 白盒測試的優點有:幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質量,發現代碼中隱 藏的問題。 白盒測試的缺點有:程序運行會有很多不同的路徑,不可能測試所有的運行路徑;測試基于代碼,只能測試開發人員做的對不對,而不能知道設計的正確與否,可能會漏掉一些功能需求;系統龐大時,測試開銷會非常大。
22、如何測試一個紙杯? 功能度:用水杯裝水看漏不漏;水能不能被喝到 安全性:杯子有沒有毒或細菌 可靠性:杯子從不同高度落下的損壞程度 可移植性:杯子在不同的地方、溫度等環境下是否都可以正常使用 兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等 易用性:杯子是否燙手、是否有防滑措施、是否方便飲用 用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細描述 疲勞測試:將杯子盛上水(案例一)放24小時檢查泄漏時間和情況;盛上汽油(案例二)放24小時檢查泄漏時間和情況等 壓力測試:用根針并在針上面不斷加重量,看壓強多大時會穿透
22、測試計劃工作的目的是什么?測試計劃文檔的內容應該包括什么?其中哪些是最重要的? 軟件測試計劃是指導測試過程的綱領性文件:
包含了產品概述、測試策略、測試方法、測試區域、測試配置、測試周期、測試資源、測試交流、風險分析等內容。借助軟件測試計劃,參與測試的項目成員,尤其是測試管理人員,可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進度,應對測試過程中的各種變更。 測試計劃編寫6要素(5W1H):
測試計劃和測試詳細規格、測試用例之間是戰略和戰術的關系,測試計劃主要從宏觀上規劃測試活動的范圍、方法和資源配置,而測試詳細規格、測試用例是完成測試任務的具體戰術。所以其中最重要的是測試測試策略和測試方法(最好是能先評審)。
23、黑盒測試的測試用例常見設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。 1)等價類劃分: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數據合理劃分為若干等價類,在每一個等價類中取一個數據作為測試的輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類. 2)邊界值分析法:是對等價類劃分方法的補充。測試工作經驗告訴我,大量的錯誤是發生在輸入或輸出范圍的邊界上,而不是發生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤. 使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據. 3)錯誤猜測法:基于經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法. 錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例. 例如, 在單元測試時曾列出的許多在模塊中常見的錯誤. 以前產品測試中曾經發現的錯誤等, 這些就是經驗的總結. 還有, 輸入數據和輸出數據為0的情況. 輸入表格為空格或輸入表格只有一行. 這些都是容易發生錯誤的情況. 可選擇這些情況下的例子作為測試用例. 4)因果圖方法:前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯系, 相互組合等. 考慮輸入條件之間的相互組合,可能會產生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應產生多個動作的形式來考慮設計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況. 5)正交表分析法:可能因為大量的參數的組合而引起測試用例數量上的激增,同時,這些測試用例并沒有明顯的優先級上的差距,而測試人員又無法完成這么多數量的測試,就可以通過正交表來進行縮減一些用例,從而達到盡量少的用例覆蓋盡量大的范圍的可能性。 6)場景分析方法:指根據用戶場景來模擬用戶的操作步驟,這個比較類似因果圖,但是可能執行的深度和可行性更好。 7)狀態圖法:通過輸入條件和系統需求說明得到被測系統的所有狀態,通過輸入條件和狀態得出輸出條件;通過輸入條件、輸出條件和狀態得出被測系統的測試用例。 8)大綱法:大綱法是一種著眼于需求的方法,為了列出各種測試條件,就將需求轉換為大綱的形式。大綱表示為樹狀結構,在根和每個葉子結點之間存在唯一的路徑。大綱中的每條路徑定義了一個特定的輸入條件集合,用于定義測試用例。樹中葉子的數目或大綱中的路徑給出了測試所有功能所需測試用例的大致數量。
24、詳細的描述一個測試活動完整的過程。(供參考,本答案主要是瀑布模型的做法) 項目經理通過和客戶的交流,完成需求文檔,由開發人員和測試人員共同完成需求文檔的評審,評審的內容包括:需求描述不清楚的地方和可能有明顯沖突或者無法實現的功能的地方。項目經理通過綜合開發人員,測試人員以及客戶的意見,完成項目計劃。然后SQA進入項目,開始進行統計和跟蹤 開發人員根據需求文檔完成需求分析文檔,測試人員進行評審,評審的主要內容包括是否有遺漏或雙方理解不同的地方。測試人員完成測試計劃文檔,測試計劃包括的內容上面有描述。 測試人員根據修改好的需求分析文檔開始寫測試用例,同時開發人員完成概要設計文檔,詳細設計文檔。此兩份文檔成為測試人員撰寫測試用例的補充材料。 測試用例完成后,測試和開發需要進行評審。 測試人員搭建環境 開發人員提交第一個版本,可能存在未完成功能,需要說明。測試人員進行測試,發現BUG后提交給BugZilla。 開發提交第二個版本,包括Bug Fix以及增加了部分功能,測試人員進行測試。 重復上面的工作,一般是3-4個版本后BUG數量減少,達到出貨的要求。 如果有客戶反饋的問題,需要測試人員協助重現并重新測試。
26、BUG管理工具的跟蹤過程(用BugZilla為例子) 測試人員發現了BUG,提交到Bugzilla中,狀態為new,BUG的接受者為開發接口人員 開發接口將BUG分配給相關的模塊的開發人員,狀態修改為已分配,開發人員和測試確認BUG,如果是本人的BUG,則設置為接收;如果是別的開發人員的問題,則轉發出去,由下一個開發人員來進行此行為;如果認為不是問題,則需要大家討論并確認后,拒絕這個BUG,然后測試人員關閉此問題。 如果開發人員接受了BUG,并修改好以后,將BUG狀態修改為已修復,并告知測試在哪個版本中可以測試。 測試人員在新版本中測試,如果發現問題依然存在,則拒絕驗證;如果已經修復,則關閉BUG。
27、您認為在測試人員同開發人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?維持測試人員同開發團隊中其他成員良好的人際關系的關鍵是什么? 盡量面對面的溝通,其次是能直接通過電話溝通,如果只能通過Email等非及時溝通工具的話,強調必須對特性的理解深刻以及能表達清楚。 運用一些測試管理工具如TestDirector進行管理也是較有效的方法,同時要注意在TestDirector中對BUG有準確的描述。 在團隊中建立測試人員與開發人員良好溝通中注意以下幾點: 一真誠、二是團隊精神、三是在專業上有共同語言、四是要對事不對人,工作至上 當然也可以通過直接指出一些小問題,而不是進入BUG Tracking System來增加對方的好感。
28、你對測試最大的興趣在哪里?為什么? 回答這個面試題,沒有固定統一的答案,但可能是許多企業都會問到的。提供以下答案供考: 最大的興趣,感覺這是一個有挑戰性的工作; 測試是一個經驗行業,工作越久越能感覺到做好測試的難度和樂趣 通過自己的工作,能使軟件產品越來越完善,從中體會到樂趣 回答此類問題注意以下幾個方面: 盡可能的切合招聘企業的技術路線來表達你的興趣,例如該企業是數據庫應用的企業,那么表示你的興趣在數據庫的測試,并且希望通過測試提升自己的數據庫掌握能力。 表明你做測試的目的是為了提升能力,也是為了更好的做好測試;提升能力不是為了以后轉開發或其他的,除非用人企業有這樣的安排。 不要過多的表達你的興趣在招聘企業的范疇這外。比如招聘企業是做財務軟件的,可是你表現出來的是對游戲軟件的興趣;或招聘是做JAVA開發的,而你的興趣是在C類語言程序的開發。
29、你自認為測試的優勢在哪里? 該面試也沒有固定不變的答案,但可參考以下幾點,并結合自身特點: 有韌性、有耐心、做事有條理性、喜歡面對挑戰、有信心做好每一件事情、較強的溝通能力、從以前的經理處都得到了很好的評價表明我做的很好
33、簡述你在以前的工作中做過哪些事情,比較熟悉什么。參考答案如下。 我過去的主要工作是系統測試和自動化測試。在系統測試中,主要是對BOSS系統的業務邏輯功能,以及軟交換系統的Class 5特性進行測試。性能測試中,主要是進行的壓力測試,在各個不同數量請求的情況下,獲取系統響應時間以及系統資源消耗情況。自動化測試主要是通過自己寫腳本以及一些第三方工具的結合來測試軟交換的特性測試。 在測試中,我感覺對用戶需求的完全準確的理解非常重要。另外,就是對BUG的管理,要以需求為依據,并不是所有BUG均需要修改。 測試工作需要耐心和細致,因為在新版本中,雖然多數原來發現的BUG得到了修復,但原來正確的功能也可能變得不正確。因此要注重迭代測試和回歸測試。
34、在C/C++中static有什么用途?(請至少說明兩種)
35、引用與指針有什么區別?
36、Internet采用哪種網絡協議?該協議的主要層次結構?Internet物理地址和IP地址轉換采用什么協議? TCP/IP協議主要層次結構為: 應用層/傳輸層/網絡層/數鏈路層。 ARP (Address Resolution Protocol)(地據址解析協議)
37、說說你對集成測試中自頂向下集成和自底向上集成兩個策略的理解,要談出它們各自的優缺點和主要適應于哪種類型測試; 自頂向下集成 優點:較早地驗證了主要控制和判斷點;按深度優先可以首先實現和驗證一個完整的軟件功能;功能較早證實,帶來信心;只需一個驅動,減少驅動器開發的費用;支持故障隔離。 缺點:柱的開發量大;底層驗證被推遲;底層組件測試不充分。 適應于產品控制結構比較清晰和穩定;高層接口變化較??;底層接口未定義或經??赡鼙恍薷?;產口控制組件具有較大的技術風險,需要盡早被驗證;希望盡早能看到產品的系統功能行為。 2、自底向上集成 優點:對底層組件行為較早驗證;工作最初可以并行集成,比自頂向下效率高;減少了樁的工作量;支持故障隔離。 缺點:驅動的開發工作量大;對高層的驗證被推遲,設計上的錯誤不能被及時發現。
38、軟件驗收測試包括正式驗收測試、alpha測試、beta測試三種測試。
40、設計系統測試計劃需要參考的項目文檔有軟件測試計劃、軟件需求工件、和迭代計劃
§ 分析軟件規格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),并給每個原因和結果賦予一個標識符。 § 分析軟件規格說明描述中的語義,找出原因與結果之間,原因與原因之間對應的是什么關系? 根據這些關系,畫出因果圖。 § 由于語法或環境限制,有些原因與原因之間,原因與結果之間的組合情況不可能出現。為表明這些特殊情況,在因果圖上用一些記號標明約束或限制條件。 § 把因果圖轉換成判定表。 § 把判定表的每一列拿出來作為依據,設計測試用例。
43、請說出這些測試最好由那些人員完成,測試的是什么? 代碼、函數級測試一般由白盒測試人員完成,他們針對每段代碼或函數進行正確性檢驗,檢查其是否正確的實現了規定的功能。 模塊、組件級測試主要依據是程序結構設計測試模塊間的集成和調用關系,一般由測試人員完成。 系統測試在于模塊測試與單元測試的基礎上進行測試。了解系統功能與性能,根據測試用例進行全面的測試。
44、 設計測試用例時應該考慮哪些方面,即不同的測試用例針對那些方面進行測試? 設計測試用例時需要注意的是,除了對整體流程及功能注意外,還要注意強度測試、性能測試、壓力測試、邊界值測試、穩定性測試、安全性測試等多方面。(測試用例需要考慮的四個基本要素是輸入、輸出、操作和測試環境;另外,測試用例需要考慮的是測試類型(功能、性能、安全……),這部分可以參照TP做答。此外,還需要考慮用例的重要性和優先級)
45、 在windows下保存一個文本文件時會彈出保存對話框,如果為文件名建立測試用例,等價類應該怎樣劃分? 單字節,如A;雙字節, AA、我我;特殊字符 /‘?!?、=-等;保留字,如com;文件格式為8.3格式的;文件名格式為非8.3格式的;/,\,*等九個特殊字符。
46、假設有一個文本框要求輸入10個字符的郵政編碼,對于該文本框應該怎樣劃分等價類? 特殊字符,如10個*或¥;英文字母,如ABCDefghik;小于十個字符,如123;大于十個字符,如11111111111;數字和其他混合,如123AAAAAAA;空字符;保留字符
47.軟件測試項目從什么時候開始,?為什么?
48、什么是回歸測試? 回歸測試: (regression testing): 回歸測試有兩類:用例回歸和錯誤回歸;用例回歸是過一段時間以后再回頭對以前使用過的用例在重新進行測試,看看會重新發現問題。錯誤回歸,就是在新版本中,對以前版本中出現并修復的缺陷進行再次驗證,并以缺陷為核心,對相關修改的部分進行測試的方法。
按測試策略分類:1、靜態與動態測試2、黑盒與白盒測試 3、手工和自動測試 4、冒煙測試 5、回歸測試; 按測試階段分類:單元測試、集成測試、系統測試; 其他常見測試方法:1、功能測試 2、性能測試 3、壓力測試 4、負載測試 5、易用性測試 6、安裝測試 7、界面測試 8、配置測試 9、文檔測試 10、兼容性測試 11、安全性測試 12、恢復測試
54:你認為做好測試計劃工作的關鍵是什么? 明確測試的目標,增強測試計劃的實用性 編寫軟件測試計劃得重要目的就是使測試過程能夠發現更多的軟件缺陷,因此軟件測試計劃的價值取決于它對幫助管理測試項目,并且找出軟件潛在的缺陷。因此,軟件測試計劃中的測試范圍必須高度覆蓋功能需求,測試方法必須切實可行,測試工具并且具有較高的實用性,便于使用,生成的測試結果直觀、準確 堅持“5W”規則,明確內容與過程 “5W”規則指的是“What(做什么)”、“Why(為什么做)”、“When(何時做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”規則創建軟件測試計劃,可以幫助測試團隊理解測試的目的(Why),明確測試的范圍和內容(What),確定測試的開始和結束日期(When),指出測試的方法和工具(How),給出測試文檔和軟件的存放位置(Where)。 采用評審和更新機制,保證測試計劃滿足實際需求 測試計劃寫作完成后,如果沒有經過評審,直接發送給測試團隊,測試計劃內容的可能不準確或遺漏測試內容,或者軟件需求變更引起測試范圍的增減,而測試計劃的內容沒有及時更新,誤導測試執行人員。 分別創建測試計劃與測試詳細規格、測試用例 應把詳細的測試技術指標包含到獨立創建的測試詳細規格文檔,把用于指導測試小組執行測試過程的測試用例放到獨立創建的測試用例文檔或測試用例管理數據庫中。測試計劃和測試詳細規格、測試用例之間是戰略和戰術的關系,測試計劃主要從宏觀上規劃測試活動的范圍、方法和資源配置,而測試詳細規格、測試用例是完成測試任務的具體戰術。
55:您認為做好測試用例設計工作的關鍵是什么? 白盒測試用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果 黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內發現最多的問題
56:你的測試職業發展目標是什么? 測試經驗越多,測試能力越高。所以我的職業發展是需要時間累積的,一步步向著高級測試工程師奔去。而且我也有初步的職業規劃,前3年累積測試經驗,不斷的更新自己改正自己,做好測試任務。
57:測試結束的標準是什么? 從微觀上來說,在測試計劃中定義,比如系統在一定性能下平穩運行72小時,目前Bug Tracking System中,本版本中沒有一般嚴重的BUG,普通BUG的數量在3以下,BUG修復率90%以上等等參數,然后由開發經理,測試經理,項目經理共同簽字認同版本Release。 如果說宏觀的,則是當這個軟件徹底的消失以后,測試就結束了。
59、一套完整的測試應該由哪些階段組成?
61、您是否了解以往所工作的企業的軟件開發過程?如果了解,請試述一個完整的開發過程需要完成哪些工作?分別由哪些不同的角色來完成這些工作?您在以往的測試工作中都曾經具體從事過哪些工作?其中最擅長哪部分工作? 開發過程---需求調研(需求人員)、需求分析(需求人員)、概要設計(設計人員)、詳細設計(設計人員)、編碼(開發人員) 測試過程---需求評審、系統測試設計、概要設計評審、集成測試設計、詳細設計評審、單元測試設計、測試執行 測試工作的整個過程都做過,擅長做測試設計 過程決定質量,軟件的過程改進正是為了提高軟件的質量,將過往的種種經驗教訓積累起來。
62、測試用例設計的原則是什么?目前主要的測試用例設計方法有哪些? 代表性:能夠代表并覆蓋各種合理的和不合理、合法的和非法的、邊界的和越界的、以及極限的輸入數據、操作和環境設置等. 可判定性:即測試執行結果的正確性是可判定的,每一個測試用例都應有相應的期望結果. 可再現性:即對同樣的測試用例,系統的執行結果應當是相同的。 方法有等價類、邊界值、因果圖、狀態圖、正交法、大綱法
63、面向對象的測試用例設計有幾種方法?如何實現? 給類中的每個構造函數設計一組測試用例 組合類中的類變量、實例變量 組合類中的各種方法 根據前置條件和后置條件設計測試用例 根據代碼設計測試用例
64、LoadRunner分為哪三個模塊?請簡述各模塊的主要功能。 Virtual User Generator:用于錄制腳步 Mercury LoadRunner Controller:用于創建、運行和監控場景 Mercury LoadRunner Analysis:用于分析測試結果
65、你對測試最大的興趣在哪里?為什么? 最大的興趣就是測試有難度,有挑戰性!做測試越久越能感覺到做好測試有多難。曾經在無憂測試網上看到一篇文章,是關于如何做好一名測試工程師。一共羅列了11,12點,有部分是和人的性格有關,有部分需要后天的努力。但除了性格有關的1,2點我沒有把握,其他點我都很有信心做好它。 剛開始進入測試行業時,對測試的認識是從無憂測試網上了解到的一些資料,當時是沖著做測試需要很多技能才能做的好,雖然入門容易,但做好很難,比開發更難,雖然當時我很想做開發(學校專業課我基本上不缺席,因為我喜歡我的專業),但看到測試比開發更難更有挑戰性,想做好測試的意志就更堅定了。 我覺得做測試整個過程中有2點讓我覺得很有難度(對我來說,有難度的東西我就非常感興趣),第一是測試用例的設計,因為測試的精華就在測試用例的設計上了,要在版本出來之前,把用例寫好,用什么測試方法寫?(也就是測試計劃或測試策略),如果你剛測試一個新任務時,你得花一定的時間去消化業務需求和技術基礎,業務需求很好理解(多和產品經理和開發人員溝通就能達到目的),而技術基礎可就沒那么簡單了,這需要你自覺的學習能力,比如說網站吧,最基本的技術知識你要知道網站內部是怎么運作的的,后臺是怎么響應用戶請求的?測試環境如何搭建?這些都需要最早的學好。至少在開始測試之前能做好基本的準備,可能會遇到什么難題?需求細節是不是沒有確定好?這些問題都能在設計用例的時候發現。 第二是發現BUG的時候了,這應該是測試人員最基本的任務了,一般按測試用例開始測試就能發現大部分的bug,還有一部分bug需要測試的過程中更了解所測版本的情況獲得更多信息,補充測試用例,測試出bug。還有如何發現bug?這就需要在測試用例有效的情況下,通過細心和耐心去發現bug了,每個用例都有可能發現bug,每個地方都有可能出錯,所以測試過程中思維要清晰(測試過程數據流及結果都得看仔細了,bug都在里面發現的)。如何描述bug也很有講究,bug在什么情況下會產生,如果條件變化一點點,就不會有這個bug,以哪些最少的操作步驟就能重現這個bug,這個bug產生的規律是什么?如果你夠厲害的話,可以幫開發人員初步定位問題。
66、您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區別與聯系(如功能測試、性能測試……)
67、請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統測試、驗收測試的區別與聯系。
68、當開發人員說不是BUG時,你如何應付?
69、為什么要在一個團隊中開展軟件測試工作? 因為沒有經過測試的軟件很難在發布之前知道該軟件的質量,就好比ISO質量認證一樣,測試同樣也需要質量的保證,這個時候就需要在團隊中開展軟件測試的工作。在測試的過程發現軟件中存在的問題,及時讓開發人員得知并修改問題,在即將發布時,從測試報告中得出軟件的質量情況。
71、一份測試計劃應該包括哪些內容? 背景、項目簡介、目的、測試范圍、測試策略、人員分工、資源要求、進度計劃、參考文檔、常用術語、提交文檔、風險分析。
72、針對于軟件的行業背景,你如何理解軟件的業務? 閱讀用戶手冊了解軟件的功能和操作流程;看一些業務的專業書籍補充業務知識;如果有用戶實際的數據,可以拿實際的數據進行參考;參考以前的用例和BUG報告;在使用軟件的過程中多思考;多與產品經理交流。
74、如何定位測試用例的作用? 組織性:編寫、組織性、功能覆蓋、重復性、跟蹤、測試確認
76、什么是兼容性測試?請舉例說明如何利用兼容性測試列表進行測試。 主要驗證軟件產品在不同版本之間的兼容性。包括向下兼容和交錯兼容,向下兼容是測試軟件新版本保留它早期版本功能的情況,交錯兼容是驗證共同存在的兩個相關但不相同的產品之間的兼容性。
77、對某軟件進行測試,發現在WIN98上運行得很慢,怎么判別是該軟件存在問題還是其軟硬件運行環境存在問題? 看軟件的運行環境要求。如果符合要求則是程序存在問題,若不符合要求則是硬件系統存在問題
78、需求測試的注意事項有哪些? 是否使用了公司的模板、文檔內容是否符合規范、所有的需求是分級是否清析適當、所有的需求是否具有一致性、需求是否可行(即,該需求組合有解決方案)、需求可否用己知的約束來實現、需求是否足夠(即,可以把它送到一個規范的開發組織,并有一個生產出所需要產品的合理的可能性)、所有的其它需求是交叉引用是否正確、用戶描述是否清楚、是否用客戶的語言來描述需求、每個需求描述是否清楚沒有岐義,可以移交給一個獨立的組去實現時也能理解、是否所有的需求都是可驗證的、是否每條需求都具有獨立性,即使發生了變化也不會影響其它需求、性能指標是否明確、非功能性需求是否得到充分表現、是否完整列出適用的標準或協議、標準和協議之間是否存在沖突
81、主鍵、外鍵的作用,索引的優點與不足? 答:主鍵:是表中的唯一標示鍵。作用:保證實體的完整性;加快數據庫的操作速度;增加新的表記錄時,數據庫會自動檢索新記錄的主鍵值,不允許該值與其他表中記錄的主鍵重復;數據庫會按主鍵值的順序顯示記錄,如果沒有設定主鍵,則按輸入的順序顯示記錄。 外鍵:是主鍵的從屬,表示了兩個表之間的聯系。作用:使用外鍵可以避免冗余。 索引的優點: 1、通過創建唯一性的索引,可以保證表中數據的唯一性; 2、加速數據的檢索速度; 3、加快表與表之間的連接; 4、在使用分組與排序數據檢索時,可以顯著檢索分組與排序的時間; 5、在查詢的過程中使用優化隱藏器,提供系統性能。 缺點: 1、創建索引需要時間,且隨著數據量的增加而增加; 2、索引需要占用物理空間; 3、當對表中數據進行修改時,索引也要動態維護,降低了數據的維護速度。
84、性能測試的流程? 1.測試需求分析2.測試計劃制定與評審3.測試用例設計與開發4.測試執行與監控5.分析測試結果6.編寫性能測試報告7.測試經驗總結
88、簡述bug的生命周期? 1, 有效地記錄BUG 2, 使用BUG模板 3, 評價BUG優先級和嚴重性 4, BUG的生命 5, 維護BUG數據庫
89、缺陷記錄應包含的內容? 缺陷標識、缺陷類型、缺陷嚴重程度、缺陷產生可能性、缺陷優先級、缺陷狀態、缺陷起源、缺陷來源、缺陷原因;
91 您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區別與聯系(如功能測試、性能測試……) 易用性測試-界面的友好性,操作方便性等。 功能測試-系統中功能性需求的滿足 安全性測試-系統是否存在安全隱患和漏洞 性能測試-系統在大并發下的響應速度和健壯性
93、您認為做好測試計劃工作的關鍵是什么? 了解項目或系統的業務需求 和項目經理協調好,了解項目的進度計劃安排情況
95您認為做好測試用例設計工作的關鍵是什么? 對業務和軟件需求非常清楚,可以根據需求不同選擇不同的測試用例設計
96、.您以往的工作中是否曾開展過測試用例的評審工作?如果有,請描述測試用例評審的過程和評審的內容。 評審計劃->預審->評審; 評審內容主要是測試用例對軟件需求的覆蓋程度,對于相關邊界是否考慮,是否針對復雜流程準備多套測試數據,是否有專門針對非功能性需求的測試。
98.您認為性能測試工作的目的是什么?做好性能測試工作的關鍵是什么? 關鍵是測試腳本的錄制,測試時候測試環境的干凈。 100、.您以往所從事的軟件測試工作中,是否使用了一些工具來進行軟件缺陷(Bug)的管理?如果有,請結合該工具描述軟件缺陷(Bug)跟蹤管理的流程。 CQ,也可以使用BugFree等免費工具。 101、.您如何看待軟件過程改進?在您曾經工作過的企業中,是否有一些需要改進的東西呢?您期望的理想的測試人員的工作環境是怎樣的? 將先進的經驗或思想固化到過程中,通過過程改進和能力提高來改進軟件質量。 |
|