版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE1PAGE36軟件測試面試題匯總測試技術(shù)面試題
61、什么是兼容性測試?兼容性測試側(cè)重哪些方面? 62、我現(xiàn)在有個程序,發(fā)現(xiàn)在Windows上運(yùn)行得很慢,怎么判別是程序存在問題還是軟硬件系統(tǒng)存在問題? 63、測試的策略有哪些? 64、正交表測試用例設(shè)計方法的特點是什么? 65、描述使用bugzilla缺陷管理工具對軟件缺陷(BUG)跟蹤的管理的流程? 66、你覺得bugzilla在使用的過程中,有什么問題? 67、描述測試用例設(shè)計的完整過程? 78、單元測試的策略有哪些? 79、LoadRunner分哪三部分? 710、LoadRunner進(jìn)行測試的流程? 7什么是并發(fā)?在lordrunner中,如何進(jìn)行并發(fā)的測試?集合點失敗了會怎么樣? 712、使用QTP做功能測試,錄制腳本的時候,要驗證多個用戶的登錄情況/查詢情況,如何操作? 713、QTP中的Action有什么作用?有幾種? 714、TestDirector有些什么功能,如何對軟件測試過程進(jìn)行管理? 815、你所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試、性能測試……)? 816、條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄? 917、Beta測試與Alpha測試有什么區(qū)別? 918、軟件的評審一般由哪些人參加?其目的是什么? 919、測試活動中,如果發(fā)現(xiàn)需求文檔不完善或者不準(zhǔn)確,怎么處理? 920、階段評審與項目評審有什么區(qū)別? 921、闡述工作版本的定義? 922、什么是樁模塊?什么是驅(qū)動模塊? 923、什么是扇入?什么是扇出? 924、你認(rèn)為做好測試計劃工作的關(guān)鍵是什么? 925、你認(rèn)為做好測試用例工作的關(guān)鍵是什么? 1026、簡述一下缺陷的生命周期? 1027、軟件的安全性應(yīng)從哪幾個方面去測試? 1028、軟件配置管理工作開展的情況和認(rèn)識? 1029、你覺得軟件測試通過的標(biāo)準(zhǔn)應(yīng)該是什么樣的? 1130、引入測試管理的含義? 1131、一套完整的測試應(yīng)該由哪些階段組成? 1132、單元測試的主要內(nèi)容? 1133、集成測試也叫組裝測試或者聯(lián)合測試,請簡述集成測試的主要內(nèi)容? 1134、簡述集成測試與系統(tǒng)測試關(guān)系? 1135、軟件測試的文檔測試應(yīng)當(dāng)貫穿于軟件生命周期的全過程,其中用戶文檔是文檔測試的重點。那么軟件系統(tǒng)的用戶文檔包括哪些? 1136、軟件系統(tǒng)中除用戶文檔之外,文檔測試還應(yīng)該關(guān)注哪些文檔? 1137、簡述軟件系統(tǒng)中用戶文檔的測試要點? 1238、單元測試主要內(nèi)容是什么? 1239、如何理解強(qiáng)度測試? 1440、如何理解壓力、負(fù)載、性能測試測試? 1441、什么是系統(tǒng)瓶頸? 1442、文檔測試主要包含什么內(nèi)容? 1443、功能測試用例需要詳細(xì)到什么程度才是合格的? 1544、配置和兼容性測試的區(qū)別是什么? 1545、軟件文檔測試主要包含什么? 1646、沒有產(chǎn)品說明書和需求文檔地情況下能夠進(jìn)行黑盒測試嗎? 1647、測試中的“殺蟲劑怪事”是指什么? 1648、在配置測試中,如何判斷發(fā)現(xiàn)的缺陷是普通問題還是特定的配置問題? 1649、為什么盡量不要讓時間有富裕的員工去做一些測試? 1750、完全測試程序是可能的嗎? 1751、軟件測試的風(fēng)險主要體現(xiàn)在哪里? 1752、發(fā)現(xiàn)的缺陷越多,說明軟件缺陷越多嗎? 1753、所有的軟件缺陷都能修復(fù)嗎?所有的軟件缺陷都要修復(fù)嗎? 1854、軟件測試人員就是QA嗎? 1855、如何減少測試人員跳槽帶來的損失? 1856、測試產(chǎn)品與測試項目的區(qū)別是什么? 1857、和用戶共同測試(UAT測試)的注意點有哪些? 1958、如何編寫提交給用戶的測試報告? 1959、測試工具在測試工作中是什么地位? 1960、什么是軟件測試,軟件測試的目的? 1961、簡述負(fù)載測試與壓力測試的區(qū)別。 2062、寫出bug報告流轉(zhuǎn)的步驟,每步的責(zé)任人及主要完成的工作。 2063、寫出bug報告當(dāng)中一些必備的內(nèi)容。 2064、開發(fā)人員老是犯一些低級錯誤怎么解決? 2165、畫出軟件測試的V模型圖。 2166、為什么要在一個團(tuán)隊中開展軟件測試工作? 2167、您在以往的測試工作中都曾經(jīng)具體從事過哪些工作?其中最擅長哪部分工作? 2168、您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試、性能測試……) 2169、您認(rèn)為做好測試用例設(shè)計工作的關(guān)鍵是什么? 2270、請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試、驗收測試的區(qū)別與聯(lián)系。 2271、測試計劃工作的目的是什么?測試計劃工作的內(nèi)容都包括什么?其中哪些是最重要的? 2372、您所熟悉的測試用例設(shè)計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設(shè)計工作中的應(yīng)用。 2373、請以您以往的實際工作為例,詳細(xì)的描述一次測試用例設(shè)計的完整的過程。 2474、您以往是否曾經(jīng)從事過性能測試工作?如果有,請盡可能的詳細(xì)描述您以往的性能測試工作的完整過程。 2475、你對測試最大的興趣在哪里?為什么? 2476、你以前工作時的測試流程是什么? 2577、當(dāng)開發(fā)人員說不是BUG時,你如何應(yīng)付? 2578、軟件的構(gòu)造號與版本號之間的區(qū)別?BVT(BuildVerificationTest) 2579、您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄? 2680、您以往所從事的軟件測試工作中,是否使用了一些工具來進(jìn)行軟件缺陷(Bug)的管理?如果有,請結(jié)合該工具描述軟件缺陷(Bug)跟蹤管理的流程。 2681、您認(rèn)為性能測試工作的目的是什么?做好性能測試工作的關(guān)鍵是什么? 2682、單元測試、集成測試、系統(tǒng)測試的側(cè)重點是什么? 2683、集成測試通常都有那些策略? 2684、一個缺陷測試報告的組成 2685、基于WEB信息管理系統(tǒng)測試時應(yīng)考慮的因素有哪些? 2686、軟件測試項目從什么時候開始,?為什么? 2787、需求測試注意事項有哪些? 2788、簡述一下缺陷的生命周期 2789、你在你所在的公司是怎么開展測試工作的?是如何組織的? 2790、你認(rèn)為理想的測試流程是什么樣子? 2791、您在從事性能測試工作時,是否使用過一些測試工具?如果有,請試述該工具的工作原理,并以一個具體的工作中的例子描述該工具是如何在實際工作中應(yīng)用的。 2792、軟件測試活動的生命周期是什么? 2793、請畫出軟件測試活動的流程圖? 2794、針對缺陷采取怎樣管理措施? 2795、什么是測試評估?測試評估的范圍是什么? 2796、如果能夠執(zhí)行完美的黑盒測試,還需要進(jìn)行白盒測試嗎?為什么? 2797、測試結(jié)束的標(biāo)準(zhǔn)是什么? 2798、軟件驗收測試除了alpha,beta測試以外,還有哪一種? 2799、做測試多久了?以前做過哪些項目?你們以前測試的流程是怎樣的?用過哪些測試工具? 28100、請就如何在開發(fā)中進(jìn)行軟件質(zhì)量控制說說你的看法 28101、一套完整的測試應(yīng)該由哪些階段組成?分別闡述一下各個階段。 28102、軟件測試的類型有那些?分別比較這些不同的測試類型的區(qū)別與聯(lián)系。 28103、測試用例通常包括那些內(nèi)容?著重闡述編制測試用例的具體做法 28104、在分別測試winform的C/S結(jié)構(gòu)與測試WEB結(jié)構(gòu)的軟件是,應(yīng)該采取什么樣的方法分別測試?他們存在什么樣的區(qū)別與聯(lián)系? 28105、在測試winform的C/S結(jié)構(gòu)軟件時,發(fā)現(xiàn)這個軟件的運(yùn)行速度很慢,您會認(rèn)為是什么原因?您會采取哪些方法去檢查這個原因? 28106、描述使用bugzilla缺陷管理工具對軟件缺陷(BUG)跟蹤的管理的流程 28107、你都用什么測試方法針對不同的產(chǎn)品或者系統(tǒng)或者模塊,有不同的測試方法??傮w而言有白盒測試和黑盒測試。 28108、怎么編寫案例案例的編寫與測試階段的定義有很大的關(guān)系。系統(tǒng)測試和unit測試的案例可能不同??傮w而言測試案例根據(jù)系統(tǒng)的需求而定。 28109、怎么才能夠全面的測試到每一個點測試的全面性主要需要在設(shè)計測試計劃的時候考慮,從測試策略,產(chǎn)品需求等等多個角度考慮從而定義全部的測試點。 28110、談?wù)勡浖y試技術(shù),以及如何提高 28111、談?wù)勡浖y試職業(yè)發(fā)展,以及個人的打算 28112、談?wù)勡浖y試在企業(yè)的地位,也可以結(jié)合軟件生命周期來談 28113、一般公司里實際的軟件測試流程是什么樣的?你們公司又是怎樣的? 28114、軟件工程師要具有那些素質(zhì)? 28115、你會哪些測試工具?怎么操作? 28116、你能不能說下你的3到5年的職業(yè)計劃(規(guī)劃) 28117、你覺得你來應(yīng)聘有那些優(yōu)勢? 28其他問題:(有可能清晰的思路比確切的答案更重要) 28
開發(fā)及環(huán)境搭建類面試題
291、描述軟件產(chǎn)生內(nèi)存泄露的原因以及檢查方式。(可以結(jié)合一種開發(fā)語言進(jìn)行描述) 292、簡述什么是值傳遞,什么是地址傳遞,兩者區(qū)別是什么? 293、結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計各自的特點及優(yōu)缺點是什么? 294、簡述什么是存儲過程和觸發(fā)器? 295、使用C語言編寫一個函數(shù),用于交換兩個變量的值(地址傳遞)。 306、請簡述DNS、活動目錄、域的概念。 307、描述TCP/IP協(xié)議的層次結(jié)構(gòu),以及每一層中重要協(xié)議。 308、簡述子網(wǎng)掩碼的用途。 309、說出4種以上常用的操作系統(tǒng)及其主要的應(yīng)用范圍(微軟的操作系統(tǒng)除外)。 3010、在Linux系統(tǒng)中,一個文件的訪問權(quán)限是755,其含義是什么? 3011、Windows操作系統(tǒng)中PATH環(huán)境變量的作用是什么? 3112、Ghost的主要用途和常用方法? 3113、在RedHat中,從root用戶切到userl用戶,一般用什么命令? 3114、Linux中,一般怎么隱藏文件? 3115、如何將自己的本地磁盤(D)做成FTP供遠(yuǎn)端主機(jī)使用? 3116、對RUP.CMM,CMMI,XP,PSP.TSP的認(rèn)識? 3117、DNS是什么,它是如何工作的? 3218、防火墻如何保證安全的?主要有哪些? 3219、目前流行的操作的系統(tǒng)有哪些?請舉例說明安裝操作系統(tǒng)的注意事項? 3420、簡述一下c/s模式或者b/s模式? 3421、TCP/UDP有哪些區(qū)別? 3522、ISO模型?HUB、tch、Router是ISO的第幾層設(shè)備? 3523、內(nèi)存有哪幾種存儲組織結(jié)構(gòu).請分別加以說明? 35
人力資源面試題
351、你的測試職業(yè)發(fā)展是什么?你自認(rèn)為做測試的優(yōu)勢在哪里? 352、你為什么想離開目前的職務(wù)? 353、你對我們公司了解有多少? 354、你找工作時,最重要的考慮因素為何? 355、為什么我們應(yīng)該錄取你? 356、請談?wù)勀銈€人的最大特色。 357、一個測試工程師應(yīng)具備那些素質(zhì)和技能? 368、您認(rèn)為在測試人員同開發(fā)人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?維持測試人員同開發(fā)團(tuán)隊中其他成員良好的人際關(guān)系的關(guān)鍵是什么? 369、在您以往的測試工作中,最讓您感到不滿意或者不堪回首的事情是什么?您是如何來對待這些事情的? 3610、在即將完成這次筆試前,您是否愿意談一些自己在以往的學(xué)習(xí)和工作中獲得的工作經(jīng)驗和心得體會?(可以包括軟件測試、過程改進(jìn)、軟件開發(fā)或者與此無關(guān)的其他方面) 3611、為什么選擇測試這行? 3612、你的工作通常能在時限內(nèi)完成嗎.(我想問一下就是她問這個問題的動機(jī)是什么) 3613、通常你對于別人批評你會有什么樣的反應(yīng) 3614、如果明知這樣做不對,你還會依主管的指過去做嗎? 3615、如果你接到一個客戶抱怨的電話,你確知無法解決他的問題,你會怎么處理? 3716、請就軟件測試人員應(yīng)該具備什么樣的基本素質(zhì)說說你的看法。 3717、你在五年內(nèi)的個人目標(biāo)和職業(yè)目標(biāo)分別是什么? 3718、你怎樣做出自己的職業(yè)選擇? 37測試技術(shù)面試題1、什么是兼容性測試?兼容性測試側(cè)重哪些方面?參考答案:兼容測試主要是檢查軟件在不同的硬件平臺、軟件平臺上是否可以正常的運(yùn)行,即是通常說的軟件的可移植性。兼容的類型,如果細(xì)分的話,有平臺的兼容,網(wǎng)絡(luò)兼容,數(shù)據(jù)庫兼容,以及數(shù)據(jù)格式的兼容。兼容測試的重點是,對兼容環(huán)境的分析。通常,是在運(yùn)行軟件的環(huán)境不是很確定的情況下,才需要做兼容。根據(jù)軟件運(yùn)行的需要,或者根據(jù)需求文檔,一般都能夠得出用戶會在什么環(huán)境下使用該軟件,把這些環(huán)境整理成表單,就得出做兼容測試的兼容環(huán)境了。兼容和配置測試的區(qū)別在于,做配置測試通常不是CleanOS下做測試,而兼容測試多是在CleanOS的環(huán)境下做的。2、我現(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)是否是獨立,即沒有對外提供什么消耗CPU資源的服務(wù);4、如果是C/S或者B/S結(jié)構(gòu)的軟件,需要檢查是不是因為與服務(wù)器的連接有問題,或者訪問有問題造成的;5、在系統(tǒng)沒有任何負(fù)載的情況下,查看性能監(jiān)視器,確認(rèn)應(yīng)用程序?qū)PU/內(nèi)存的訪問情況。3、測試的策略有哪些?參考答案:黑盒/白盒,靜態(tài)/動態(tài),手工/自動,冒煙測試,回歸測試,公測(Beta測試的策略)4、正交表測試用例設(shè)計方法的特點是什么?參考答案:用最少的實驗覆蓋最多的操作,測試用例設(shè)計很少,效率高,但是很復(fù)雜;對于基本的驗證功能,以及二次集成引起的缺陷,一般都能找出來;但是更深的缺陷,更復(fù)雜的缺陷,還是無能為力的;具體的環(huán)境下,正交表一般都很難做的。大多數(shù),只在系統(tǒng)測試的時候使用此方法。5、描述使用bugzilla缺陷管理工具對軟件缺陷(BUG)跟蹤的管理的流程?參考答案:就是Bugzilla的狀態(tài)轉(zhuǎn)換圖。6、你覺得bugzilla在使用的過程中,有什么問題?參考答案:界面不穩(wěn)定;根據(jù)需要配置它的不同的部分,過程很煩瑣。流程控制上,安全性不好界定,很容易對他人的Bug進(jìn)行誤操作;沒有綜合的評分指標(biāo),不好確認(rèn)修復(fù)的優(yōu)先級別。7、描述測試用例設(shè)計的完整過程?參考答案:需求分析+需求變更的維護(hù)工作;根據(jù)需求得出測試需求;設(shè)計測試方案,評審測試方案;方案評審?fù)ㄟ^后,設(shè)計測試用例,再對測試用例進(jìn)行評審;8、單元測試的策略有哪些?參考答案:邏輯覆蓋、循環(huán)覆蓋、同行評審、桌前檢查、代碼走查、代碼評審、景泰數(shù)據(jù)流分析9、LoadRunner分哪三部分?參考答案:用戶動作設(shè)計;場景設(shè)計;測試數(shù)據(jù)分析;10、LoadRunner進(jìn)行測試的流程?參考答案:測試測試創(chuàng)建虛擬用戶腳本創(chuàng)建運(yùn)行場景運(yùn)行測試腳本監(jiān)視場景分析測試的結(jié)果以上,最好是結(jié)合一個案例,根據(jù)以上流程來介紹。什么是并發(fā)?在lordrunner中,如何進(jìn)行并發(fā)的測試?集合點失敗了會怎么樣?參考答案:在同一時間點,支持多個不同的操作。LoadRunner中提供IP偽裝,集合點,配合虛擬用戶的設(shè)計,以及在多臺電腦上設(shè)置,可以比較好的模擬真實的并發(fā)。集合點,即是多個用戶在某個時刻,某個特定的環(huán)境下同時進(jìn)行虛擬用戶的操作的。集合點失敗,則集合點的才操作就會取消,測試就不能進(jìn)行。12、使用QTP做功能測試,錄制腳本的時候,要驗證多個用戶的登錄情況/查詢情況,如何操作?參考答案:分析用戶登錄的基本情況,得出一組數(shù)據(jù),通過性測試/失敗性測試的都有(根據(jù)TC來設(shè)計這些數(shù)據(jù)),然后錄制登錄的腳本,將關(guān)鍵的數(shù)據(jù)參數(shù)化,修改腳本,對代碼進(jìn)行加強(qiáng),調(diào)試腳本。13、QTP中的Action有什么作用?有幾種?參考答案:Action的作用用Action可以對步驟集進(jìn)行分組步驟重組,然后被整體調(diào)用擁有自己的sheet組合有相同需求的步驟,整體操作具有獨立的對象倉庫Action的種類可復(fù)用Action不可復(fù)用Action外部Action14、TestDirector有些什么功能,如何對軟件測試過程進(jìn)行管理?參考答案:需求管理定義測試范圍定義需求樹描述需求樹的功能點測試計劃定義測試目標(biāo)和測試策略。分解應(yīng)用程序,建立測試計劃樹。確定每個功能點的測試方法。將每個功能點連接到需求上,使測試計劃覆蓋全部的測試需求。描述手工測試的測試步驟指明需要進(jìn)行自動測試的功能點測試執(zhí)行定義測試集合。為每個測試人員制定測試任務(wù)和測試日程安排。運(yùn)行自動測試。缺陷跟蹤記錄缺陷查看新增缺陷,并確定哪些是需要修正的相關(guān)技術(shù)人員修改缺陷回歸測試分析缺陷統(tǒng)計圖表,分析應(yīng)用程序的開發(fā)質(zhì)量。15、你所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試、性能測試……)?參考答案:CompatibilityTesting(兼容性測試),也稱“Configurationtesting(配置測試)”,測試軟件是否和系統(tǒng)的其它與之交互的元素之間兼容,如:瀏覽器、操作系統(tǒng)、硬件等。驗證測試對象在不同的軟件和硬件配置中的運(yùn)行情況。
Functionaltesting(功能測試),也稱為behavioraltesting(行為測試),根據(jù)產(chǎn)品特征、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計需求。本地化軟件的功能測試,用于驗證應(yīng)用程序或網(wǎng)站對目標(biāo)用戶能正確工作。使用適當(dāng)?shù)钠脚_、瀏覽器和測試腳本,以保證目標(biāo)用戶的體驗將足夠好,就像應(yīng)用程序是專門為該市場開發(fā)的一樣。
Performancetesting(性能測試),評價一個產(chǎn)品或組件與性能需求是否符合的測試。包括負(fù)載測試、強(qiáng)度測試、數(shù)據(jù)庫容量測試、基準(zhǔn)測試等類型。16、軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄?參考答案:5C標(biāo)準(zhǔn)17、Beta測試與Alpha測試有什么區(qū)別?參考答案:Betatesting(β測試),測試是軟件的多個用戶在一個或多個用戶的實際使用環(huán)境下進(jìn)行的測試。開發(fā)者通常不在測試現(xiàn)場
Alphatesting(α測試),是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實際操作環(huán)境下進(jìn)行的受控測試18、軟件的評審一般由哪些人參加?其目的是什么?參考答案:在正式的會議上將軟件項目的成果(包括各階段的文檔、產(chǎn)生的代碼等)提交給用戶、客戶或有關(guān)部門人員對軟件產(chǎn)品進(jìn)行評審和批準(zhǔn)。其目的是找出可能影響軟件產(chǎn)品質(zhì)量、開發(fā)過程、維護(hù)工作的適用性和環(huán)境方面的設(shè)計缺陷,并采取補(bǔ)救措施,以及找出在性能、安全性和經(jīng)濟(jì)方面的可能的改進(jìn)。人員:用戶、客戶或有關(guān)部門開發(fā)人員,測試人員,需求分析師都可以,就看處于評審那個階段19、測試活動中,如果發(fā)現(xiàn)需求文檔不完善或者不準(zhǔn)確,怎么處理?參考答案:測試需求分析發(fā)現(xiàn)需求文檔不完善或者不準(zhǔn)確,應(yīng)該立即和相關(guān)人員進(jìn)行協(xié)調(diào)交流。20、階段評審與項目評審有什么區(qū)別?參考答案:階段評審對項目各階段評審:對階段成果和工作項目評審對項目總體評審:對工作和產(chǎn)品21、闡述工作版本的定義?參考答案:構(gòu)造號:BUILD22、什么是樁模塊?什么是驅(qū)動模塊?參考答案:樁模塊:被測模塊調(diào)用模塊驅(qū)動模塊調(diào)用被測模塊23、什么是扇入?什么是扇出?參考答案:扇入:被調(diào)次數(shù),扇出:調(diào)其它模塊數(shù)目24、你認(rèn)為做好測試計劃工作的關(guān)鍵是什么?參考答案:軟件測試計劃就是在軟件測試工作正式實施之前明確測試的對象,并且通過對資源、時間、風(fēng)險、測試范圍和預(yù)算等方面的綜合分析和規(guī)劃,保證有效的實施軟件測試;做好測試計劃工作的關(guān)鍵:目的,管理,規(guī)范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ù)。25、你認(rèn)為做好測試用例工作的關(guān)鍵是什么?參考答案:需求和設(shè)計文檔的理解程度,對系統(tǒng)的熟悉程度26、簡述一下缺陷的生命周期?參考答案:提交->確認(rèn)->分配->修復(fù)->驗證->關(guān)閉27、軟件的安全性應(yīng)從哪幾個方面去測試?參考答案:用戶認(rèn)證機(jī)制:如數(shù)據(jù)證書、智能卡、雙重認(rèn)證、安全電子交易協(xié)議加密機(jī)制安全防護(hù)策略:如安全日志、入侵檢測、隔離防護(hù)、漏洞掃描數(shù)據(jù)備份與恢復(fù)手段:存儲設(shè)備、存儲優(yōu)化、存儲保護(hù)、存儲管理防病毒系統(tǒng)28、軟件配置管理工作開展的情況和認(rèn)識?參考答案:軟件配置管理貫穿于軟件開發(fā)、測試活動的始終,覆蓋了開發(fā)、測試活動的各個環(huán)節(jié),它的重要作用之一就是要全面的管理保存各個配置項,監(jiān)控各配置項的狀態(tài),并向項目經(jīng)理及相關(guān)的人員報告,從而實現(xiàn)對軟件過程的控制。軟件測試配置管理包括4個最基本的活動:配置項標(biāo)識配置項控制配置項狀態(tài)報告配置審計 軟件配置管理通常借助工具來輔助,主要有MSSourceSafe、RationalClearCase等29、你覺得軟件測試通過的標(biāo)準(zhǔn)應(yīng)該是什么樣的?參考答案: 缺陷密度值達(dá)到客戶的要求30、引入測試管理的含義?參考答案:風(fēng)險分析,進(jìn)度控制、角色分配、質(zhì)量控制31、一套完整的測試應(yīng)該由哪些階段組成?參考答案:測試計劃、測試設(shè)計與開發(fā)、測試實施、測試評審與測試結(jié)論32、單元測試的主要內(nèi)容?參考答案:模塊接口測試、局部數(shù)據(jù)結(jié)構(gòu)測試、路徑測試、錯誤處理測試、邊界測試33、集成測試也叫組裝測試或者聯(lián)合測試,請簡述集成測試的主要內(nèi)容?參考答案:(1)在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失;(2)一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;(3)各個子功能組合起來,能否達(dá)到預(yù)期要求的父功能;(4)全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;(5)單個模塊的誤差累積起來,是否會放大,從而達(dá)到不能接受的程度。34、簡述集成測試與系統(tǒng)測試關(guān)系?參考答案:(1)集成測試的主要依據(jù)概要設(shè)計說明書,系統(tǒng)測試的主要依據(jù)是需求設(shè)計說明書;(2)集成測試是系統(tǒng)模塊的測試,系統(tǒng)測試是對整個系統(tǒng)的測試,包括相關(guān)的軟硬件平臺、網(wǎng)絡(luò)以及相關(guān)外設(shè)的測試。35、軟件測試的文檔測試應(yīng)當(dāng)貫穿于軟件生命周期的全過程,其中用戶文檔是文檔測試的重點。那么軟件系統(tǒng)的用戶文檔包括哪些?參考答案:用戶手冊安裝和設(shè)置指導(dǎo)聯(lián)機(jī)幫助指南、向?qū)永⑹纠湍0迨跈?quán)/注冊登記表最終用戶許可協(xié)議36、軟件系統(tǒng)中除用戶文檔之外,文檔測試還應(yīng)該關(guān)注哪些文檔?參考答案:開發(fā)文檔軟件需求說明書數(shù)據(jù)庫設(shè)計說明書概要設(shè)計說明書詳細(xì)設(shè)計說明書可行性研究報告管理文檔項目開發(fā)計劃測試計劃測試報告開發(fā)進(jìn)度月報開發(fā)總結(jié)報告37、簡述軟件系統(tǒng)中用戶文檔的測試要點?參考答案:(1)讀者群。文檔面向的讀者定位要明確。對于初級用戶、中級用戶以及高級用戶應(yīng)該有不同的定位(2)術(shù)語。文檔中用到的術(shù)語要適用與定位的讀者群,用法一致,標(biāo)準(zhǔn)定義與業(yè)界規(guī)范相吻合。(3)正確性。測試中需檢查所有信息是否真實正確,查找由于過期產(chǎn)品說明書和銷售人員夸大事實而導(dǎo)致的錯誤。檢查所有的目錄、索引和章節(jié)引用是否已更新,嘗試鏈接是否準(zhǔn)確,產(chǎn)品支持電話、地址和郵政編碼是否正確。(4)完整性。對照軟件界面檢查是否有重要的分支沒有描述到,甚至是否有整個大模塊沒有描述到。(5)一致性。按照文檔描述的操作執(zhí)行后,檢查軟件返回的結(jié)果是否與文檔描述的相同。(6)易用性。對關(guān)鍵步驟以粗體或背景色給用戶以提示,合理的頁面布局、適量的圖表都可以給用戶更高的易用性。需要注意的是文檔要有助于用戶排除錯誤。不但描述正確操作,也要描述錯誤處理辦法。文檔對于用戶看到的錯誤信息應(yīng)當(dāng)有更詳細(xì)的文檔解釋。(7)圖表與界面截圖。檢查所有圖表與界面截圖是否與發(fā)行版本相同。(8)樣例與示例。像用戶一樣載入和使用樣例。如果是一段程序,就輸入數(shù)據(jù)并執(zhí)行它。以每一個模塊制作文件,確認(rèn)它們的正確性。(9)語言。不出現(xiàn)錯別字,不要出現(xiàn)有二義性的說法。特別要注意的是屏幕截圖或繪制圖形中的文字。(10)印刷與包裝。檢查印刷質(zhì)量;手冊厚度與開本是否合適;包裝盒的大小是否合適;有沒有零碎易丟失的小部件等等。38、單元測試主要內(nèi)容是什么?參考答案:單元測試大多數(shù)由開發(fā)人員來完成,測試人員技術(shù)背景較好或者開發(fā)系統(tǒng)軟件時可能會安排測試人員進(jìn)行單元測試,大多數(shù)進(jìn)行的單元測試都是開發(fā)人員調(diào)試程序或者開發(fā)組系統(tǒng)聯(lián)合調(diào)試的過程。討論這個問題主要是擴(kuò)充一下讀者的視野。單元測試一般包括五個方面的測試:(1)模塊接口測試:模塊接口測試是單元測試的基礎(chǔ)。只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測試才有意義。模塊接口測試也是集成測試的重點,這里進(jìn)行的測試主要是為后面打好基礎(chǔ)。測試接口正確與否應(yīng)該考慮下列因素:-輸入的實際參數(shù)與形式參數(shù)的個數(shù)是否相同;-輸入的實際參數(shù)與形式參數(shù)的屬性是否匹配;-輸入的實際參數(shù)與形式參數(shù)的量綱是否一致;-調(diào)用其他模塊時所給實際參數(shù)的個數(shù)是否與被調(diào)模塊的形參個數(shù)相同;-調(diào)用其他模塊時所給實際參數(shù)的屬性是否與被調(diào)模塊的形參屬性匹配;-調(diào)用其他模塊時所給實際參數(shù)的量綱是否與被調(diào)模塊的形參量綱一致;-調(diào)用預(yù)定義函數(shù)時所用參數(shù)的個數(shù)、屬性和次序是否正確;-是否存在與當(dāng)前入口點無關(guān)的參數(shù)引用;-是否修改了只讀型參數(shù);-對全程變量的定義各模塊是否一致;-是否把某些約束作為參數(shù)傳遞。如果模塊功能包括外部輸入輸出,還應(yīng)該考慮下列因素:-文件屬性是否正確;-OPEN/CLOSE語句是否正確;-格式說明與輸入輸出語句是否匹配;-緩沖區(qū)大小與記錄長度是否匹配;-文件使用前是否已經(jīng)打開;-是否處理了文件尾;-是否處理了輸入/輸出錯誤;-輸出信息中是否有文字性錯誤。-局部數(shù)據(jù)結(jié)構(gòu)測試;-邊界條件測試;-模塊中所有獨立執(zhí)行通路測試;(2)局部數(shù)據(jù)結(jié)構(gòu)測試:檢查局部數(shù)據(jù)結(jié)構(gòu)是為了保證臨時存儲在模塊內(nèi)的數(shù)據(jù)在程序執(zhí)行過程中完整、正確,局部功能是整個功能運(yùn)行的基礎(chǔ)。重點是一些函數(shù)是否正確執(zhí)行,內(nèi)部是否運(yùn)行正確。局部數(shù)據(jù)結(jié)構(gòu)往往是錯誤的根源,應(yīng)仔細(xì)設(shè)計測試用例,力求發(fā)現(xiàn)下面幾類錯誤:-不合適或不相容的類型說明;-變量無初值;-變量初始化或省缺值有錯;-不正確的變量名(拼錯或不正確地截斷);-出現(xiàn)上溢、下溢和地址異常。(3)邊界條件測試:邊界條件測試是單元測試中最重要的一項任務(wù)。眾所周知,軟件經(jīng)常在邊界上失效,采用邊界值分析技術(shù),針對邊界值及其左、右設(shè)計測試用例,很有可能發(fā)現(xiàn)新的錯誤。邊界條件測試是一項基礎(chǔ)測試,也是后面系統(tǒng)測試中的功能測試的重點,邊界測試執(zhí)行的較好,可以大大提高程序健壯性。(4)模塊中所有獨立路徑測試:在模塊中應(yīng)對每一條獨立執(zhí)行路徑進(jìn)行測試,單元測試的基本任務(wù)是保證模塊中每條語句至少執(zhí)行一次。測試目的主要是為了發(fā)現(xiàn)因錯誤計算、不正確的比較和不適當(dāng)?shù)目刂屏髟斐傻腻e誤。具體做法就是程序員逐條調(diào)試語句。常見的錯誤包括:-誤解或用錯了算符優(yōu)先級;-混合類型運(yùn)算;-變量初值錯;-精度不夠;-表達(dá)式符號錯。比較判斷與控制流常常緊密相關(guān),測試時注意下列錯誤:-不同數(shù)據(jù)類型的對象之間進(jìn)行比較;-錯誤地使用邏輯運(yùn)算符或優(yōu)先級;-因計算機(jī)表示的局限性,期望理論上相等而實際上不相等的兩個量相等;-比較運(yùn)算或變量出錯;-循環(huán)終止條件或不可能出現(xiàn);-迭代發(fā)散時不能退出;-錯誤地修改了循環(huán)變量。模塊的各條錯誤處理通路測試:程序在遇到異常情況時不應(yīng)該退出,好的程序應(yīng)能預(yù)見各種出錯條件,并預(yù)設(shè)各種出錯處理通路。如果用戶不按照正常操作,程序就退出或者停止工作,實際上也是一種缺陷,因此單元測試要測試各種錯誤處理路徑。一般這種測試著重檢查下列問題:-輸出的出錯信息難以理解;-記錄的錯誤與實際遇到的錯誤不相符;-在程序自定義的出錯處理段運(yùn)行之前,系統(tǒng)已介入;-異常處理不當(dāng);-錯誤陳述中未能提供足夠的定位出錯信息。39、如何理解強(qiáng)度測試?參考答案:強(qiáng)度測試是為了確定系統(tǒng)在最差工作環(huán)境的工作能力,也可能是用于驗證在標(biāo)準(zhǔn)工作壓力下的各種資源的最下限指標(biāo)。它和壓力測試的目標(biāo)是不同的,壓力測試是在標(biāo)準(zhǔn)工作環(huán)境下,不斷增加系統(tǒng)負(fù)荷,最終測試出該系統(tǒng)能力達(dá)到的最大負(fù)荷(穩(wěn)定和峰值),而強(qiáng)度測試則是在非標(biāo)準(zhǔn)工作環(huán)境下,甚至不斷人為降低系統(tǒng)工作環(huán)境所需要的資源,如網(wǎng)絡(luò)帶寬,系統(tǒng)內(nèi)存,數(shù)據(jù)鎖等等,以測試系統(tǒng)在資源不足的情況下的工作狀態(tài),通過強(qiáng)度測試,可以確定本系統(tǒng)正常工作的最差環(huán)境.強(qiáng)度測試和壓力測試的測試指標(biāo)相近,大多都是與時間相關(guān)的指標(biāo),如并發(fā)量(吞吐量),延遲(最大\最小\平均)以及順序指標(biāo)等強(qiáng)度測試需要對系統(tǒng)的結(jié)構(gòu)熟悉,針對系統(tǒng)的特征設(shè)計強(qiáng)度測試的方法40、如何理解壓力、負(fù)載、性能測試測試?參考答案:性能測試是一個較大的范圍,實際上性能測試本身包含了性能、強(qiáng)度、壓力、負(fù)載等多方面的測試內(nèi)容。壓力測試是對服務(wù)器的穩(wěn)定性以及負(fù)載能力等方面的測試,是一種很平常的測試。增大訪問系統(tǒng)的用戶數(shù)量、或者幾個用戶進(jìn)行大數(shù)據(jù)量操作都是壓力測試。而負(fù)載測試是壓力相對較大的測試,主要是測試系統(tǒng)在一種或者集中極限條件下的相應(yīng)能力,是性能測試的重要部分。100個用戶對系統(tǒng)進(jìn)行連續(xù)半個小時的訪問可以看作壓力測試,那么連續(xù)訪問8個小時就可以認(rèn)為負(fù)載測試,1000個用戶連續(xù)訪問系統(tǒng)1個小時也可以看作是負(fù)載測試。實際上壓力測試和負(fù)載測試沒有明顯的區(qū)分。測試人員應(yīng)該站在關(guān)注整體性能的高度上來對系統(tǒng)進(jìn)行測試。41、什么是系統(tǒng)瓶頸?參考答案:瓶頸主要是指整個軟硬件構(gòu)成的軟件系統(tǒng)某一方面或者幾個方面能力不能滿足用戶的特定業(yè)務(wù)要求,“特定”是指瓶頸會在某些條件下會出現(xiàn),因為畢竟大多數(shù)系統(tǒng)在投入前。嚴(yán)格的從技術(shù)角度講,所有的系統(tǒng)都會有瓶頸,因為大多數(shù)系統(tǒng)的資源配置不是協(xié)調(diào)的,例如CPU使用率剛好達(dá)到100%時,內(nèi)存也正好耗盡的系統(tǒng)不是很多見。因此我們討論系統(tǒng)瓶頸要從應(yīng)用的角度討論:關(guān)鍵是看系統(tǒng)能否滿足用戶需求。在用戶極限使用系統(tǒng)的情況下,系統(tǒng)的響應(yīng)仍然正常,我們可以認(rèn)為改系統(tǒng)沒有瓶頸或者瓶頸不會影響用戶工作。因此我們測試系統(tǒng)瓶頸主要是實現(xiàn)下面兩個目的:-發(fā)現(xiàn)“表面”的瓶頸。主要是模擬用戶的操作,找出用戶極限使用系統(tǒng)時的瓶頸,然后解決瓶頸,這是性能測試的基本目標(biāo)。-發(fā)現(xiàn)潛在的瓶頸并解決,保證系統(tǒng)的長期穩(wěn)定性。主要是考慮用戶在將來擴(kuò)展系統(tǒng)或者業(yè)務(wù)發(fā)生變化時,系統(tǒng)能夠適應(yīng)變化。滿足用戶目前需求的系統(tǒng)不是最好的,我們設(shè)計系統(tǒng)的目標(biāo)是在保證系統(tǒng)整個軟件生命周期能夠不斷適應(yīng)用戶的變化,或者通過簡單擴(kuò)展系統(tǒng)就可以適應(yīng)新的變化。42、文檔測試主要包含什么內(nèi)容?參考答案:在國內(nèi)軟件開發(fā)管理中,文檔管理幾乎是最弱的一項,因而在測試工作中特別容易忽略文檔測試也就不足為奇了。要想給用戶提供完整的產(chǎn)品,文檔測試是必不可少的。文檔測試一般注重下面幾個方面:文檔的完整性:主要是測試文檔內(nèi)容的全面性與完整性,從總體上把握文檔的質(zhì)量。例如用戶手冊應(yīng)該包括軟件的所有功能模塊。描述與軟件實際情況的一致性:主要測試軟件文檔與軟件實際的一致程度。例如用戶手冊基本完整后,我們還要注意用戶手冊與實際功能描述是否一致。因為文檔往往跟不上軟件版本的更新速度。易理解性:主要是檢查文檔對關(guān)鍵、重要的操作有無圖文說明,文字、圖表是否易于理解。對于關(guān)鍵、重要的操作僅僅只有文字說明肯定是不夠的,應(yīng)該附有圖表使說明更為直觀和明了。文檔中提供操作的實例:這項檢查內(nèi)容主要針對用戶手冊。對主要功能和關(guān)鍵操作提供的應(yīng)用實例是否豐富,提供的實例描述是否詳細(xì)。只有簡單的圖文說明,而無實例的用戶手冊看起來就像是軟件界面的簡單拷貝,對于用戶來說,實際上沒有什么幫助。印刷與包裝質(zhì)量:主要是檢查軟件文檔的商品化程度。有些用戶手冊是簡單打印、裝訂而成,過于粗糙,不易于用戶保存。優(yōu)秀的文檔例如用戶手冊和技術(shù)白皮書,應(yīng)提供商品化包裝,并且印刷精美。43、功能測試用例需要詳細(xì)到什么程度才是合格的?參考答案:這個問題也是測試工程師經(jīng)常問的問題。有人主張測試用例詳細(xì)到每個步驟執(zhí)行什么都要寫出來,目的是即使一個不了解系統(tǒng)的新手都可以按照測試用例來執(zhí)行工作。主張這類寫法的人還可以舉出例子:歐美、日本等軟件外包文檔都是這樣做的。另外一種觀點就是主張寫的粗些,類似于編寫測試大綱。主張這種觀點的人是因為軟件開發(fā)需求管理不規(guī)范,變動十分頻繁,因而不能按照歐美的高標(biāo)準(zhǔn)來編寫測試用例。這樣的測試用例容易維護(hù),可以讓測試執(zhí)行人員有更大的發(fā)揮空間。實際上,軟件測試用例的詳細(xì)程度首先要以覆蓋到測試點為基本要求。舉個例子:“用戶登陸系統(tǒng)”的測試用例可以不寫出具體的執(zhí)行數(shù)據(jù),但是至少要寫出五種以上情況(),如果只用一句話覆蓋了這個功能是不合格的測試用例。覆蓋功能點不是指列出功能點,而是要寫出功能點的各個方面(如果組合情況較多時可以采用等價劃分)。另一個影響測試用例的就是組織的開發(fā)能力和測試對象特點。如果開發(fā)力量比較落后,編寫較詳細(xì)的測試用例是不現(xiàn)實的,因為根本沒有那么大的資源投入,當(dāng)然這種情況很隨著團(tuán)隊的發(fā)展而逐漸有所改善。測試對象特點重點是指測試對象在進(jìn)度、成本等方面的要求,如果進(jìn)度較緊張的情況下,是根本沒有時間寫出高質(zhì)量的測試用例的,甚至有些時候測試工作只是一種輔助工作,因而不編寫測試用例。因此,測試用例的編寫要根據(jù)測試對象特點、團(tuán)隊的執(zhí)行能力等各個方面綜合起來決定編寫策略。最后要注意的是測試人員一定不能抱怨,力爭在不斷提高測試用例編寫水平的同時,不斷地提高自身能力。44、配置和兼容性測試的區(qū)別是什么?參考答案:配置測試的目的是保證軟件在其相關(guān)的硬件上能夠正常運(yùn)行,而兼容性測試主要是測試軟件能否與不同的軟件正確協(xié)作。配置測試的核心內(nèi)容就是使用各種硬件來測試軟件的運(yùn)行情況,一般包括:(1)軟件在不同的主機(jī)上的運(yùn)行情況,例如Dell和Apple;(2)軟件在不同的組件上的運(yùn)行情況,例如開發(fā)的撥號程序要測試在不同廠商生產(chǎn)的Modem上的運(yùn)行情況;(3)不同的外設(shè);(4)不同的接口;(5)不同的可選項,例如不同的內(nèi)存大?。患嫒菪詼y試的核心內(nèi)容:(1)測試軟件是否能在不同的操作系統(tǒng)平臺上兼容;(2)測試軟件是否能在同一操作系統(tǒng)平臺的不同版本上兼容;(3)軟件本身能否向前或者向后兼容;(4)測試軟件能否與其它相關(guān)的軟件兼容;(5)數(shù)據(jù)兼容性測試,主要是指數(shù)據(jù)能否共享;配置和兼容性測試通稱對開發(fā)系統(tǒng)類軟件比較重要,例如驅(qū)動程序、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)等。具體進(jìn)行時仍然按照測試用例來執(zhí)行。45、軟件文檔測試主要包含什么?參考答案:隨著軟件文檔系統(tǒng)日益龐大,文檔測試已經(jīng)成為軟件測試的重要內(nèi)容。文檔測試對象主要如下:-包裝文字和圖形;-市場宣傳材料、廣告以及其它插頁;-授權(quán)、注冊登記表;-最終用戶許可協(xié)議;-安裝和設(shè)置向?qū)В?用戶手冊;-聯(lián)機(jī)幫助;-樣例、示范例子和模板;-……文檔測試的目的是提高易用性和可靠性,降低支持費用,因為用戶通過文檔就可以自己解決問題。因文檔測試的檢查內(nèi)容主要如下:-讀者對象——主要是文檔的內(nèi)容是否能讓該級別的讀者理解;-術(shù)語——主要是檢查術(shù)語是否適合讀者;-內(nèi)容和主題——檢查主題是否合適、是否丟失、格式是否規(guī)范等;-圖標(biāo)和屏幕抓圖——檢查圖表的準(zhǔn)確度和精確度;-樣例和示例——是否與軟件功能一致;-拼寫和語法;-文檔的關(guān)聯(lián)性——是否與其它相關(guān)文檔的內(nèi)容一致,例如與廣告信息是否一致;文檔測試是相當(dāng)重要的一項測試工作,不但要給予充分的重視,更要要認(rèn)真的完成,象做功能測試一樣來對待文檔測試。46、沒有產(chǎn)品說明書和需求文檔地情況下能夠進(jìn)行黑盒測試嗎?參考答案:這個問題是國內(nèi)測試工程師經(jīng)常遇到的問題,根源就是國內(nèi)軟件開發(fā)文檔管理不規(guī)范,對變更的管理方法就更不合理了。實際上沒有任何文檔的時候,測試人員是能夠進(jìn)行黑盒測試的,這種測試方式我們可以稱之為探索測試,具體做法就是測試工程師根據(jù)自己的專業(yè)技能、領(lǐng)域知識等不斷的深入了解測試對象、理解軟件功能,進(jìn)而發(fā)現(xiàn)缺陷。在這種做法基本上把軟件當(dāng)成了產(chǎn)品說明書,測試過程中要和開發(fā)人員不斷的進(jìn)行交流。尤其在作項目的時候,進(jìn)度壓力比較大,可以作為加急測試方案。最大的風(fēng)險是不知道有些特性是否被遺漏。47、測試中的“殺蟲劑怪事”是指什么?參考答案:“殺蟲劑怪事”一詞由BorisBeizer在其編著的《軟件測試技術(shù)》第二版中提出。用于描述測試人員對同一測試對象進(jìn)行的測試次數(shù)越多,發(fā)現(xiàn)的缺陷就會越來越少的現(xiàn)象。就像老用一種農(nóng)藥,害蟲就會有免疫力,農(nóng)藥發(fā)揮不了效力。這種現(xiàn)象的根本原因就是測試人員對測試軟件過于熟悉,形成思維定勢。為了克服這種現(xiàn)象,測試人員需要不斷編寫新的測試程序或者測試用例,對程序的不同部分進(jìn)行測試,以發(fā)現(xiàn)更多的缺陷。也可以引用新人來測試軟件,剛剛進(jìn)來的新手往往能發(fā)現(xiàn)一些意想不到的問題。48、在配置測試中,如何判斷發(fā)現(xiàn)的缺陷是普通問題還是特定的配置問題?參考答案:在進(jìn)行配置測試時,測試工程師仍然會發(fā)現(xiàn)一些普通的缺陷,也就是與配置環(huán)境無關(guān)的缺陷。因此判斷新發(fā)現(xiàn)的問題,需要在不同的配置中重新執(zhí)行發(fā)現(xiàn)軟件缺陷的步驟,如果軟件缺陷不出現(xiàn)了,就可能是配置缺陷;如果在所有的配置中都出現(xiàn),就可能是普通缺陷。需要注意的是,配置問題可以在一大類配置中出現(xiàn)。例如,撥號程序可能在所有的外置Modem中都存在問題,而內(nèi)置的Modem不會有任何問題。49、為什么盡量不要讓時間有富裕的員工去做一些測試?參考答案:表面上看這體現(xiàn)了管理的效率和靈活性,但實際上也體現(xiàn)了管理者對測試的輕視。測試和測試的人有很大關(guān)系。測試工作人員應(yīng)該是勤奮并富有耐心,善于學(xué)習(xí)、思考和發(fā)現(xiàn)問題,細(xì)心有條理,總結(jié)問題,如果具備這樣的優(yōu)點,做其它工作同樣也會很出色,因此這里還有一個要求,就是要喜歡測試這項工作。如果他是專職的,那么肯定更有經(jīng)驗和信心。國內(nèi)的小伙子好象都喜歡做程序員,兩者工作性質(zhì)不同,待遇不同,地位不同,對自我實現(xiàn)的價值的認(rèn)識也不同,這是行業(yè)的一個需要改善的問題。如果只是為了完成任務(wù)而完成任務(wù),或者發(fā)現(xiàn)了幾個問題就覺得滿意了,這在任何其它工作中都是不行的。50、完全測試程序是可能的嗎?參考答案:軟件測試初學(xué)者可能認(rèn)為拿到軟件后需要進(jìn)行完全測試,找到全部的軟件缺陷,使軟件“零缺陷”發(fā)布。實際上完全測試是不可能的。主要有以下一個原因:-完全測試比較耗時,時間上不允許;-完全測試通常意味著較多資源投入,這在現(xiàn)實中往往是行不通的;-輸入量太大,不能一一進(jìn)行測試;-輸出結(jié)果太多,只能分類進(jìn)行驗證;-軟件實現(xiàn)途徑太多;-軟件產(chǎn)品說明書沒有客觀標(biāo)準(zhǔn),從不同的角度看,軟件缺陷的標(biāo)準(zhǔn)不同;因此測試的程度要根據(jù)實際情況確定。51、軟件測試的風(fēng)險主要體現(xiàn)在哪里?參考答案:我們沒有對軟件進(jìn)行完全測試,實際就是選擇了風(fēng)險,因為缺陷極有可能存在沒有進(jìn)行測試的部分。舉個例子,程序員為了方便,在調(diào)試程序時會彈出一些提示信息框,而這些提示只在某種條件下會彈出,碰巧程序發(fā)布前這些代碼中的一些沒有被注釋掉。在測試時測試工程師又沒有對其進(jìn)行測試。如果客戶碰到它,這將是代價昂貴的缺陷,因為交付后才被客戶發(fā)現(xiàn)。因此,我們要盡可能的選擇最合適的測試量,把風(fēng)險降低到最小。52、發(fā)現(xiàn)的缺陷越多,說明軟件缺陷越多嗎?參考答案:這是一個比較常見的現(xiàn)象。測試工程師在沒有找到缺陷前會絞盡腦汁的思考,但是找到一個后,會接二連三的發(fā)現(xiàn)很多缺陷,頗有個人成就感。其中的原因主要如下:-代碼復(fù)用、拷貝代碼導(dǎo)致程序員容易犯相同的錯誤。類的繼承導(dǎo)致所有的子類會包含基類的錯誤,反復(fù)拷貝同一代碼意味可能也復(fù)制了缺陷。-程序員比較勞累是可以導(dǎo)致某些連續(xù)編寫的功能缺陷較多。程序員加班是一種司空見慣的現(xiàn)象,因此體力不只時容易編寫一些缺陷較多的程序。而這些連續(xù)潛伏缺陷恰恰時測試工程師大顯身手的地方?!叭毕菀粋€連著一個”不是一個客觀規(guī)律,只是一個常見的現(xiàn)象。如果軟件編寫的比較好,這種現(xiàn)象就不常見了。測試人員只要嚴(yán)肅認(rèn)真的測試程序就可以了。53、所有的軟件缺陷都能修復(fù)嗎?所有的軟件缺陷都要修復(fù)嗎?參考答案:從技術(shù)上講,所有的軟件缺陷都是能夠修復(fù)的,但是沒有必要修復(fù)所有的軟件缺陷。測試人員要做的是能夠正確判斷什么時候不能追求軟件的完美。對于整個項目團(tuán)隊,要做的是對每一個軟件缺陷進(jìn)行取舍,根據(jù)風(fēng)險決定那些缺陷要修復(fù)。發(fā)生這種現(xiàn)象的主要原因如下:-沒有足夠的時間資源。在任何一個項目中,通常情況下開發(fā)人員和測試人員都是不夠用的,而且在項目中沒有預(yù)算足夠的回歸測試時間,再加上修改缺陷可能引入新的缺陷,因此在交付期限的強(qiáng)大壓力下,必須放棄某些缺陷的修改。-有些缺陷只是特殊情況下出現(xiàn),這種缺陷處于商業(yè)利益考慮,可以在以后升級中進(jìn)行修復(fù)。-不是缺陷的缺陷。我們經(jīng)常會碰到某些功能方面的問題被當(dāng)成缺陷來處理,這類問題可以以后有時間時考慮再處理。最后要說的是,缺陷是否修改要由軟件測試人員、項目經(jīng)理、程序員共同討論來決定是否修復(fù),不同角色的人員從不同的角度來思考,以做出正確的決定。54、軟件測試人員就是QA嗎?參考答案:軟件測試人員的職責(zé)是盡可能早的找出軟件缺陷,確保得以修復(fù)。而質(zhì)量保證人員(QA)主要職責(zé)是創(chuàng)建或者制定標(biāo)準(zhǔn)和方法,提高促進(jìn)軟件開發(fā)能力和減少軟件缺陷。測試人員的主要工作是測試,質(zhì)量保證人員日常工作重要內(nèi)容是檢查與評審,測試工作也是測試保證人員的工作對象。軟件測試和質(zhì)量是相輔相成的關(guān)系,都是為了提高軟件質(zhì)量而工作。55、如何減少測試人員跳槽帶來的損失?參考答案:在IT行業(yè)里跳槽已經(jīng)是一種司空見慣的現(xiàn)象,而且跳槽無論給公司還是給個人都會帶來一定的損失。測試隊伍也無疑會面臨跳槽的威脅,作為測試經(jīng)理管理者,只有從日常工作中開始做起,最能最大限度的減少損失。建議我們從以下兩個方面做起:-加強(qiáng)部門內(nèi)員工之間的互相學(xué)習(xí),互相學(xué)習(xí)是建立學(xué)習(xí)型組織的基本要求,是知識互相轉(zhuǎn)移的過程。在此基礎(chǔ)上,可以把個人擁有的技術(shù)以知識的形式沉積下來,也就完成了隱性知識到顯性知識的轉(zhuǎn)化。-通常情況下,企業(yè)能為員工提供足夠大的發(fā)展空間時,如果不是待遇特別低,員工都不會主動離開企業(yè)。因此我們要想留住員工,管理者就應(yīng)該把員工的個人成長和企業(yè)的發(fā)展聯(lián)系起來,為員工設(shè)定合理發(fā)展規(guī)劃并付諸實現(xiàn)。不過這項要求做起來比較,要有比較好的企業(yè)文化為依托。56、測試產(chǎn)品與測試項目的區(qū)別是什么?參考答案:習(xí)慣上把開發(fā)完成后進(jìn)行商業(yè)化、幾乎不進(jìn)行代碼修改就可以售給用戶使用的軟件成為軟件產(chǎn)品,也就是可以買“賣拷貝”的軟件,例如Windows2000。而通常把針對一個或者幾個特定的用戶而開發(fā)的軟件成為軟件項目,軟件項目是一種個性化的產(chǎn)品,可以是按照用戶要求全部重新開發(fā),也可以修改已有的軟件產(chǎn)品來滿足特定的用戶需求。項目和產(chǎn)品的不同特點,決定我們測試產(chǎn)品和測試項目仍然會有很多不同的地方:-質(zhì)量要求不同。通常產(chǎn)品的質(zhì)量要高一些,修復(fù)發(fā)布后產(chǎn)品的缺陷成本較高,甚至?xí)砗芏嘭?fù)面的影響。而做項目通常面向某一用戶,雖然質(zhì)量越高越好,但是一般只要滿足用戶要求就可以了。-測試資源投入多少不同。做軟件產(chǎn)品通常是研發(fā)中心來開發(fā),進(jìn)度壓力要小些。同時由于質(zhì)量要求高,因此會投入較多的人力、物力資源。-項目最后要和用戶共同驗收測試,這是產(chǎn)品測試不具有的特點。此外,測試產(chǎn)品與測試項目在缺陷管理方面、測試策略制定都會有很大不同,測試管理者應(yīng)該結(jié)合具體的環(huán)境,恰如其分的完成工作。57、和用戶共同測試(UAT測試)的注意點有哪些?參考答案:軟件產(chǎn)品在投產(chǎn)前,通常都會進(jìn)行用戶驗收測試。如果用戶驗收測試沒有通過,直接結(jié)果就是那不到“Money”,間接影響是損害了公司的形象,而后者的影響往往更嚴(yán)重。根據(jù)作者的經(jīng)驗,用戶驗收測試一定要讓用戶滿意。實際上用戶現(xiàn)場測試更趨于是一種演示。在不欺騙用戶的前提下,我們向用戶展示我們軟件的優(yōu)點,最后讓“上帝”滿意并欣然掏出“銀子”才是我們的目標(biāo)。因此用戶測試要注意下面的事項:(1)用戶現(xiàn)場測試不可能測試全部功能,因此要測試核心功能。這需要提前做好準(zhǔn)備,這些核心功能一定要預(yù)先經(jīng)過測試,證明沒有問題才可以和用戶共同進(jìn)行測試。測試核心模塊的目的是建立用戶對軟件的信心。當(dāng)然如果這些模塊如果問題較多,不應(yīng)該進(jìn)行演示。(2)如果某些模塊確實有問題,我們可以演示其它重要的業(yè)務(wù)功能模塊,必要時要向用戶做成合理的解釋。爭得時間后,及時修改缺陷來彌補(bǔ)。(3)永遠(yuǎn)不能欺騙用戶,蒙混過關(guān)。道理很簡單,因為軟件是要給用戶用的,問題早晚會暴露出來,除非你可以馬上修改。和用戶進(jìn)行測試還要注意各種交流技巧,爭取不但短期利益得到了滿足,還要為后面得合作打好基礎(chǔ)。58、如何編寫提交給用戶的測試報告?參考答案:隨著測試工作越來越受重視,開發(fā)團(tuán)隊向客戶提供測試文檔是不可避免的事情。很多人會問:“我們可以把工作中的測試報告提供給客戶嗎?”答案是否定的。因為提供內(nèi)部測試報告,可能會讓客戶失去信心,甚至否定項目。測試報告一般分為內(nèi)部測試報告和外部測試報告。內(nèi)部報告是我們在測試工作中的項目文檔,反映了測試工作的實施情況,這里不過多討論,讀者可以參考相關(guān)教材。這里主要討論一下外部測試報告的寫法,一般外部測試報告要滿足下面幾個要求:-根據(jù)內(nèi)部測試報告進(jìn)行編寫,一般可以摘錄;-不可以向客戶報告嚴(yán)重缺陷,即使是已經(jīng)修改的缺陷,開發(fā)中的缺陷也沒有必要讓客戶知道;-報告上可以列出一些缺陷,但必須是中級的缺陷,而且這些缺陷必須是修復(fù)的;-報告上面的內(nèi)容盡量要真實可靠;-整個測試報告要仔細(xì)審閱,力爭不給項目帶來負(fù)面作用,尤其是性能測試報告。總之,外部測試報告要小心謹(jǐn)慎的編寫。59、測試工具在測試工作中是什么地位?參考答案:國內(nèi)的很多測試工程師對測試工具相當(dāng)迷戀,尤其是一些新手,甚至期望測試工具可以取代手工測試。測試工具在測試工作中起的是輔助作用,一般用來提高測試效率。自動化測試彌補(bǔ)了手工測試的不足,減輕一定的工作量。實際上測試工具是無法替代大多數(shù)手工測試的,而一些諸如性能測試等自動化測試也是手工所不能完成的。對于自動測試技術(shù),應(yīng)當(dāng)依據(jù)軟件的不同情況來分別對待,一般自動技術(shù)會應(yīng)用在引起大量重復(fù)性工作的地方、系統(tǒng)的壓力點、以及任何適合使用程序解決大批量輸入數(shù)據(jù)的地方。然后再尋找合適的自動測試工具,或者自己開發(fā)測試程序。一定不要為了使用測試工具而使用。60、什么是軟件測試,軟件測試的目的?參考答案:61、簡述負(fù)載測試與壓力測試的區(qū)別。參考答案: 壓力測試(StressTesting)壓力測試的主要任務(wù)就是獲取系統(tǒng)正確運(yùn)行的極限,檢查系統(tǒng)在瞬間峰值負(fù)荷下正確執(zhí)行的能力。例如,對服務(wù)器做壓力測試時就可以增加并發(fā)操作的用戶數(shù)量;或者不停地向服務(wù)器發(fā)送請求;或一次性向服務(wù)器發(fā)送特別大的數(shù)據(jù)等??纯捶?wù)器保持正常運(yùn)行所能達(dá)到的最大狀態(tài)。人們通常使用測試工具來完成壓力測試,如模擬上萬個用戶從終端同時登錄,這是壓力測試中常常使用的方法。負(fù)載測試(VolumeTesting)用于檢查系統(tǒng)在使用大量數(shù)據(jù)的時候正確工作的能力,即檢驗系統(tǒng)的能力最高能達(dá)到什么程度。例如,對于信息檢索系統(tǒng),讓它使用頻率達(dá)到最大;對于多個終端的分時系統(tǒng),讓它所有的終端都開動。在使整個系統(tǒng)的全部資源達(dá)到“滿負(fù)荷”的情形下,測試系統(tǒng)的承受能力。62、寫出bug報告流轉(zhuǎn)的步驟,每步的責(zé)任人及主要完成的工作。參考答案:(要結(jié)合自己實際的工作經(jīng)驗進(jìn)行回答,不同公司略有區(qū)別) 測試人員提交新的Bug入庫,錯誤狀態(tài)為New。高級測試員/測試經(jīng)理驗證錯誤,如果確認(rèn)是錯誤,分配給開發(fā)組。設(shè)置狀態(tài)為Open。如果不是錯誤,則拒絕,設(shè)置為Declined狀態(tài)。開發(fā)經(jīng)理分配bug至對應(yīng)的模塊開發(fā)人員。開發(fā)人員查詢狀態(tài)為Open的Bug,如果不是錯誤,則置狀態(tài)為Declined;如果是Bug則修復(fù)并置狀態(tài)為Fixed。不能解決的Bug,要留下文字說明及保持Bug為Open狀態(tài)。對于不能解決和延期解決的Bug,不能由開發(fā)人員自己決定,一般要通過某種會議(評審會)通過才能認(rèn)可。測試人員查詢狀態(tài)為Fixed的Bug,然后驗證Bug是否已解決,如解決,置Bug的狀態(tài)為Closed,如沒有解決,置bug狀態(tài)為Reopen。63、寫出bug報告當(dāng)中一些必備的內(nèi)容。參考答案: 硬件平臺和操作系統(tǒng) 測試應(yīng)用的硬件平臺(Platform),通常選擇“PC”。 測試應(yīng)用的操作系統(tǒng)平臺(OS)。版本 提交缺陷報告時通過該字段標(biāo)識此缺陷存在于被測試軟件的哪個版本。Bug報告優(yōu)先級Bug狀態(tài)Bug的編號發(fā)現(xiàn)人提交人指定處理人概述從屬關(guān)系詳細(xì)描述嚴(yán)重程度所屬模塊附件提交日期64、開發(fā)人員老是犯一些低級錯誤怎么解決?參考答案:這種現(xiàn)象在開發(fā)流程不規(guī)范的團(tuán)隊里特別常見,尤其是一些“作坊式”的團(tuán)隊里。解決這種問題一般從兩個方面入手:一方面從開發(fā)管理入手,也就是從根源來解決問題??梢灾贫ㄒ?guī)范的開發(fā)流程,甚至可以制定懲罰制度,還有就是軟件開發(fā)前做好規(guī)劃設(shè)計。另一方面就是加強(qiáng)測試,具體做法就是加強(qiáng)開發(fā)人員的自己測試,把這些問題“消滅”在開發(fā)階段,這是比較好的做法,讀者可以參考第13章試案例分析的“13.1.2缺陷反復(fù)出現(xiàn),誰的責(zé)任”小節(jié),13.1.2專門討論了這類問題的方法。此外,還可以通過規(guī)范的缺陷管理來對開發(fā)人員進(jìn)行控制,比如測試部門整理出常見的缺陷,讓開發(fā)人員自己對照進(jìn)行檢查,以減少這類低級錯誤的發(fā)生。開發(fā)人員犯錯誤是正常的現(xiàn)象,作為測試人員一定不能抱怨,要認(rèn)認(rèn)真真的解決問題才是上策。65、畫出軟件測試的V模型圖。 參考答案: 66、為什么要在一個團(tuán)隊中開展軟件測試工作?參考答案:因為沒有經(jīng)過測試的軟件很難在發(fā)布之前知道該軟件的質(zhì)量,就好比ISO質(zhì)量認(rèn)證一樣,測試同樣也需要質(zhì)量的保證,這個時候就需要在團(tuán)隊中開展軟件測試的工作。在測試的過程發(fā)現(xiàn)軟件中存在的問題,及時讓開發(fā)人員得知并修改問題,在即將發(fā)布時,從測試報告中得出軟件的質(zhì)量情況。67、您在以往的測試工作中都曾經(jīng)具體從事過哪些工作?其中最擅長哪部分工作?參考答案:(根據(jù)項目經(jīng)驗不同,靈活回答即可)我曾經(jīng)做過web測試,后臺測試,客戶端軟件,其中包括功能測試,性能測試,用戶體驗測試。最擅長的是功能測試68、您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區(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ū)У淖饔谩M瑫r界面如同人的面孔,具有吸引用戶的直接優(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ù)膹棾鼍妫孔瞿硞€性能測試的時候,首先它可能是個功能點,首先要保證它的功能是沒問題的,然后再考慮該功能點的性能測試69、您認(rèn)為做好測試用例設(shè)計工作的關(guān)鍵是什么?參考答案: 白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題70、請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統(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ù),即軟件的功能和性能如同用戶所合理期待的那樣。71、測試計劃工作的目的是什么?測試計劃工作的內(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ù)。所以其中最重要的是測試測試策略和測試方法(最好是能先評審)72、您所熟悉的測試用例設(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è)計測試用例.這就需要利用因果圖(邏輯模型).因果圖方法最終生成的就是判定表.它適合于檢查程序輸入條件的各種組合情況.73、請以您以往的實際工作為例,詳細(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í)行測試74、您以往是否曾經(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):
*AvgRps:平均每秒鐘響應(yīng)次數(shù)=總請求時間/秒數(shù);
*SuccessfulRounds:成功的請求;
*FailedRounds:失敗的請求;
*SuccessfulHits:成功的點擊次數(shù);
*FailedHits:失敗的點擊次數(shù);
*HitsPerSecond:每秒點擊次數(shù);
*SuccessfulHitsPerSecond:每秒成功的點擊次數(shù);
*FailedHitsPerSecond:每秒失敗的點擊次數(shù);
*AttemptedConnections:嘗試鏈接數(shù);75、你對測試最大的興趣在哪里?為什么?參考答案: 最大的興趣就是測試有難度,有挑戰(zhàn)性!做測試越久越能感覺到做好測試有多難。曾經(jīng)在無憂測試網(wǎng)上看到一篇文章,是關(guān)于如何做好一名測試工程師。一共羅列了11,12點,有部分是和人的性格有關(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,每個地方都有可能出錯,所以測試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 去健身房鍛煉身體的說說范文
- 2025年粵教新版九年級歷史上冊月考試卷含答案
- 2025年華師大新版八年級物理下冊月考試卷含答案
- 2025年新世紀(jì)版選擇性必修二化學(xué)下冊月考試卷
- 2025年滬科新版九年級地理下冊月考試卷含答案
- 2025年湘師大新版必修2歷史上冊階段測試試卷
- 2025年華東師大版九年級科學(xué)上冊階段測試試卷含答案
- 2025年外研版八年級歷史上冊階段測試試卷
- 2025年粵教版必修1語文上冊階段測試試卷
- 2025年北師大版選修2地理上冊月考試卷含答案
- 安檢人員培訓(xùn)
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 英語試題
- 危險性較大分部分項工程及施工現(xiàn)場易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 《榜樣9》觀后感心得體會四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識》備考題庫(含答案)
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測卷(一)試題和答案
- 2025四川中煙招聘高頻重點提升(共500題)附帶答案詳解
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 2025年中國蛋糕行業(yè)市場規(guī)模及發(fā)展前景研究報告(智研咨詢發(fā)布)
- 潤滑油過濾培訓(xùn)
評論
0/150
提交評論