教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

常見(jiàn)的軟件測(cè)試面試題

更新時(shí)間:2019年03月18日14時(shí)19分 來(lái)源:網(wǎng)絡(luò) 瀏覽次數(shù):

    一個(gè)測(cè)試工程師應(yīng)具備那些素質(zhì)和技能?
    一個(gè)好的測(cè)試工程師,不僅要基礎(chǔ)扎實(shí),對(duì)自身的性格、責(zé)任心都有非常高的要求。具體如下:
軟件測(cè)試面試題
(1)掌握基本的測(cè)試基礎(chǔ)理論
(2)本著找出軟件存在的問(wèn)題的態(tài)度進(jìn)行測(cè)試,即客觀吧,不要以挑刺形象出現(xiàn)(3)可熟練閱讀需求規(guī)格說(shuō)明書(shū)等文檔
(4)以用戶的觀點(diǎn)看待問(wèn)題
(5)有著強(qiáng)烈的質(zhì)量意識(shí)
(6)細(xì)心和責(zé)任心
(7)良好的有效的溝通方式(與開(kāi)發(fā)人員及客戶)
(8)具有以往的測(cè)試經(jīng)驗(yàn)
(9)能夠及時(shí)準(zhǔn)確地判斷出高危險(xiǎn)區(qū)在何處.
    集成測(cè)試通常都有那些策略?
    大致說(shuō)四點(diǎn)即可,當(dāng)然說(shuō)全更好。集成測(cè)試有十種策略:
(1)大爆炸集成
(2)自頂向下集成
(3)自底向上集成
(4)三明治集成
(5)分層集成
(6)基干集成
(7)基于功能的集成
(8)基于消息的集成
(9)基于風(fēng)險(xiǎn)的集成
(10)基于進(jìn)度的集成.
    1、什么是兼容性測(cè)試?兼容性測(cè)試側(cè)重哪些方面?
    兼容測(cè)試主要是檢查軟件在不同的硬件平臺(tái)、軟件平臺(tái)上是否可以正常的運(yùn)行,即是通常說(shuō)的軟件的可移植性。
    兼容的類型,如果細(xì)分的話,有平臺(tái)的兼容,網(wǎng)絡(luò)兼容,數(shù)據(jù)庫(kù)兼容,以及數(shù)據(jù)格式的兼容。
    兼容測(cè)試的重點(diǎn)是,對(duì)兼容環(huán)境的分析。通常,是在運(yùn)行軟件的環(huán)境不是很確定的情況下,才需要做兼容。根據(jù)軟件運(yùn)行的需要,或者根據(jù)需求文檔,一般都能夠得出用戶會(huì)在什么環(huán)境下使用該軟件,把這些環(huán)境整理成表單,就得出做兼容測(cè)試的兼容環(huán)境了。
    兼容和配置測(cè)試的區(qū)別在于,做配置測(cè)試通常不是Clean OS下做測(cè)試,而兼容測(cè)試多是在Clean OS的環(huán)境下做的。
3、測(cè)試的策略有哪些?
黑盒/白盒,靜態(tài)/動(dòng)態(tài),手工/自動(dòng),冒煙測(cè)試,回歸測(cè)試,公測(cè)(Beta測(cè)試的策略)4、正交表測(cè)試用例設(shè)計(jì)方法的特點(diǎn)是什么?
用最少的實(shí)驗(yàn)覆蓋最多的操作,測(cè)試用例設(shè)計(jì)很少,效率高,但是很復(fù)雜;對(duì)于基本的驗(yàn)證功能,以及二次集成引起的缺陷,一般都能找出來(lái);但是更深的缺陷,更復(fù)雜的缺陷,還是無(wú)能為力的;具體的環(huán)境下,正交表一般都很難做的。大多數(shù),只在系統(tǒng)測(cè)試的時(shí)候使用此方法。
5、描述使用bugzilla缺陷管理工具對(duì)軟件缺陷(BUG)跟蹤的管理的流程?
就是Bugzilla的狀態(tài)轉(zhuǎn)換圖。
6、你覺(jué)得bugzilla在使用的過(guò)程中,有什么問(wèn)題?
界面不穩(wěn)定;
根據(jù)需要配置它的不同的部分,過(guò)程很煩瑣。
流程控制上,安全性不好界定,很容易對(duì)他人的Bug進(jìn)行誤操作;沒(méi)有綜合的評(píng)分指標(biāo),不好確認(rèn)修復(fù)的優(yōu)先級(jí)別。
7、描述測(cè)試用例設(shè)計(jì)的完整過(guò)程?
需求分析 + 需求變更的維護(hù)工作;
根據(jù)需求 得出測(cè)試需求;
設(shè)計(jì)測(cè)試方案,評(píng)審測(cè)試方案;
方案評(píng)審?fù)ㄟ^(guò)后,設(shè)計(jì)測(cè)試用例,再對(duì)測(cè)試用例進(jìn)行評(píng)審;8、單元測(cè)試的策略有哪些?
邏輯覆蓋、循環(huán)覆蓋、同行評(píng)審、桌前檢查、代碼走查、代碼評(píng)審、景泰數(shù)據(jù)流分析9、LoadRunner分哪三部分?
腳本生成器;
場(chǎng)景控制器;
結(jié)果分析器;
10、LoadRunner進(jìn)行測(cè)試的流程?
1、 測(cè)試測(cè)試
2、 創(chuàng)建虛擬用戶腳本
3、 創(chuàng)建運(yùn)行場(chǎng)景
4、 運(yùn)行測(cè)試腳本
5、 監(jiān)視場(chǎng)景
6、 分析測(cè)試的結(jié)果
以上,最好是結(jié)合一個(gè)案例,根據(jù)以上流程來(lái)介紹。
什么是并發(fā)?在lordrunner中,如何進(jìn)行并發(fā)的測(cè)試?集合點(diǎn)失敗了會(huì)怎么樣?
在同一時(shí)間點(diǎn),支持多個(gè)不同的操作。
LoadRunner中提供IP偽裝,集合點(diǎn),配合虛擬用戶的設(shè)計(jì),以及在多臺(tái)電腦上設(shè)置,可以比較好的模擬真實(shí)的并發(fā)。
集合點(diǎn),即是多個(gè)用戶在某個(gè)時(shí)刻,某個(gè)特定的環(huán)境下同時(shí)進(jìn)行虛擬用戶的操作的。集合點(diǎn)失敗,則集合點(diǎn)的才操作就會(huì)取消,測(cè)試就不能進(jìn)行。
12、使用QTP做功能測(cè)試,錄制腳本的時(shí)候,要驗(yàn)證多個(gè)用戶的登錄情況/查詢情況,如何操作?
分析用戶登錄的基本情況,得出一組數(shù)據(jù),通過(guò)性測(cè)試/失敗性測(cè)試的都有(根據(jù)TC來(lái)設(shè)計(jì)這些數(shù)據(jù)),然后錄制登錄的腳本,將關(guān)鍵的數(shù)據(jù)參數(shù)化,修改腳本,對(duì)代碼進(jìn)行加強(qiáng),調(diào)試腳本。
13、QTP中的Action有什么作用?有幾種?
Action的作用
n       用Action可以對(duì)步驟集進(jìn)行分組
n       步驟重組,然后被整體調(diào)用
n       擁有自己的sheet
n       組合有相同需求的步驟,整體操作
n       具有獨(dú)立的對(duì)象倉(cāng)庫(kù)
Action的種類
n       可復(fù)用Action
n       不可復(fù)用Action
n       外部Action
14、TestDirector有些什么功能,如何對(duì)軟件測(cè)試過(guò)程進(jìn)行管理?
 需求管理
n       定義測(cè)試范圍
n       定義需求樹(shù)
n       描述需求樹(shù)的功能點(diǎn)
測(cè)試計(jì)劃
n       定義測(cè)試目標(biāo)和測(cè)試策略。
n       分解應(yīng)用程序,建立測(cè)試計(jì)劃樹(shù)。
n       確定每個(gè)功能點(diǎn)的測(cè)試方法。
n       將每個(gè)功能點(diǎn)連接到需求上,使測(cè)試計(jì)劃覆蓋全部的測(cè)試需求。
n       描述手工測(cè)試的測(cè)試步驟
n       指明需要進(jìn)行自動(dòng)測(cè)試的功能點(diǎn)
測(cè)試執(zhí)行
n       定義測(cè)試集合。
n       為每個(gè)測(cè)試人員制定測(cè)試任務(wù)和測(cè)試日程安排。
n       運(yùn)行自動(dòng)測(cè)試。
缺陷跟蹤
n       記錄缺陷
n       查看新增缺陷,并確定哪些是需要修正的
n       相關(guān)技術(shù)人員修改缺陷
n       回歸測(cè)試
n       分析缺陷統(tǒng)計(jì)圖表,分析應(yīng)用程序的開(kāi)發(fā)質(zhì)量。
15、你所熟悉的軟件測(cè)試類型都有哪些?請(qǐng)?jiān)囍謩e比較這些不同的測(cè)試類型的區(qū)別與聯(lián)系(如功能測(cè)試、性能測(cè)試……)?
Compatibility Testing(兼容性測(cè)試),也稱“Configuration testing(配置測(cè)試)”,測(cè)試軟件是否和系統(tǒng)的其它與之交互的元素之間兼容,如:瀏覽器、操作系統(tǒng)、硬件等。驗(yàn)證測(cè)試對(duì)象在不同的軟件和硬件配置中的運(yùn)行情況。
Functional testing (功能測(cè)試),也稱為behavioral testing(行為測(cè)試),根據(jù)產(chǎn)品特征、操作描述和用戶方案,測(cè)試一個(gè)產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計(jì)需求。本地化軟件的功能測(cè)試,用于驗(yàn)證應(yīng)用程序或網(wǎng)站對(duì)目標(biāo)用戶能正確工作。使用適當(dāng)?shù)钠脚_(tái)、瀏覽器和測(cè)試腳本,以保證目標(biāo)用戶的體驗(yàn)將足夠好,就像應(yīng)用程序是專門(mén)為該市場(chǎng)開(kāi)發(fā)的一樣。
Performance testing(性能測(cè)試),評(píng)價(jià)一個(gè)產(chǎn)品或組件與性能需求是否符合的測(cè)試。包括負(fù)載測(cè)試、強(qiáng)度測(cè)試、數(shù)據(jù)庫(kù)容量測(cè)試、基準(zhǔn)測(cè)試等類型。
16、軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄?
5C標(biāo)準(zhǔn)
17、Beta測(cè)試與Alpha測(cè)試有什么區(qū)別?
Beta testing(β測(cè)試),測(cè)試是軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。開(kāi)發(fā)者通常不在測(cè)試現(xiàn)場(chǎng)Alpha testing (α測(cè)試),是由一個(gè)用戶在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測(cè)試18、軟件的評(píng)審一般由哪些人參加?其目的是什么?
在正式的會(huì)議上將軟件項(xiàng)目的成果(包括各階段的文檔、產(chǎn)生的代碼等)提交給用戶、客戶或有關(guān)部門(mén)人員對(duì)軟件產(chǎn)品進(jìn)行評(píng)審和批準(zhǔn)。其目的是找出可能影響軟件產(chǎn)品質(zhì)量、開(kāi)發(fā)過(guò)程、維護(hù)工作的適用性和環(huán)境方面的設(shè)計(jì)缺陷,并采取補(bǔ)救措施,以及找出在性能、安全性和經(jīng)濟(jì)方面的可能的改進(jìn)。
人員:用戶、客戶或有關(guān)部門(mén)開(kāi)發(fā)人員,測(cè)試人員,需求分析師都可以,就看處于評(píng)審那個(gè)階段19、測(cè)試活動(dòng)中,如果發(fā)現(xiàn)需求文檔不完善或者不準(zhǔn)確,怎么處理?
測(cè)試需求分析發(fā)現(xiàn)需求文檔不完善或者不準(zhǔn)確,應(yīng)該立即和相關(guān)人員進(jìn)行協(xié)調(diào)交流。
20、階段評(píng)審與項(xiàng)目評(píng)審有什么區(qū)別?
階段評(píng)審對(duì)項(xiàng)目各階段評(píng)審:對(duì)階段成果和工作
項(xiàng)目評(píng)審對(duì)項(xiàng)目總體評(píng)審:對(duì)工作和產(chǎn)品
21、闡述工作版本的定義?
構(gòu)造號(hào): BUILD
22、什么是樁模塊?什么是驅(qū)動(dòng)模塊?
樁模塊:被測(cè)模塊調(diào)用模塊
驅(qū)動(dòng)模塊調(diào)用被測(cè)模塊
23、什么是扇入?什么是扇出?
扇入:被調(diào)次數(shù),扇出:調(diào)其它模塊數(shù)目
24、你認(rèn)為做好測(cè)試計(jì)劃工作的關(guān)鍵是什么?
軟件測(cè)試計(jì)劃就是在軟件測(cè)試工作正式實(shí)施之前明確測(cè)試的對(duì)象,并且通過(guò)對(duì)資源、時(shí)間、風(fēng)險(xiǎn)、測(cè)試范圍和預(yù)算等方面的綜合分析和規(guī)劃,保證有效的實(shí)施軟件測(cè)試;做好測(cè)試計(jì)劃工作的關(guān)鍵:目的,管理,規(guī)范
1. 明確測(cè)試的目標(biāo),增強(qiáng)測(cè)試計(jì)劃的實(shí)用性
編寫(xiě)軟件測(cè)試計(jì)劃得重要目的就是使測(cè)試過(guò)程能夠發(fā)現(xiàn)更多的軟件缺陷,因此軟件測(cè)試計(jì)劃的價(jià)值取決于它對(duì)幫助管理測(cè)試項(xiàng)目,并且找出軟件潛在的缺陷。因此,軟件測(cè)試計(jì)劃中的測(cè)試范圍必須高度覆蓋功能需求,測(cè)試方法必須切實(shí)可行,測(cè)試工具并且具有較高的實(shí)用性,便于使用,生成的測(cè)試結(jié)果直觀、準(zhǔn)確2.堅(jiān)持“5W”規(guī)則,明確內(nèi)容與過(guò)程
“5W”規(guī)則指的是“What(做什么)”、“Why(為什么做)”、“When(何時(shí)做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”規(guī)則創(chuàng)建軟件測(cè)試計(jì)劃,可以幫助測(cè)試團(tuán)隊(duì)理解測(cè)試的目的(Why),明確測(cè)試的范圍和內(nèi)容(What),確定測(cè)試的開(kāi)始和結(jié)束日期(When),指出測(cè)試的方法和工具(How),給出測(cè)試文檔和軟件的存放位置(Where)。
3.采用評(píng)審和更新機(jī)制,保證測(cè)試計(jì)劃滿足實(shí)際需求測(cè)試計(jì)劃寫(xiě)作完成后,如果沒(méi)有經(jīng)過(guò)評(píng)審,直接發(fā)送給測(cè)試團(tuán)隊(duì),測(cè)試計(jì)劃內(nèi)容的可能不準(zhǔn)確或遺漏測(cè)試內(nèi)容,或者軟件需求變更引起測(cè)試范圍的增減,而測(cè)試計(jì)劃的內(nèi)容沒(méi)有及時(shí)更新,誤導(dǎo)測(cè)試執(zhí)行人員。
4. 分別創(chuàng)建測(cè)試計(jì)劃與測(cè)試詳細(xì)規(guī)格、測(cè)試用例
應(yīng)把詳細(xì)的測(cè)試技術(shù)指標(biāo)包含到獨(dú)立創(chuàng)建的測(cè)試詳細(xì)規(guī)格文檔,把用于指導(dǎo)測(cè)試小組執(zhí)行測(cè)試過(guò)程的測(cè)試用例放到獨(dú)立創(chuàng)建的測(cè)試用例文檔或測(cè)試用例管理數(shù)據(jù)庫(kù)中。測(cè)試計(jì)劃和測(cè)試詳細(xì)規(guī)格、測(cè)試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測(cè)試計(jì)劃主要從宏觀上規(guī)劃測(cè)試活動(dòng)的范圍、方法和資源配置,而測(cè)試詳細(xì)規(guī)格、測(cè)試用例是完成測(cè)試任務(wù)的具體戰(zhàn)術(shù)。
25、你認(rèn)為做好測(cè)試用例工作的關(guān)鍵是什么?
 需求和設(shè)計(jì)文檔的理解程度,對(duì)系統(tǒng)的熟悉程度
26、簡(jiǎn)述一下缺陷的生命周期?
提交->確認(rèn)->分配->修復(fù)->驗(yàn)證->關(guān)閉
27、軟件的安全性應(yīng)從哪幾個(gè)方面去測(cè)試?
(1)用戶認(rèn)證機(jī)制:如數(shù)據(jù)證書(shū)、智能卡、雙重認(rèn)證、安全電子交易協(xié)議(2)加密機(jī)制
(3)安全防護(hù)策略:如安全日志、入侵檢測(cè)、隔離防護(hù)、漏洞掃描(4)數(shù)據(jù)備份與恢復(fù)手段:存儲(chǔ)設(shè)備、存儲(chǔ)優(yōu)化、存儲(chǔ)保護(hù)、存儲(chǔ)管理(5)防病毒系統(tǒng)
28、軟件配置管理工作開(kāi)展的情況和認(rèn)識(shí)?
軟件配置管理貫穿于軟件開(kāi)發(fā)、測(cè)試活動(dòng)的始終,覆蓋了開(kāi)發(fā)、測(cè)試活動(dòng)的各個(gè)環(huán)節(jié),它的重要作用之一就是要全面的管理保存各個(gè)配置項(xiàng),監(jiān)控各配置項(xiàng)的狀態(tài),并向項(xiàng)目經(jīng)理及相關(guān)的人員報(bào)告,從而實(shí)現(xiàn)對(duì)軟件過(guò)程的控制。
軟件測(cè)試配置管理包括4個(gè)最基本的活動(dòng):
配置項(xiàng)標(biāo)識(shí)
配置項(xiàng)控制
配置項(xiàng)狀態(tài)報(bào)告
配置審計(jì)
       軟件配置管理通常借助工具來(lái)輔助,主要有MS SourceSafe、Rational ClearCase等29、你覺(jué)得軟件測(cè)試通過(guò)的標(biāo)準(zhǔn)應(yīng)該是什么樣的?
    缺陷密度值達(dá)到客戶的要求
30、引入測(cè)試管理的含義?
風(fēng)險(xiǎn)分析,進(jìn)度控制、角色分配、質(zhì)量控制
31、一套完整的測(cè)試應(yīng)該由哪些階段組成?
參考答案:測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)與開(kāi)發(fā)、測(cè)試實(shí)施、測(cè)試評(píng)審與測(cè)試結(jié)論32、單元測(cè)試的主要內(nèi)容?
 模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、路徑測(cè)試、錯(cuò)誤處理測(cè)試、邊界測(cè)試33、集成測(cè)試也叫組裝測(cè)試或者聯(lián)合測(cè)試,請(qǐng)簡(jiǎn)述集成測(cè)試的主要內(nèi)容?
(1)在把各個(gè)模塊連接起來(lái)的時(shí)候,穿越模塊接口的數(shù)據(jù)是否會(huì)丟失; (2)一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利的影響;?。?)各個(gè)子功能組合起來(lái),能否達(dá)到預(yù)期要求的父功能;?。?)全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問(wèn)題;
?。?)單個(gè)模塊的誤差累積起來(lái),是否會(huì)放大,從而達(dá)到不能接受的程度。
34、簡(jiǎn)述集成測(cè)試與系統(tǒng)測(cè)試關(guān)系?
?。?)集成測(cè)試的主要依據(jù)概要設(shè)計(jì)說(shuō)明書(shū),系統(tǒng)測(cè)試的主要依據(jù)是需求設(shè)計(jì)說(shuō)明書(shū); (2)集成測(cè)試是系統(tǒng)模塊的測(cè)試,系統(tǒng)測(cè)試是對(duì)整個(gè)系統(tǒng)的測(cè)試,包括相關(guān)的軟硬件平臺(tái)、網(wǎng)絡(luò)以及相關(guān)外設(shè)的測(cè)試。
35、軟件測(cè)試的文檔測(cè)試應(yīng)當(dāng)貫穿于軟件生命周期的全過(guò)程,其中用戶文檔是文檔測(cè)試的重點(diǎn)。那么軟件系統(tǒng)的用戶文檔包括哪些?
  用戶手冊(cè)
  安裝和設(shè)置指導(dǎo)
  聯(lián)機(jī)幫助
  指南、向?qū)?/div>
  樣例、示例和模板
  授權(quán)/注冊(cè)登記表
最終用戶許可協(xié)議
36、軟件系統(tǒng)中除用戶文檔之外,文檔測(cè)試還應(yīng)該關(guān)注哪些文檔?
開(kāi)發(fā)文檔
軟件需求說(shuō)明書(shū)
    數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)
    概要設(shè)計(jì)說(shuō)明書(shū)
    詳細(xì)設(shè)計(jì)說(shuō)明書(shū)
    可行性研究報(bào)告
管理文檔
    項(xiàng)目開(kāi)發(fā)計(jì)劃
    測(cè)試計(jì)劃
    測(cè)試報(bào)告
    開(kāi)發(fā)進(jìn)度月報(bào)
    開(kāi)發(fā)總結(jié)報(bào)告
37、簡(jiǎn)述軟件系統(tǒng)中用戶文檔的測(cè)試要點(diǎn)?
?。?)讀者群。文檔面向的讀者定位要明確。對(duì)于初級(jí)用戶、中級(jí)用戶以及高級(jí)用戶應(yīng)該有不同的定位?。?)術(shù)語(yǔ)。文檔中用到的術(shù)語(yǔ)要適用與定位的讀者群,用法一致,標(biāo)準(zhǔn)定義與業(yè)界規(guī)范相吻合。
 (3)正確性。測(cè)試中需檢查所有信息是否真實(shí)正確,查找由于過(guò)期產(chǎn)品說(shuō)明書(shū)和銷(xiāo)售人員夸大事實(shí)而導(dǎo)致的錯(cuò)誤。檢查所有的目錄、索引和章節(jié)引用是否已更新,嘗試鏈接是否準(zhǔn)確,產(chǎn)品支持電話、地址和郵政編碼是否正確。
?。?)完整性。對(duì)照軟件界面檢查是否有重要的分支沒(méi)有描述到,甚至是否有整個(gè)大模塊沒(méi)有描述到。
 (5)一致性。按照文檔描述的操作執(zhí)行后,檢查軟件返回的結(jié)果是否與文檔描述的相同。
 (6)易用性。對(duì)關(guān)鍵步驟以粗體或背景色給用戶以提示,合理的頁(yè)面布局、適量的圖表都可以給用戶更高的易用性。需要注意的是文檔要有助于用戶排除錯(cuò)誤。不但描述正確操作,也要描述錯(cuò)誤處理辦法。文檔對(duì)于用戶看到的錯(cuò)誤信息應(yīng)當(dāng)有更詳細(xì)的文檔解釋。
?。?)圖表與界面截圖。檢查所有圖表與界面截圖是否與發(fā)行版本相同。
?。?)樣例與示例。像用戶一樣載入和使用樣例。如果是一段程序,就輸入數(shù)據(jù)并執(zhí)行它。以每一個(gè)模塊制作文件,確認(rèn)它們的正確性。
?。?)語(yǔ)言。不出現(xiàn)錯(cuò)別字,不要出現(xiàn)有二義性的說(shuō)法。特別要注意的是屏幕截圖或繪制圖形中的文字。
 (10)印刷與包裝。檢查印刷質(zhì)量;手冊(cè)厚度與開(kāi)本是否合適;包裝盒的大小是否合適;有沒(méi)有零碎易丟失的小部件等等。
