測(cè)試人員考試試卷(考試時(shí)間90分鐘,滿分100分)
一、判斷題(每題1分,12 分,正確的√,錯(cuò)誤的╳)
1.軟件測(cè)試的目的是盡可能多的找出軟件的缺陷。()
軟件測(cè)試的目的就是為了發(fā)現(xiàn)軟件中的缺陷,從這個(gè)意義上面說(shuō)上面的這個(gè)論斷是正確的。不少人會(huì)認(rèn)為軟件測(cè)試可以保證軟件的質(zhì)量,其實(shí)這個(gè)觀點(diǎn)是錯(cuò)誤,測(cè)試 只是軟件質(zhì)量控制中的一個(gè)角色,其活動(dòng)并不能達(dá)成軟件質(zhì)量保證的效果。所以不要認(rèn)為一個(gè)公司里面如果有了軟件測(cè)試人員,產(chǎn)品的質(zhì)量就會(huì)好起來(lái)。
Comments:
我覺得這個(gè)關(guān)于測(cè)試的目的答案要追溯到軟件測(cè)試的定義,可是現(xiàn)在軟件測(cè)試并沒有“確切的”統(tǒng)一的定義主要是有以下幾個(gè):
第一種:測(cè)試就是發(fā)現(xiàn)缺陷,提高產(chǎn)品質(zhì)量
這個(gè)定義大概(我不太確定)可以追溯到G.J.Myers的經(jīng)典著作《軟件測(cè)試之藝術(shù)》(The Art of Software Testing)中,給出了測(cè)試的定義:“程序測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程”
從這個(gè)定義上來(lái)說(shuō),軟件測(cè)試的目的就是找出更多的軟件的缺陷,這道題是對(duì)的。
第二種:代表性的有以下三個(gè):
“測(cè)試是以評(píng)價(jià)一個(gè)程序或者系統(tǒng)屬性為目標(biāo)的任何一種活動(dòng)。測(cè)試是對(duì)軟件質(zhì)量的度量。”
―――――――――――― 1979年,Glenford Myers《軟件測(cè)試藝術(shù)》(The Art of Software Testing)
“使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢測(cè)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別”
――――――――――――――IEEE-1983
“測(cè)試是為了度量和提高被測(cè)軟件的質(zhì)量,對(duì)測(cè)試件進(jìn)行工程設(shè)計(jì)、實(shí)施和維護(hù)的整個(gè)生命周期過(guò)程。”
――――――――― 2002年,Rick和Stefan《系統(tǒng)的軟件測(cè)試》(Systematic Software Testing)
我們可以看到當(dāng)軟件測(cè)試碰上軟件質(zhì)量或CMMI等一批人之后,這個(gè)定義就被拔高和廣泛了,拔高的軟件測(cè)試的定義一般會(huì)牽扯到“過(guò)程”,“軟件質(zhì)量”等術(shù)語(yǔ)?傊痪湓,這就不是單單是軟件的問(wèn)題了,而是涉及到需求,設(shè)計(jì)等一系列的過(guò)程。
這樣的話,我們可以判這道題為錯(cuò)誤的,因?yàn)檫@種說(shuō)法不完整,是狹義的,列出的理由可能是軟件測(cè)試的目的“不僅僅”(注意這個(gè)詞)是要發(fā)現(xiàn)軟件的缺陷,因?yàn)槌诌@種觀點(diǎn)的人把軟件測(cè)試的定義上升到了軟件質(zhì)量控制的高度啦。
矛盾在哪里呢?為什么做這道題時(shí)會(huì)如履薄冰呢?矛盾在于:
1. 并不是所有的機(jī)構(gòu)都持統(tǒng)一的定義標(biāo)準(zhǔn)。
2. 廣義的軟件測(cè)試定義只是“完善”了狹義的測(cè)試定義的內(nèi)容,并不能說(shuō)明按狹義的定義就是錯(cuò)的,關(guān)鍵還在你不知道面試方承認(rèn)不承認(rèn)這一點(diǎn)。(通常做完題是沒有機(jī)會(huì)和面試官討論這一點(diǎn)的)
3. 這份網(wǎng)上流程的題并沒有給出權(quán)威的正確的答案,而很多企業(yè)又拿過(guò)來(lái)考來(lái)考去。
其實(shí)我們?cè)诳吹胶芏嗝嬖嚨脑嚲沓鲞@道題的時(shí)候,權(quán)威的CMM本身確沒有充分定義軟件測(cè)試,(這段為引用,沒看過(guò)CMM的資料,見如下闡述:)
“但是令人遺憾的是,CMM 沒有充分的定義軟件測(cè)試,沒有提及測(cè)試成熟度的概念,沒有對(duì)測(cè)試過(guò)程改進(jìn)進(jìn)行充分說(shuō)明,在 KPA 中沒有定義測(cè)試問(wèn)題,與質(zhì)量相關(guān)的測(cè)試問(wèn)題如可測(cè)性,充分測(cè)試標(biāo)準(zhǔn),測(cè)試計(jì)劃等方面也沒有滿意的闡述。”
如果真是這樣的話,倒是打了出題的人一巴掌。不過(guò)TMM倒是給了段測(cè)試目的的定義;
TMM 測(cè)試成熟度分解為 5 級(jí)別,關(guān)注于 5 個(gè)成熟度級(jí)別遞增:
Phase 0 :測(cè)試和調(diào)試沒有區(qū)別,初了支持調(diào)試外,測(cè)試沒有其他目的
Phase 1 :測(cè)試的目的是為了表明軟件能夠工作
Phase 2 :測(cè)試的目的是為了表明軟件不能夠能夠正常工作
Phase 3 :測(cè)試的目的不是要證明什么,而是為了把軟件不能正常工作的預(yù)知風(fēng)險(xiǎn)降低到能夠接受的程度
Phase 4 : 測(cè)試不是行為,而是一種自覺的約束 (mental discipline) ,不用太多的測(cè)試投入產(chǎn)生低風(fēng)險(xiǎn)的軟件上的 。
但可以肯定的是這個(gè)定義也只能用來(lái)理解理解,完全不能用來(lái)做是非題。
完了,以上其實(shí)都是教條主義,說(shuō)說(shuō)我的看法,樸素一點(diǎn)的說(shuō),其實(shí)我覺得軟件測(cè)試的目的要服務(wù)項(xiàng)目的目標(biāo),有篇流傳很廣的文章是這么說(shuō)的:
“軟件測(cè)試的目的決定了如何去組織測(cè)試。如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。如 果測(cè)試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評(píng)價(jià),那么測(cè)試就應(yīng)該直接針對(duì)在實(shí)際應(yīng)用中會(huì)經(jīng)常用到的商業(yè)假設(shè)。” Over,我覺得這個(gè)說(shuō)法好。
從這幾道流行的軟件測(cè)試面試題想到的(二)
軟件測(cè)試可以劃分為幾種類型?(或軟件測(cè)試分哪幾種?)+測(cè)試方法分為哪幾種?
Comments:
這道題常見的程度不亞于第一道題,上當(dāng)?shù)脑捯婚_始就上來(lái)給一陣狂列,然后你自己就暈了,不過(guò)傳說(shuō)中的22種測(cè)試類型都能背得住的差不多也是半個(gè)神人了。
1. 關(guān)于軟件測(cè)試可以劃分為幾種類型的問(wèn)題?個(gè)人認(rèn)為我覺得這個(gè)一味的羅列并不是最好的答案。我更覺得其實(shí)這道題只要說(shuō)出你的劃分依據(jù)不用列那么多種也是份不錯(cuò)的答案(當(dāng)然如果是面試的話。咱們可以以“啊哈,這個(gè)問(wèn)題嘛,關(guān)鍵要看你以什么來(lái)劃分了”來(lái)開頭),以下是參考:
按測(cè)試要素分:
――UI測(cè)試,單元測(cè)試,系統(tǒng)測(cè)試,功能測(cè)試,兼容性測(cè)試,本地化測(cè)試,壓力負(fù)載測(cè)試,web測(cè)試
按測(cè)試階段分:
A.詳細(xì)測(cè)試(Comprehensive Testing,F(xiàn)C階段,可能包含單元測(cè)試和集成測(cè)試)
B.回歸測(cè)試(Regression Testing)
C.驗(yàn)收測(cè)試 (Qualification Testing,RC&RTM階段)
按測(cè)試方法(手段)分:
A.腳本測(cè)試(Scripted testing,ST)
B. 隨機(jī)測(cè)試(Ad_hoc testing)
C.探索性測(cè)試(Exploratory testing,ET)
從是否執(zhí)行程序的角度
A.靜態(tài)測(cè)試
B.動(dòng)態(tài)測(cè)試。
(個(gè)人覺得這種劃分沒多大必要)
從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)的角度劃分
A.白盒測(cè)試
B.黑盒測(cè)試
C.灰盒測(cè)試
足以,再多說(shuō)也是浪費(fèi)口舌。
2. 區(qū)分一下測(cè)試類型和測(cè)試方法的異同,
OK,回來(lái)再問(wèn)一遍,測(cè)試方法分為哪幾種?
哈哈,其實(shí)是本人有感于時(shí)不時(shí)聽到諸如黑盒測(cè)試方法,性能測(cè)試方法這類詞眼時(shí),耳朵經(jīng)常失靈,別扭,這句話就象是有人在發(fā)問(wèn)“軟件測(cè)試的手段有哪些”,低下有人喊了“黑盒測(cè)試方法,性能測(cè)試方法”,可我還是覺得你說(shuō)的是測(cè)試的類型而不是測(cè)試的方法(手段)。面試時(shí)注意人家問(wèn)你的是什么?
可能有點(diǎn)吹毛求疵的感覺,但實(shí)際上如果能用“黑盒測(cè)試的方法有哪些”或“性能測(cè)試的手段有哪些”等詞我覺得會(huì)好一些,這樣起碼讓人家知道黑盒測(cè)試,性能測(cè)試是一種類型,實(shí)現(xiàn)它有好幾種方法,即OO中的class.method的意味。
總之,測(cè)試類型和測(cè)試方法要分開。
從這幾道流行的軟件測(cè)試面試題想到的(三)
3.下列關(guān)于alpha 測(cè)試的描述中正確的是:()
A.alpha 測(cè)試需要用戶代表參加
B.alpha 測(cè)試不需要用戶代表參加
C.alpha 測(cè)試是系統(tǒng)測(cè)試的一種
D.alpha 測(cè)試是驗(yàn)收測(cè)試的一種
Comments:
首先我們來(lái)看一下Alpha測(cè)試和Beta測(cè)試的定義:
Alpha測(cè)試與Beta測(cè)試的定義 (引用網(wǎng)上的文章)
Alpha版 (內(nèi)部測(cè)試版) :一般只在軟件開發(fā)公司內(nèi)部運(yùn)行,不對(duì)外公開。主要是開發(fā)者自己對(duì)產(chǎn)品進(jìn)行測(cè)試,檢查產(chǎn)品是否存在缺陷、錯(cuò)誤,驗(yàn)證產(chǎn)品功能與說(shuō)明書、用戶手冊(cè)是否一致。
【Alpha測(cè)試------軟件工程導(dǎo)論(第四版) 清華大學(xué)出版社
Alpha測(cè)試由用戶在開發(fā)者的場(chǎng)所進(jìn)行,并且在開發(fā)者對(duì)用戶的“指導(dǎo)”下進(jìn)行測(cè)試。開發(fā)者負(fù)責(zé)記錄發(fā)現(xiàn)在錯(cuò)誤和使用中遇到的問(wèn)題?傊珹lpha測(cè)試是在受控的環(huán)境中進(jìn)行的。 】
Beta版(外部測(cè)試版):軟件開發(fā)公司為對(duì)外宣傳,將非正式產(chǎn)品免費(fèi)發(fā)送給具有典型性的用戶,讓用戶測(cè)試該軟件的不足之處及存在問(wèn)題,以便在正式發(fā)行前進(jìn)一步改進(jìn)和完善。一般可通過(guò)Internet免費(fèi)下載,也可以向軟件公司索取。
據(jù)百度所講,廣義上對(duì)測(cè)試有三個(gè)傳統(tǒng)的稱呼,alpha、beta、gamma,用來(lái)標(biāo)識(shí)測(cè)試的階段和范圍。alpha 是指內(nèi)測(cè),即現(xiàn)在說(shuō)的 CB,指開發(fā)團(tuán)隊(duì)內(nèi)部測(cè)試的版本或者有限用戶體驗(yàn)測(cè)試版本。beta 是指公測(cè),即針對(duì)所有用戶公開的測(cè)試版本。然后做過(guò)一些修改,成為正式發(fā)布的候選版本時(shí)(現(xiàn)在叫做 RC - Release Candidate),叫做 gamma。
1.OK,很簡(jiǎn)單,這道題是要澄清一下Alpha測(cè)試和Beta測(cè)試時(shí),用戶在不在場(chǎng)的問(wèn)題。
答案是都在場(chǎng),只不過(guò)Alpha時(shí)在開發(fā)者的場(chǎng)所,Beta時(shí)在用戶自己的場(chǎng)所。
2.把這道題擴(kuò)展一下,我們來(lái)討論一下Alpha測(cè)試和Beta測(cè)試時(shí),測(cè)試人員要不要在場(chǎng)的問(wèn)題。
答案是:測(cè)試人員都不在場(chǎng)
3.實(shí)際的情況是只有大的IT公司才遵從這些測(cè)試規(guī)范,更加現(xiàn)實(shí)的情況是不管Alpha或Beta測(cè)試什么人在場(chǎng)都有。如果你能為規(guī)范的大公司工作,那你接觸到的流傳都會(huì)是很嚴(yán)格的。
相關(guān)導(dǎo)讀: