成年人在线观看视频免费,国产第2页,人人狠狠综合久久亚洲婷婷,精品伊人久久

對幾道流行的軟件測試面試題的聯(lián)想

  測試人員考試試卷(考試時間90分鐘,滿分100分)

  一、判斷題(每題1分,12 分,正確的√,錯誤的╳)

  1.軟件測試的目的是盡可能多的找出軟件的缺陷。()

  軟件測試的目的就是為了發(fā)現(xiàn)軟件中的缺陷,從這個意義上面說上面的這個論斷是正確的。不少人會認為軟件測試可以保證軟件的質(zhì)量,其實這個觀點是錯誤,測試 只是軟件質(zhì)量控制中的一個角色,其活動并不能達成軟件質(zhì)量保證的效果。所以不要認為一個公司里面如果有了軟件測試人員,產(chǎn)品的質(zhì)量就會好起來。

  Comments:

  我覺得這個關(guān)于測試的目的答案要追溯到軟件測試的定義,可是現(xiàn)在軟件測試并沒有“確切的”統(tǒng)一的定義主要是有以下幾個:

  第一種:測試就是發(fā)現(xiàn)缺陷,提高產(chǎn)品質(zhì)量

  這個定義大概(我不太確定)可以追溯到G.J.Myers的經(jīng)典著作《軟件測試之藝術(shù)》(The Art of Software Testing)中,給出了測試的定義:“程序測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程”

  從這個定義上來說,軟件測試的目的就是找出更多的軟件的缺陷,這道題是對的。

  第二種:代表性的有以下三個:

  “測試是以評價一個程序或者系統(tǒng)屬性為目標的任何一種活動。測試是對軟件質(zhì)量的度量。”

  ―――――――――――― 1979年,Glenford Myers《軟件測試藝術(shù)》(The Art of Software Testing)

  “使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢測它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別”

  ――――――――――――――IEEE-1983

  “測試是為了度量和提高被測軟件的質(zhì)量,對測試件進行工程設(shè)計、實施和維護的整個生命周期過程。”

  ――――――――― 2002年,Rick和Stefan《系統(tǒng)的軟件測試》(Systematic Software Testing)

  我們可以看到當軟件測試碰上軟件質(zhì)量或CMMI等一批人之后,這個定義就被拔高和廣泛了,拔高的軟件測試的定義一般會牽扯到“過程”,“軟件質(zhì)量”等術(shù)語?傊痪湓挘@就不是單單是軟件的問題了,而是涉及到需求,設(shè)計等一系列的過程。

  這樣的話,我們可以判這道題為錯誤的,因為這種說法不完整,是狹義的,列出的理由可能是軟件測試的目的“不僅僅”(注意這個詞)是要發(fā)現(xiàn)軟件的缺陷,因為持這種觀點的人把軟件測試的定義上升到了軟件質(zhì)量控制的高度啦。

  矛盾在哪里呢?為什么做這道題時會如履薄冰呢?矛盾在于:

  1. 并不是所有的機構(gòu)都持統(tǒng)一的定義標準。

  2. 廣義的軟件測試定義只是“完善”了狹義的測試定義的內(nèi)容,并不能說明按狹義的定義就是錯的,關(guān)鍵還在你不知道面試方承認不承認這一點。(通常做完題是沒有機會和面試官討論這一點的)

  3. 這份網(wǎng)上流程的題并沒有給出權(quán)威的正確的答案,而很多企業(yè)又拿過來考來考去。

  其實我們在看到很多面試的試卷出這道題的時候,權(quán)威的CMM本身確沒有充分定義軟件測試,(這段為引用,沒看過CMM的資料,見如下闡述:)

  “但是令人遺憾的是,CMM 沒有充分的定義軟件測試,沒有提及測試成熟度的概念,沒有對測試過程改進進行充分說明,在 KPA 中沒有定義測試問題,與質(zhì)量相關(guān)的測試問題如可測性,充分測試標準,測試計劃等方面也沒有滿意的闡述。”

  如果真是這樣的話,倒是打了出題的人一巴掌。不過TMM倒是給了段測試目的的定義;

  TMM 測試成熟度分解為 5 級別,關(guān)注于 5 個成熟度級別遞增:

  Phase 0 :測試和調(diào)試沒有區(qū)別,初了支持調(diào)試外,測試沒有其他目的

  Phase 1 :測試的目的是為了表明軟件能夠工作

  Phase 2 :測試的目的是為了表明軟件不能夠能夠正常工作

  Phase 3 :測試的目的不是要證明什么,而是為了把軟件不能正常工作的預(yù)知風險降低到能夠接受的程度

  Phase 4 : 測試不是行為,而是一種自覺的約束 (mental discipline) ,不用太多的測試投入產(chǎn)生低風險的軟件上的 。

  但可以肯定的是這個定義也只能用來理解理解,完全不能用來做是非題。

  完了,以上其實都是教條主義,說說我的看法,樸素一點的說,其實我覺得軟件測試的目的要服務(wù)項目的目標,有篇流傳很廣的文章是這么說的:

  “軟件測試的目的決定了如何去組織測試。如果測試的目的是為了盡可能多地找出錯誤,那么測試就應(yīng)該直接針對軟件比較復(fù)雜的部分或是以前出錯比較多的位置。如 果測試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評價,那么測試就應(yīng)該直接針對在實際應(yīng)用中會經(jīng)常用到的商業(yè)假設(shè)。” Over,我覺得這個說法好。

  從這幾道流行的軟件測試面試題想到的(二)

  軟件測試可以劃分為幾種類型?(或軟件測試分哪幾種?)+測試方法分為哪幾種?

  Comments:

  這道題常見的程度不亞于第一道題,上當?shù)脑捯婚_始就上來給一陣狂列,然后你自己就暈了,不過傳說中的22種測試類型都能背得住的差不多也是半個神人了。

  1. 關(guān)于軟件測試可以劃分為幾種類型的問題?個人認為我覺得這個一味的羅列并不是最好的答案。我更覺得其實這道題只要說出你的劃分依據(jù)不用列那么多種也是份不錯的答案(當然如果是面試的話。咱們可以以“啊哈,這個問題嘛,關(guān)鍵要看你以什么來劃分了”來開頭),以下是參考:

  按測試要素分:

  ――UI測試,單元測試,系統(tǒng)測試,功能測試,兼容性測試,本地化測試,壓力負載測試,web測試

  按測試階段分:

  A.詳細測試(Comprehensive Testing,F(xiàn)C階段,可能包含單元測試和集成測試)

  B.回歸測試(Regression Testing)

  C.驗收測試 (Qualification Testing,RC&RTM階段)

  按測試方法(手段)分:

  A.腳本測試(Scripted testing,ST)

  B. 隨機測試(Ad_hoc testing)

  C.探索性測試(Exploratory testing,ET)

  從是否執(zhí)行程序的角度

  A.靜態(tài)測試

  B.動態(tài)測試。

  (個人覺得這種劃分沒多大必要)

  從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實現(xiàn)的角度劃分

  A.白盒測試

  B.黑盒測試

  C.灰盒測試

  足以,再多說也是浪費口舌。

  2. 區(qū)分一下測試類型和測試方法的異同,

  OK,回來再問一遍,測試方法分為哪幾種?

  哈哈,其實是本人有感于時不時聽到諸如黑盒測試方法,性能測試方法這類詞眼時,耳朵經(jīng)常失靈,別扭,這句話就象是有人在發(fā)問“軟件測試的手段有哪些”,低下有人喊了“黑盒測試方法,性能測試方法”,可我還是覺得你說的是測試的類型而不是測試的方法(手段)。面試時注意人家問你的是什么?

  可能有點吹毛求疵的感覺,但實際上如果能用“黑盒測試的方法有哪些”或“性能測試的手段有哪些”等詞我覺得會好一些,這樣起碼讓人家知道黑盒測試,性能測試是一種類型,實現(xiàn)它有好幾種方法,即OO中的class.method的意味。

  總之,測試類型和測試方法要分開。

  從這幾道流行的軟件測試面試題想到的(三)

  3.下列關(guān)于alpha 測試的描述中正確的是:()

  A.alpha 測試需要用戶代表參加

  B.alpha 測試不需要用戶代表參加

  C.alpha 測試是系統(tǒng)測試的一種

  D.alpha 測試是驗收測試的一種

  Comments:

  首先我們來看一下Alpha測試和Beta測試的定義:

  Alpha測試與Beta測試的定義 (引用網(wǎng)上的文章)

  Alpha版 (內(nèi)部測試版) :一般只在軟件開發(fā)公司內(nèi)部運行,不對外公開。主要是開發(fā)者自己對產(chǎn)品進行測試,檢查產(chǎn)品是否存在缺陷、錯誤,驗證產(chǎn)品功能與說明書、用戶手冊是否一致。

  【Alpha測試------軟件工程導論(第四版) 清華大學出版社

  Alpha測試由用戶在開發(fā)者的場所進行,并且在開發(fā)者對用戶的“指導”下進行測試。開發(fā)者負責記錄發(fā)現(xiàn)在錯誤和使用中遇到的問題?傊珹lpha測試是在受控的環(huán)境中進行的。 】

  Beta版(外部測試版):軟件開發(fā)公司為對外宣傳,將非正式產(chǎn)品免費發(fā)送給具有典型性的用戶,讓用戶測試該軟件的不足之處及存在問題,以便在正式發(fā)行前進一步改進和完善。一般可通過Internet免費下載,也可以向軟件公司索取。

  據(jù)百度所講,廣義上對測試有三個傳統(tǒng)的稱呼,alpha、beta、gamma,用來標識測試的階段和范圍。alpha 是指內(nèi)測,即現(xiàn)在說的 CB,指開發(fā)團隊內(nèi)部測試的版本或者有限用戶體驗測試版本。beta 是指公測,即針對所有用戶公開的測試版本。然后做過一些修改,成為正式發(fā)布的候選版本時(現(xiàn)在叫做 RC - Release Candidate),叫做 gamma。

  1.OK,很簡單,這道題是要澄清一下Alpha測試和Beta測試時,用戶在不在場的問題。

  答案是都在場,只不過Alpha時在開發(fā)者的場所,Beta時在用戶自己的場所。

  2.把這道題擴展一下,我們來討論一下Alpha測試和Beta測試時,測試人員要不要在場的問題。

  答案是:測試人員都不在場

  3.實際的情況是只有大的IT公司才遵從這些測試規(guī)范,更加現(xiàn)實的情況是不管Alpha或Beta測試什么人在場都有。如果你能為規(guī)范的大公司工作,那你接觸到的流傳都會是很嚴格的。

相關(guān)導讀:

面試日企常遇到的問題

壓力面試的應(yīng)對策略

本文已影響6827
上一篇:軟件測試工程師求職總結(jié) 下一篇:新浪UC部門軟件測試面試題

相關(guān)文章推薦

|||||