38、單元測(cè)試主要內(nèi)容是什么?
單元測(cè)試大多數(shù)由開(kāi)發(fā)人員來(lái)完成,測(cè)試人員技術(shù)背景較好或者開(kāi)發(fā)系統(tǒng)軟件時(shí)可能會(huì)安排測(cè)試人員進(jìn)行單元測(cè)試,大多數(shù)進(jìn)行的單元測(cè)試都是開(kāi)發(fā)人員調(diào)試程序或者開(kāi)發(fā)組系統(tǒng)聯(lián)合調(diào)試的過(guò)程。討論這個(gè)問(wèn)題主要是擴(kuò)充一下讀者的視野。
單元測(cè)試一般包括五個(gè)方面的測(cè)試:
(1)模塊接口測(cè)試:模塊接口測(cè)試是單元測(cè)試的基礎(chǔ)。只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測(cè)試才有意義。模塊接口測(cè)試也是集成測(cè)試的重點(diǎn),這里進(jìn)行的測(cè)試主要是為后面打好基礎(chǔ)。測(cè)試接口正確與否應(yīng)該考慮下列因素:
-輸入的實(shí)際參數(shù)與形式參數(shù)的個(gè)數(shù)是否相同;
-輸入的實(shí)際參數(shù)與形式參數(shù)的屬性是否匹配;
-輸入的實(shí)際參數(shù)與形式參數(shù)的量綱是否一致;
-調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的個(gè)數(shù)是否與被調(diào)模塊的形參個(gè)數(shù)相同;-調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的屬性是否與被調(diào)模塊的形參屬性匹配;-調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的量綱是否與被調(diào)模塊的形參量綱一致;-調(diào)用預(yù)定義函數(shù)時(shí)所用參數(shù)的個(gè)數(shù)、屬性和次序是否正確;-是否存在與當(dāng)前入口點(diǎn)無(wú)關(guān)的參數(shù)引用;
-是否修改了只讀型參數(shù);
-對(duì)全程變量的定義各模塊是否一致;
-是否把某些約束作為參數(shù)傳遞。
如果模塊功能包括外部輸入輸出,還應(yīng)該考慮下列因素:
-文件屬性是否正確;
-OPEN/CLOSE語(yǔ)句是否正確;
-格式說(shuō)明與輸入輸出語(yǔ)句是否匹配;
-緩沖區(qū)大小與記錄長(zhǎng)度是否匹配;
-文件使用前是否已經(jīng)打開(kāi);
-是否處理了文件尾;
-是否處理了輸入/輸出錯(cuò)誤;
-輸出信息中是否有文字性錯(cuò)誤。
-局部數(shù)據(jù)結(jié)構(gòu)測(cè)試;
-邊界條件測(cè)試;
-模塊中所有獨(dú)立執(zhí)行通路測(cè)試;
(2)局部數(shù)據(jù)結(jié)構(gòu)測(cè)試:檢查局部數(shù)據(jù)結(jié)構(gòu)是為了保證臨時(shí)存儲(chǔ)在模塊內(nèi)的數(shù)據(jù)在程序執(zhí)行過(guò)程中完整、正確,局部功能是整個(gè)功能運(yùn)行的基礎(chǔ)。重點(diǎn)是一些函數(shù)是否正確執(zhí)行,內(nèi)部是否運(yùn)行正確。局部數(shù)據(jù)結(jié)構(gòu)往往是錯(cuò)誤的根源,應(yīng)仔細(xì)設(shè)計(jì)測(cè)試用例,力求發(fā)現(xiàn)下面幾類錯(cuò)誤:
-不合適或不相容的類型說(shuō)明;
-變量無(wú)初值;
-變量初始化或省缺值有錯(cuò);
-不正確的變量名(拼錯(cuò)或不正確地截?cái)啵?/div>
-出現(xiàn)上溢、下溢和地址異常。
(3)邊界條件測(cè)試:邊界條件測(cè)試是單元測(cè)試中最重要的一項(xiàng)任務(wù)。眾所周知,軟件經(jīng)常在邊界上失效,采用邊界值分析技術(shù),針對(duì)邊界值及其左、右設(shè)計(jì)測(cè)試用例,很有可能發(fā)現(xiàn)新的錯(cuò)誤。邊界條件測(cè)試是一項(xiàng)基礎(chǔ)測(cè)試,也是后面系統(tǒng)測(cè)試中的功能測(cè)試的重點(diǎn),邊界測(cè)試執(zhí)行的較好,可以大大提高程序健壯性。
(4)模塊中所有獨(dú)立路徑測(cè)試:在模塊中應(yīng)對(duì)每一條獨(dú)立執(zhí)行路徑進(jìn)行測(cè)試,單元測(cè)試的基本任務(wù)是保證模塊中每條語(yǔ)句至少執(zhí)行一次。測(cè)試目的主要是為了發(fā)現(xiàn)因錯(cuò)誤計(jì)算、不正確的比較和不適當(dāng)?shù)目刂屏髟斐傻腻e(cuò)誤。具體做法就是程序員逐條調(diào)試語(yǔ)句。常見(jiàn)的錯(cuò)誤包括:
-誤解或用錯(cuò)了算符優(yōu)先級(jí);
-混合類型運(yùn)算;
-變量初值錯(cuò);
-精度不夠;
-表達(dá)式符號(hào)錯(cuò)。
比較判斷與控制流常常緊密相關(guān),測(cè)試時(shí)注意下列錯(cuò)誤:
-不同數(shù)據(jù)類型的對(duì)象之間進(jìn)行比較;
-錯(cuò)誤地使用邏輯運(yùn)算符或優(yōu)先級(jí);
-因計(jì)算機(jī)表示的局限性,期望理論上相等而實(shí)際上不相等的兩個(gè)量相等;-比較運(yùn)算或變量出錯(cuò);
-循環(huán)終止條件或不可能出現(xiàn);
-迭代發(fā)散時(shí)不能退出;
-錯(cuò)誤地修改了循環(huán)變量。
模塊的各條錯(cuò)誤處理通路測(cè)試:程序在遇到異常情況時(shí)不應(yīng)該退出,好的程序應(yīng)能預(yù)見(jiàn)各種出錯(cuò)條件,并預(yù)設(shè)各種出錯(cuò)處理通路。如果用戶不按照正常操作,程序就退出或者停止工作,實(shí)際上也是一種缺陷,因此單元測(cè)試要測(cè)試各種錯(cuò)誤處理路徑。一般這種測(cè)試著重檢查下列問(wèn)題:
-輸出的出錯(cuò)信息難以理解;
-記錄的錯(cuò)誤與實(shí)際遇到的錯(cuò)誤不相符;
-在程序自定義的出錯(cuò)處理段運(yùn)行之前,系統(tǒng)已介入;-異常處理不當(dāng);
-錯(cuò)誤陳述中未能提供足夠的定位出錯(cuò)信息。
39、如何理解強(qiáng)度測(cè)試?
強(qiáng)度測(cè)試是為了確定系統(tǒng)在最差工作環(huán)境的工作能力,也可能是用于驗(yàn)證在標(biāo)準(zhǔn)工作壓力下的各種資源的最下限指標(biāo)。
它和壓力測(cè)試的目標(biāo)是不同的,壓力測(cè)試是在標(biāo)準(zhǔn)工作環(huán)境下,不斷增加系統(tǒng)負(fù)荷,最終測(cè)試出該系統(tǒng)能力達(dá)到的最大負(fù)荷(穩(wěn)定和峰值),而強(qiáng)度測(cè)試則是在非標(biāo)準(zhǔn)工作環(huán)境下,甚至不斷人為降低系統(tǒng)工作環(huán)境所需要的資源,如網(wǎng)絡(luò)帶寬,系統(tǒng)內(nèi)存,數(shù)據(jù)鎖等等,以測(cè)試系統(tǒng)在資源不足的情況下的工作狀態(tài),通過(guò)強(qiáng)度測(cè)試,可以確定本系統(tǒng)正常工作的最差環(huán)境.
強(qiáng)度測(cè)試和壓力測(cè)試的測(cè)試指標(biāo)相近,大多都是與時(shí)間相關(guān)的指標(biāo),如并發(fā)量(吞吐量),延遲(最大\最小\平均)以及順序指標(biāo)等強(qiáng)度測(cè)試需要對(duì)系統(tǒng)的結(jié)構(gòu)熟悉,針對(duì)系統(tǒng)的特征設(shè)計(jì)強(qiáng)度測(cè)試的方法40、如何理解壓力、負(fù)載、性能測(cè)試測(cè)試?
性能測(cè)試是一個(gè)較大的范圍,實(shí)際上性能測(cè)試本身包含了性能、強(qiáng)度、壓力、負(fù)載等多方面的測(cè)試內(nèi)容。
壓力測(cè)試是對(duì)服務(wù)器的穩(wěn)定性以及負(fù)載能力等方面的測(cè)試,是一種很平常的測(cè)試。增大訪問(wèn)系統(tǒng)的用戶數(shù)量、或者幾個(gè)用戶進(jìn)行大數(shù)據(jù)量操作都是壓力測(cè)試。而負(fù)載測(cè)試是壓力相對(duì)較大的測(cè)試,主要是測(cè)試系統(tǒng)在一種或者集中極限條件下的相應(yīng)能力,是性能測(cè)試的重要部分。100個(gè)用戶對(duì)系統(tǒng)進(jìn)行連續(xù)半個(gè)小時(shí)的訪問(wèn)可以看作壓力測(cè)試,那么連續(xù)訪問(wèn)8個(gè)小時(shí)就可以認(rèn)為負(fù)載測(cè)試,1000個(gè)用戶連續(xù)訪問(wèn)系統(tǒng)1個(gè)小時(shí)也可以看作是負(fù)載測(cè)試。
實(shí)際上壓力測(cè)試和負(fù)載測(cè)試沒(méi)有明顯的區(qū)分。測(cè)試人員應(yīng)該站在關(guān)注整體性能的高度上來(lái)對(duì)系統(tǒng)進(jìn)行測(cè)試。
41、什么是系統(tǒng)瓶頸?
瓶頸主要是指整個(gè)軟硬件構(gòu)成的軟件系統(tǒng)某一方面或者幾個(gè)方面能力不能滿足用戶的特定業(yè)務(wù)要求,“特定”是指瓶頸會(huì)在某些條件下會(huì)出現(xiàn),因?yàn)楫吘勾蠖鄶?shù)系統(tǒng)在投入前。
嚴(yán)格的從技術(shù)角度講,所有的系統(tǒng)都會(huì)有瓶頸,因?yàn)榇蠖鄶?shù)系統(tǒng)的資源配置不是協(xié)調(diào)的,例如CPU使用率剛好達(dá)到100%時(shí),內(nèi)存也正好耗盡的系統(tǒng)不是很多見(jiàn)。因此我們討論系統(tǒng)瓶頸要從應(yīng)用的角度討論:關(guān)鍵是看系統(tǒng)能否滿足用戶需求。在用戶極限使用系統(tǒng)的情況下,系統(tǒng)的響應(yīng)仍然正常,我們可以認(rèn)為改系統(tǒng)沒(méi)有瓶頸或者瓶頸不會(huì)影響用戶工作。
因此我們測(cè)試系統(tǒng)瓶頸主要是實(shí)現(xiàn)下面兩個(gè)目的:
-發(fā)現(xiàn)“表面”的瓶頸。主要是模擬用戶的操作,找出用戶極限使用系統(tǒng)時(shí)的瓶頸,然后解決瓶頸,這是性能測(cè)試的基本目標(biāo)。
-發(fā)現(xiàn)潛在的瓶頸并解決,保證系統(tǒng)的長(zhǎng)期穩(wěn)定性。主要是考慮用戶在將來(lái)擴(kuò)展系統(tǒng)或者業(yè)務(wù)發(fā)生變化時(shí),系統(tǒng)能夠適應(yīng)變化。滿足用戶目前需求的系統(tǒng)不是最好的,我們?cè)O(shè)計(jì)系統(tǒng)的目標(biāo)是在保證系統(tǒng)整個(gè)軟件生命周期能夠不斷適應(yīng)用戶的變化,或者通過(guò)簡(jiǎn)單擴(kuò)展系統(tǒng)就可以適應(yīng)新的變化。
42、文檔測(cè)試主要包含什么內(nèi)容?
在國(guó)內(nèi)軟件開(kāi)發(fā)管理中,文檔管理幾乎是最弱的一項(xiàng),因而在測(cè)試工作中特別容易忽略文檔測(cè)試也就不足為奇了。要想給用戶提供完整的產(chǎn)品,文檔測(cè)試是必不可少的。文檔測(cè)試一般注重下面幾個(gè)方面:
文檔的完整性:主要是測(cè)試文檔內(nèi)容的全面性與完整性,從總體上把握文檔的質(zhì)量。例如用戶手冊(cè)應(yīng)該包括軟件的所有功能模塊。
描述與軟件實(shí)際情況的一致性:主要測(cè)試軟件文檔與軟件實(shí)際的一致程度。例如用戶手冊(cè)基本完整后,我們還要注意用戶手冊(cè)與實(shí)際功能描述是否一致。因?yàn)槲臋n往往跟不上軟件版本的更新速度。
易理解性:主要是檢查文檔對(duì)關(guān)鍵、重要的操作有無(wú)圖文說(shuō)明,文字、圖表是否易于理解。對(duì)于關(guān)鍵、重要的操作僅僅只有文字說(shuō)明肯定是不夠的,應(yīng)該附有圖表使說(shuō)明更為直觀和明了。
文檔中提供操作的實(shí)例:這項(xiàng)檢查內(nèi)容主要針對(duì)用戶手冊(cè)。對(duì)主要功能和關(guān)鍵操作提供的應(yīng)用實(shí)例是否豐富,提供的實(shí)例描述是否詳細(xì)。只有簡(jiǎn)單的圖文說(shuō)明,而無(wú)實(shí)例的用戶手冊(cè)看起來(lái)就像是軟件界面的簡(jiǎn)單拷貝,對(duì)于用戶來(lái)說(shuō),實(shí)際上沒(méi)有什么幫助。
印刷與包裝質(zhì)量:主要是檢查軟件文檔的商品化程度。有些用戶手冊(cè)是簡(jiǎn)單打印、裝訂而成,過(guò)于粗糙,不易于用戶保存。優(yōu)秀的文檔例如用戶手冊(cè)和技術(shù)白皮書(shū),應(yīng)提供商品化包裝,并且印刷精美。
43、功能測(cè)試用例需要詳細(xì)到什么程度才是合格的?
這個(gè)問(wèn)題也是測(cè)試工程師經(jīng)常問(wèn)的問(wèn)題。有人主張測(cè)試用例詳細(xì)到每個(gè)步驟執(zhí)行什么都要寫(xiě)出來(lái),目的是即使一個(gè)不了解系統(tǒng)的新手都可以按照測(cè)試用例來(lái)執(zhí)行工作。主張這類寫(xiě)法的人還可以舉出例子:歐美、日本等軟件外包文檔都是這樣做的。
另外一種觀點(diǎn)就是主張寫(xiě)的粗些,類似于編寫(xiě)測(cè)試大綱。主張這種觀點(diǎn)的人是因?yàn)檐浖_(kāi)發(fā)需求管理不規(guī)范,變動(dòng)十分頻繁,因而不能按照歐美的高標(biāo)準(zhǔn)來(lái)編寫(xiě)測(cè)試用例。這樣的測(cè)試用例容易維護(hù),可以讓測(cè)試執(zhí)行人員有更大的發(fā)揮空間。
實(shí)際上,軟件測(cè)試用例的詳細(xì)程度首先要以覆蓋到測(cè)試點(diǎn)為基本要求。舉個(gè)例子:“用戶登陸系統(tǒng)”的測(cè)試用例可以不寫(xiě)出具體的執(zhí)行數(shù)據(jù),但是至少要寫(xiě)出五種以上情況(),如果只用一句話覆蓋了這個(gè)功能是不合格的測(cè)試用例。覆蓋功能點(diǎn)不是指列出功能點(diǎn),而是要寫(xiě)出功能點(diǎn)的各個(gè)方面(如果組合情況較多時(shí)可以采用等價(jià)劃分)。
另一個(gè)影響測(cè)試用例的就是組織的開(kāi)發(fā)能力和測(cè)試對(duì)象特點(diǎn)。如果開(kāi)發(fā)力量比較落后,編寫(xiě)較詳細(xì)的測(cè)試用例是不現(xiàn)實(shí)的,因?yàn)楦緵](méi)有那么大的資源投入,當(dāng)然這種情況很隨著團(tuán)隊(duì)的發(fā)展而逐漸有所改善。測(cè)試對(duì)象特點(diǎn)重點(diǎn)是指測(cè)試對(duì)象在進(jìn)度、成本等方面的要求,如果進(jìn)度較緊張的情況下,是根本沒(méi)有時(shí)間寫(xiě)出高質(zhì)量的測(cè)試用例的,甚至有些時(shí)候測(cè)試工作只是一種輔助工作,因而不編寫(xiě)測(cè)試用例。
因此,測(cè)試用例的編寫(xiě)要根據(jù)測(cè)試對(duì)象特點(diǎn)、團(tuán)隊(duì)的執(zhí)行能力等各個(gè)方面綜合起來(lái)決定編寫(xiě)策略。最后要注意的是測(cè)試人員一定不能抱怨,力爭(zhēng)在不斷提高測(cè)試用例編寫(xiě)水平的同時(shí),不斷地提高自身能力。
44、配置和兼容性測(cè)試的區(qū)別是什么?
配置測(cè)試的目的是保證軟件在其相關(guān)的硬件上能夠正常運(yùn)行,而兼容性測(cè)試主要是測(cè)試軟件能否與不同的軟件正確協(xié)作。
配置測(cè)試的核心內(nèi)容就是使用各種硬件來(lái)測(cè)試軟件的運(yùn)行情況,一般包括:
(1)軟件在不同的主機(jī)上的運(yùn)行情況,例如Dell和Apple;(2)軟件在不同的組件上的運(yùn)行情況,例如開(kāi)發(fā)的撥號(hào)程序要測(cè)試在不同廠商生產(chǎn)的Modem上的運(yùn)行情況;(3)不同的外設(shè);
(4)不同的接口;
(5)不同的可選項(xiàng),例如不同的內(nèi)存大?。?/div>
兼容性測(cè)試的核心內(nèi)容:
(1)測(cè)試軟件是否能在不同的操作系統(tǒng)平臺(tái)上兼容;(2)測(cè)試軟件是否能在同一操作系統(tǒng)平臺(tái)的不同版本上兼容;(3)軟件本身能否向前或者向后兼容;
(4)測(cè)試軟件能否與其它相關(guān)的軟件兼容;
(5)數(shù)據(jù)兼容性測(cè)試,主要是指數(shù)據(jù)能否共享;
配置和兼容性測(cè)試通稱對(duì)開(kāi)發(fā)系統(tǒng)類軟件比較重要,例如驅(qū)動(dòng)程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)等。具體進(jìn)行時(shí)仍然按照測(cè)試用例來(lái)執(zhí)行。
45、軟件文檔測(cè)試主要包含什么?
隨著軟件文檔系統(tǒng)日益龐大,文檔測(cè)試已經(jīng)成為軟件測(cè)試的重要內(nèi)容。文檔測(cè)試對(duì)象主要如下:
-包裝文字和圖形;
-市場(chǎng)宣傳材料、廣告以及其它插頁(yè);
-授權(quán)、注冊(cè)登記表;
-最終用戶許可協(xié)議;
-安裝和設(shè)置向?qū)В?/div>
-用戶手冊(cè);
-聯(lián)機(jī)幫助;
-樣例、示范例子和模板;
-……
文檔測(cè)試的目的是提高易用性和可靠性,降低支持費(fèi)用,因?yàn)橛脩敉ㄟ^(guò)文檔就可以自己解決問(wèn)題。因文檔測(cè)試的檢查內(nèi)容主要如下:
-讀者對(duì)象——主要是文檔的內(nèi)容是否能讓該級(jí)別的讀者理解;-術(shù)語(yǔ)——主要是檢查術(shù)語(yǔ)是否適合讀者;
-內(nèi)容和主題——檢查主題是否合適、是否丟失、格式是否規(guī)范等;-圖標(biāo)和屏幕抓圖——檢查圖表的準(zhǔn)確度和精確度;-樣例和示例——是否與軟件功能一致;
-拼寫(xiě)和語(yǔ)法;
-文檔的關(guān)聯(lián)性——是否與其它相關(guān)文檔的內(nèi)容一致,例如與廣告信息是否一致;文檔測(cè)試是相當(dāng)重要的一項(xiàng)測(cè)試工作,不但要給予充分的重視,更要要認(rèn)真的完成,象做功能測(cè)試一樣來(lái)對(duì)待文檔測(cè)試。
46、沒(méi)有產(chǎn)品說(shuō)明書(shū)和需求文檔地情況下能夠進(jìn)行黑盒測(cè)試嗎?
這個(gè)問(wèn)題是國(guó)內(nèi)測(cè)試工程師經(jīng)常遇到的問(wèn)題,根源就是國(guó)內(nèi)軟件開(kāi)發(fā)文檔管理不規(guī)范,對(duì)變更的管理方法就更不合理了。實(shí)際上沒(méi)有任何文檔的時(shí)候,測(cè)試人員是能夠進(jìn)行黑盒測(cè)試的,這種測(cè)試方式我們可以稱之為探索測(cè)試,具體做法就是測(cè)試工程師根據(jù)自己的專業(yè)技能、領(lǐng)域知識(shí)等不斷的深入了解測(cè)試對(duì)象、理解軟件功能,進(jìn)而發(fā)現(xiàn)缺陷。
在這種做法基本上把軟件當(dāng)成了產(chǎn)品說(shuō)明書(shū),測(cè)試過(guò)程中要和開(kāi)發(fā)人員不斷的進(jìn)行交流。尤其在作項(xiàng)目的時(shí)候,進(jìn)度壓力比較大,可以作為加急測(cè)試方案。最大的風(fēng)險(xiǎn)是不知道有些特性是否被遺漏。
47、測(cè)試中的“殺蟲(chóng)劑怪事”是指什么?
“殺蟲(chóng)劑怪事”一詞由BorisBeizer在其編著的《軟件測(cè)試技術(shù)》第二版中提出。用于描述測(cè)試人員對(duì)同一測(cè)試對(duì)象進(jìn)行的測(cè)試次數(shù)越多,發(fā)現(xiàn)的缺陷就會(huì)越來(lái)越少的現(xiàn)象。就像老用一種農(nóng)藥,害蟲(chóng)就會(huì)有免疫力,農(nóng)藥發(fā)揮不了效力。這種現(xiàn)象的根本原因就是測(cè)試人員對(duì)測(cè)試軟件過(guò)于熟悉,形成思維定勢(shì)。
為了克服這種現(xiàn)象,測(cè)試人員需要不斷編寫(xiě)新的測(cè)試程序或者測(cè)試用例,對(duì)程序的不同部分進(jìn)行測(cè)試,以發(fā)現(xiàn)更多的缺陷。也可以引用新人來(lái)測(cè)試軟件,剛剛進(jìn)來(lái)的新手往往能發(fā)現(xiàn)一些意想不到的問(wèn)題。
48、在配置測(cè)試中,如何判斷發(fā)現(xiàn)的缺陷是普通問(wèn)題還是特定的配置問(wèn)題?
在進(jìn)行配置測(cè)試時(shí),測(cè)試工程師仍然會(huì)發(fā)現(xiàn)一些普通的缺陷,也就是與配置環(huán)境無(wú)關(guān)的缺陷。因此判斷新發(fā)現(xiàn)的問(wèn)題,需要在不同的配置中重新執(zhí)行發(fā)現(xiàn)軟件缺陷的步驟,如果軟件缺陷不出現(xiàn)了,就可能是配置缺陷;如果在所有的配置中都出現(xiàn),就可能是普通缺陷。
需要注意的是,配置問(wèn)題可以在一大類配置中出現(xiàn)。例如,撥號(hào)程序可能在所有的外置Modem中都存在問(wèn)題,而內(nèi)置的Modem不會(huì)有任何問(wèn)題。
49、為什么盡量不要讓時(shí)間有富裕的員工去做一些測(cè)試?
表面上看這體現(xiàn)了管理的效率和靈活性,但實(shí)際上也體現(xiàn)了管理者對(duì)測(cè)試的輕視。測(cè)試和測(cè)試的人有很大關(guān)系。測(cè)試工作人員應(yīng)該是勤奮并富有耐心,善于學(xué)習(xí)、思考和發(fā)現(xiàn)問(wèn)題,細(xì)心有條理,總結(jié)問(wèn)題,如果具備這樣的優(yōu)點(diǎn),做其它工作同樣也會(huì)很出色,因此這里還有一個(gè)要求,就是要喜歡測(cè)試這項(xiàng)工作。如果他是專職的,那么肯定更有經(jīng)驗(yàn)和信心。國(guó)內(nèi)的小伙子好象都喜歡做程序員,兩者工作性質(zhì)不同,待遇不同,地位不同,對(duì)自我實(shí)現(xiàn)的價(jià)值的認(rèn)識(shí)也不同,這是行業(yè)的一個(gè)需要改善的問(wèn)題。如果只是為了完成任務(wù)而完成任務(wù),或者發(fā)現(xiàn)了幾個(gè)問(wèn)題就覺(jué)得滿意了,這在任何其它工作中都是不行的。
50、完全測(cè)試程序是可能的嗎?
軟件測(cè)試初學(xué)者可能認(rèn)為拿到軟件后需要進(jìn)行完全測(cè)試,找到全部的軟件缺陷,使軟件“零缺陷”發(fā)布。實(shí)際上完全測(cè)試是不可能的。主要有以下一個(gè)原因:
-完全測(cè)試比較耗時(shí),時(shí)間上不允許;
-完全測(cè)試通常意味著較多資源投入,這在現(xiàn)實(shí)中往往是行不通的;-輸入量太大,不能一一進(jìn)行測(cè)試;
-輸出結(jié)果太多,只能分類進(jìn)行驗(yàn)證;
-軟件實(shí)現(xiàn)途徑太多;
-軟件產(chǎn)品說(shuō)明書(shū)沒(méi)有客觀標(biāo)準(zhǔn),從不同的角度看,軟件缺陷的標(biāo)準(zhǔn)不同;因此測(cè)試的程度要根據(jù)實(shí)際情況確定。
51、軟件測(cè)試的風(fēng)險(xiǎn)主要體現(xiàn)在哪里?
我們沒(méi)有對(duì)軟件進(jìn)行完全測(cè)試,實(shí)際就是選擇了風(fēng)險(xiǎn),因?yàn)槿毕輼O有可能存在沒(méi)有進(jìn)行測(cè)試的部分。舉個(gè)例子,程序員為了方便,在調(diào)試程序時(shí)會(huì)彈出一些提示信息框,而這些提示只在某種條件下會(huì)彈出,碰巧程序發(fā)布前這些代碼中的一些沒(méi)有被注釋掉。在測(cè)試時(shí)測(cè)試工程師又沒(méi)有對(duì)其進(jìn)行測(cè)試。如果客戶碰到它,這將是代價(jià)昂貴的缺陷,因?yàn)榻桓逗蟛疟豢蛻舭l(fā)現(xiàn)。
因此,我們要盡可能的選擇最合適的測(cè)試量,把風(fēng)險(xiǎn)降低到最小。
52、發(fā)現(xiàn)的缺陷越多,說(shuō)明軟件缺陷越多嗎?
這是一個(gè)比較常見(jiàn)的現(xiàn)象。測(cè)試工程師在沒(méi)有找到缺陷前會(huì)絞盡腦汁的思考,但是找到一個(gè)后,會(huì)接二連三的發(fā)現(xiàn)很多缺陷,頗有個(gè)人成就感。其中的原因主要如下:
-代碼復(fù)用、拷貝代碼導(dǎo)致程序員容易犯相同的錯(cuò)誤。類的繼承導(dǎo)致所有的子類會(huì)包含基類的錯(cuò)誤,反復(fù)拷貝同一代碼意味可能也復(fù)制了缺陷。
-程序員比較勞累是可以導(dǎo)致某些連續(xù)編寫(xiě)的功能缺陷較多。程序員加班是一種司空見(jiàn)慣的現(xiàn)象,因此體力不只時(shí)容易編寫(xiě)一些缺陷較多的程序。而這些連續(xù)潛伏缺陷恰恰時(shí)測(cè)試工程師大顯身手的地方。
“缺陷一個(gè)連著一個(gè)”不是一個(gè)客觀規(guī)律,只是一個(gè)常見(jiàn)的現(xiàn)象。如果軟件編寫(xiě)的比較好,這種現(xiàn)象就不常見(jiàn)了。測(cè)試人員只要嚴(yán)肅認(rèn)真的測(cè)試程序就可以了。
53、所有的軟件缺陷都能修復(fù)嗎?所有的軟件缺陷都要修復(fù)嗎?
從技術(shù)上講,所有的軟件缺陷都是能夠修復(fù)的,但是沒(méi)有必要修復(fù)所有的軟件缺陷。測(cè)試人員要做的是能夠正確判斷什么時(shí)候不能追求軟件的完美。對(duì)于整個(gè)項(xiàng)目團(tuán)隊(duì),要做的是對(duì)每一個(gè)軟件缺陷進(jìn)行取舍,根據(jù)風(fēng)險(xiǎn)決定那些缺陷要修復(fù)。發(fā)生這種現(xiàn)象的主要原因如下:
-沒(méi)有足夠的時(shí)間資源。在任何一個(gè)項(xiàng)目中,通常情況下開(kāi)發(fā)人員和測(cè)試人員都是不夠用的,而且在項(xiàng)目中沒(méi)有預(yù)算足夠的回歸測(cè)試時(shí)間,再加上修改缺陷可能引入新的缺陷,因此在交付期限的強(qiáng)大壓力下,必須放棄某些缺陷的修改。
-有些缺陷只是特殊情況下出現(xiàn),這種缺陷處于商業(yè)利益考慮,可以在以后升級(jí)中進(jìn)行修復(fù)。
-不是缺陷的缺陷。我們經(jīng)常會(huì)碰到某些功能方面的問(wèn)題被當(dāng)成缺陷來(lái)處理,這類問(wèn)題可以以后有時(shí)間時(shí)考慮再處理。
最后要說(shuō)的是,缺陷是否修改要由軟件測(cè)試人員、項(xiàng)目經(jīng)理、程序員共同討論來(lái)決定是否修復(fù),不同角色的人員從不同的角度來(lái)思考,以做出正確的決定。
54、軟件測(cè)試人員就是QA嗎?
軟件測(cè)試人員的職責(zé)是盡可能早的找出軟件缺陷,確保得以修復(fù)。而質(zhì)量保證人員(QA)主要職責(zé)是創(chuàng)建或者制定標(biāo)準(zhǔn)和方法,提高促進(jìn)軟件開(kāi)發(fā)能力和減少軟件缺陷。測(cè)試人員的主要工作是測(cè)試,質(zhì)量保證人員日常工作重要內(nèi)容是檢查與評(píng)審,測(cè)試工作也是測(cè)試保證人員的工作對(duì)象。
軟件測(cè)試和質(zhì)量是相輔相成的關(guān)系,都是為了提高軟件質(zhì)量而工作。
55、如何減少測(cè)試人員跳槽帶來(lái)的損失?
在IT行業(yè)里跳槽已經(jīng)是一種司空見(jiàn)慣的現(xiàn)象,而且跳槽無(wú)論給公司還是給個(gè)人都會(huì)帶來(lái)一定的損失。測(cè)試隊(duì)伍也無(wú)疑會(huì)面臨跳槽的威脅,作為測(cè)試經(jīng)理管理者,只有從日常工作中開(kāi)始做起,最能最大限度的減少損失。建議我們從以下兩個(gè)方面做起:
-加強(qiáng)部門(mén)內(nèi)員工之間的互相學(xué)習(xí),互相學(xué)習(xí)是建立學(xué)習(xí)型組織的基本要求,是知識(shí)互相轉(zhuǎn)移的過(guò)程。在此基礎(chǔ)上,可以把個(gè)人擁有的技術(shù)以知識(shí)的形式沉積下來(lái),也就完成了隱性知識(shí)到顯性知識(shí)的轉(zhuǎn)化。
-通常情況下,企業(yè)能為員工提供足夠大的發(fā)展空間時(shí),如果不是待遇特別低,員工都不會(huì)主動(dòng)離開(kāi)企業(yè)。因此我們要想留住員工,管理者就應(yīng)該把員工的個(gè)人成長(zhǎng)和企業(yè)的發(fā)展聯(lián)系起來(lái),為員工設(shè)定合理發(fā)展規(guī)劃并付諸實(shí)現(xiàn)。不過(guò)這項(xiàng)要求做起來(lái)比較,要有比較好的企業(yè)文化為依托。
56、測(cè)試產(chǎn)品與測(cè)試項(xiàng)目的區(qū)別是什么?
習(xí)慣上把開(kāi)發(fā)完成后進(jìn)行商業(yè)化、幾乎不進(jìn)行代碼修改就可以售給用戶使用的軟件成為軟件產(chǎn)品,也就是可以買(mǎi)“賣(mài)拷貝”的軟件,例如Windows2000。而通常把針對(duì)一個(gè)或者幾個(gè)特定的用戶而開(kāi)發(fā)的軟件成為軟件項(xiàng)目,軟件項(xiàng)目是一種個(gè)性化的產(chǎn)品,可以是按照用戶要求全部重新開(kāi)發(fā),也可以修改已有的軟件產(chǎn)品來(lái)滿足特定的用戶需求。項(xiàng)目和產(chǎn)品的不同特點(diǎn),決定我們測(cè)試產(chǎn)品和測(cè)試項(xiàng)目仍然會(huì)有很多不同的地方:
-質(zhì)量要求不同。通常產(chǎn)品的質(zhì)量要高一些,修復(fù)發(fā)布后產(chǎn)品的缺陷成本較高,甚至?xí)?lái)很多負(fù)面的影響。而做項(xiàng)目通常面向某一用戶,雖然質(zhì)量越高越好,但是一般只要滿足用戶要求就可以了。
-測(cè)試資源投入多少不同。做軟件產(chǎn)品通常是研發(fā)中心來(lái)開(kāi)發(fā),進(jìn)度壓力要小些。同時(shí)由于質(zhì)量要求高,因此會(huì)投入較多的人力、物力資源。
-項(xiàng)目最后要和用戶共同驗(yàn)收測(cè)試,這是產(chǎn)品測(cè)試不具有的特點(diǎn)。
此外,測(cè)試產(chǎn)品與測(cè)試項(xiàng)目在缺陷管理方面、測(cè)試策略制定都會(huì)有很大不同,測(cè)試管理者應(yīng)該結(jié)合具體的環(huán)境,恰如其分的完成工作。
57、和用戶共同測(cè)試(UAT測(cè)試)的注意點(diǎn)有哪些?
軟件產(chǎn)品在投產(chǎn)前,通常都會(huì)進(jìn)行用戶驗(yàn)收測(cè)試。如果用戶驗(yàn)收測(cè)試沒(méi)有通過(guò),直接結(jié)果就是那不到“Money”,間接影響是損害了公司的形象,而后者的影響往往更嚴(yán)重。根據(jù)作者的經(jīng)驗(yàn),用戶驗(yàn)收測(cè)試一定要讓用戶滿意。
實(shí)際上用戶現(xiàn)場(chǎng)測(cè)試更趨于是一種演示。在不欺騙用戶的前提下,我們向用戶展示我們軟件的優(yōu)點(diǎn),最后讓“上帝”滿意并欣然掏出“銀子”才是我們的目標(biāo)。因此用戶測(cè)試要注意下面的事項(xiàng):
(1)用戶現(xiàn)場(chǎng)測(cè)試不可能測(cè)試全部功能,因此要測(cè)試核心功能。這需要提前做好準(zhǔn)備,這些核心功能一定要預(yù)先經(jīng)過(guò)測(cè)試,證明沒(méi)有問(wèn)題才可以和用戶共同進(jìn)行測(cè)試。測(cè)試核心模塊的目的是建立用戶對(duì)軟件的信心。當(dāng)然如果這些模塊如果問(wèn)題較多,不應(yīng)該進(jìn)行演示。
(2)如果某些模塊確實(shí)有問(wèn)題,我們可以演示其它重要的業(yè)務(wù)功能模塊,必要時(shí)要向用戶做成合理的解釋。爭(zhēng)得時(shí)間后,及時(shí)修改缺陷來(lái)彌補(bǔ)。
(3)永遠(yuǎn)不能欺騙用戶,蒙混過(guò)關(guān)。道理很簡(jiǎn)單,因?yàn)檐浖且o用戶用的,問(wèn)題早晚會(huì)暴露出來(lái),除非你可以馬上修改。
和用戶進(jìn)行測(cè)試還要注意各種交流技巧,爭(zhēng)取不但短期利益得到了滿足,還要為后面得合作打好基礎(chǔ)。
58、如何編寫(xiě)提交給用戶的測(cè)試報(bào)告?
隨著測(cè)試工作越來(lái)越受重視,開(kāi)發(fā)團(tuán)隊(duì)向客戶提供測(cè)試文檔是不可避免的事情。很多人會(huì)問(wèn):“我們可以把工作中的測(cè)試報(bào)告提供給客戶嗎?”答案是否定的。因?yàn)樘峁﹥?nèi)部測(cè)試報(bào)告,可能會(huì)讓客戶失去信心,甚至否定項(xiàng)目。
測(cè)試報(bào)告一般分為內(nèi)部測(cè)試報(bào)告和外部測(cè)試報(bào)告。內(nèi)部報(bào)告是我們?cè)跍y(cè)試工作中的項(xiàng)目文檔,反映了測(cè)試工作的實(shí)施情況,這里不過(guò)多討論,讀者可以參考相關(guān)教材。這里主要討論一下外部測(cè)試報(bào)告的寫(xiě)法,一般外部測(cè)試報(bào)告要滿足下面幾個(gè)要求:
-根據(jù)內(nèi)部測(cè)試報(bào)告進(jìn)行編寫(xiě),一般可以摘錄;
-不可以向客戶報(bào)告嚴(yán)重缺陷,即使是已經(jīng)修改的缺陷,開(kāi)發(fā)中的缺陷也沒(méi)有必要讓客戶知道;-報(bào)告上可以列出一些缺陷,但必須是中級(jí)的缺陷,而且這些缺陷必須是修復(fù)的;-報(bào)告上面的內(nèi)容盡量要真實(shí)可靠;
-整個(gè)測(cè)試報(bào)告要仔細(xì)審閱,力爭(zhēng)不給項(xiàng)目帶來(lái)負(fù)面作用,尤其是性能測(cè)試報(bào)告。
總之,外部測(cè)試報(bào)告要小心謹(jǐn)慎的編寫(xiě)。
59、測(cè)試工具在測(cè)試工作中是什么地位?
國(guó)內(nèi)的很多測(cè)試工程師對(duì)測(cè)試工具相當(dāng)迷戀,尤其是一些新手,甚至期望測(cè)試工具可以取代手工測(cè)試。測(cè)試工具在測(cè)試工作中起的是輔助作用,一般用來(lái)提高測(cè)試效率。自動(dòng)化測(cè)試彌補(bǔ)了手工測(cè)試的不足,減輕一定的工作量。實(shí)際上測(cè)試工具是無(wú)法替代大多數(shù)手工測(cè)試的,而一些諸如性能測(cè)試等自動(dòng)化測(cè)試也是手工所不能完成的。
對(duì)于自動(dòng)測(cè)試技術(shù),應(yīng)當(dāng)依據(jù)軟件的不同情況來(lái)分別對(duì)待,一般自動(dòng)技術(shù)會(huì)應(yīng)用在引起大量重復(fù)性工作的地方、系統(tǒng)的壓力點(diǎn)、以及任何適合使用程序解決大批量輸入數(shù)據(jù)的地方。然后再尋找合適的自動(dòng)測(cè)試工具,或者自己開(kāi)發(fā)測(cè)試程序。一定不要為了使用測(cè)試工具而使用。
60、什么是軟件測(cè)試,軟件測(cè)試的目的?
參考答案:
61、簡(jiǎn)述負(fù)載測(cè)試與壓力測(cè)試的區(qū)別。
    壓力測(cè)試(Stress Testing)
