日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

開發(fā)者面試百問-測(cè)試部分答案...

 daomucun 2009-07-17

開發(fā)者面試百問-測(cè)試部分答案 收藏

 

   里先回答 軟件開發(fā)者面試百問 中測(cè)試部分,以后有時(shí)間再回答軟件工程、軟件項(xiàng)目管理等各個(gè)部分。這些問題的答案一般沒有正確與否,各個(gè)人回答不同,只不過希望這里的答案相對(duì)不錯(cuò),對(duì)你有所幫助。


1. 什么是回歸測(cè)試?怎樣知道新引入的變化沒有給現(xiàn)有的功能造成破壞?

【參考答案】由于軟件修改或變更,對(duì)修改后的工作版本所有可能影響的范圍進(jìn)行的測(cè)試,就是回歸測(cè)試?;貧w測(cè)試的目的是發(fā)現(xiàn)原來正常的功能特性出現(xiàn)新的問題——回歸缺陷,從而確保原來正常的或符合要求的特性,不受其它區(qū)域修改的影響?;貧w測(cè)試,伴隨著測(cè)試過程,單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試中,一旦有變更或修正,都要進(jìn)行相應(yīng)的回歸測(cè)試。

通過代碼查看或代碼評(píng)審,可以基本知道新引入的變化是否會(huì)給現(xiàn)有的功能造成影響,但不能確定,所以需要進(jìn)行回歸測(cè)試。

 

 

 

2. 如果業(yè)務(wù)層和數(shù)據(jù)層之間有依賴關(guān)系,你該怎么寫單元測(cè)試?

【參考答案】

JAVA中,如果業(yè)務(wù)層與數(shù)據(jù)層之間有依賴關(guān)系,也就是說業(yè)務(wù)處理不單純,這時(shí)我們一般用Mock對(duì)象來模擬所需要的數(shù)據(jù),來進(jìn)行單元測(cè)試。簡單地說mock就是模型,模擬測(cè)試時(shí)需要的對(duì)象及測(cè)試數(shù)據(jù)。這類測(cè)試工具有MockObjects、Xdoclet、EasyMock、MockCreator、MockEJB、ObjcUnit、jMock

比如,用過Struts的都知道,Struts中的action類要運(yùn)行必須依靠服務(wù)器的支持,只有服務(wù)器可以提供HttpServletRequest,HttpServletResponse對(duì)象,如果不啟動(dòng)服務(wù)器,那么就沒有辦法對(duì)action類進(jìn)行單元測(cè)試,而借助mock,可以完成strutsAction的測(cè)試。

對(duì)業(yè)務(wù)層測(cè)試可以用Mock來模擬,而對(duì)數(shù)據(jù)層如何測(cè)試?有兩種方法:

使用Mock對(duì)象來測(cè)試DAO。它屏蔽了具體的關(guān)系數(shù)據(jù)庫,它的優(yōu)點(diǎn)是測(cè)試代碼的編寫方便,可以快速運(yùn)行。缺點(diǎn):風(fēng)險(xiǎn)太大,對(duì)數(shù)據(jù)層測(cè)試的力度太小,屏蔽了很多與數(shù)據(jù)庫相關(guān)的問題,比如:對(duì)象和數(shù)據(jù)庫表之間映射,查詢語句的語法是否正確。
直接在關(guān)系數(shù)據(jù)庫中測(cè)試。優(yōu)點(diǎn):能對(duì)數(shù)據(jù)層進(jìn)行完整的測(cè)試。缺點(diǎn):單元測(cè)試運(yùn)行速度太慢,要頻繁的對(duì)數(shù)據(jù)庫進(jìn)行操作

還可以參考下列文章:

 

3. 你用哪些工具測(cè)試代碼質(zhì)量?

【參考答案】這就取決于使用工具的經(jīng)驗(yàn),而這方面的經(jīng)驗(yàn),開發(fā)人員更多。主要的工具有適合Java代碼的Checkstyle、Findbugs、Jalopy、PMD、Parasoft Jtest、Coverity Prevent for Java;適合C++語言,Parasoft C++Test、Coverity Prevent for C/C++

 

 

4. 在產(chǎn)品部署之后,你最常碰到的是什么類型的問題?

