【純干貨O沈取!碱蒙!】花費(fèi)了整整3天荠瘪,整理出來的全網(wǎng)最實(shí)用軟件測試面試大全,一共30道題目+答案的純干貨赛惩,希望大家多多支持哀墓,建議 點(diǎn)贊!喷兼!收藏@捍隆!長文警告季惯,全文共12000+字吠各,涵蓋軟件測試面試可能遇到的所有問題,希望對大家有幫助勉抓,不過大家最好不要硬背贾漏,實(shí)戰(zhàn)大于理論。祝大家面試順利藕筋!
51.一個測試工程師應(yīng)具備那些素質(zhì)纵散?
1、責(zé)任心2、溝通能力3伍掀、團(tuán)隊(duì)合作精神4掰茶、耐心、細(xì)心蜜笤、信心5符匾、時時保持懷疑態(tài)度,并且有缺陷預(yù)防的意識6瘩例、具備一定的編程經(jīng)驗(yàn)
52啊胶、什么是安全性測試
Web應(yīng)用系統(tǒng)的安全性測試區(qū)域主要有:
(1)現(xiàn)在的Web應(yīng)用系統(tǒng)基本采用先注冊,后登陸的方式垛贤。因此焰坪,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感聘惦,可以試多少次的限制某饰,是否可以不登陸而直接瀏覽某個頁面等。
(2)Web應(yīng)用系統(tǒng)是否有超時的限制善绎,也就是說黔漂,用戶登陸后在一定時間內(nèi)(例如15分鐘)沒有點(diǎn)擊任何頁面,是否需要重新登陸才能正常使用禀酱。
(3)為了保證Web應(yīng)用系統(tǒng)的安全性炬守,日志文件是至關(guān)重要的。需要測試相關(guān)信息是否寫進(jìn)了日志文件剂跟、是否可追蹤减途。
(4)當(dāng)使用了安全套接字時,還要測試加密是否正確曹洽,檢查信息的完整性鳍置。
(5)服務(wù)器端的腳本常常構(gòu)成安全漏洞,這些漏洞又常常被黑客利用送淆。所以税产,還要測試沒有經(jīng)過授權(quán),就不能在服務(wù)器端放置和編輯腳本的問題偷崩。
53:你所了解的的軟件測試類型都有哪些辟拷,簡單介紹一下。
按測試策略分類:1环凿、靜態(tài)與動態(tài)測試2梧兼、黑盒與白盒測試 3、手工和自動測試 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ì)劃的價值取決于它對幫助管理測試項(xiàng)目,并且找出軟件潛在的缺陷扬舒。因此阐肤,軟件測試計(jì)劃中的測試范圍必須高度覆蓋功能需求,測試方法必須切實(shí)可行呼巴,測試工具并且具有較高的實(shí)用性泽腮,便于使用,生成的測試結(jié)果直觀衣赶、準(zhǔn)確
**
堅(jiān)持“5W”規(guī)則,明確內(nèi)容與過程
“5W”規(guī)則指的是“What(做什么)”厚满、“Why(為什么做)”府瞄、“When(何時做)”、“Where(在哪里)”碘箍、“How(如何做)”遵馆。利用“5W”規(guī)則創(chuàng)建軟件測試計(jì)劃,可以幫助測試團(tuán)隊(duì)理解測試的目的(Why)丰榴,明確測試的范圍和內(nèi)容(What)货邓,確定測試的開始和結(jié)束日期(When),指出測試的方法和工具(How)四濒,給出測試文檔和軟件的存放位置(Where)换况。
采用評審和更新機(jī)制职辨,保證測試計(jì)劃滿足實(shí)際需求
測試計(jì)劃寫作完成后,如果沒有經(jīng)過評審戈二,直接發(fā)送給測試團(tuán)隊(duì)舒裤,測試計(jì)劃內(nèi)容的可能不準(zhǔn)確或遺漏測試內(nèi)容,或者軟件需求變更引起測試范圍的增減觉吭,而測試計(jì)劃的內(nèi)容沒有及時更新腾供,誤導(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ī)劃測試活動的范圍、方法和資源配置闷游,而測試詳細(xì)規(guī)格峻汉、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)。
55:您認(rèn)為做好測試用例設(shè)計(jì)工作的關(guān)鍵是什么脐往?
白盒測試用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口休吠。不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題
56:你的測試職業(yè)發(fā)展目標(biāo)是什么业簿?
測試經(jīng)驗(yàn)越多瘤礁,測試能力越高。所以我的職業(yè)發(fā)展是需要時間累積的梅尤,一步步向著高級測試工程師奔去柜思。而且我也有初步的職業(yè)規(guī)劃,前3年累積測試經(jīng)驗(yàn)巷燥,不斷的更新自己改正自己赡盘,做好測試任務(wù)。
57:測試結(jié)束的標(biāo)準(zhǔn)是什么缰揪?
從微觀上來說陨享,在測試計(jì)劃中定義,比如系統(tǒng)在一定性能下平穩(wěn)運(yùn)行72小時钝腺,目前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)這個軟件徹底的消失以后,測試就結(jié)束了星爪。
58浆西、怎么理解客戶端兼容性測試
1、平臺測試
市場上有很多不同的操作系統(tǒng)類型顽腾,最常見的有Windows近零、Unix、Macintosh抄肖、Linux等久信。Web應(yīng)用系統(tǒng)的最終用戶究竟使用哪一種操作系統(tǒng),取決于用戶系統(tǒng)的配置漓摩。這樣裙士,就可能會發(fā)生兼容性問題,同一個應(yīng)用可能在某些操作系統(tǒng)下能正常運(yùn)行管毙,但在另外的操作系統(tǒng)下可能會運(yùn)行失敗腿椎。 因此,在Web系統(tǒng)發(fā)布之前夭咬,需要在各種操作系統(tǒng)下對Web系統(tǒng)進(jìn)行兼容性測試啃炸。
2、瀏覽器測試
瀏覽器是Web客戶端最核心的構(gòu)件卓舵,來自不同廠商的瀏覽器對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)格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示际长。不同的瀏覽器對安全性和Java的設(shè)置也不一樣。 測試瀏覽器兼容性的一個方法是創(chuàng)建一個兼容性矩陣兴泥。在這個矩陣中工育,測試不同廠商、不同版本的瀏覽器對某些構(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、 一個完整的缺陷報(bào)告單罚攀,必須包含其必要的元素信息党觅,例如:概要描述,缺陷發(fā)現(xiàn)人斋泄,測試環(huán)境杯瞻,瀏覽器,缺陷重現(xiàn)步驟是己,嚴(yán)重等級又兵,指派人,所屬功能模塊等等卒废,必要元素信息必須描述全面清楚沛厨。
3、 缺陷的重現(xiàn)步驟必須描寫清晰明了摔认,使相關(guān)開發(fā)負(fù)責(zé)人能夠根據(jù)重現(xiàn)步驟準(zhǔn)確的重現(xiàn)所提交的缺陷逆皮,使其定位缺陷的原因所在。
4参袱、測試數(shù)據(jù)电谣,測試的數(shù)據(jù)作為重現(xiàn)缺陷的一個重要元素信息,一定要將測試時所使用的信息給描寫清楚準(zhǔn)確抹蚀。讓開發(fā)人員根據(jù)測試所提供的測試數(shù)據(jù)準(zhǔn)確重現(xiàn)缺陷剿牺。
5、附件截圖信息环壤,附件或截圖信息能讓開發(fā)人員能夠一目了然的清楚問題的所在晒来。
61、您是否了解以往所工作的企業(yè)的軟件開發(fā)過程郑现?如果了解湃崩,請?jiān)囀鲆粋€完整的開發(fā)過程需要完成哪些工作荧降?分別由哪些不同的角色來完成這些工作?您在以往的測試工作中都曾經(jīng)具體從事過哪些工作攒读?其中最擅長哪部分工作朵诫?
開發(fā)過程---需求調(diào)研(需求人員)、需求分析(需求人員)薄扁、概要設(shè)計(jì)(設(shè)計(jì)人員)剪返、詳細(xì)設(shè)計(jì)(設(shè)計(jì)人員)、編碼(開發(fā)人員)
測試過程---需求評審泌辫、系統(tǒng)測試設(shè)計(jì)随夸、概要設(shè)計(jì)評審、集成測試設(shè)計(jì)震放、詳細(xì)設(shè)計(jì)評審宾毒、單元測試設(shè)計(jì)、測試執(zhí)行
測試工作的整個過程都做過殿遂,擅長做測試設(shè)計(jì)
過程決定質(zhì)量诈铛,軟件的過程改進(jìn)正是為了提高軟件的質(zhì)量,將過往的種種經(jīng)驗(yàn)教訓(xùn)積累起來墨礁。
62幢竹、測試用例設(shè)計(jì)的原則是什么?目前主要的測試用例設(shè)計(jì)方法有哪些恩静?
代表性:能夠代表并覆蓋各種合理的和不合理焕毫、合法的和非法的、邊界的和越界的驶乾、以及極限的輸入數(shù)據(jù)邑飒、操作和環(huán)境設(shè)置等.
可判定性:即測試執(zhí)行結(jié)果的正確性是可判定的,每一個測試用例都應(yīng)有相應(yīng)的期望結(jié)果.
可再現(xiàn)性:即對同樣的測試用例级乐,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的疙咸。
方法有等價類、邊界值风科、因果圖撒轮、狀態(tài)圖、正交法贼穆、大綱法
63题山、面向?qū)ο蟮臏y試用例設(shè)計(jì)有幾種方法?如何實(shí)現(xiàn)故痊?
給類中的每個構(gòu)造函數(shù)設(shè)計(jì)一組測試用例
組合類中的類變量臀蛛、實(shí)例變量
組合類中的各種方法
根據(jù)前置條件和后置條件設(shè)計(jì)測試用例
根據(jù)代碼設(shè)計(jì)測試用例
64、LoadRunner分為哪三個模塊崖蜜?請簡述各模塊的主要功能浊仆。
Virtual User Generator:用于錄制腳步
Mercury LoadRunner Controller:用于創(chuàng)建、運(yùn)行和監(jiān)控場景
Mercury LoadRunner Analysis:用于分析測試結(jié)果
65豫领、你對測試最大的興趣在哪里抡柿?為什么?
最大的興趣就是測試有難度等恐,有挑戰(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è)時谚鄙,對測試的認(rèn)識是從無憂測試網(wǎng)上了解到的一些資料各拷,當(dāng)時是沖著做測試需要很多技能才能做的好,雖然入門容易闷营,但做好很難烤黍,比開發(fā)更難,雖然當(dāng)時我很想做開發(fā)(學(xué)校專業(yè)課我基本上不缺席傻盟,因?yàn)槲蚁矚g我的專業(yè))速蕊,但看到測試比開發(fā)更難更有挑戰(zhàn)性,想做好測試的意志就更堅(jiān)定了莫杈。
我覺得做測試整個過程中有2點(diǎn)讓我覺得很有難度(對我來說互例,有難度的東西我就非常感興趣),第一是測試用例的設(shè)計(jì)筝闹,因?yàn)闇y試的精華就在測試用例的設(shè)計(jì)上了媳叨,要在版本出來之前,把用例寫好关顷,用什么測試方法寫糊秆?(也就是測試計(jì)劃或測試策略),如果你剛測試一個新任務(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è)計(jì)用例的時候發(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)生邑闲,如果條件變化一點(diǎn)點(diǎn)算行,就不會有這個bug,以哪些最少的操作步驟就能重現(xiàn)這個bug苫耸,這個bug產(chǎn)生的規(guī)律是什么州邢?如果你夠厲害的話,可以幫開發(fā)人員初步定位問題褪子。
66量淌、您所熟悉的軟件測試類型都有哪些?請?jiān)囍謩e比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試嫌褪、性能測試……)
測試類型有:功能測試呀枢,性能測試,界面測試笼痛。
功能測試在測試工作中占的比例最大裙秋,功能測試也叫黑盒測試琅拌。是把測試對象看作一個黑盒子。利用黑盒測試法進(jìn)行動態(tài)測試時摘刑,需要測試軟件產(chǎn)品的功能进宝,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。采用黑盒技術(shù)設(shè)計(jì)測試用例的方法有:等價類劃分泣侮、邊界值分析即彪、錯誤推測、因果圖和綜合策略活尊。
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試漏益。負(fù)載測試和壓力測試都屬于性能測試蛹锰,兩者可以結(jié)合進(jìn)行。通過負(fù)載測試绰疤,確定在各種工作負(fù)載下系統(tǒng)的性能铜犬,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時,系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況轻庆。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點(diǎn)癣猾,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。
界面測試余爆,界面是軟件與用戶交互的最直接的層纷宇,界面的好壞決定用戶對軟件的第一印象。而且設(shè)計(jì)良好的界面能夠引導(dǎo)用戶自己完成相應(yīng)的操作蛾方,起到向?qū)У淖饔孟翊贰M瑫r界面如同人的面孔,具有吸引用戶的直接優(yōu)勢桩砰。設(shè)計(jì)合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺拓春,相反由于界面設(shè)計(jì)的失敗,讓用戶有挫敗感亚隅,再實(shí)用強(qiáng)大的功能都可能在用戶的畏懼與放棄中付諸東流硼莽。
區(qū)別在于,功能測試關(guān)注產(chǎn)品的所有功能上煮纵,要考慮到每個細(xì)節(jié)功能懂鸵,每個可能存在的功能問題。性能測試主要關(guān)注于產(chǎn)品整體的多用戶并發(fā)下的穩(wěn)定性和健壯性醉途。界面測試更關(guān)注于用戶體驗(yàn)上矾瑰,用戶使用該產(chǎn)品的時候是否易用,是否易懂隘擎,是否規(guī)范(快捷鍵之類的)殴穴,是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺避免用戶無意輸入無效的數(shù)據(jù),當(dāng)然考慮到體驗(yàn)性采幌,不能太粗魯?shù)膹棾鼍妫┚⒐唬孔瞿硞€性能測試的時候,首先它可能是個功能點(diǎn)休傍,首先要保證它的功能是沒問題的征绎,然后再考慮該功能點(diǎn)的性能測試
67、請?jiān)囍容^一下黑盒測試磨取、白盒測試人柿、單元測試、集成測試忙厌、系統(tǒng)測試凫岖、驗(yàn)收測試的區(qū)別與聯(lián)系。
黑盒測試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格逢净,可以進(jìn)行測試證明每個實(shí)現(xiàn)了的功能是否符合要求哥放。
白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(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ì)或選擇測試用例拙吉,對程序所有邏輯路徑進(jìn)行測試。通過在不同點(diǎn)檢查程序狀態(tài)揪荣,確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致筷黔。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試主要是想對程序模塊進(jìn)行如下檢查:
1仗颈、對程序模塊的所有獨(dú)立的執(zhí)行路徑至少測試一遍佛舱。
2、對所有的邏輯判定挨决,取“真”與取“假”的兩種情況都能至少測一遍请祖。
3、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體凰棉。
4损拢、測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等撒犀。
單元測試(模塊測試)是開發(fā)者編寫的一小段代碼,用于檢驗(yàn)被測代碼的一個很小的掏秩、很明確的功能是否正確或舞。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為蒙幻。
單元測試是由程序員自己來完成映凳,最終受益的也是程序員自己∮势疲可以這么說诈豌,程序員有責(zé)任編寫功能代碼,同時也就有責(zé)任為自己的代碼編寫單元測試抒和。執(zhí)行單元測試矫渔,就是為了證明這段代碼的行為和我們期望的一致。
集成測試(也叫組裝測試摧莽,聯(lián)合測試)是單元測試的邏輯擴(kuò)展庙洼。它的最簡單的形式是:兩個已經(jīng)測試過的單元組合成一個組件,并且測試它們之間的接口镊辕。從這一層意義上講油够,組件是指多個單元的集成聚合。在現(xiàn)實(shí)方案中征懈,許多單元組合成組件石咬,而這些組件又聚合成程序的更大部分。方法是測試片段的組合卖哎,并最終擴(kuò)展進(jìn)程鬼悠,將您的模塊與其他組的模塊一起測試删性。最后,將構(gòu)成進(jìn)程的所有模塊一起測試厦章。
系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(tǒng)來測試镇匀。它是檢驗(yàn)系統(tǒng)是否確實(shí)能提供系統(tǒng)方案說明書中指定功能的有效方法。(常見的聯(lián)調(diào)測試)
系統(tǒng)測試的目的是對最終軟件系統(tǒng)進(jìn)行全面的測試袜啃,確保最終軟件系統(tǒng)滿足產(chǎn)品需求并且遵循系統(tǒng)設(shè)計(jì)汗侵。
驗(yàn)收測試是部署軟件之前的最后一個測試操作。驗(yàn)收測試的目的是確保軟件準(zhǔn)備就緒群发,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)晰韵。
驗(yàn)收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后熟妓,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個完整的軟件系統(tǒng)雪猪,接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性起愈,這就是驗(yàn)收測試的任務(wù)只恨,即軟件的功能性能如同用戶所合理期待的那樣。
68抬虽、當(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),如果要修改就改,如果不要修改就不改牛曹。其實(shí)有些真的不是bug,我也只是建議的方式寫進(jìn)TD中醇滥,如果開發(fā)人員不修改也沒有大問題黎比。如果確定是bug的話超营,一定要堅(jiān)持自己的立場,讓問題得到最后的確認(rèn)阅虫。
69演闭、為什么要在一個團(tuán)隊(duì)中開展軟件測試工作?
因?yàn)闆]有經(jīng)過測試的軟件很難在發(fā)布之前知道該軟件的質(zhì)量颓帝,就好比ISO質(zhì)量認(rèn)證一樣米碰,測試同樣也需要質(zhì)量的保證,這個時候就需要在團(tuán)隊(duì)中開展軟件測試的工作购城。在測試的過程發(fā)現(xiàn)軟件中存在的問題吕座,及時讓開發(fā)人員得知并修改問題,在即將發(fā)布時瘪板,從測試報(bào)告中得出軟件的質(zhì)量情況吴趴。
70、web測試和APP測試的區(qū)別
僅僅從功能測試的層面上來講的話侮攀,在流程和功能測試上是沒有區(qū)別的锣枝。那么區(qū)別在哪里呢?
由于載體不一樣兰英,所以系統(tǒng)測試和一些細(xì)節(jié)可能會不一樣惊橱。
那么我們就要先來了解,web和app的區(qū)別箭昵。
web項(xiàng)目,一般都是b/s架構(gòu)回季,基于瀏覽器的家制,而app則是c/s的,必須要有客戶端泡一。那么在系統(tǒng)測試測試的時候就會產(chǎn)生區(qū)別了颤殴。
首先從系統(tǒng)架構(gòu)來看的話,web測試只要更新了服務(wù)器端鼻忠,客戶端就會同步會更新涵但。而且客戶端是可以保證每一個用戶的客戶端完全一致的。但是app端是不能夠保證完全一致的帖蔓,除非用戶更新客戶端矮瘟。如果是app下修改了服務(wù)端,意味著客戶端用戶所使用的核心版本都需要進(jìn)行回歸測試一遍塑娇。
接著是性能方面澈侠,web頁面可能只會關(guān)注響應(yīng)時間,而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)要考慮回退和刷新是否會造成二次提交淫僻。需要測試丟包,延時的處理機(jī)制壶唤。避免用戶的流失雳灵。這些在前面的弱網(wǎng)測試那篇已經(jīng)講過,這里不再講了闸盔。
安裝悯辙、卸載、更新:
web測試是基于瀏覽器的所以不必考慮這些迎吵。而app是客戶端的躲撰,則必須測試安裝、更新击费、卸載拢蛋。除了常規(guī)的安裝、更新蔫巩、卸載還要考慮到異常場景谆棱。包括安裝時的中斷、弱網(wǎng)圆仔、安裝后刪除安裝文件垃瞧,更新的強(qiáng)制更新與非強(qiáng)制更新、增量包更新荧缘、斷點(diǎn)續(xù)傳皆警、弱網(wǎng),卸載后刪除app相關(guān)的文件等等截粗。
就自動化來講信姓,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犯助、針對于軟件的行業(yè)背景,你如何理解軟件的業(yè)務(wù)维咸?
閱讀用戶手冊了解軟件的功能和操作流程剂买;看一些業(yè)務(wù)的專業(yè)書籍補(bǔ)充業(yè)務(wù)知識;如果有用戶實(shí)際的數(shù)據(jù)癌蓖,可以拿實(shí)際的數(shù)據(jù)進(jìn)行參考雷恃;參考以前的用例和BUG報(bào)告;在使用軟件的過程中多思考费坊;多與產(chǎn)品經(jīng)理交流。
74旬痹、如何定位測試用例的作用附井?
組織性:編寫、組織性两残、功能覆蓋永毅、重復(fù)性、跟蹤人弓、測試確認(rèn)
75沼死、軟件測試的流程
76、什么是兼容性測試崔赌?請舉例說明如何利用兼容性測試列表進(jìn)行測試意蛀。
主要驗(yàn)證軟件產(chǎn)品在不同版本之間的兼容性耸别。包括向下兼容和交錯兼容,向下兼容是測試軟件新版本保留它早期版本功能的情況县钥,交錯兼容是驗(yàn)證共同存在的兩個相關(guān)但不相同的產(chǎn)品之間的兼容性秀姐。
77、對某軟件進(jìn)行測試若贮,發(fā)現(xiàn)在WIN98上運(yùn)行得很慢省有,怎么判別是該軟件存在問題還是其軟硬件運(yùn)行環(huán)境存在問題?
看軟件的運(yùn)行環(huán)境要求谴麦。如果符合要求則是程序存在問題蠢沿,若不符合要求則是硬件系統(tǒng)存在問題
78、需求測試的注意事項(xiàng)有哪些匾效?
是否使用了公司的模板舷蟀、文檔內(nèi)容是否符合規(guī)范、所有的需求是分級是否清析適當(dāng)弧轧、所有的需求是否具有一致性雪侥、需求是否可行(即,該需求組合有解決方案)精绎、需求可否用己知的約束來實(shí)現(xiàn)速缨、需求是否足夠(即,可以把它送到一個規(guī)范的開發(fā)組織代乃,并有一個生產(chǎn)出所需要產(chǎn)品的合理的可能性)旬牲、所有的其它需求是交叉引用是否正確、用戶描述是否清楚搁吓、是否用客戶的語言來描述需求原茅、每個需求描述是否清楚沒有岐義,可以移交給一個獨(dú)立的組去實(shí)現(xiàn)時也能理解堕仔、是否所有的需求都是可驗(yàn)證的擂橘、是否每條需求都具有獨(dú)立性,即使發(fā)生了變化也不會影響其它需求摩骨、性能指標(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.對軟件質(zhì)量做出合理評估
6.預(yù)防下個版本可能出現(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ì)與評審階段就能被發(fā)現(xiàn)與修正琉预,16%的缺陷在系統(tǒng)的軟件測試中發(fā)現(xiàn),最后剩下的4%是用戶長期使用的過程中才能暴露出來蒿褂。
4圆米、盡可能早的開展測試,越早發(fā)現(xiàn)錯誤啄栓,修改的代價越小娄帖。
5、發(fā)現(xiàn)錯誤較多的程序段昙楚,應(yīng)進(jìn)行更深入的測試近速。
6、軟件項(xià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ù)據(jù)庫會自動檢索新記錄的主鍵值胁塞,不允許該值與其他表中記錄的主鍵重復(fù);數(shù)據(jù)庫會按主鍵值的順序顯示記錄,如果沒有設(shè)定主鍵压语,則按輸入的順序顯示記錄闲先。
外鍵:是主鍵的從屬,表示了兩個表之間的聯(lián)系无蜂。作用:使用外鍵可以避免冗余。
索引的優(yōu)點(diǎn): 1蒙谓、通過創(chuàng)建唯一性的索引斥季,可以保證表中數(shù)據(jù)的唯一性; 2、加速數(shù)據(jù)的檢索速度; 3、加快表與表之間的連接; 4酣倾、在使用分組與排序數(shù)據(jù)檢索時舵揭,可以顯著檢索分組與排序的時間; 5、在查詢的過程中使用優(yōu)化隱藏器躁锡,提供系統(tǒng)性能午绳。
缺點(diǎn): 1、創(chuàng)建索引需要時間映之,且隨著數(shù)據(jù)量的增加而增加; 2、索引需要占用物理空間;
? 3、當(dāng)對表中數(shù)據(jù)進(jìn)行修改時芥颈,索引也要動態(tài)維護(hù)歪玲,降低了數(shù)據(jù)的維護(hù)速度。
82蠢甲、優(yōu)秀測試人員應(yīng)具備的技能:
1)精通業(yè)務(wù)知識
2)具備軟件編程能力僵刮,比如C,C++,JAVA等。
3)可以用腳本語言編寫小測試工具
4)主流操作系統(tǒng)應(yīng)用與網(wǎng)絡(luò)知識鹦牛,可以搭建測試環(huán)境
5)熟練掌握各種數(shù)據(jù)庫知識
6)精通軟件測試?yán)碚撆c方法
7)掌握常用測試與開發(fā)工具的使用
8)優(yōu)秀的文檔編寫能力
83搞糕、軟件測試模型:
V模型:反映了測試與開發(fā)階段之間一一對應(yīng)的特點(diǎn),測試在開發(fā)之后曼追,出錯后回歸測試量大窍仰。
84、性能測試的流程?
1.測試需求分析2.測試計(jì)劃制定與評審3.測試用例設(shè)計(jì)與開發(fā)4.測試執(zhí)行與監(jiān)控5.分析測試結(jié)果6.編寫性能測試報(bào)告7.測試經(jīng)驗(yàn)總結(jié)
84拉鹃、設(shè)計(jì)用例的方法辈赋、依據(jù)有那些?
測試分為白盒測試和黑盒測試,回答時膏燕,要注意分開說钥屈。白盒測試用例設(shè)計(jì)有如下方法:語句覆蓋、判定覆蓋坝辫、條件覆蓋篷就、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋近忙。依據(jù)就是代碼結(jié)構(gòu)竭业。
黑盒測試用例設(shè)計(jì)方法:基于用戶需求的測試、等價類劃分方法及舍、邊界值分析方法未辆、錯誤推測方法、因果圖方法锯玛、判定表驅(qū)動分析方法咐柜、正交實(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è)重哪些方面漾根?
兼容測試主要是檢查軟件在不同的硬件平臺、軟件平臺上是否可以正常的運(yùn)行捷兰,即是通常說的軟件的可移植性立叛。
兼容的類型,如果細(xì)分的話贡茅,有平臺的兼容秘蛇,網(wǎng)絡(luò)兼容,數(shù)據(jù)庫兼容顶考,以及數(shù)據(jù)格式的兼容赁还。
兼容測試的重點(diǎn)是,對兼容環(huán)境的分析驹沿。通常艘策,是在運(yùn)行軟件的環(huán)境不是很確定的情況下,才需要做兼容渊季。根據(jù)軟件運(yùn)行的需要朋蔫,或者根據(jù)需求文檔,一般都能夠得出用戶會在什么環(huán)境下使用該軟件却汉,把這些環(huán)境整理成表單驯妄,就得出做兼容測試的兼容環(huán)境了。
我現(xiàn)在有個程序合砂,發(fā)現(xiàn)在Windows上運(yùn)行得很慢青扔,怎么判別是程序存在問題還是軟硬件系統(tǒng)存在問題?
1翩伪、檢查系統(tǒng)是否有中毒的特征微猖;
2、檢查軟件/硬件的配置是否符合軟件的推薦標(biāo)準(zhǔn)缘屹;
3凛剥、確認(rèn)當(dāng)前的系統(tǒng)是否是獨(dú)立,即沒有對外提供什么消耗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医窿, 評價BUG優(yōu)先級和嚴(yán)重性 4磅甩, BUG的生命 5, 維護(hù)BUG數(shù)據(jù)庫
89姥卢、缺陷記錄應(yīng)包含的內(nèi)容?
缺陷標(biāo)識卷要、缺陷類型、缺陷嚴(yán)重程度独榴、缺陷產(chǎn)生可能性僧叉、缺陷優(yōu)先級、缺陷狀態(tài)棺榔、缺陷起源瓶堕、缺陷來源、缺陷原因;
一條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容症歇?如何提交高質(zhì)量的軟件缺陷(Bug)記錄郎笆?
1.和BUG對應(yīng)的軟件版本
2.開發(fā)的接口人員,測試人員
3.BUG的優(yōu)先級
4.BUG的嚴(yán)重程度
5.BUG可能屬于的模塊
6.BUG的標(biāo)題
7.BUG的描述
8.BUG的截圖
9.BUG的狀態(tài)
10.BUG的錯誤類型(數(shù)據(jù)忘晤,界面宛蚓。。德频。苍息。)
[圖片上傳失敗...(image-34a3f2-1597845634560)]
91、您所熟悉的軟件測試類型都有哪些?請?jiān)囍謩e比較這些不同的測試類型的區(qū)別與聯(lián)系(****如功能測試壹置、性能測試……)
易用性測試-界面的友好性竞思,操作方便性等。
功能測試-系統(tǒng)中功能性需求的滿足
安全性測試-系統(tǒng)是否存在安全隱患和漏洞
性能測試-系統(tǒng)在大并發(fā)下的響應(yīng)速度和健壯性
92钞护、 什么是扇入盖喷?什么是扇出?
扇入:被調(diào)次數(shù)难咕,扇出:調(diào)其它模塊數(shù)目
什么是樁模塊课梳?什么是驅(qū)動模塊距辆?
樁模塊:被測模塊調(diào)用模塊
驅(qū)動模塊:調(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)鍵是什么?
對業(yè)務(wù)和軟件需求非常清楚诸蚕,可以根據(jù)需求不同選擇不同的測試用例設(shè)計(jì)
96、您以往的工作中是否曾開展過測試用例的評審工作?如果有氧猬,請描述測試用例評審的過程和評審的內(nèi)容背犯。
評審計(jì)劃->預(yù)審->評審;
評審內(nèi)容主要是測試用例對軟件需求的覆蓋程度,對于相關(guān)邊界是否考慮盅抚,是否針對復(fù)雜流程準(zhǔn)備多套測試數(shù)據(jù)漠魏,是否有專門針對非功能性需求的測試。
97妄均、一套完整的測試應(yīng)該由哪些階段組成柱锹?
參考答案:測試計(jì)劃、測試設(shè)計(jì)與開發(fā)丛晦、測試實(shí)施奕纫、測試評審與測試結(jié)論
98、您認(rèn)為性能測試工作的目的是什么?做好性能測試工作的關(guān)鍵是什么?
關(guān)鍵是測試腳本的錄制烫沙,測試時候測試環(huán)境的干凈匹层。
99、所有的軟件缺陷都能修復(fù)嗎锌蓄?所有的軟件缺陷都要修復(fù)嗎升筏?
從技術(shù)上講,所有的軟件缺陷都是能夠修復(fù)的瘸爽,但是沒有必要修復(fù)所有的軟件缺陷您访。測試人員要做的是能夠正確判斷什么時候不能追求軟件的完美。對于整個項(xiàng)目團(tuán)隊(duì)剪决,要做的是對每一個軟件缺陷進(jìn)行取舍灵汪,根據(jù)風(fēng)險(xiǎn)決定那些缺陷要修復(fù)。發(fā)生這種現(xiàn)象的主要原因如下:
-沒有足夠的時間資源柑潦。在任何一個項(xiàng)目中享言,通常情況下開發(fā)人員和測試人員都是不夠用的,而且在項(xiàng)目中沒有預(yù)算足夠的回歸測試時間渗鬼,再加上修改缺陷可能引入新的缺陷览露,因此在交付期限的強(qiáng)大壓力下,必須放棄某些缺陷的修改譬胎。
-有些缺陷只是特殊情況下出現(xiàn)差牛,這種缺陷處于商業(yè)利益考慮命锄,可以在以后升級中進(jìn)行修復(fù)。
-不是缺陷的缺陷偏化。我們經(jīng)常會碰到某些功能方面的問題被當(dāng)成缺陷來處理脐恩,這類問題可以以后有時間時考慮再處理。
最后要說的是侦讨,缺陷是否修改要由軟件測試人員被盈、項(xiàng)目經(jīng)理、程序員共同討論來決定是否修復(fù)搭伤,不同角色的人員從不同的角度來思考,以做出正確的決定袜瞬。
100怜俐、.您以往所從事的軟件測試工作中,是否使用了一些工具來進(jìn)行軟件缺陷(Bug)的管理?如果有邓尤,請結(jié)合該工具描述軟件缺陷(Bug)跟蹤管理的流程拍鲤。
QC,也可以使用BugFree等免費(fèi)工具汞扎。
如果對軟件測試有興趣季稳,想了解更多的測試知識,解決測試問題,以及入門指導(dǎo)澈魄,幫你解決測試中遇到的困惑景鼠,我們這里有技術(shù)高手。如果你正在找工作或者剛剛學(xué)校出來痹扇,又或者已經(jīng)工作但是經(jīng)常覺得難點(diǎn)很多铛漓,覺得自己測試方面學(xué)的不夠精想要繼續(xù)學(xué)習(xí)的,想轉(zhuǎn)行怕學(xué)不會的鲫构,都可以加入我們644956177浓恶。
群內(nèi)可領(lǐng)取最新軟件測試大廠面試資料和Python自動化、接口结笨、框架搭建學(xué)習(xí)資料包晰!