壓力測(cè)試的主要任務(wù)就是獲取系統(tǒng)正確運(yùn)行的極限,檢查系統(tǒng)在瞬間峰值負(fù)荷下正確執(zhí)行的能力。例如,對(duì)服務(wù)器做壓力測(cè)試時(shí)就可以增加并發(fā)操作的用戶數(shù)量;或者不停地向服務(wù)器發(fā)送請(qǐng)求;或一次性向服務(wù)器發(fā)送特別大的數(shù)據(jù)等。看看服務(wù)器保持正常運(yùn)行所能達(dá)到的最大狀態(tài)。人們通常使用測(cè)試工具來(lái)完成壓力測(cè)試,如模擬上萬(wàn)個(gè)用戶從終端同時(shí)登錄,這是壓力測(cè)試中常常使用的方法。
負(fù)載測(cè)試(Volume Testing)
用于檢查系統(tǒng)在使用大量數(shù)據(jù)的時(shí)候正確工作的能力,即檢驗(yàn)系統(tǒng)的能力最高能達(dá)到什么程度。例如,對(duì)于信息檢索系統(tǒng),讓它使用頻率達(dá)到最大;對(duì)于多個(gè)終端的分時(shí)系統(tǒng),讓它所有的終端都開(kāi)動(dòng)。在使整個(gè)系統(tǒng)的全部資源達(dá)到“滿負(fù)荷”的情形下,測(cè)試系統(tǒng)的承受能力。
62、寫(xiě)出bug報(bào)告流轉(zhuǎn)的步驟,每步的責(zé)任人及主要完成的工作。
(要結(jié)合自己實(shí)際的工作經(jīng)驗(yàn)進(jìn)行回答,不同公司略有區(qū)別)測(cè)試人員提交新的Bug入庫(kù),錯(cuò)誤狀態(tài)為New。
高級(jí)測(cè)試員/測(cè)試經(jīng)理驗(yàn)證錯(cuò)誤,如果確認(rèn)是錯(cuò)誤,分配給開(kāi)發(fā)組。設(shè)置狀態(tài)為Open。如果不是錯(cuò)誤,則拒絕,設(shè)置為Declined狀態(tài)。
開(kāi)發(fā)經(jīng)理分配bug至對(duì)應(yīng)的模塊開(kāi)發(fā)人員。
開(kāi)發(fā)人員查詢狀態(tài)為Open的Bug,如果不是錯(cuò)誤,則置狀態(tài)為Declined;如果是Bug則修復(fù)并置狀態(tài)為Fixed。不能解決的Bug,要留下文字說(shuō)明及保持Bug為Open狀態(tài)。
對(duì)于不能解決和延期解決的Bug,不能由開(kāi)發(fā)人員自己決定,一般要通過(guò)某種會(huì)議(評(píng)審會(huì))通過(guò)才能認(rèn)可。
測(cè)試人員查詢狀態(tài)為Fixed的Bug,然后驗(yàn)證Bug是否已解決,如解決,置Bug的狀態(tài)為Closed,如沒(méi)有解決,置bug狀態(tài)為Reopen。
63、寫(xiě)出bug報(bào)告當(dāng)中一些必備的內(nèi)容。
       硬件平臺(tái)和操作系統(tǒng)
       測(cè)試應(yīng)用的硬件平臺(tái)(Platform),通常選擇“PC”。
       測(cè)試應(yīng)用的操作系統(tǒng)平臺(tái)(OS)。
