亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

軟件測試面試題及答案

時間:2022-10-13 20:11:59 面試問題 我要投稿
  • 相關(guān)推薦

軟件測試面試題及答案

  這是一份軟件測試面試題集錦,也是一份軟件測試人員學(xué)習(xí)的好工具書,非常實用。

軟件測試面試題及答案

  01。 為什么要在一個團隊中開展軟件測試工作?

  因為沒有經(jīng)過測試的軟件很難在發(fā)布之前知道該軟件的質(zhì)量,就好比 ISO 質(zhì)量認(rèn)證一樣,測試同樣也需要質(zhì)量的保證,這個時候就需要在團隊中開展軟件測試的工作。在測試的過程發(fā)現(xiàn)軟件中存在的問題,及時讓開發(fā)人員得知并修改問題,在即將發(fā)布時,從測試報告中得出軟件的質(zhì)量情況。

  02。 您在以往的測試工作中都曾經(jīng)具體從事過哪些工作?其中最擅長哪部分工作?

  我曾經(jīng)做過 web 測試,后臺測試,客戶端軟件,其中包括功能測試,性能測試,用戶體驗測試。最擅長的是功能測試

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

  測試類型有:功能測試,性能測試,界面測試。

  功能測試在測試工作中占的比例最大,功能測試也叫黑盒測試。是把測試對象看作一個黑盒子。利用黑盒測試法進行動態(tài)測試時,需要測試軟件產(chǎn)品的功能,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。采用黑盒技術(shù)設(shè)計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。

  性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進行測試。負(fù)載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進行。通過負(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è)計的失敗,讓用戶有挫敗感,再實用強大的功能都可能在用戶的畏懼與放棄中付諸東流。

  區(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ī)格,可以進行測試證明每個實現(xiàn)了的功能是否符合要求。

  白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。

  軟件的黑盒測試意味著測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內(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è)計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態(tài),確定實際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試主要是想對程序模塊進行如下檢查:

  1、對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍。

  2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。

  3、在循環(huán)的邊界和運行的界限內(nèi)執(zhí)行循環(huán)體。

  4、測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。

  單元測試(模塊測試)是開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。

  單元測試是由程序員自己來完成,最終受益的也是程序員自己?梢赃@么說,程序員有責(zé)任編寫功能代碼,同時也就有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望的一致。

  集成測試(也叫組裝測試,聯(lián)合測試)是單元測試的邏輯擴展。它的最簡單的形式是:

  兩個已經(jīng)測試過的單元組合成一個組件,并且測試它們之間的接口。從這一層意義上講,組件是指多個單元的集成聚合。在現(xiàn)實方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測試片段的組合,并最終擴展進程,將您的模塊與其他組的模塊一起測試。最后,將構(gòu)成進程的所有模塊一起測試。

  系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(tǒng)來測試。它是檢驗系統(tǒng)是否確實能提供系統(tǒng)方案說明書中指定功能的有效方法。(常見的聯(lián)調(diào)測試)

  系統(tǒng)測試的目的是對最終軟件系統(tǒng)進行全面的測試,確保最終軟件系統(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)該進一步驗證軟件的有效性,這就是驗收測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。

  06。 您認(rèn)為做好測試計劃工作的關(guān)鍵是什么?

  1。 明確測試的目標(biāo),增強測試計劃的實用性

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

  2。堅持“5W”規(guī)則,明確內(nèi)容與過程

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

  3。采用評審和更新機制,保證測試計劃滿足實際需求

  測試計劃寫作完成后,如果沒有經(jīng)過評審,直接發(fā)送給測試團隊,測試計劃內(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ù)。

  07。 您所熟悉的測試用例設(shè)計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設(shè)計工作中的應(yīng)用。

  1。等價類劃分

  劃分等價類: 等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試。

  因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù)。取得較好的測試結(jié)果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。

  2。邊界值分析法

  邊界值分析方法是對等價類劃分方法的補充。測試工作經(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è)計測試用例。 這就需要利用因果圖(邏輯模型)。 因果圖方法最終生成的就是判定表。 它適合于檢查程序輸入條件的各種組合情況。

  08。 你對測試最大的興趣在哪里?為什么?

  最大的興趣就是測試有難度,有挑戰(zhàn)性!做測試越久越能感覺到做好測試有多難。曾經(jīng)在無憂測試網(wǎng)上看到一篇文章,是關(guān)于如何做好一名測試工程師。一共羅列了 11,12 點,有部分是和人的性格有關(guān),有部分需要后天的努力。但除了性格有關(guān)的 1,2 點我沒有把握,其他點我都很有信心做好它。

  剛開始進入測試行業(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ā)人員溝通就能達到目的),而技術(shù)基礎(chǔ)可就沒那么簡單了,這需要你自覺的學(xué)習(xí)能力,比如說網(wǎng)站吧,最基本的技術(shù)知識你要知道網(wǎng)站內(nèi)部是怎么運作的的,后臺是怎么響應(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 需要測試的過程中更了解所測版本的情況獲得更多信息,補充測試用例,測試出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ā)人員初步定位問題。

  09。 你的測試職業(yè)發(fā)展是什么?

  測試經(jīng)驗越多,測試能力越高。所以我的職業(yè)發(fā)展是需要時間累積的,一步步向著高級測試工程師奔去。而且我也有初步的職業(yè)規(guī)劃,前 3 年累積測試經(jīng)驗,按如何做好測試工程師的 11,12 點要求自己,不斷的更新自己改正自己,做好測試任務(wù)。

  10。 你自認(rèn)為測試的優(yōu)勢在哪里?

  優(yōu)勢在于我對測試堅定不移的信心和熱情,雖然經(jīng)驗還不夠,但測試需要的基本技能我有信心在工作中得以發(fā)揮。

  11。 你以前工作時的測試流程是什么?

  公司對測試流程沒有規(guī)定如何做,但每個測試人員都有自己的一套測試流程。我說下我1 年來不斷改正(自己總結(jié),吸取同行的方法)后的流程吧。需求評審(有開發(fā)人員,產(chǎn)品經(jīng)理,測試人員,項目經(jīng)理)—>需求確定(出一份確定的需求文檔)—>開發(fā)設(shè)計文檔(開發(fā)人員在開始寫代碼前就能輸出設(shè)計文檔)—>想好測試策略,寫出測試用例—>發(fā)給開發(fā)人員和測試經(jīng)理看看(非正式的評審用例)—>接到測試版本—>執(zhí)行測試用例(中間可能會補充用例)—>提交 bug (有些bug 需要開發(fā)人員的確定(嚴(yán)重級別的,或突然發(fā)現(xiàn)的在測試用例范圍之外的,難以重現(xiàn)的),有些可以直接錄制進 TD)—>開發(fā)人員修改(可以在測試過程中快速的修改)—>回歸測試(可能又會發(fā)現(xiàn)新問題,再按流程開始跑)。

【軟件測試面試題及答案】相關(guān)文章:

軟件測試面試題11-06

軟件測試工程師面試題及答案分享08-08

軟件測試英文面試題07-26

軟件測試類英文面試題08-08

軟件測試筆試題及答案02-10

軟件測試筆試題及答案02-21

軟件測試筆試題及答案下載02-24

2016華為軟件測試筆試題及答案08-17

軟件測試 試題12-12

軟件測試面試02-16