【參考答案】產(chǎn)品部署之后,容易碰到的問題是安裝配置上不對(duì),測(cè)試環(huán)境和實(shí)際運(yùn)行環(huán)境總是存在差異。其次,出現(xiàn)的問題,可能是系統(tǒng)穩(wěn)定性問題、性能問題,可能由于臟數(shù)據(jù)、傳輸中的異常數(shù)據(jù)和大數(shù)據(jù)量等引起。

 

 

5. 什么是代碼覆蓋率?有多少種代碼覆蓋率?

【參考答案】當(dāng)我們想了解測(cè)試是否充分、是否有些地方?jīng)]被測(cè)試過,就需要對(duì)所有測(cè)試過的地方有所了解,也就是了解測(cè)試的覆蓋程度。測(cè)試越充分,測(cè)試的覆蓋程度越高,產(chǎn)品的質(zhì)量就越能得到保證。這種程度的量化就是測(cè)試覆蓋率,即測(cè)試覆蓋率是用來衡量測(cè)試完成程度、或評(píng)估測(cè)試活動(dòng)覆蓋產(chǎn)品代碼的一種量化的結(jié)果,評(píng)估測(cè)試工作的質(zhì)量,也是產(chǎn)品代碼質(zhì)量的間接度量方法。如果用公式描述的話,可以看作測(cè)試過程中已驗(yàn)證的區(qū)域或集合要求被測(cè)試的總的區(qū)域或集合的比值。

基于代碼的測(cè)試覆蓋評(píng)測(cè)是對(duì)被測(cè)試的程序代碼語句、代碼塊、類、函數(shù)(方法)、路徑或條件的覆蓋率分析。如果應(yīng)用基于代碼的覆蓋率分析,一般需要借助工具(如IBM Rational PureCoverage、Bullseye Coverage、開源Clover、EMMA、CoberturaNoUnit等)來執(zhí)行。

 

6. 功能測(cè)試和探索性測(cè)試的區(qū)別是什么?你怎么對(duì)網(wǎng)站進(jìn)行測(cè)試?

【參考答案】這個(gè)題目本身有問題,把功能測(cè)試探索性測(cè)試比較不合理。功能測(cè)試中包含了按已完成的測(cè)試用例或已計(jì)劃的測(cè)試大綱等進(jìn)行測(cè)試探索性測(cè)試,而探索性測(cè)試一般也是為了發(fā)現(xiàn)功能中的問題,雖然探索性測(cè)試還會(huì)涉及安全性測(cè)試、性能測(cè)試等。

功能測(cè)試方法中包括等價(jià)類劃分、邊界值分析、因果圖、決策表、正交試驗(yàn)法等,也包括錯(cuò)誤猜測(cè)法,錯(cuò)誤猜測(cè)法也可歸為探索性測(cè)試。

探索性測(cè)試,也可以稱隨機(jī)測(cè)試(ad-hoc test),充分發(fā)揮測(cè)試人員最大的靈動(dòng)性、創(chuàng)造性,進(jìn)行各種猜測(cè)和試探,去發(fā)現(xiàn)一些相對(duì)隱藏比較深或偏僻的軟件缺陷。隨機(jī)(ad-hoc)測(cè)試,也可作為一種重要的測(cè)試輔助手段,以幫助測(cè)試人員盡早地熟悉產(chǎn)品,發(fā)現(xiàn)測(cè)試用例的不足,添加或改進(jìn)測(cè)試用例。我的書《全程軟件測(cè)試》對(duì)它們做了充分討論。

對(duì)網(wǎng)站進(jìn)行測(cè)試時(shí),不僅要做好功能測(cè)試,包括功能的逐項(xiàng)驗(yàn)證、針對(duì)功能的負(fù)面測(cè)試、探索性測(cè)試等,還要進(jìn)行安全性測(cè)試、性能測(cè)試、UI適用性測(cè)試等。

 

 


7. 測(cè)試套件、測(cè)試用例、測(cè)試計(jì)劃,這三者之間的區(qū)別是什么?你怎么組織測(cè)試?