a)        版本
       提交缺陷報(bào)告時(shí)通過(guò)該字段標(biāo)識(shí)此缺陷存在于被測(cè)試軟件的哪個(gè)版本。
b)        Bug報(bào)告優(yōu)先級(jí)
c)         Bug狀態(tài)
d)        Bug的編號(hào)
e)        發(fā)現(xiàn)人
f)         提交人
g)        指定處理人
h)        概述
i)          從屬關(guān)系
j)          詳細(xì)描述
k)       嚴(yán)重程度
l)          所屬模塊
m)      附件
n)        提交日期
64、開(kāi)發(fā)人員老是犯一些低級(jí)錯(cuò)誤怎么解決?
這種現(xiàn)象在開(kāi)發(fā)流程不規(guī)范的團(tuán)隊(duì)里特別常見(jiàn),尤其是一些“作坊式”的團(tuán)隊(duì)里。解決這種問(wèn)題一般從兩個(gè)方面入手:
一方面從開(kāi)發(fā)管理入手,也就是從根源來(lái)解決問(wèn)題??梢灾贫ㄒ?guī)范的開(kāi)發(fā)流程,甚至可以制定懲罰制度,還有就是軟件開(kāi)發(fā)前做好規(guī)劃設(shè)計(jì)。
另一方面就是加強(qiáng)測(cè)試,具體做法就是加強(qiáng)開(kāi)發(fā)人員的自己測(cè)試,把這些問(wèn)題“消滅”在開(kāi)發(fā)階段,這是比較好的做法,讀者可以參考第13章試案例分析的“13.1.2缺陷反復(fù)出現(xiàn),誰(shuí)的責(zé)任”小節(jié),13.1.2專門(mén)討論了這類問(wèn)題的方法。
此外,還可以通過(guò)規(guī)范的缺陷管理來(lái)對(duì)開(kāi)發(fā)人員進(jìn)行控制,比如測(cè)試部門(mén)整理出常見(jiàn)的缺陷,讓開(kāi)發(fā)人員自己對(duì)照進(jìn)行檢查,以減少這類低級(jí)錯(cuò)誤的發(fā)生。
開(kāi)發(fā)人員犯錯(cuò)誤是正常的現(xiàn)象,作為測(cè)試人員一定不能抱怨,要認(rèn)認(rèn)真真的解決問(wèn)題才是上策。
65、畫(huà)出軟件測(cè)試的V模型圖。
66、為什么要在一個(gè)團(tuán)隊(duì)中開(kāi)展軟件測(cè)試工作?
因?yàn)闆](méi)有經(jīng)過(guò)測(cè)試的軟件很難在發(fā)布之前知道該軟件的質(zhì)量,就好比ISO質(zhì)量認(rèn)證一樣,測(cè)試同樣也需要質(zhì)量的保證,這個(gè)時(shí)候就需要在團(tuán)隊(duì)中開(kāi)展軟件測(cè)試的工作。在測(cè)試的過(guò)程發(fā)現(xiàn)軟件中存在的問(wèn)題,及時(shí)讓開(kāi)發(fā)人員得知并修改問(wèn)題,在即將發(fā)布時(shí),從測(cè)試報(bào)告中得出軟件的質(zhì)量情況。
67、您在以往的測(cè)試工作中都曾經(jīng)具體從事過(guò)哪些工作?其中最擅長(zhǎng)哪部分工作?
(根據(jù)項(xiàng)目經(jīng)驗(yàn)不同,靈活回答即可)
我曾經(jīng)做過(guò)web測(cè)試,后臺(tái)測(cè)試,客戶端軟件,其中包括功能測(cè)試,性能測(cè)試,用戶體驗(yàn)測(cè)試。最擅長(zhǎng)的是功能測(cè)試68、您所熟悉的軟件測(cè)試類型都有哪些?請(qǐng)?jiān)囍謩e比較這些不同的測(cè)試類型的區(qū)別與聯(lián)系(如功能測(cè)試、性能測(cè)試……)測(cè)試類型有:功能測(cè)試,性能測(cè)試,界面測(cè)試。
  功能測(cè)試在測(cè)試工作中占的比例最大,功能測(cè)試也叫黑盒測(cè)試。是把測(cè)試對(duì)象看作一個(gè)黑盒子。利用黑盒測(cè)試法進(jìn)行動(dòng)態(tài)測(cè)試時(shí),需要測(cè)試軟件產(chǎn)品的功能,不需測(cè)試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過(guò)程。采用黑盒技術(shù)設(shè)計(jì)測(cè)試用例的方法有:等價(jià)類劃分、邊界值分析、錯(cuò)誤推測(cè)、因果圖和綜合策略。 性能測(cè)試是通過(guò)自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試。負(fù)載測(cè)試和壓力測(cè)試都屬于性能測(cè)試,兩者可以結(jié)合進(jìn)行。通過(guò)負(fù)載測(cè)試,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測(cè)試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況。壓力測(cè)試是通過(guò)確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試。
  界面測(cè)試,界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對(duì)軟件的第一印象。而且設(shè)計(jì)良好的界面能夠引導(dǎo)用戶自己完成相應(yīng)的操作,起到向?qū)У淖饔?。同時(shí)界面如同人的面孔,具有吸引用戶的直接優(yōu)勢(shì)。設(shè)計(jì)合理的界面能給用戶帶來(lái)輕松愉悅的感受和成功的感覺(jué),相反由于界面設(shè)計(jì)的失敗,讓用戶有挫敗感,再實(shí)用強(qiáng)大的功能都可能在用戶的畏懼與放棄中付諸東流。
  區(qū)別在于,功能測(cè)試關(guān)注產(chǎn)品的所有功能上,要考慮到每個(gè)細(xì)節(jié)功能,每個(gè)可能存在的功能問(wèn)題。性能測(cè)試主要關(guān)注于產(chǎn)品整體的多用戶并發(fā)下的穩(wěn)定性和健壯性。界面測(cè)試更關(guān)注于用戶體驗(yàn)上,用戶使用該產(chǎn)品的時(shí)候是否易用,是否易懂,是否規(guī)范(快捷鍵之類的),是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺(tái)避免用戶無(wú)意輸入無(wú)效的數(shù)據(jù),當(dāng)然考慮到體驗(yàn)性,不能太粗魯?shù)膹棾鼍妫??做某個(gè)性能測(cè)試的時(shí)候,首先它可能是個(gè)功能點(diǎn),首先要保證它的功能是沒(méi)問(wèn)題的,然后再考慮該功能點(diǎn)的性能測(cè)試69、您認(rèn)為做好測(cè)試用例設(shè)計(jì)工作的關(guān)鍵是什么?
       白盒測(cè)試用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測(cè)試,以最少的用例在合理的時(shí)間內(nèi)發(fā)現(xiàn)最多的問(wèn)題70、請(qǐng)?jiān)囍容^一下黑盒測(cè)試、白盒測(cè)試、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試的區(qū)別與聯(lián)系。
       黑盒測(cè)試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測(cè)試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。
  白盒測(cè)試:已知產(chǎn)品的內(nèi)部工作過(guò)程,可以通過(guò)測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過(guò)檢查。
  軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行。這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:
  1、是否有不正確或遺漏的功能?
  2、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?
  3、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤?
  4、性能上是否能夠滿足要求?
  5、是否有初始化或終止性錯(cuò)誤?
  軟件的白盒測(cè)試是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測(cè)試對(duì)象看做一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:
  1、對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。
  2、對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)一遍。
  3、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。
  4、測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。
  單元測(cè)試(模塊測(cè)試)是開(kāi)發(fā)者編寫(xiě)的一小段代碼,用于檢驗(yàn)被測(cè)代碼的一個(gè)很小的、很明確的功能是否正確。通常而言,一個(gè)單元測(cè)試是用于判斷某個(gè)特定條件(或者場(chǎng)景)下某個(gè)特定函數(shù)的行為。
  單元測(cè)試是由程序員自己來(lái)完成,最終受益的也是程序員自己。可以這么說(shuō),程序員有責(zé)任編寫(xiě)功能代碼,同時(shí)也就有責(zé)任為自己的代碼編寫(xiě)單元測(cè)試。執(zhí)行單元測(cè)試,就是為了證明這段代碼的行為和我們期望的一致。
  集成測(cè)試(也叫組裝測(cè)試,聯(lián)合測(cè)試)是單元測(cè)試的邏輯擴(kuò)展。它的最簡(jiǎn)單的形式是:兩個(gè)已經(jīng)測(cè)試過(guò)的單元組合成一個(gè)組件,并且測(cè)試它們之間的接口。從這一層意義上講,組件是指多個(gè)單元的集成聚合。在現(xiàn)實(shí)方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測(cè)試片段的組合,并最終擴(kuò)展進(jìn)程,將您的模塊與其他組的模塊一起測(cè)試。最后,將構(gòu)成進(jìn)程的所有模塊一起測(cè)試。
  系統(tǒng)測(cè)試是將經(jīng)過(guò)測(cè)試的子系統(tǒng)裝配成一個(gè)完整系統(tǒng)來(lái)測(cè)試。它是檢驗(yàn)系統(tǒng)是否確實(shí)能提供系統(tǒng)方案說(shuō)明書(shū)中指定功能的有效方法。(常見(jiàn)的聯(lián)調(diào)測(cè)試)系統(tǒng)測(cè)試的目的是對(duì)最終軟件系統(tǒng)進(jìn)行全面的測(cè)試,確保最終軟件系統(tǒng)滿足產(chǎn)品需求并且遵循系統(tǒng)設(shè)計(jì)。
  驗(yàn)收測(cè)試是部署軟件之前的最后一個(gè)測(cè)試操作。驗(yàn)收測(cè)試的目的是確保軟件準(zhǔn)備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。
