- 相關(guān)推薦
測試常見面試問題
01. 為什么要在一個團(tuán)隊中開展軟件測試工作?
因為沒有經(jīng)過測試的軟件很難在發(fā)布之前知道該軟件的質(zhì)量,就好比ISO質(zhì)量認(rèn)證一樣,測試同樣也需要質(zhì)量的保證,這個時候就需要在團(tuán)隊中開展軟件測試的工作。在測試的過程發(fā)現(xiàn)軟件中存在的問題,及時讓開發(fā)人員得知并修改問題,在即將發(fā)布時,從測試報告中得出軟件的質(zhì)量情況。
02. 您在以往的測試工作中都曾經(jīng)具體從事過哪些工作?其中最擅長哪部分工作?
我曾經(jīng)做過web測試,后臺測試,客戶端軟件,其中包括功能測試,性能測試,用戶體驗測試。最擅長的是功能測試
03. 您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試、性能測試……)
測試類型有:功能測試,性能測試,界面測試。
功能測試在測試工作中占的比例最大,功能測試也叫黑盒測試。是把測試對象看作一個黑盒子。利用黑盒測試法進(jìn)行動態(tài)測試時,需要測試軟件產(chǎn)品的功能,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。采用黑盒技術(shù)設(shè)計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試。負(fù)載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進(jìn)行。通過負(fù)載測試,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時,系統(tǒng)各項性能指標(biāo)的變化情況。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。
界面測試,界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象。而且設(shè)計良好的界面能夠引導(dǎo)用戶自己完成相應(yīng)的操作,起到向?qū)У淖饔。同時界面如同人的面孔,具有吸引用戶的直接優(yōu)勢。設(shè)計合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設(shè)計的失敗,讓用戶有挫敗感,再實用強(qiáng)大的功能都可能在用戶的畏懼與放棄中付諸東流。
區(qū)別在于,功能測試關(guān)注產(chǎn)品的所有功能上,要考慮到每個細(xì)節(jié)功能,每個可能存在的功能問題。性能測試主要關(guān)注于產(chǎn)品整體的多用戶并發(fā)下的穩(wěn)定性和健壯性。界面測試更關(guān)注于用戶體驗上,用戶使用該產(chǎn)品的時候是否易用,是否易懂,是否規(guī)范(快捷鍵之類的),是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺避免用戶無意輸入無效的數(shù)據(jù),當(dāng)然考慮到體驗性,不能太粗魯?shù)膹棾鼍妫?做某個性能測試的時候,首先它可能是個功能點,首先要保證它的功能是沒問題的,然后再考慮該功能點的性能測試
04.您認(rèn)為做好測試用例設(shè)計工作的關(guān)鍵是什么?
白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題
05. 請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試、驗收測試的區(qū)別與聯(lián)系。
黑盒測試:已知產(chǎn)品的功能設(shè)計規(guī)格,可以進(jìn)行測試證明每個實現(xiàn)了的功能是否符合要求。
白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。
軟件的黑盒測試意味著測試要在軟件的接口處進(jìn)行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?
3、是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
軟件的白盒測試是對軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。通過在不同點檢查程序狀態(tài),確定實際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試主要是想對程序模塊進(jìn)行如下檢查:
1、對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。
4、測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。
單元測試(模塊測試)是開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。
單元測試是由程序員自己來完成,最終受益的也是程序員自己?梢赃@么說,程序員有責(zé)任編寫功能代碼,同時也就有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望的一致。
集成測試(也叫組裝測試,聯(lián)合測試)是單元測試的邏輯擴(kuò)展。它的最簡單的形式是:兩個已經(jīng)測試過的單元組合成一個組件,并且測試它們之間的接口。從這一層意義上講,組件是指多個單元的集成聚合。在現(xiàn)實方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測試片段的組合,并最終擴(kuò)展進(jìn)程,將您的模塊與其他組的模塊一起測試。最后,將構(gòu)成進(jìn)程的所有模塊一起測試。
系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(tǒng)來測試。它是檢驗系統(tǒng)是否確實能提供系統(tǒng)方案說明書中指定功能的有效方法。(常見的聯(lián)調(diào)測試)
系統(tǒng)測試的目的是對最終軟件系統(tǒng)進(jìn)行全面的測試,確保最終軟件系統(tǒng)滿足產(chǎn)品需求并且遵循系統(tǒng)設(shè)計。
驗收測試是部署軟件之前的最后一個測試操作。驗收測試的目的是確保軟件準(zhǔn)備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。
驗收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗證軟件的有效性,這就是驗收測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。
06. 測試計劃工作的目的是什么?測試計劃工作的內(nèi)容都包括什么?其中哪些是最重要的?
軟件測試計劃是指導(dǎo)測試過程的綱領(lǐng)性文件,包含了產(chǎn)品概述、測試策略、測試方法、測試區(qū)域、測試配置、測試周期、測試資源、測試交流、風(fēng)險分析等內(nèi)容。借助軟件測試計劃,參與測試的項目成員,尤其是測試管理人員,可以明確測試任務(wù)和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進(jìn)度,應(yīng)對測試過程中的各種變更。
測試計劃和測試詳細(xì)規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測試計劃主要從宏觀上規(guī)劃測試活動的范圍、方法和資源配置,而測試詳細(xì)規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)。所以其中最重要的是測試測試策略和測試方法(最好是能先評審)
07. 您認(rèn)為做好測試計劃工作的關(guān)鍵是什么?
1. 明確測試的目標(biāo),增強(qiáng)測試計劃的實用性
編寫軟件測試計劃得重要目的就是使測試過程能夠發(fā)現(xiàn)更多的軟件缺陷,因此軟件測試計劃的價值取決于它對幫助管理測試項目,并且找出軟件潛在的缺陷。因此,軟件測試計劃中的測試范圍必須高度覆蓋功能需求,測試方法必須切實可行,測試工具并且具有較高的實用性,便于使用,生成的測試結(jié)果直觀、準(zhǔn)確
2.堅持“5W”規(guī)則,明確內(nèi)容與過程
“5W”規(guī)則指的是“What(做什么)”、“Why(為什么做)”、“When(何時做)”、“Where(在哪里)”、“How(如何做)”。利用 “5W”規(guī)則創(chuàng)建軟件測試計劃,可以幫助測試團(tuán)隊理解測試的目的(Why),明確測試的范圍和內(nèi)容(What),確定測試的開始和結(jié)束日期(When),指出測試的方法和工具(How),給出測試文檔和軟件的存放位置(Where)。
3.采用評審和更新機(jī)制,保證測試計劃滿足實際需求
測試計劃寫作完成后,如果沒有經(jīng)過評審,直接發(fā)送給測試團(tuán)隊,測試計劃內(nèi)容的可能不準(zhǔn)確或遺漏測試內(nèi)容,或者軟件需求變更引起測試范圍的增減,而測試計劃的內(nèi)容沒有及時更新,誤導(dǎo)測試執(zhí)行人員。
4. 分別創(chuàng)建測試計劃與測試詳細(xì)規(guī)格、測試用例
應(yīng)把詳細(xì)的測試技術(shù)指標(biāo)包含到獨立創(chuàng)建的測試詳細(xì)規(guī)格文檔,把用于指導(dǎo)測試小組執(zhí)行測試過程的測試用例放到獨立創(chuàng)建的測試用例文檔或測試用例管理數(shù)據(jù)庫中。測試計劃和測試詳細(xì)規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測試計劃主要從宏觀上規(guī)劃測試活動的范圍、方法和資源配置,而測試詳細(xì)規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)。
08. 您所熟悉的測試用例設(shè)計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設(shè)計工作中的應(yīng)用。
1.等價類劃分
劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結(jié)果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.
2.邊界值分析法
邊界值分析方法是對等價類劃分方法的補(bǔ)充。測試工作經(jīng)驗告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤.
使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價類的邊界,就是應(yīng)著重測試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).
3.錯誤推測法
基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設(shè)計測試用例的方法.
錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例. 例如, 在單元測試時曾列出的許多在模塊中常見的錯誤. 以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等, 這些就是經(jīng)驗的總結(jié). 還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況. 輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯誤的情況. 可選擇這些情況下的例子作為測試用例.
4.因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的形式來考慮設(shè)計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
09. 請以您以往的實際工作為例,詳細(xì)的描述一次測試用例設(shè)計的完整的過程。
就說最近的這次網(wǎng)站功能的測試吧
首先:得到相關(guān)文檔(需求文檔和設(shè)計文檔),理解需求和設(shè)計設(shè)計思想后,想好測試策略(測試計劃簡單點就OK了),考慮到測試環(huán)境,測試用例,測試時間等問題。
第二步:設(shè)計測試用例,測試策略是:把網(wǎng)站部分的功能點測試完,然后在進(jìn)行系統(tǒng)測試(另外個模塊呢有另一個測試人員負(fù)責(zé),可以進(jìn)行聯(lián)調(diào)測試),網(wǎng)站模塊的測試基本是功能測試和界面測試(用戶并發(fā)的可能性很小,所以不考慮):這次的網(wǎng)站的輸入數(shù)據(jù)呢是使用數(shù)據(jù)庫中的某張表記錄,如果表中某一數(shù)據(jù)記錄中新加進(jìn)來的(還沒有被處理的,有個標(biāo)志位),網(wǎng)站啟動后會立刻去刷那張表,得到多條數(shù)據(jù),然后在進(jìn)行處理。處理過程中,會經(jīng)歷3個步驟,網(wǎng)站才算完成了它的任務(wù)。有3個步驟呢,就可以分別對 這3個步驟進(jìn)行測試用例的設(shè)計,盡量覆蓋到各種輸入情況(包括數(shù)據(jù)庫中的數(shù)據(jù),用戶的輸入等),得出了差不多50個用例。界面測試,也就是用戶看的到的地方,包括發(fā)送的郵件和用戶填寫資料的頁面展示。
第三步:搭建測試環(huán)境(為什么這個時候考慮測試環(huán)境呢?因為我對網(wǎng)站環(huán)境已經(jīng)很熟了,只有有機(jī)器能空于下來做該功能測試就可以做了),因為網(wǎng)站本身的環(huán)境搭建和其他的系統(tǒng)有點不同,它需要的測試環(huán)境比較麻煩,需要web服務(wù)器(Apache,tomcat),不過這次需求呢,網(wǎng)站部分只用到了tomcat,所以只要有tomcat即可
第四步:執(zhí)行測試
10. 您以往是否曾經(jīng)從事過性能測試工作?如果有,請盡可能的詳細(xì)描述您以往的性能測試工作的完整過程。
是的,曾經(jīng)做過網(wǎng)站方面的性能測試,雖然做的時間并不久(2個月吧),當(dāng)時呢,是有位網(wǎng)站性能測試經(jīng)驗非常豐富的前輩帶著我一起做。
性能測試類型包括負(fù)載測試,強(qiáng)度測試,容量測試等
負(fù)載測試:負(fù)載測試是一種性能測試指數(shù)據(jù)在超負(fù)荷環(huán)境中運(yùn)行,程序是否能夠承擔(dān)。
強(qiáng)度測試: 強(qiáng)度測試是一種性能測試,他在系統(tǒng)資源特別低的情況下軟件系統(tǒng)運(yùn)行情況
容量測試:確定系統(tǒng)可處理同時在線的最大用戶數(shù)
在網(wǎng)站流量逐漸加大的情況下,開始考慮做性能測試了,首先要寫好性能測試計劃,根據(jù)運(yùn)營數(shù)據(jù)得出流量最大的頁面(如果是第一次的話,一般是首頁,下載頁,個人帳戶頁流量最大,而且以某種百分比),
Web服務(wù)器指標(biāo)指標(biāo):
* Avg Rps: 平均每秒鐘響應(yīng)次數(shù)=總請求時間 / 秒數(shù);
* Successful Rounds:成功的請求;
* Failed Rounds :失敗的請求;
* Successful Hits :成功的點擊次數(shù);
* Failed Hits :失敗的點擊次數(shù);
* Hits per Second :每秒點擊次數(shù);
* Successful Hits per Second :每秒成功的點擊次數(shù);
* Failed Hits per Second :每秒失敗的點擊次數(shù);
* Attempted Connections :嘗試鏈接數(shù);
11. 您在從事性能測試工作時,是否使用過一些測試工具?如果有,請試述該工具的工作原理,并以一個具體的工作中的例子描述該工具是如何在實際工作中應(yīng)用的。
12. 您認(rèn)為性能測試工作的目的是什么?做好性能測試工作的關(guān)鍵是什么?
13. 在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄?
14. 您以往所從事的軟件測試工作中,是否使用了一些工具來進(jìn)行軟件缺陷(Bug)的管理?如果有,請結(jié)合該工具描述軟件缺陷(Bug)跟蹤管理的流程。
15. 您認(rèn)為在測試人員同開發(fā)人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?維持測試人員同開發(fā)團(tuán)隊中其他成員良好的人際關(guān)系的關(guān)鍵是什么?
16. 在您以往的測試工作中,最讓您感到不滿意或者不堪回首的事情是什么?您是如何來對待這些事情的?
17. 在即將完成這次筆試前,您是否愿意談一些自己在以往的學(xué)習(xí)和工作中獲得的工作經(jīng)驗和心得體會?(可以包括軟件測試、過程改進(jìn)、軟件開發(fā)或者與此無關(guān)的其他方面)
18.你對測試最大的興趣在哪里?為什么?
最大的興趣就是測試有難度,有挑戰(zhàn)性!做測試越久越能感覺到做好測試有多難。曾經(jīng)在無憂測試網(wǎng)上看到一篇文章,是關(guān)于如何做好一名測試工程師。一共羅列了十一二點,有部分是和人的性格有關(guān),有部分需要后天的努力。但除了性格有關(guān)的1、2點我沒有把握,其他點我都很有信心做好它。
剛開始進(jìn)入測試行業(yè)時,對測試的認(rèn)識是從無憂測試網(wǎng)上了解到的一些資料,當(dāng)時是沖著做測試需要很多技能才能做的好,雖然入門容易,但做好很難,比開發(fā)更難,雖然當(dāng)時我很想做開發(fā)(學(xué)校專業(yè)課我基本上不缺席,因為我喜歡我的專業(yè)),但看到測試比開發(fā)更難更有挑戰(zhàn)性,想做好測試的意志就更堅定了。
不到一年半的測試工作中,當(dāng)時的感動和熱情沒有減退一點(即使環(huán)境問題以及自身經(jīng)驗,技術(shù)的不足,做測試的你一定也能理解)。
我覺得做測試整個過程中有2點讓我覺得很有難度(對我來說,有難度的東西我就非常感興趣),第一是測試用例的設(shè)計,因為測試的精華就在測試用例的設(shè)計上了,要在版本出來之前,把用例寫好,用什么測試方法寫?(也就是測試計劃或測試策略),如果你剛測試一個新任務(wù)時,你得花一定的時間去消化業(yè)務(wù)需求和技術(shù)基礎(chǔ),業(yè)務(wù)需求很好理解(多和產(chǎn)品經(jīng)理和開發(fā)人員溝通就能達(dá)到目的),而技術(shù)基礎(chǔ)可就沒那么簡單了,這需要你自覺的學(xué)習(xí)能力,比如說網(wǎng)站吧,最基本的技術(shù)知識你要知道網(wǎng)站內(nèi)部是怎么運(yùn)作的的,后臺是怎么響應(yīng)用戶請求的?測試環(huán)境如何搭建?這些都需要最早的學(xué)好。至少在開始測試之前能做好基本的準(zhǔn)備,可能會遇到什么難題?需求細(xì)節(jié)是不是沒有確定好?這些問題都能在設(shè)計用例的時候發(fā)現(xiàn)。
第二是發(fā)現(xiàn)BUG的時候了,這應(yīng)該是測試人員最基本的任務(wù)了,一般按測試用例開始測試就能發(fā)現(xiàn)大部分的bug,還有一部分bug需要測試的過程中更了解所測版本的情況獲得更多信息,補(bǔ)充測試用例,測試出bug。還有如何發(fā)現(xiàn)bug?這就需要在測試用例有效的情況下,通過細(xì)心和耐心去發(fā)現(xiàn)bug了,每個用例都有可能發(fā)現(xiàn)bug,每個地方都有可能出錯,所以測試過程中思維要清晰(測試過程數(shù)據(jù)流及結(jié)果都得看仔細(xì)了,bug都在里面發(fā)現(xiàn)的)。如何描述bug也很有講究,bug在什么情況下會產(chǎn)生,如果條件變化一點點,就不會有這個bug,以哪些最少的操作步驟就能重現(xiàn)這個bug,這個bug產(chǎn)生的規(guī)律是什么?如果你夠厲害的話,可以幫開發(fā)人員初步定位問題。
19. 你的測試職業(yè)發(fā)展是什么?
測試經(jīng)驗越多,測試能力越高。所以我的職業(yè)發(fā)展是需要時間累積的,一步步向著高級測試工程師奔去。而且我也有初步的職業(yè)規(guī)劃,前3年累積測試經(jīng)驗,按如何做好測試工程師的11,12點要求自己,不斷的更新自己改正自己,做好測試任務(wù)。
20. 你自認(rèn)為測試的優(yōu)勢在哪里?
優(yōu)勢在于我對測試堅定不移的信心和熱情,雖然經(jīng)驗還不夠,但測試需要的基本技能我有信心在工作中得以發(fā)揮。
軟件開發(fā)網(wǎng) www.mscto.com
21. 你以前工作時的測試流程是什么?
公司對測試流程沒有規(guī)定如何做,但每個測試人員都有自己的一套測試流程。我說下我1年來不斷改正(自己總結(jié),吸取同行的方法)后的流程吧。需求評審(有開發(fā)人員,產(chǎn)品經(jīng)理,測試人員,項目經(jīng)理)->需求確定(出一份確定的需求文檔)->開發(fā)設(shè)計文檔(開發(fā)人員在開始寫代碼前就能輸出設(shè)計文檔)->想好測試策略,寫出測試用例->發(fā)給開發(fā)人員和測試經(jīng)理看看(非正式的評審用例)->接到測試版本->執(zhí)行測試用例(中間可能會補(bǔ)充用例)->提交bug(有些bug需要開發(fā)人員的確定(嚴(yán)重級別的,或突然發(fā)現(xiàn)的在測試用例范圍之外的,難以重現(xiàn)的),有些可以直接錄制進(jìn)TD)->開發(fā)人員修改(可以在測試過程中快速的修改)->回歸測試(可能又會發(fā)現(xiàn)新問題,再按流程開始跑)。
22. 當(dāng)開發(fā)人員說不是BUG時,你如何應(yīng)付?
開發(fā)人員說不是bug,有2種情況,一是需求沒有確定,所以我可以這么做,這個時候可以找來產(chǎn)品經(jīng)理進(jìn)行確認(rèn),需不需要改動,3方商量確定好后再看要不要改。二是這種情況不可能發(fā)生,所以不需要修改,這個時候,我可以先盡可能的說出是BUG的依據(jù)是什么?如果被用戶發(fā)現(xiàn)或出了問題,會有什么不良結(jié)果?程序員可能會給你很多理由,你可以對他的解釋進(jìn)行反駁。如果還是不行,那我可以給這個問題提出來,跟開發(fā)經(jīng)理和測試經(jīng)理進(jìn)行確認(rèn),如果要修改就改,如果不要修改就不改。其實有些真的不是bug,我也只是建議的方式寫進(jìn)TD中,如果開發(fā)人員不修改也沒有大問題。如果確定是bug的話,一定要堅持自己的立場,讓問題得到最后的確認(rèn)。
23.你為什么想離開目前的職務(wù)?
因為公司運(yùn)作情況并不理想,公司需要調(diào)整部門體系,公司考慮到縮減部門人員,所以大批量的裁員(有6,7個),這是我的第一份工作,對公司也有較深的感情,因為在這里我找到了職業(yè)理想(就是測試),所以公司需要精簡人員,我自愿退出。雖然很舍不得,但我將會有新的發(fā)揮能力的舞臺。
24:你對我們公司了解有多少?
25:你找工作時,最重要的考慮因素為何?
工作的性質(zhì)和內(nèi)容是否能讓我發(fā)揮所長,并不斷成長。
26:為什么我們應(yīng)該錄取你?
您可以由我過去的工作表現(xiàn)所呈現(xiàn)的客觀數(shù)據(jù),明顯地看出我全力以赴的工作態(tài)度。
27:請談?wù)勀銈人的最大特色。
我的堅持度很高,事情沒有做到一個令人滿意的結(jié)果,絕不罷手。
28.白箱測試和黑箱測試是什么?什么是回歸測試?
29。單元測試、集成測試、系統(tǒng)測試的側(cè)重點是什么?
30。設(shè)計用例的方法、依據(jù)有那些?
31。一個測試工程師應(yīng)具備那些素質(zhì)和技能?
32.集成測試通常都有那些策略?
33.你用過的測試工具的主要功能、性能及其他?
34.一個缺陷測試報告的組成
35.基于WEB信息管理系統(tǒng)測試時應(yīng)考慮的因素有哪些?
36.軟件測試項目從什么時候開始,?為什么?
37.需求測試注意事項有哪些?
38.測試分析測試用例注意(事項)?
敏捷測試和傳統(tǒng)測試有什么區(qū)別?
軟件測試
1. 在傳統(tǒng)的測試中,測試團(tuán)隊和開發(fā)團(tuán)隊是分開的,而敏捷團(tuán)隊中,測試團(tuán)隊是開發(fā)團(tuán)隊的一部分。
2. 在傳統(tǒng)測試中,測試是由詳細(xì)的需求驅(qū)動的,而敏捷開發(fā)中,測試人員需要緊密的與客戶合作來定義每一個需求的接受標(biāo)準(zhǔn)。
3. 傳統(tǒng)測試中,測試是在開發(fā)完成以后進(jìn)行的,而敏捷團(tuán)隊中,測試從需求和設(shè)計的時候就開始介入。
4. 傳統(tǒng)測試中,測試人員與開發(fā)人員是用提bug來交流的,測試人員和開發(fā)人員是相對工作的,而敏捷開發(fā)中,測試人員會對每一個開發(fā)完成的功能點進(jìn)行測試,并在開發(fā)過程中隨時反饋開發(fā)中遇到的問題
值域測試的目的和方法是什么?
軟件測試
測試目標(biāo):對于所有需要輸入數(shù)據(jù)的地方,進(jìn)行數(shù)據(jù)輸入并檢查其輸出結(jié)果,進(jìn)行值域測試不但要驗證正確的輸入數(shù)據(jù)能否得到正確的輸出結(jié)果,同樣也一定要檢查輸入錯誤的數(shù)據(jù)是否可以得到應(yīng)該的反應(yīng),給出的錯誤提示是否正確和友善等。
測試方法:
? 逐一對每個需要輸入數(shù)據(jù)的地方進(jìn)行檢查,包括鍵入和粘貼方式。
? 檢查出錯是否有提示,提示信息是否正確
數(shù)據(jù)庫測試的主要目的和方法是什么?
軟件測試
數(shù)據(jù)庫測試的主要目標(biāo)是:確保數(shù)據(jù)庫訪問方法和進(jìn)程正常運(yùn)行,數(shù)據(jù)不會遭到損壞。
測試方法:
? 分別測試記錄的新增、修改、刪除等操作,以驗證前臺與后臺數(shù)據(jù)的一致性為主。
? 測試記錄的查找功能,檢查返回的數(shù)據(jù)是否正確,并測試相關(guān)功能。
? 測試數(shù)據(jù)的不同顯示方式。
? 測試有效和無效數(shù)據(jù)對數(shù)據(jù)庫的影響。
完成標(biāo)準(zhǔn): 所有的數(shù)據(jù)庫訪問方法和進(jìn)程都按照設(shè)計的方式運(yùn)行,數(shù)據(jù)沒有遭到損壞。
安全性測試主要包括哪些方面?
軟件測試
?測試用戶的安全性,包括用戶登錄、權(quán)限分配,以驗證用戶權(quán)限的正確性。
?測試數(shù)據(jù)備份與恢復(fù)的安全性,主要驗證數(shù)據(jù)庫數(shù)據(jù)的正確性與完整性。
?測試操作日志的安全性,主要驗證操作日志數(shù)據(jù)的正確性。
SQA和Tester的職責(zé)主要有哪些?
軟件測試
SQA的職責(zé)主要圍繞整個軟件開發(fā)流程,包括軟件設(shè)計,編碼,代碼管理,代碼review, 需求變動, 配置管理和發(fā)行管理。
Tester的職責(zé):理解產(chǎn)品的功能要求,并對其進(jìn)行測試,檢查軟件有沒有錯誤(Bug),決定軟件是否具有穩(wěn)定性(Robustness),寫出相應(yīng)的測試規(guī)范和測試用例。
自動化測試的優(yōu)勢有哪些?
軟件測試
參考答案:
快速 自動化運(yùn)行測試比實際用戶快得多。
可靠 測試每次運(yùn)行時都會準(zhǔn)確執(zhí)行相同的操作,因此消除了人為的錯誤。
可重復(fù) 您可以通過重復(fù)執(zhí)行相同的操作來測試網(wǎng)站或應(yīng)用程序的反應(yīng)。
可編程 您可以編寫復(fù)雜的測試來找出隱藏的信息。
全面 您可以建立一套測試來測試網(wǎng)站或應(yīng)用程序的所有功能。
可重用 您可以在不同版本的網(wǎng)站或應(yīng)用程序上重復(fù)使用測試,甚至在用戶界面更改的情況下也不例外。
要對電子商務(wù)網(wǎng)站做冒煙測試,你會做哪些類型的測試?
軟件測試
冒煙測試,主要目的是通過執(zhí)行較少或較簡單的測試用例,驗證產(chǎn)品基本功能是否正常。如果這個測試都沒有通過,就沒有必要投入人力進(jìn)行后續(xù)的測試工作了。
對電子商務(wù)網(wǎng)站理解的不多,如果是我對電子商務(wù)網(wǎng)站進(jìn)行冒煙測試的話,我會執(zhí)行:用戶注冊,登陸,檢索,挑選商品、購買、付賬這些測試,每類只做一項基本測試。另外保證每個鏈接都是有效的。
測試套件、測試用例、測試計劃,這三者之間的區(qū)別是什么?你怎么組織測試?
軟件測試
測試計劃是指導(dǎo)整個測試過程的一份概述文檔,包括測試范圍、測試策略、人力物力資源、時間進(jìn)度、風(fēng)險分析等內(nèi)容。
測試套件,是測試用例的一個大的分類,按照邏輯,或者說按照測試組的理解把測試用例劃分成不同的部分,每個部分就是一個test suite。
測試用例,最底層的測試產(chǎn)品,實際覆蓋產(chǎn)品各個功能點、非功能點的測試。如果用過XUnit工具,應(yīng)該對test suite、test case這樣的劃分不陌生。
功能測試和探索性測試的區(qū)別是什么?你怎么對網(wǎng)站進(jìn)行測試?
軟件測試
功能測試,需要依照事前制定好的測試用例來執(zhí)行測試。
探索性測試,不會事前制定測試用例,是在測試中邊設(shè)計邊執(zhí)行。其實在功能測試中也有探索性測試的使用,因為測試用例不可能細(xì)化到每個細(xì)節(jié),測試人員在執(zhí)行時肯定會做一些探索性測試。探索性測試一般在測試初期對產(chǎn)品不了解時,或者到了后期在現(xiàn)有測試用例基礎(chǔ)上發(fā)布不了bug時使用。還有在安全性測試中,探索性測試肯定要經(jīng)常被用到。
怎么對網(wǎng)站進(jìn)行測試?不知道為什么要放到這個問題里來。網(wǎng)站除了一般性的功能測試外,性能、安全性測試也是必須要進(jìn)行的測試內(nèi)容。類似安裝卸載、升級這類產(chǎn)品測試中關(guān)注的內(nèi)容,網(wǎng)站測試就不需要關(guān)注了。
什么是回歸測試?怎樣知道新引入的變化沒有給現(xiàn)有的功能造成破壞?
軟件測試
產(chǎn)品修正了bug或增加了功能,生成新的版本,對這個版本進(jìn)行測試,就叫做回歸測試。
保證變化沒有對產(chǎn)品原有功能造成破壞,最可靠的方式是對產(chǎn)品進(jìn)行全面的測試。還有一個方法是只對修改部分的相關(guān)部分進(jìn)行測試,這是一種折中的方法,因為進(jìn)度、成本的原因,這也是經(jīng)常被采用的方法,這個方法有一定的風(fēng)險,因為準(zhǔn)確的確定產(chǎn)品修改部分的相關(guān)部分往往很有難度,范圍不好確定。
具體采用哪種回歸方式,要由這個產(chǎn)品的質(zhì)量要求、人力資源、時間進(jìn)度等因素來決定。
Web系統(tǒng)性能測試包括哪些方面?
軟件測試
壓力測試:確定一個系統(tǒng)的瓶頸或者不能接收用戶請求的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。
負(fù)載測試:在被測系統(tǒng)上不斷增加壓力 ,直到性能指標(biāo)達(dá)到極限,響應(yīng)時間超過預(yù)定指標(biāo)或者某種資源已經(jīng)達(dá)到飽和狀態(tài)。這種測試可以找到系統(tǒng)的處理極限,為系統(tǒng)調(diào)優(yōu)提供依據(jù)。
大數(shù)據(jù)量測試:針對某些系統(tǒng)存儲、傳輸、統(tǒng)計查詢等業(yè)務(wù)進(jìn)行大數(shù)據(jù)量的測試。
配置測試:通過測試找到系統(tǒng)各資源的最優(yōu)分配原則。
可靠性測試:可以施加cpu資源保持70%-90%使用率的壓力,連續(xù)對系統(tǒng)加壓運(yùn)行8小時,然后根據(jù)結(jié)果分析系統(tǒng)是否穩(wěn)定。即加載一定壓力的情況下,使系統(tǒng)運(yùn)行一段時間。
并發(fā)測試:多以發(fā)現(xiàn)一些算法設(shè)計上的問題。
性能測試以用戶并發(fā)測試為主的測試。
性能測試主要是為了發(fā)現(xiàn)軟件問題和硬件瓶頸。
【測試常見面試問題】相關(guān)文章:
測試人員面試經(jīng)典問題11-10
常見的面試問題05-17
面試常見問題及回答06-20
采購面試常見問題06-10
面試英語常見問題06-14
英文面試常見問題03-19
MBA面試常見問題04-26
面試常見問題及回答03-14
酒店面試常見問題10-17
社工常見面試問題03-09