【參考答案】測(cè) 試用例(test case)是為了更有效地發(fā)現(xiàn)缺陷而設(shè)計(jì)的、可以獨(dú)立地執(zhí)行的最小測(cè)試單元。測(cè)試套件(test suite)是為了完成某個(gè)測(cè)試目標(biāo)或任務(wù)而組織的若干個(gè)測(cè)試用例的集合。測(cè)試計(jì)劃(test plan)是對(duì)測(cè)試活動(dòng)的事先策劃,包括確定測(cè)試范圍、估算測(cè)試工作量、識(shí)別測(cè)試風(fēng)險(xiǎn)、安排資源和進(jìn)度等。測(cè)試計(jì)劃指導(dǎo)測(cè)試用例的設(shè)計(jì)和測(cè)試套件的創(chuàng)建, 測(cè)試套件是由測(cè)試用例構(gòu)成。測(cè)試計(jì)劃的實(shí)施需要借助測(cè)試用例、測(cè)試套件來實(shí)現(xiàn)。

組織測(cè)試,簡單地說就是 計(jì)劃測(cè)試 -> 設(shè)計(jì)測(cè)試用例  ->  v創(chuàng)建測(cè)試套件  ->  執(zhí)行測(cè)試套件 (轉(zhuǎn)化為執(zhí)行測(cè)試用例) -> 測(cè)試結(jié)果分析和評(píng)估 ->  調(diào)整測(cè)試計(jì)劃  ->   …… 詳細(xì)參見《全程軟件測(cè)試》

 

 


8. 要對(duì)電子商務(wù)網(wǎng)站做冒煙測(cè)試,你會(huì)做哪些類型的測(cè)試?

【參考答案】冒煙測(cè)試(smoke test )這個(gè)名稱的來歷,大概是從電路板測(cè)試得來的。因?yàn)楫?dāng)電路板做好以后,首先會(huì)加電測(cè)試,如果板子沒有冒煙在進(jìn)行其它測(cè)試,否則就退回去。軟件中的冒煙測(cè)試就是在每日構(gòu)建(daily build)軟件包后,對(duì)系統(tǒng)的基本功能進(jìn)行快速的測(cè)試,以驗(yàn)證基本功能是否能正常運(yùn)行。如果有問題,就打回開發(fā)部門;如果正常運(yùn)行,說明軟件包構(gòu)建成功,接下來就可以進(jìn)行常規(guī)測(cè)試或大規(guī)模測(cè)試。

對(duì)電子商務(wù)網(wǎng)站做冒煙測(cè)試,包括基本功能測(cè)試和性能測(cè)試?;竟δ軠y(cè)試可以完成一個(gè)交易的完整過程,即從系統(tǒng)登錄 -> 商品查詢  ->  選擇商品 ->  提交訂單 ->確認(rèn)  ->   付款   -> 結(jié)算等。 

 

 


9. 客戶在驗(yàn)收測(cè)試中會(huì)發(fā)現(xiàn)不滿意的東西,怎樣減少這種情況的發(fā)生?

【參考答案】 客 戶可能發(fā)現(xiàn)功能或界面設(shè)計(jì)和他預(yù)想的不一致、或者會(huì)發(fā)現(xiàn)有些功能的操作不是很方便、或者發(fā)現(xiàn)一些錯(cuò)別字等各種缺陷。針對(duì)不同的問題,有相應(yīng)的一些辦法,概 括起來就是和客戶進(jìn)行充分溝通,真正理解客戶的需求,和客戶的理解達(dá)成一致。其次,在開發(fā)期間,還可以邀請(qǐng)客戶參與軟件設(shè)計(jì)規(guī)格說明書、測(cè)試計(jì)劃、測(cè)試用 例等的評(píng)審,當(dāng)軟件能基本正常工作時(shí)再次邀請(qǐng)客戶從頭到尾再看一遍(product walk-through)。最后,就是開發(fā)人員和測(cè)試人員做好自己的本職工作,構(gòu)建高質(zhì)量的軟件,進(jìn)行充分的測(cè)試。

 

 


10. 你去年在測(cè)試和質(zhì)量保證方面學(xué)到了哪些東西?

【參考答案】 通過自己遇到具體的問題,來說明。例如,某個(gè)特定的缺陷分析,使你認(rèn)識(shí)到某個(gè)方面的問題,然后找到真正原因,并加以克服?;蛘?,通過某個(gè)質(zhì)量事故,增強(qiáng)了質(zhì)量第一的意識(shí),或者由于某些沖突導(dǎo)致項(xiàng)目質(zhì)量問題,認(rèn)識(shí)到溝通、流程規(guī)范等的重要性。

當(dāng)然,還有一些具體的知識(shí)或能力,如工具(Jmeter, Selenium, QTP, LoadRunner)的使用, CMM/CMMI, ISO9000等等。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多