驗(yàn)收測(cè)試是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是驗(yàn)收測(cè)試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。
71、測(cè)試計(jì)劃工作的目的是什么?測(cè)試計(jì)劃工作的內(nèi)容都包括什么?其中哪些是最重要的?
       軟件測(cè)試計(jì)劃是指導(dǎo)測(cè)試過(guò)程的綱領(lǐng)性文件,包含了產(chǎn)品概述、測(cè)試策略、測(cè)試方法、測(cè)試區(qū)域、測(cè)試配置、測(cè)試周期、測(cè)試資源、測(cè)試交流、風(fēng)險(xiǎn)分析等內(nèi)容。借助軟件測(cè)試計(jì)劃,參與測(cè)試的項(xiàng)目成員,尤其是測(cè)試管理人員,可以明確測(cè)試任務(wù)和測(cè)試方法,保持測(cè)試實(shí)施過(guò)程的順暢溝通,跟蹤和控制測(cè)試進(jìn)度,應(yīng)對(duì)測(cè)試過(guò)程中的各種變更。
測(cè)試計(jì)劃和測(cè)試詳細(xì)規(guī)格、測(cè)試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測(cè)試計(jì)劃主要從宏觀上規(guī)劃測(cè)試活動(dòng)的范圍、方法和資源配置,而測(cè)試詳細(xì)規(guī)格、測(cè)試用例是完成測(cè)試任務(wù)的具體戰(zhàn)術(shù)。所以其中最重要的是測(cè)試測(cè)試策略和測(cè)試方法(最好是能先評(píng)審)72、您所熟悉的測(cè)試用例設(shè)計(jì)方法都有哪些?請(qǐng)分別以具體的例子來(lái)說(shuō)明這些方法在測(cè)試用例設(shè)計(jì)工作中的應(yīng)用。
       1.等價(jià)類劃分
  劃分等價(jià)類: 等價(jià)類是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的.并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無(wú)效等價(jià)類.
  2.邊界值分析法
  邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充。測(cè)試工作經(jīng)驗(yàn)告訴我,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤.
  使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測(cè)試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù).
    3.錯(cuò)誤推測(cè)法
  基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤, 從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法.
  錯(cuò)誤推測(cè)方法的基本思想: 列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇測(cè)試用例. 例如, 在單元測(cè)試時(shí)曾列出的許多在模塊中常見(jiàn)的錯(cuò)誤. 以前產(chǎn)品測(cè)試中曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤等, 這些就是經(jīng)驗(yàn)的總結(jié). 還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況. 輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯(cuò)誤的情況. 可選擇這些情況下的例子作為測(cè)試用例.
    4.因果圖方法
  前面介紹的等價(jià)類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
