【純干貨!!!】花費(fèi)了整整3天,整理出來的全網(wǎng)最實(shí)用軟件測試面試大全,一共30道題目+答案的純干貨,希望大家多多支持,建議 點(diǎn)贊!!收藏!!長文警告,全文共12000+字,涵蓋軟件測試面試可能遇到的所有問題,希望對(duì)大家有幫助,不過大家最好不要硬背,實(shí)戰(zhàn)大于理論。祝大家面試順利!
51.一個(gè)測試工程師應(yīng)具備那些素質(zhì)?
1、責(zé)任心2、溝通能力3、團(tuán)隊(duì)合作精神4、耐心、細(xì)心、信心5、時(shí)時(shí)保持懷疑態(tài)度,并且有缺陷預(yù)防的意識(shí)6、具備一定的編程經(jīng)驗(yàn)
52、什么是安全性測試
Web應(yīng)用系統(tǒng)的安全性測試區(qū)域主要有:
(1)現(xiàn)在的Web應(yīng)用系統(tǒng)基本采用先注冊(cè),后登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個(gè)頁面等。
(2)Web應(yīng)用系統(tǒng)是否有超時(shí)的限制,也就是說,用戶登陸后在一定時(shí)間內(nèi)(例如15分鐘)沒有點(diǎn)擊任何頁面,是否需要重新登陸才能正常使用。
(3)為了保證Web應(yīng)用系統(tǒng)的安全性,日志文件是至關(guān)重要的。需要測試相關(guān)信息是否寫進(jìn)了日志文件、是否可追蹤。
(4)當(dāng)使用了安全套接字時(shí),還要測試加密是否正確,檢查信息的完整性。
(5)服務(wù)器端的腳本常常構(gòu)成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經(jīng)過授權(quán),就不能在服務(wù)器端放置和編輯腳本的問題。
53:你所了解的的軟件測試類型都有哪些,簡單介紹一下。
按測試策略分類:1、靜態(tài)與動(dòng)態(tài)測試2、黑盒與白盒測試 3、手工和自動(dòng)測試 4、冒煙測試 5、回歸測試;
按測試階段分類:單元測試、集成測試、系統(tǒng)測試;
其他常見測試方法:1、功能測試 2、性能測試 3、壓力測試 4、負(fù)載測試 5、易用性測試 6、安裝測試 7、界面測試 8、配置測試 9、文檔測試 10、兼容性測試 11、安全性測試 12、恢復(fù)測試
54:你認(rèn)為做好測試計(jì)劃工作的關(guān)鍵是什么?
明確測試的目標(biāo),增強(qiáng)測試計(jì)劃的實(shí)用性
編寫軟件測試計(jì)劃得重要目的就是使測試過程能夠發(fā)現(xiàn)更多的軟件缺陷,因此軟件測試計(jì)劃的價(jià)值取決于它對(duì)幫助管理測試項(xiàng)目,并且找出軟件潛在的缺陷。因此,軟件測試計(jì)劃中的測試范圍必須高度覆蓋功能需求,測試方法必須切實(shí)可行,測試工具并且具有較高的實(shí)用性,便于使用,生成的測試結(jié)果直觀、準(zhǔn)確
**
堅(jiān)持“5W”規(guī)則,明確內(nèi)容與過程
“5W”規(guī)則指的是“What(做什么)”、“Why(為什么做)”、“When(何時(shí)做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”規(guī)則創(chuàng)建軟件測試計(jì)劃,可以幫助測試團(tuán)隊(duì)理解測試的目的(Why),明確測試的范圍和內(nèi)容(What),確定測試的開始和結(jié)束日期(When),指出測試的方法和工具(How),給出測試文檔和軟件的存放位置(Where)。
采用評(píng)審和更新機(jī)制,保證測試計(jì)劃滿足實(shí)際需求
測試計(jì)劃寫作完成后,如果沒有經(jīng)過評(píng)審,直接發(fā)送給測試團(tuán)隊(duì),測試計(jì)劃內(nèi)容的可能不準(zhǔn)確或遺漏測試內(nèi)容,或者軟件需求變更引起測試范圍的增減,而測試計(jì)劃的內(nèi)容沒有及時(shí)更新,誤導(dǎo)測試執(zhí)行人員。
分別創(chuàng)建測試計(jì)劃與測試詳細(xì)規(guī)格、測試用例
應(yīng)把詳細(xì)的測試技術(shù)指標(biāo)包含到獨(dú)立創(chuàng)建的測試詳細(xì)規(guī)格文檔,把用于指導(dǎo)測試小組執(zhí)行測試過程的測試用例放到獨(dú)立創(chuàng)建的測試用例文檔或測試用例管理數(shù)據(jù)庫中。測試計(jì)劃和測試詳細(xì)規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測試計(jì)劃主要從宏觀上規(guī)劃測試活動(dòng)的范圍、方法和資源配置,而測試詳細(xì)規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)。
55:您認(rèn)為做好測試用例設(shè)計(jì)工作的關(guān)鍵是什么?
白盒測試用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時(shí)間內(nèi)發(fā)現(xiàn)最多的問題
56:你的測試職業(yè)發(fā)展目標(biāo)是什么?
測試經(jīng)驗(yàn)越多,測試能力越高。所以我的職業(yè)發(fā)展是需要時(shí)間累積的,一步步向著高級(jí)測試工程師奔去。而且我也有初步的職業(yè)規(guī)劃,前3年累積測試經(jīng)驗(yàn),不斷的更新自己改正自己,做好測試任務(wù)。
57:測試結(jié)束的標(biāo)準(zhǔn)是什么?
從微觀上來說,在測試計(jì)劃中定義,比如系統(tǒng)在一定性能下平穩(wěn)運(yùn)行72小時(shí),目前Bug Tracking System中,本版本中沒有一般嚴(yán)重的BUG,普通BUG的數(shù)量在3以下,BUG修復(fù)率90%以上等等參數(shù),然后由開發(fā)經(jīng)理,測試經(jīng)理,項(xiàng)目經(jīng)理共同簽字認(rèn)同版本Release。
如果說宏觀的,則是當(dāng)這個(gè)軟件徹底的消失以后,測試就結(jié)束了。
58、怎么理解客戶端兼容性測試
1、平臺(tái)測試
市場上有很多不同的操作系統(tǒng)類型,最常見的有Windows、Unix、Macintosh、Linux等。Web應(yīng)用系統(tǒng)的最終用戶究竟使用哪一種操作系統(tǒng),取決于用戶系統(tǒng)的配置。這樣,就可能會(huì)發(fā)生兼容性問題,同一個(gè)應(yīng)用可能在某些操作系統(tǒng)下能正常運(yùn)行,但在另外的操作系統(tǒng)下可能會(huì)運(yùn)行失敗。 因此,在Web系統(tǒng)發(fā)布之前,需要在各種操作系統(tǒng)下對(duì)Web系統(tǒng)進(jìn)行兼容性測試。
2、瀏覽器測試
瀏覽器是Web客戶端最核心的構(gòu)件,來自不同廠商的瀏覽器對(duì)Java,、JavaScript、 ActiveX、 plug-ins或不同的HTML規(guī)格有不同的支持。例如,ActiveX是Microsoft的產(chǎn)品,是為Internet Explorer而設(shè)計(jì)的,JavaScript是Netscape的產(chǎn)品,Java是Sun的產(chǎn)品等等。另外,框架和層次結(jié)構(gòu)風(fēng)格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對(duì)安全性和Java的設(shè)置也不一樣。 測試瀏覽器兼容性的一個(gè)方法是創(chuàng)建一個(gè)兼容性矩陣。在這個(gè)矩陣中,測試不同廠商、不同版本的瀏覽器對(duì)某些構(gòu)件和設(shè)置的適應(yīng)性。
59、一套完整的測試應(yīng)該由哪些階段組成?
可行性分析、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試
如何提交高質(zhì)量的缺陷報(bào)告單?
1、 缺陷的概要描述要清晰準(zhǔn)確,要使相關(guān)開發(fā)負(fù)責(zé)人員能夠一目了然問題是什么。
2、 一個(gè)完整的缺陷報(bào)告單,必須包含其必要的元素信息,例如:概要描述,缺陷發(fā)現(xiàn)人,測試環(huán)境,瀏覽器,缺陷重現(xiàn)步驟,嚴(yán)重等級(jí),指派人,所屬功能模塊等等,必要元素信息必須描述全面清楚。
3、 缺陷的重現(xiàn)步驟必須描寫清晰明了,使相關(guān)開發(fā)負(fù)責(zé)人能夠根據(jù)重現(xiàn)步驟準(zhǔn)確的重現(xiàn)所提交的缺陷,使其定位缺陷的原因所在。
4、測試數(shù)據(jù),測試的數(shù)據(jù)作為重現(xiàn)缺陷的一個(gè)重要元素信息,一定要將測試時(shí)所使用的信息給描寫清楚準(zhǔn)確。讓開發(fā)人員根據(jù)測試所提供的測試數(shù)據(jù)準(zhǔn)確重現(xiàn)缺陷。
5、附件截圖信息,附件或截圖信息能讓開發(fā)人員能夠一目了然的清楚問題的所在。
61、您是否了解以往所工作的企業(yè)的軟件開發(fā)過程?如果了解,請(qǐng)?jiān)囀鲆粋€(gè)完整的開發(fā)過程需要完成哪些工作?分別由哪些不同的角色來完成這些工作?您在以往的測試工作中都曾經(jīng)具體從事過哪些工作?其中最擅長哪部分工作?
開發(fā)過程---需求調(diào)研(需求人員)、需求分析(需求人員)、概要設(shè)計(jì)(設(shè)計(jì)人員)、詳細(xì)設(shè)計(jì)(設(shè)計(jì)人員)、編碼(開發(fā)人員)
測試過程---需求評(píng)審、系統(tǒng)測試設(shè)計(jì)、概要設(shè)計(jì)評(píng)審、集成測試設(shè)計(jì)、詳細(xì)設(shè)計(jì)評(píng)審、單元測試設(shè)計(jì)、測試執(zhí)行
測試工作的整個(gè)過程都做過,擅長做測試設(shè)計(jì)
過程決定質(zhì)量,軟件的過程改進(jìn)正是為了提高軟件的質(zhì)量,將過往的種種經(jīng)驗(yàn)教訓(xùn)積累起來。
62、測試用例設(shè)計(jì)的原則是什么?目前主要的測試用例設(shè)計(jì)方法有哪些?
代表性:能夠代表并覆蓋各種合理的和不合理、合法的和非法的、邊界的和越界的、以及極限的輸入數(shù)據(jù)、操作和環(huán)境設(shè)置等.
可判定性:即測試執(zhí)行結(jié)果的正確性是可判定的,每一個(gè)測試用例都應(yīng)有相應(yīng)的期望結(jié)果.
可再現(xiàn)性:即對(duì)同樣的測試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。
方法有等價(jià)類、邊界值、因果圖、狀態(tài)圖、正交法、大綱法
63、面向?qū)ο蟮臏y試用例設(shè)計(jì)有幾種方法?如何實(shí)現(xiàn)?
給類中的每個(gè)構(gòu)造函數(shù)設(shè)計(jì)一組測試用例
組合類中的類變量、實(shí)例變量
組合類中的各種方法
根據(jù)前置條件和后置條件設(shè)計(jì)測試用例
根據(jù)代碼設(shè)計(jì)測試用例
64、LoadRunner分為哪三個(gè)模塊?請(qǐng)簡述各模塊的主要功能。
Virtual User Generator:用于錄制腳步
Mercury LoadRunner Controller:用于創(chuàng)建、運(yùn)行和監(jiān)控場景
Mercury LoadRunner Analysis:用于分析測試結(jié)果
65、你對(duì)測試最大的興趣在哪里?為什么?
最大的興趣就是測試有難度,有挑戰(zhàn)性!做測試越久越能感覺到做好測試有多難。曾經(jīng)在無憂測試網(wǎng)上看到一篇文章,是關(guān)于如何做好一名測試工程師。一共羅列了11,12點(diǎn),有部分是和人的性格有關(guān),有部分需要后天的努力。但除了性格有關(guān)的1,2點(diǎn)我沒有把握,其他點(diǎn)我都很有信心做好它。
剛開始進(jìn)入測試行業(yè)時(shí),對(duì)測試的認(rèn)識(shí)是從無憂測試網(wǎng)上了解到的一些資料,當(dāng)時(shí)是沖著做測試需要很多技能才能做的好,雖然入門容易,但做好很難,比開發(fā)更難,雖然當(dāng)時(shí)我很想做開發(fā)(學(xué)校專業(yè)課我基本上不缺席,因?yàn)槲蚁矚g我的專業(yè)),但看到測試比開發(fā)更難更有挑戰(zhàn)性,想做好測試的意志就更堅(jiān)定了。
我覺得做測試整個(gè)過程中有2點(diǎn)讓我覺得很有難度(對(duì)我來說,有難度的東西我就非常感興趣),第一是測試用例的設(shè)計(jì),因?yàn)闇y試的精華就在測試用例的設(shè)計(jì)上了,要在版本出來之前,把用例寫好,用什么測試方法寫?(也就是測試計(jì)劃或測試策略),如果你剛測試一個(gè)新任務(wù)時(shí),你得花一定的時(shí)間去消化業(yè)務(wù)需求和技術(shù)基礎(chǔ),業(yè)務(wù)需求很好理解(多和產(chǎn)品經(jīng)理和開發(fā)人員溝通就能達(dá)到目的),而技術(shù)基礎(chǔ)可就沒那么簡單了,這需要你自覺的學(xué)習(xí)能力,比如說網(wǎng)站吧,最基本的技術(shù)知識(shí)你要知道網(wǎng)站內(nèi)部是怎么運(yùn)作的的,后臺(tái)是怎么響應(yīng)用戶請(qǐng)求的?測試環(huán)境如何搭建?這些都需要最早的學(xué)好。至少在開始測試之前能做好基本的準(zhǔn)備,可能會(huì)遇到什么難題?需求細(xì)節(jié)是不是沒有確定好?這些問題都能在設(shè)計(jì)用例的時(shí)候發(fā)現(xiàn)。
第二是發(fā)現(xiàn)BUG的時(shí)候了,這應(yīng)該是測試人員最基本的任務(wù)了,一般按測試用例開始測試就能發(fā)現(xiàn)大部分的bug,還有一部分bug需要測試的過程中更了解所測版本的情況獲得更多信息,補(bǔ)充測試用例,測試出bug。還有如何發(fā)現(xiàn)bug?這就需要在測試用例有效的情況下,通過細(xì)心和耐心去發(fā)現(xiàn)bug了,每個(gè)用例都有可能發(fā)現(xiàn)bug,每個(gè)地方都有可能出錯(cuò),所以測試過程中思維要清晰(測試過程數(shù)據(jù)流及結(jié)果都得看仔細(xì)了,bug都在里面發(fā)現(xiàn)的)。如何描述bug也很有講究,bug在什么情況下會(huì)產(chǎn)生,如果條件變化一點(diǎn)點(diǎn),就不會(huì)有這個(gè)bug,以哪些最少的操作步驟就能重現(xiàn)這個(gè)bug,這個(gè)bug產(chǎn)生的規(guī)律是什么?如果你夠厲害的話,可以幫開發(fā)人員初步定位問題。
66、您所熟悉的軟件測試類型都有哪些?請(qǐng)?jiān)囍謩e比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試、性能測試……)
測試類型有:功能測試,性能測試,界面測試。
功能測試在測試工作中占的比例最大,功能測試也叫黑盒測試。是把測試對(duì)象看作一個(gè)黑盒子。利用黑盒測試法進(jìn)行動(dòng)態(tài)測試時(shí),需要測試軟件產(chǎn)品的功能,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。采用黑盒技術(shù)設(shè)計(jì)測試用例的方法有:等價(jià)類劃分、邊界值分析、錯(cuò)誤推測、因果圖和綜合策略。
性能測試是通過自動(dòng)化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試。負(fù)載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進(jìn)行。通過負(fù)載測試,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況。壓力測試是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測試。
界面測試,界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對(duì)軟件的第一印象。而且設(shè)計(jì)良好的界面能夠引導(dǎo)用戶自己完成相應(yīng)的操作,起到向?qū)У淖饔谩M瑫r(shí)界面如同人的面孔,具有吸引用戶的直接優(yōu)勢(shì)。設(shè)計(jì)合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設(shè)計(jì)的失敗,讓用戶有挫敗感,再實(shí)用強(qiáng)大的功能都可能在用戶的畏懼與放棄中付諸東流。
區(qū)別在于,功能測試關(guān)注產(chǎn)品的所有功能上,要考慮到每個(gè)細(xì)節(jié)功能,每個(gè)可能存在的功能問題。性能測試主要關(guān)注于產(chǎn)品整體的多用戶并發(fā)下的穩(wěn)定性和健壯性。界面測試更關(guān)注于用戶體驗(yàn)上,用戶使用該產(chǎn)品的時(shí)候是否易用,是否易懂,是否規(guī)范(快捷鍵之類的),是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺(tái)避免用戶無意輸入無效的數(shù)據(jù),當(dāng)然考慮到體驗(yàn)性,不能太粗魯?shù)膹棾鼍妫孔瞿硞€(gè)性能測試的時(shí)候,首先它可能是個(gè)功能點(diǎn),首先要保證它的功能是沒問題的,然后再考慮該功能點(diǎn)的性能測試
67、請(qǐng)?jiān)囍容^一下黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試的區(qū)別與聯(lián)系。
黑盒測試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。
白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。
軟件的黑盒測試意味著測試要在軟件的接口處進(jìn)行。這種方法是把測試對(duì)象看做一個(gè)黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動(dòng)測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:
1、是否有不正確或遺漏的功能?2、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?3、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問錯(cuò)誤?4、性能上是否能夠滿足要求?5、是否有初始化或終止性錯(cuò)誤?
軟件的白盒測試是對(duì)軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測試對(duì)象看做一個(gè)打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對(duì)程序所有邏輯路徑進(jìn)行測試。通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試。白盒測試主要是想對(duì)程序模塊進(jìn)行如下檢查:
1、對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測試一遍。
2、對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。
4、測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。
單元測試(模塊測試)是開發(fā)者編寫的一小段代碼,用于檢驗(yàn)被測代碼的一個(gè)很小的、很明確的功能是否正確。通常而言,一個(gè)單元測試是用于判斷某個(gè)特定條件(或者場景)下某個(gè)特定函數(shù)的行為。
單元測試是由程序員自己來完成,最終受益的也是程序員自己。可以這么說,程序員有責(zé)任編寫功能代碼,同時(shí)也就有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望的一致。
集成測試(也叫組裝測試,聯(lián)合測試)是單元測試的邏輯擴(kuò)展。它的最簡單的形式是:兩個(gè)已經(jīng)測試過的單元組合成一個(gè)組件,并且測試它們之間的接口。從這一層意義上講,組件是指多個(gè)單元的集成聚合。在現(xiàn)實(shí)方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測試片段的組合,并最終擴(kuò)展進(jìn)程,將您的模塊與其他組的模塊一起測試。最后,將構(gòu)成進(jìn)程的所有模塊一起測試。
系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個(gè)完整系統(tǒng)來測試。它是檢驗(yàn)系統(tǒng)是否確實(shí)能提供系統(tǒng)方案說明書中指定功能的有效方法。(常見的聯(lián)調(diào)測試)
系統(tǒng)測試的目的是對(duì)最終軟件系統(tǒng)進(jìn)行全面的測試,確保最終軟件系統(tǒng)滿足產(chǎn)品需求并且遵循系統(tǒng)設(shè)計(jì)。
驗(yàn)收測試是部署軟件之前的最后一個(gè)測試操作。驗(yàn)收測試的目的是確保軟件準(zhǔn)備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。
驗(yàn)收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是驗(yàn)收測試的任務(wù),即軟件的功能性能如同用戶所合理期待的那樣。
68、當(dāng)開發(fā)人員說不是BUG時(shí),你如何應(yīng)付?
開發(fā)人員說不是bug,有2種情況,一是需求沒有確定,所以我可以這么做,這個(gè)時(shí)候可以找來產(chǎn)品經(jīng)理進(jìn)行確認(rèn),需不需要改動(dòng),3方商量確定好后再看要不要改。二是這種情況不可能發(fā)生,所以不需要修改,這個(gè)時(shí)候,我可以先盡可能的說出是BUG的依據(jù)是什么?如果被用戶發(fā)現(xiàn)或出了問題,會(huì)有什么不良結(jié)果?程序員可能會(huì)給你很多理由,你可以對(duì)他的解釋進(jìn)行反駁。如果還是不行,那我可以給這個(gè)問題提出來,跟開發(fā)經(jīng)理和測試經(jīng)理進(jìn)行確認(rèn),如果要修改就改,如果不要修改就不改。其實(shí)有些真的不是bug,我也只是建議的方式寫進(jìn)TD中,如果開發(fā)人員不修改也沒有大問題。如果確定是bug的話,一定要堅(jiān)持自己的立場,讓問題得到最后的確認(rèn)。
69、為什么要在一個(gè)團(tuán)隊(duì)中開展軟件測試工作?
因?yàn)闆]有經(jīng)過測試的軟件很難在發(fā)布之前知道該軟件的質(zhì)量,就好比ISO質(zhì)量認(rèn)證一樣,測試同樣也需要質(zhì)量的保證,這個(gè)時(shí)候就需要在團(tuán)隊(duì)中開展軟件測試的工作。在測試的過程發(fā)現(xiàn)軟件中存在的問題,及時(shí)讓開發(fā)人員得知并修改問題,在即將發(fā)布時(shí),從測試報(bào)告中得出軟件的質(zhì)量情況。
70、web測試和APP測試的區(qū)別
僅僅從功能測試的層面上來講的話,在流程和功能測試上是沒有區(qū)別的。那么區(qū)別在哪里呢?
由于載體不一樣,所以系統(tǒng)測試和一些細(xì)節(jié)可能會(huì)不一樣。
那么我們就要先來了解,web和app的區(qū)別。
web項(xiàng)目,一般都是b/s架構(gòu),基于瀏覽器的,而app則是c/s的,必須要有客戶端。那么在系統(tǒng)測試測試的時(shí)候就會(huì)產(chǎn)生區(qū)別了。
首先從系統(tǒng)架構(gòu)來看的話,web測試只要更新了服務(wù)器端,客戶端就會(huì)同步會(huì)更新。而且客戶端是可以保證每一個(gè)用戶的客戶端完全一致的。但是app端是不能夠保證完全一致的,除非用戶更新客戶端。如果是app下修改了服務(wù)端,意味著客戶端用戶所使用的核心版本都需要進(jìn)行回歸測試一遍。
接著是性能方面,web頁面可能只會(huì)關(guān)注響應(yīng)時(shí)間,而app則還需要關(guān)心流量、電量、CPU、GPU、Memory這些了。至于服務(wù)端的性能是沒區(qū)別,這里就不談。
相比較web測試,app更是多了一些專項(xiàng)測試:
健壯性測試:
一些異常場景的考慮以及弱網(wǎng)絡(luò)測試。這里的異常場景就是中斷,來電,短信,關(guān)機(jī),重啟等。
而弱網(wǎng)測試是app測試中必須執(zhí)行的一項(xiàng)測試。包含弱網(wǎng)和網(wǎng)絡(luò)切換測試。需要測試弱網(wǎng)所造成的用戶體驗(yàn),重點(diǎn)要考慮回退和刷新是否會(huì)造成二次提交。需要測試丟包,延時(shí)的處理機(jī)制。避免用戶的流失。這些在前面的弱網(wǎng)測試那篇已經(jīng)講過,這里不再講了。
安裝、卸載、更新:
web測試是基于瀏覽器的所以不必考慮這些。而app是客戶端的,則必須測試安裝、更新、卸載。除了常規(guī)的安裝、更新、卸載還要考慮到異常場景。包括安裝時(shí)的中斷、弱網(wǎng)、安裝后刪除安裝文件,更新的強(qiáng)制更新與非強(qiáng)制更新、增量包更新、斷點(diǎn)續(xù)傳、弱網(wǎng),卸載后刪除app相關(guān)的文件等等。
就自動(dòng)化來講,web大多用的selenium、webdriver,而app則是appium。
性能使用的工具web則是LR,app使用Jmeter要多一點(diǎn)## 71、一份測試計(jì)劃應(yīng)該包括哪些內(nèi)容?
背景、項(xiàng)目簡介、目的、測試范圍、測試策略、人員分工、資源要求、進(jìn)度計(jì)劃、參考文檔、常用術(shù)語、提交文檔、風(fēng)險(xiǎn)分析。
72、針對(duì)于軟件的行業(yè)背景,你如何理解軟件的業(yè)務(wù)?
閱讀用戶手冊(cè)了解軟件的功能和操作流程;看一些業(yè)務(wù)的專業(yè)書籍補(bǔ)充業(yè)務(wù)知識(shí);如果有用戶實(shí)際的數(shù)據(jù),可以拿實(shí)際的數(shù)據(jù)進(jìn)行參考;參考以前的用例和BUG報(bào)告;在使用軟件的過程中多思考;多與產(chǎn)品經(jīng)理交流。
74、如何定位測試用例的作用?
組織性:編寫、組織性、功能覆蓋、重復(fù)性、跟蹤、測試確認(rèn)
75、軟件測試的流程
76、什么是兼容性測試?請(qǐng)舉例說明如何利用兼容性測試列表進(jìn)行測試。
主要驗(yàn)證軟件產(chǎn)品在不同版本之間的兼容性。包括向下兼容和交錯(cuò)兼容,向下兼容是測試軟件新版本保留它早期版本功能的情況,交錯(cuò)兼容是驗(yàn)證共同存在的兩個(gè)相關(guān)但不相同的產(chǎn)品之間的兼容性。
77、對(duì)某軟件進(jìn)行測試,發(fā)現(xiàn)在WIN98上運(yùn)行得很慢,怎么判別是該軟件存在問題還是其軟硬件運(yùn)行環(huán)境存在問題?
看軟件的運(yùn)行環(huán)境要求。如果符合要求則是程序存在問題,若不符合要求則是硬件系統(tǒng)存在問題
78、需求測試的注意事項(xiàng)有哪些?
是否使用了公司的模板、文檔內(nèi)容是否符合規(guī)范、所有的需求是分級(jí)是否清析適當(dāng)、所有的需求是否具有一致性、需求是否可行(即,該需求組合有解決方案)、需求可否用己知的約束來實(shí)現(xiàn)、需求是否足夠(即,可以把它送到一個(gè)規(guī)范的開發(fā)組織,并有一個(gè)生產(chǎn)出所需要產(chǎn)品的合理的可能性)、所有的其它需求是交叉引用是否正確、用戶描述是否清楚、是否用客戶的語言來描述需求、每個(gè)需求描述是否清楚沒有岐義,可以移交給一個(gè)獨(dú)立的組去實(shí)現(xiàn)時(shí)也能理解、是否所有的需求都是可驗(yàn)證的、是否每條需求都具有獨(dú)立性,即使發(fā)生了變化也不會(huì)影響其它需求、性能指標(biāo)是否明確、非功能性需求是否得到充分表現(xiàn)、是否完整列出適用的標(biāo)準(zhǔn)或協(xié)議、標(biāo)準(zhǔn)和協(xié)議之間是否存在沖突
79軟件測試的目的:
1.驗(yàn)證軟件需求和功能是否得到完整實(shí)現(xiàn)
2.驗(yàn)證軟件是否可以發(fā)布
3.盡可能多的發(fā)現(xiàn)軟件中的bug
4.盡可能早的發(fā)現(xiàn)軟件中的bug
5.對(duì)軟件質(zhì)量做出合理評(píng)估
6.預(yù)防下個(gè)版本可能出現(xiàn)的問題
7.預(yù)防用戶使用可能出現(xiàn)的問題
8.發(fā)現(xiàn)開發(fā)過程中的問題和風(fēng)險(xiǎn)
80、軟件測試的原則:
1、所有測試的標(biāo)準(zhǔn)都是建立在用戶需求之上 。
2、合理控制測試深度與廣度,完全測試不可能,測試的投入與產(chǎn)出要均衡。
3、80-20原則,軟件中80%的bug可以在分析、設(shè)計(jì)與評(píng)審階段就能被發(fā)現(xiàn)與修正,16%的缺陷在系統(tǒng)的軟件測試中發(fā)現(xiàn),最后剩下的4%是用戶長期使用的過程中才能暴露出來。
4、盡可能早的開展測試,越早發(fā)現(xiàn)錯(cuò)誤,修改的代價(jià)越小。
5、發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測試。
6、軟件項(xiàng)目一啟動(dòng),軟件測試也就是開始,而不是等程序?qū)懲辏砰_始進(jìn)行測試 。
7、軟件開發(fā)人員即程序員應(yīng)當(dāng)避免測試自己的程序
8、嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性,以避免發(fā)生疏漏或者重復(fù)無效的工作
81、主鍵、外鍵的作用,索引的優(yōu)點(diǎn)與不足?
答:主鍵:是表中的唯一標(biāo)示鍵。作用:保證實(shí)體的完整性;加快數(shù)據(jù)庫的操作速度;增加新的表記錄時(shí),數(shù)據(jù)庫會(huì)自動(dòng)檢索新記錄的主鍵值,不允許該值與其他表中記錄的主鍵重復(fù);數(shù)據(jù)庫會(huì)按主鍵值的順序顯示記錄,如果沒有設(shè)定主鍵,則按輸入的順序顯示記錄。
外鍵:是主鍵的從屬,表示了兩個(gè)表之間的聯(lián)系。作用:使用外鍵可以避免冗余。
索引的優(yōu)點(diǎn): 1、通過創(chuàng)建唯一性的索引,可以保證表中數(shù)據(jù)的唯一性; 2、加速數(shù)據(jù)的檢索速度; 3、加快表與表之間的連接; 4、在使用分組與排序數(shù)據(jù)檢索時(shí),可以顯著檢索分組與排序的時(shí)間; 5、在查詢的過程中使用優(yōu)化隱藏器,提供系統(tǒng)性能。
缺點(diǎn): 1、創(chuàng)建索引需要時(shí)間,且隨著數(shù)據(jù)量的增加而增加; 2、索引需要占用物理空間;
? 3、當(dāng)對(duì)表中數(shù)據(jù)進(jìn)行修改時(shí),索引也要?jiǎng)討B(tài)維護(hù),降低了數(shù)據(jù)的維護(hù)速度。
82、優(yōu)秀測試人員應(yīng)具備的技能:
1)精通業(yè)務(wù)知識(shí)
2)具備軟件編程能力,比如C,C++,JAVA等。
3)可以用腳本語言編寫小測試工具
4)主流操作系統(tǒng)應(yīng)用與網(wǎng)絡(luò)知識(shí),可以搭建測試環(huán)境
5)熟練掌握各種數(shù)據(jù)庫知識(shí)
6)精通軟件測試?yán)碚撆c方法
7)掌握常用測試與開發(fā)工具的使用
8)優(yōu)秀的文檔編寫能力
83、軟件測試模型:
V模型:反映了測試與開發(fā)階段之間一一對(duì)應(yīng)的特點(diǎn),測試在開發(fā)之后,出錯(cuò)后回歸測試量大。
84、性能測試的流程?
1.測試需求分析2.測試計(jì)劃制定與評(píng)審3.測試用例設(shè)計(jì)與開發(fā)4.測試執(zhí)行與監(jiān)控5.分析測試結(jié)果6.編寫性能測試報(bào)告7.測試經(jīng)驗(yàn)總結(jié)
84、設(shè)計(jì)用例的方法、依據(jù)有那些?
測試分為白盒測試和黑盒測試,回答時(shí),要注意分開說。白盒測試用例設(shè)計(jì)有如下方法:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。依據(jù)就是代碼結(jié)構(gòu)。
黑盒測試用例設(shè)計(jì)方法:基于用戶需求的測試、等價(jià)類劃分方法、邊界值分析方法、錯(cuò)誤推測方法、因果圖方法、判定表驅(qū)動(dòng)分析方法、正交實(shí)驗(yàn)法、場景法。依據(jù)是用戶需求規(guī)格說明書,詳細(xì)設(shè)計(jì)說明書。
85、集成測試通常都有哪些策略?
大致說四點(diǎn)即可,當(dāng)然說全更好。集成測試有十種策略:(1)大爆炸集成(2)自頂向下集成(3)自底向上集成(4)三明治集成(5)分層集成(6)基干集成(7)基于功能的集成(8)基于消息的集成(9)基于風(fēng)險(xiǎn)的集成(10)基于進(jìn)度的集成.
86、什么是兼容性測試?兼容性測試側(cè)重哪些方面?
兼容測試主要是檢查軟件在不同的硬件平臺(tái)、軟件平臺(tái)上是否可以正常的運(yùn)行,即是通常說的軟件的可移植性。
兼容的類型,如果細(xì)分的話,有平臺(tái)的兼容,網(wǎng)絡(luò)兼容,數(shù)據(jù)庫兼容,以及數(shù)據(jù)格式的兼容。
兼容測試的重點(diǎn)是,對(duì)兼容環(huán)境的分析。通常,是在運(yùn)行軟件的環(huán)境不是很確定的情況下,才需要做兼容。根據(jù)軟件運(yùn)行的需要,或者根據(jù)需求文檔,一般都能夠得出用戶會(huì)在什么環(huán)境下使用該軟件,把這些環(huán)境整理成表單,就得出做兼容測試的兼容環(huán)境了。
我現(xiàn)在有個(gè)程序,發(fā)現(xiàn)在Windows上運(yùn)行得很慢,怎么判別是程序存在問題還是軟硬件系統(tǒng)存在問題?
1、檢查系統(tǒng)是否有中毒的特征;
2、檢查軟件/硬件的配置是否符合軟件的推薦標(biāo)準(zhǔn);
3、確認(rèn)當(dāng)前的系統(tǒng)是否是獨(dú)立,即沒有對(duì)外提供什么消耗CPU資源的服務(wù);
4、如果是C/S或者B/S結(jié)構(gòu)的軟件,需要檢查是不是因?yàn)榕c服務(wù)器的連接有問題,或者訪問有問題造成的;
5、在系統(tǒng)沒有任何負(fù)載的情況下,查看性能監(jiān)視器,確認(rèn)應(yīng)用程序?qū)PU/內(nèi)存的訪問情況。
88、簡述bug的生命周期?
1, 有效地記錄BUG 2, 使用BUG模板 3, 評(píng)價(jià)BUG優(yōu)先級(jí)和嚴(yán)重性 4, BUG的生命 5, 維護(hù)BUG數(shù)據(jù)庫
89、缺陷記錄應(yīng)包含的內(nèi)容?
缺陷標(biāo)識(shí)、缺陷類型、缺陷嚴(yán)重程度、缺陷產(chǎn)生可能性、缺陷優(yōu)先級(jí)、缺陷狀態(tài)、缺陷起源、缺陷來源、缺陷原因;
一條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄?
1.和BUG對(duì)應(yīng)的軟件版本
2.開發(fā)的接口人員,測試人員
3.BUG的優(yōu)先級(jí)
4.BUG的嚴(yán)重程度
5.BUG可能屬于的模塊
6.BUG的標(biāo)題
7.BUG的描述
8.BUG的截圖
9.BUG的狀態(tài)
10.BUG的錯(cuò)誤類型(數(shù)據(jù),界面。。。。)
[圖片上傳失敗...(image-34a3f2-1597845634560)]
91、您所熟悉的軟件測試類型都有哪些?請(qǐng)?jiān)囍謩e比較這些不同的測試類型的區(qū)別與聯(lián)系(****如功能測試、性能測試……)
易用性測試-界面的友好性,操作方便性等。
功能測試-系統(tǒng)中功能性需求的滿足
安全性測試-系統(tǒng)是否存在安全隱患和漏洞
性能測試-系統(tǒng)在大并發(fā)下的響應(yīng)速度和健壯性
92、 什么是扇入?什么是扇出?
扇入:被調(diào)次數(shù),扇出:調(diào)其它模塊數(shù)目
什么是樁模塊?什么是驅(qū)動(dòng)模塊?
樁模塊:被測模塊調(diào)用模塊
驅(qū)動(dòng)模塊:調(diào)用被測模塊
93、您認(rèn)為做好測試計(jì)劃工作的關(guān)鍵是什么?
了解項(xiàng)目或系統(tǒng)的業(yè)務(wù)需求
和項(xiàng)目經(jīng)理協(xié)調(diào)好,了解項(xiàng)目的進(jìn)度計(jì)劃安排情況
94、簡述一下缺陷的生命周期?
提交->確認(rèn)->分配->修復(fù)->驗(yàn)證->關(guān)閉
95、您認(rèn)為做好測試用例設(shè)計(jì)工作的關(guān)鍵是什么?
對(duì)業(yè)務(wù)和軟件需求非常清楚,可以根據(jù)需求不同選擇不同的測試用例設(shè)計(jì)
96、您以往的工作中是否曾開展過測試用例的評(píng)審工作?如果有,請(qǐng)描述測試用例評(píng)審的過程和評(píng)審的內(nèi)容。
評(píng)審計(jì)劃->預(yù)審->評(píng)審;
評(píng)審內(nèi)容主要是測試用例對(duì)軟件需求的覆蓋程度,對(duì)于相關(guān)邊界是否考慮,是否針對(duì)復(fù)雜流程準(zhǔn)備多套測試數(shù)據(jù),是否有專門針對(duì)非功能性需求的測試。
97、一套完整的測試應(yīng)該由哪些階段組成?
參考答案:測試計(jì)劃、測試設(shè)計(jì)與開發(fā)、測試實(shí)施、測試評(píng)審與測試結(jié)論
98、您認(rèn)為性能測試工作的目的是什么?做好性能測試工作的關(guān)鍵是什么?
關(guān)鍵是測試腳本的錄制,測試時(shí)候測試環(huán)境的干凈。
99、所有的軟件缺陷都能修復(fù)嗎?所有的軟件缺陷都要修復(fù)嗎?
從技術(shù)上講,所有的軟件缺陷都是能夠修復(fù)的,但是沒有必要修復(fù)所有的軟件缺陷。測試人員要做的是能夠正確判斷什么時(shí)候不能追求軟件的完美。對(duì)于整個(gè)項(xiàng)目團(tuán)隊(duì),要做的是對(duì)每一個(gè)軟件缺陷進(jìn)行取舍,根據(jù)風(fēng)險(xiǎn)決定那些缺陷要修復(fù)。發(fā)生這種現(xiàn)象的主要原因如下:
-沒有足夠的時(shí)間資源。在任何一個(gè)項(xiàng)目中,通常情況下開發(fā)人員和測試人員都是不夠用的,而且在項(xiàng)目中沒有預(yù)算足夠的回歸測試時(shí)間,再加上修改缺陷可能引入新的缺陷,因此在交付期限的強(qiáng)大壓力下,必須放棄某些缺陷的修改。
-有些缺陷只是特殊情況下出現(xiàn),這種缺陷處于商業(yè)利益考慮,可以在以后升級(jí)中進(jìn)行修復(fù)。
-不是缺陷的缺陷。我們經(jīng)常會(huì)碰到某些功能方面的問題被當(dāng)成缺陷來處理,這類問題可以以后有時(shí)間時(shí)考慮再處理。
最后要說的是,缺陷是否修改要由軟件測試人員、項(xiàng)目經(jīng)理、程序員共同討論來決定是否修復(fù),不同角色的人員從不同的角度來思考,以做出正確的決定。
100、.您以往所從事的軟件測試工作中,是否使用了一些工具來進(jìn)行軟件缺陷(Bug)的管理?如果有,請(qǐng)結(jié)合該工具描述軟件缺陷(Bug)跟蹤管理的流程。
QC,也可以使用BugFree等免費(fèi)工具。
如果對(duì)軟件測試有興趣,想了解更多的測試知識(shí),解決測試問題,以及入門指導(dǎo),幫你解決測試中遇到的困惑,我們這里有技術(shù)高手。如果你正在找工作或者剛剛學(xué)校出來,又或者已經(jīng)工作但是經(jīng)常覺得難點(diǎn)很多,覺得自己測試方面學(xué)的不夠精想要繼續(xù)學(xué)習(xí)的,想轉(zhuǎn)行怕學(xué)不會(huì)的,都可以加入我們644956177。
群內(nèi)可領(lǐng)取最新軟件測試大廠面試資料和Python自動(dòng)化、接口、框架搭建學(xué)習(xí)資料!