73、請(qǐng)以您以往的實(shí)際工作為例,詳細(xì)的描述一次測(cè)試用例設(shè)計(jì)的完整的過(guò)程。
       就說(shuō)最近的這次網(wǎng)站功能的測(cè)試吧
  首先:得到相關(guān)文檔(需求文檔和設(shè)計(jì)文檔),理解需求和設(shè)計(jì)設(shè)計(jì)思想后,想好測(cè)試策略(測(cè)試計(jì)劃簡(jiǎn)單點(diǎn)就OK了),考慮到測(cè)試環(huán)境,測(cè)試用例,測(cè)試時(shí)間等問(wèn)題。
  第二步:設(shè)計(jì)測(cè)試用例,測(cè)試策略是:把網(wǎng)站部分的功能點(diǎn)測(cè)試完,然后在進(jìn)行系統(tǒng)測(cè)試(另外個(gè)模塊呢有另一個(gè)測(cè)試人員負(fù)責(zé),可以進(jìn)行聯(lián)調(diào)測(cè)試),網(wǎng)站模塊的測(cè)試基本是功能測(cè)試和界面測(cè)試(用戶并發(fā)的可能性很小,所以不考慮):這次的網(wǎng)站的輸入數(shù)據(jù)呢是使用數(shù)據(jù)庫(kù)中的某張表記錄,如果表中某一數(shù)據(jù)記錄中新加進(jìn)來(lái)的(還沒(méi)有被處理的,有個(gè)標(biāo)志位),網(wǎng)站啟動(dòng)后會(huì)立刻去刷那張表,得到多條數(shù)據(jù),然后在進(jìn)行處理。處理過(guò)程中,會(huì)經(jīng)歷3個(gè)步驟,網(wǎng)站才算完成了它的任務(wù)。有3個(gè)步驟呢,就可以分別對(duì)  這3個(gè)步驟進(jìn)行測(cè)試用例的設(shè)計(jì),盡量覆蓋到各種輸入情況(包括數(shù)據(jù)庫(kù)中的數(shù)據(jù),用戶的輸入等),得出了差不多50個(gè)用例。界面測(cè)試,也就是用戶看的到的地方,包括發(fā)送的郵件和用戶填寫(xiě)資料的頁(yè)面展示。
  第三步:搭建測(cè)試環(huán)境(為什么這個(gè)時(shí)候考慮測(cè)試環(huán)境呢?因?yàn)槲覍?duì)網(wǎng)站環(huán)境已經(jīng)很熟了,只有有機(jī)器能空于下來(lái)做該功能測(cè)試就可以做了),因?yàn)榫W(wǎng)站本身的環(huán)境搭建和其他的系統(tǒng)有點(diǎn)不同,它需要的測(cè)試環(huán)境比較麻煩,需要web服務(wù)器(Apache,tomcat),不過(guò)這次需求呢,網(wǎng)站部分只用到了tomcat,所以只要有tomcat即可第四步:執(zhí)行測(cè)試
74、您以往是否曾經(jīng)從事過(guò)性能測(cè)試工作?如果有,請(qǐng)盡可能的詳細(xì)描述您以往的性能測(cè)試工作的完整過(guò)程。
(以自己最熟悉的性能測(cè)試項(xiàng)目為例)
       是的,曾經(jīng)做過(guò)網(wǎng)站方面的性能測(cè)試,雖然做的時(shí)間并不久(2個(gè)月吧),當(dāng)時(shí)呢,是有位網(wǎng)站性能測(cè)試經(jīng)驗(yàn)非常豐富的前輩帶著我一起做。
性能測(cè)試類型包括負(fù)載測(cè)試,強(qiáng)度測(cè)試,容量測(cè)試等負(fù)載測(cè)試:負(fù)載測(cè)試是一種性能測(cè)試指數(shù)據(jù)在超負(fù)荷環(huán)境中運(yùn)行,程序是否能夠承擔(dān)。
  強(qiáng)度測(cè)試:強(qiáng)度測(cè)試是一種性能測(cè)試,他在系統(tǒng)資源特別低的情況下軟件系統(tǒng)運(yùn)行情況容量測(cè)試:確定系統(tǒng)可處理同時(shí)在線的最大用戶數(shù)   在網(wǎng)站流量逐漸加大的情況下,開(kāi)始考慮做性能測(cè)試了,首先要寫(xiě)好性能測(cè)試計(jì)劃,根據(jù)運(yùn)營(yíng)數(shù)據(jù)得出流量最大的頁(yè)面(如果是第一次的話,一般是首頁(yè),下載頁(yè),個(gè)人帳戶頁(yè)流量最大,而且以某種百分比),Web服務(wù)器指標(biāo)指標(biāo):
  * Avg Rps: 平均每秒鐘響應(yīng)次數(shù)=總請(qǐng)求時(shí)間 / 秒數(shù); * Successful Rounds:成功的請(qǐng)求; 
  * Failed Rounds :失敗的請(qǐng)求; 
  * Successful Hits :成功的點(diǎn)擊次數(shù); 
  * Failed Hits :失敗的點(diǎn)擊次數(shù); 
  * Hits Per Second :每秒點(diǎn)擊次數(shù); 
  * Successful Hits Per Second :每秒成功的點(diǎn)擊次數(shù); * Failed Hits Per Second :每秒失敗的點(diǎn)擊次數(shù); * Attempted Connections :嘗試鏈接數(shù); 
75、你對(duì)測(cè)試最大的興趣在哪里?為什么?
       最大的興趣就是測(cè)試有難度,有挑戰(zhàn)性!做測(cè)試越久越能感覺(jué)到做好測(cè)試有多難。曾經(jīng)在無(wú)憂測(cè)試網(wǎng)上看到一篇文章,是關(guān)于如何做好一名測(cè)試工程師。一共羅列了11,12點(diǎn),有部分是和人的性格有關(guān),有部分需要后天的努力。但除了性格有關(guān)的1,2點(diǎn)我沒(méi)有把握,其他點(diǎn)我都很有信心做好它。
  剛開(kāi)始進(jìn)入測(cè)試行業(yè)時(shí),對(duì)測(cè)試的認(rèn)識(shí)是從無(wú)憂測(cè)試網(wǎng)上了解到的一些資料,當(dāng)時(shí)是沖著做測(cè)試需要很多技能才能做的好,雖然入門(mén)容易,但做好很難,比開(kāi)發(fā)更難,雖然當(dāng)時(shí)我很想做開(kāi)發(fā)(學(xué)校專業(yè)課我基本上不缺席,因?yàn)槲蚁矚g我的專業(yè)),但看到測(cè)試比開(kāi)發(fā)更難更有挑戰(zhàn)性,想做好測(cè)試的意志就更堅(jiān)定了。
  不到一年半的測(cè)試工作中,當(dāng)時(shí)的感動(dòng)和熱
嚴(yán)格的從技術(shù)角度講,所有的系統(tǒng)都會(huì)有瓶頸,因?yàn)榇蠖鄶?shù)系統(tǒng)的資源配置不是協(xié)調(diào)的,例如CPU使用率剛好達(dá)到100%時(shí),內(nèi)存也正好耗盡的系統(tǒng)不是很多見(jiàn)。因此我們討論系統(tǒng)瓶頸要從應(yīng)用的角度討論:關(guān)鍵是看系統(tǒng)能否滿足用戶需求。在用戶極限使用系統(tǒng)的情況下,系統(tǒng)的響應(yīng)仍然正常,我們可以認(rèn)為改系統(tǒng)沒(méi)有瓶頸或者瓶頸不會(huì)影響用戶工作。
因此我們測(cè)試系統(tǒng)瓶頸主要是實(shí)現(xiàn)下面兩個(gè)目的:
-發(fā)現(xiàn)“表面”的瓶頸。主要是模擬用戶的操作,找出用戶極限使用系統(tǒng)時(shí)的瓶頸,然后解決瓶頸,這是性能測(cè)試的基本目標(biāo)。
-發(fā)現(xiàn)潛在的瓶頸并解決,保證系統(tǒng)的長(zhǎng)期穩(wěn)定性。主要是考慮用戶在將來(lái)擴(kuò)展系統(tǒng)或者業(yè)務(wù)發(fā)生變化時(shí),系統(tǒng)能夠適應(yīng)變化。滿足用戶目前需求的系統(tǒng)不是最好的,我們?cè)O(shè)計(jì)系統(tǒng)的目標(biāo)是在保證系統(tǒng)整個(gè)軟件生命周期能夠不斷適應(yīng)用戶的變化,或者通過(guò)簡(jiǎn)單擴(kuò)展系統(tǒng)就可以適應(yīng)新的變化。
76、你以前工作時(shí)的測(cè)試流程是什么?
參考答案:(靈活回答)
公司對(duì)測(cè)試流程沒(méi)有規(guī)定如何做,但每個(gè)測(cè)試人員都有自己的一套測(cè)試流程。我說(shuō)下我1年來(lái)不斷改正(自己總結(jié),吸取同行的方法)后的流程吧。需求評(píng)審(有開(kāi)發(fā)人員,產(chǎn)品經(jīng)理,測(cè)試人員,項(xiàng)目經(jīng)理)->需求確定(出一份確定的需求文檔)->開(kāi)發(fā)設(shè)計(jì)文檔(開(kāi)發(fā)人員在開(kāi)始寫(xiě)代碼前就能輸出設(shè)計(jì)文檔)->想好測(cè)試策略,寫(xiě)出測(cè)試用例->發(fā)給開(kāi)發(fā)人員和測(cè)試經(jīng)理看看(非正式的評(píng)審用例)->接到測(cè)試版本->執(zhí)行測(cè)試用例(中間可能會(huì)補(bǔ)充用例)->提交bug(有些bug需要開(kāi)發(fā)人員的確定(嚴(yán)重級(jí)別的,或突然發(fā)現(xiàn)的在測(cè)試用例范圍之外的,難以重現(xiàn)的),有些可以直接錄制進(jìn)TD)->開(kāi)發(fā)人員修改(可以在測(cè)試過(guò)程中快速的修改)->回歸測(cè)試(可能又會(huì)發(fā)現(xiàn)新問(wèn)題,再按流程開(kāi)始跑)。
77、當(dāng)開(kāi)發(fā)人員說(shuō)不是BUG時(shí),你如何應(yīng)付?
參考答案:
  開(kāi)發(fā)人員說(shuō)不是bug,有2種情況,一是需求沒(méi)有確定,所以我可以這么做,這個(gè)時(shí)候可以找來(lái)產(chǎn)品經(jīng)理進(jìn)行確認(rèn),需不需要改動(dòng),3方商量確定好后再看要不要改。二是這種情況不可能發(fā)生,所以不需要修改,這個(gè)時(shí)候,我可以先盡可能的說(shuō)出是BUG的依據(jù)是什么?如果被用戶發(fā)現(xiàn)或出了問(wèn)題,會(huì)有什么不良結(jié)果?程序員可能會(huì)給你很多理由,你可以對(duì)他的解釋進(jìn)行反駁。如果還是不行,那我可以給這個(gè)問(wèn)題提出來(lái),跟開(kāi)發(fā)經(jīng)理和測(cè)試經(jīng)理進(jìn)行確認(rèn),如果要修改就改,如果不要修改就不改。其實(shí)有些真的不是bug,我也只是建議的方式寫(xiě)進(jìn)TD中,如果開(kāi)發(fā)人員不修改也沒(méi)有大問(wèn)題。如果確定是bug的話,一定要堅(jiān)持自己的立場(chǎng),讓問(wèn)題得到最后的確認(rèn)。
78、軟件的構(gòu)造號(hào)與版本號(hào)之間的區(qū)別?BVT(BuildVerificationTest)參考答案:版本控制命名格式: 主版本號(hào).子版本號(hào)[.修正版本號(hào)[.編譯版本號(hào) ]]
Major.Minor [.Revision[.Build]]
      應(yīng)根據(jù)下面的約定使用這些部分:
Major :具有相同名稱但不同主版本號(hào)的程序集不可互換。例如,這適用于對(duì)產(chǎn)品的大量重寫(xiě),這些重寫(xiě)使得無(wú)法實(shí)現(xiàn)向后兼容性。
Minor :如果兩個(gè)程序集的名稱和主版本號(hào)相同,而次版本號(hào)不同,這指示顯著增強(qiáng),但照顧到了向后兼容性。例如,這適用于產(chǎn)品的修正版或完全向后兼容的新版本。
Build :內(nèi)部版本號(hào)的不同表示對(duì)相同源所作的重新編譯。這適合于更改處理器、平臺(tái)或編譯器的情況。
Revision :名稱、主版本號(hào)和次版本號(hào)都相同但修訂號(hào)不同的程序集應(yīng)是完全可互換的。這適用于修復(fù)以前發(fā)布的程序集中的安全漏洞。
BVT(BuildVerificationTest):
作為Build的一部分,主要是通過(guò)對(duì)基本功能、特別是關(guān)鍵功能的測(cè)試,保證新增代碼沒(méi)有導(dǎo)致功能失效,保證版本的持續(xù)穩(wěn)定。實(shí)現(xiàn)BVT方式是有以下幾種:1、測(cè)試人員手工驗(yàn)證關(guān)鍵功能實(shí)現(xiàn)的正確性。特點(diǎn):這是傳統(tǒng)開(kāi)發(fā)方法中,通常采用的方式。無(wú)需維護(hù)測(cè)試腳本的成本,在測(cè)試人力資源充足,測(cè)試人員熟悉業(yè)務(wù)、并對(duì)系統(tǒng)操作熟練情況下效率很高,比較靈活快速。缺點(diǎn):人力成本較高;對(duì)測(cè)試人員能力有一定要求;測(cè)試人員面對(duì)重復(fù)的工作,容易產(chǎn)生疲倦懈怠,從而影響測(cè)試質(zhì)量。2、借助基于GUI的自動(dòng)化功能測(cè)試工具來(lái)完成,將各基本功能操作錄制成測(cè)試腳本,每次回放測(cè)試腳本驗(yàn)證功能實(shí)現(xiàn)的正確性。特點(diǎn):能夠模擬用戶操作完成自動(dòng)的測(cè)試,從UI入口到業(yè)務(wù)實(shí)現(xiàn),每一層的代碼實(shí)現(xiàn)都經(jīng)過(guò)驗(yàn)證;節(jié)約人力成本;降低測(cè)試人員重復(fù)勞動(dòng)的工作量,機(jī)器不會(huì)疲倦;缺點(diǎn):對(duì)于UI變動(dòng)比較頻繁的系統(tǒng)來(lái)說(shuō),這種方式的維護(hù)成本很高,實(shí)施起來(lái)非常困難。另外,在項(xiàng)目周期較短且后續(xù)無(wú)延續(xù)性或繼承的情況下,也不推薦使用此方式。3、由開(kāi)發(fā)人員通過(guò)自動(dòng)化測(cè)試工具完成業(yè)務(wù)層的BVT測(cè)試。特點(diǎn):通過(guò)對(duì)業(yè)務(wù)層關(guān)鍵功能的持續(xù)集成測(cè)試,保證系統(tǒng)功能的持續(xù)穩(wěn)定。可以結(jié)合DailyBuild,做為Build的一部分,自動(dòng)實(shí)現(xiàn)并輸入BVT報(bào)告。缺點(diǎn):僅對(duì)業(yè)務(wù)規(guī)則實(shí)現(xiàn)的正確性進(jìn)行了測(cè)試,對(duì)表現(xiàn)層無(wú)法測(cè)試到,對(duì)于諸如:前臺(tái)頁(yè)面控件各種事件響應(yīng)、頁(yè)面元素變化等方面的問(wèn)題無(wú)法保證。    一個(gè)測(cè)試工程師應(yīng)具備那些素質(zhì)和技能?
    一個(gè)好的測(cè)試工程師,不僅要基礎(chǔ)扎實(shí),對(duì)自身的性格、責(zé)任心都有非常高的要求。具體如下:
(1)掌握基本的測(cè)試基礎(chǔ)理論
(2)本著找出軟件存在的問(wèn)題的態(tài)度進(jìn)行測(cè)試,即客觀吧,不要以挑刺形象出現(xiàn)(3)可熟練閱讀需求規(guī)格說(shuō)明書(shū)等文檔(4)以用戶的觀點(diǎn)看待問(wèn)題(5)有著強(qiáng)烈的質(zhì)量意識(shí)
(6)細(xì)心和責(zé)任心
(7)良好的有效的溝通方式(與開(kāi)發(fā)人員及客戶)
(8)具有以往的測(cè)試經(jīng)驗(yàn)
(9)能夠及時(shí)準(zhǔn)確地判斷出高危險(xiǎn)區(qū)在何處.
    集成測(cè)試通常都有那些策略?
    大致說(shuō)四點(diǎn)即可,當(dāng)然說(shuō)全更好。集成測(cè)試有十種策略:
(1)大爆炸集成
(2)自頂向下集成
(3)自底向上集成
(4)三明治集成
(5)分層集成
(6)基干集成
(7)基于功能的集成
(8)基于消息的集成
(9)基于風(fēng)險(xiǎn)的集成
(10)基于進(jìn)度的集成.
    1、什么是兼容性測(cè)試?兼容性測(cè)試側(cè)重哪些方面?
    兼容測(cè)試主要是檢查軟件在不同的硬件平臺(tái)、軟件平臺(tái)上是否可以正常的運(yùn)行,即是通常說(shuō)的軟件的可移植性。
    兼容的類型,如果細(xì)分的話,有平臺(tái)的兼容,網(wǎng)絡(luò)兼容,數(shù)據(jù)庫(kù)兼容,以及數(shù)據(jù)格式的兼容。
    兼容測(cè)試的重點(diǎn)是,對(duì)兼容環(huán)境的分析。通常,是在運(yùn)行軟件的環(huán)境不是很確定的情況下,才需要做兼容。根據(jù)軟件運(yùn)行的需要,或者根據(jù)需求文檔,一般都能夠得出用戶會(huì)在什么環(huán)境下使用該軟件,把這些環(huán)境整理成表單,就得出做兼容測(cè)試的兼容環(huán)境了。
    兼容和配置測(cè)試的區(qū)別在于,做配置測(cè)試通常不是Clean OS下做測(cè)試,而兼容測(cè)試多是在Clean OS的環(huán)境下做的。
2、我現(xiàn)在有個(gè)程序,發(fā)現(xiàn)在Windows上運(yùn)行得很慢,怎么判別是程序存在問(wèn)題還是軟硬件系統(tǒng)存在問(wèn)題?
1、檢查系統(tǒng)是否有中毒的特征;
2、檢查軟件/硬件的配置是否符合軟件的推薦標(biāo)準(zhǔn);3、確認(rèn)當(dāng)前的系統(tǒng)是否是獨(dú)立,即沒(méi)有對(duì)外提供什么消耗CPU資源的服務(wù);4、如果是C/S或者B/S結(jié)構(gòu)的軟件,需要檢查是不是因?yàn)榕c服務(wù)器的連接有問(wèn)題,或者訪問(wèn)有問(wèn)題造成的;5、在系統(tǒng)沒(méi)有任何負(fù)載的情況下,查看性能監(jiān)視器,確認(rèn)應(yīng)用程序?qū)PU/內(nèi)存的訪問(wèn)情況。

0 分享到:
和我們?cè)诰€交談!