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ā)生錯誤的情況??蛇x擇這些情況下的例子作為測試用例.
4. 因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的形式來考慮設(shè)計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5. 正交表分析法
有時候,可能因為大量的參數(shù)的組合而引起測試用例數(shù)量上的激增,同時,這些測試用例并沒有明顯的優(yōu)先級上的差距,而測試人員又無法完成這么多數(shù)量的測試,就可以通過正交表來進(jìn)行縮減一些用例,從而達(dá)到盡量少的用例覆蓋盡量大的范圍的可能性。
6. 場景分析方法
指根據(jù)用戶場景來模擬用戶的操作步驟,這個比較類似因果圖,但是可能執(zhí)行的深度和可行性更好。
白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題
詳細(xì)的描述一個測試活動完整的過程。1. 項目經(jīng)理通過和客戶的交流,完成需求文檔,由開發(fā)人員和測試人員共同完成需求文檔的評審,評審的內(nèi)容包括:需求描述不清楚的地方和可能有明顯沖突或者無法實現(xiàn)的功
1、按是否查看程序內(nèi)部結(jié)構(gòu)分為:
(1)黑盒測試
(2)白盒測試
2、按是否運(yùn)行程序分為:
(1)靜態(tài)測試(static testing):
(2)動態(tài)測試
3、按階段劃分:
(1)單元測試
(2)集成測試
(3)系統(tǒng)測試
(4)驗收測試
4、黑盒測試分為功能測試和性能測試:
5、其他測試類型:
回歸測試
冒煙測試
隨機(jī)測試
測試用例設(shè)計方法
(1)逐級細(xì)分法(2)輸入域測試法 (3)輸出域分析法 (4)正交試驗設(shè)計法 (5) 業(yè)務(wù)流程分析法 (6)狀態(tài)遷移法 (7)因果圖法 (8)判定表法 (9)錯誤猜測法 (10)等價類劃分法 (11)邊界值分析法
一.等價類劃分法
顧名思義,等價類劃分,就是將測試的范圍劃分成幾個互不相交的子集,他們的并集是全集,從每個子集選出若干個有代表性的值作為測試用例。
例如,我們要測試一個用戶名是否合法,用戶名的定義為:8位數(shù)字組成的字符。
我們可以先劃分子集:空用戶名,1-7位數(shù)字,8位數(shù)字,9位或以上數(shù)字,非數(shù)字。
然后從每個子集選出若干個有代表性的值:
空用戶名:“” (無效等價類實例,指對于軟件規(guī)格說明而言,沒有意義的、不合理的輸入)
1-7位數(shù)字:"234" (無效等價類實例)
8位數(shù)字:"00000000" (有效等價類實例,能檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能)
9位或以上數(shù)字:"1234567890" (無效等價類實例)
非數(shù)字:"abc&!??!" (無效等價類實例)
他們5個,就是用等價類劃分選出的測試用例。實際上,對于1-7位數(shù)字的子集來說,選“234”和“11111”沒有本質(zhì)的區(qū)別。
等價類的劃分,最關(guān)鍵的是子集的劃分。實際上,非數(shù)字還可以繼續(xù)劃分子集:字母,特殊字符。
究竟要劃分到何種程度才合適呢?我請教過做測試的朋友,他的意見是,看你有多少資源和時間,還有,看是否值得。
對此,我表示贊同,畢竟無論你怎么測試,總會有未發(fā)現(xiàn)的缺陷存在,所以,先解決容易被發(fā)現(xiàn)的問題再說。
二.邊界值分析法
長期的測試工作經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。選出的測試用例,應(yīng)選取正好等于、剛剛大于、剛剛小于邊界的值,例如,對于在區(qū)間min,max的值,測試用例可以記為min,min+,max,max-。
例如,假定 X 為整數(shù),10≤X≤100,那么 X 在測試中應(yīng)該取的邊界值為:10,11,99,100。
注:上面只是說邊界值,如果是完整的測試,除了邊界值外,還需要一個正常值,即12-98之間的任意值。
三.錯誤推測法
錯誤推測法是指:在測試程序時,人們可以根據(jù)經(jīng)驗或直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例的方法。
這種方法沒有固定的形式,依靠的是經(jīng)驗和直覺,很多時候,我們都會不知不覺的使用到。
四.判定表法
又稱為策略表,基于策略表的測試,是功能測試中最嚴(yán)密的測試方法。該方法適合于邏輯判斷復(fù)雜的場景,通過窮舉條件獲得結(jié)果,對結(jié)果再進(jìn)行優(yōu)化合并,會得到一個判斷清晰的策略表。
1)按照測試技術(shù)劃分
黑盒測試:功能測試,必須
白盒測試:邏輯結(jié)構(gòu)測試,代碼的邏輯、算法、結(jié)構(gòu)是否正確,要求必須懂得代碼,需要編寫測試用例,可選
灰盒測試:介于中間
注意:在單元測試時,白盒應(yīng)用相對較多,在集成測試時,灰盒測試應(yīng)用相對較多,在系統(tǒng)、驗收測試時一般就不會使用白盒測試和灰盒測試了。
2)按是否需要運(yùn)行代碼劃分
靜態(tài)測試:界面測試,文檔測試,代碼測試【重點關(guān)注代碼的規(guī)范性,一般檢查變量的命名,注釋的頻率,編程的規(guī)范性,不需要寫測試用例,一般只需要有代碼審查單】
注意:一般經(jīng)常把白盒測試和靜態(tài)測試的要素結(jié)合在一起,形成靜態(tài)白盒測試
動態(tài)測試:運(yùn)行程序進(jìn)行檢查,檢查實際輸出結(jié)果和預(yù)期結(jié)果是否相符
3)按軟件特性分類
功能測試
性能測試
Functional testing(功能測試),也稱為behavioral testing(行為測試),根據(jù)產(chǎn)品特性、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計需求。
本地化軟件的功能測試,用于驗證應(yīng)用程序或網(wǎng)站對目標(biāo)用戶能正確工作。使用適當(dāng)?shù)钠脚_、瀏覽器和測試腳本,以保證目標(biāo)用戶的體驗將足夠好,就像應(yīng)用程序是專門為該市場開發(fā)的一樣。
功能測試是為了確保程序以期望的方式運(yùn)行而按功能要求對軟件進(jìn)行的測試,通過對一個系統(tǒng)的所有的特性和功能都進(jìn)行測試確保符合需求和規(guī)范。功能測試也叫黑盒測試或數(shù)據(jù)驅(qū)動測試,只需考慮需要測試的各個功能,不需要考慮整個軟件的內(nèi)部結(jié)構(gòu)及代碼.一般從軟件產(chǎn)品的界面、架構(gòu)出發(fā),按照需求編寫出來的測試用例,輸入數(shù)據(jù)在預(yù)期結(jié)果和實際結(jié)果之間進(jìn)行評測,進(jìn)而提出更加使產(chǎn)品達(dá)到用戶使用的要求。
應(yīng)用電子技術(shù)方面的測試:印刷電路板,又稱印制電路板,印刷線路板,常使用英文縮寫PCB(Printed circuit board),是重要的電子部件,是電子元件的支撐體,是電子元器件線路連接的提供者。由于它是采用電子印刷技術(shù)制作的,故被稱為“印刷”電路板。
在印制電路板出現(xiàn)之前,電子元件之間的互連都是依靠電線直接連接而組成完整的線路。電路面包板只是作為有效的實驗工具而存在,而印刷電路板在電子工業(yè)中已經(jīng)成了占據(jù)了絕對統(tǒng)治的地位。
20世紀(jì)初,人們?yōu)榱撕喕娮訖C(jī)器的制作,減少電子零件間的配線,降低制作成本等優(yōu)點,于是開始鉆研以印刷的方式取代配線的方法。三十年間,不斷有工程師提出在絕緣的基板上加以金屬導(dǎo)體作配線。
而最成功的是1925年,美國的Charles Ducas 在絕緣的基板上印刷出線路圖案,再以電鍍的方式,成功建立導(dǎo)體作配線。[1] 直至1936年,奧地利人保羅·愛斯勒(Paul Eisler)在英國發(fā)表了箔膜技術(shù),他在一個收音機(jī)裝置內(nèi)采用了印刷電路板;而在日本,宮本喜之助以噴附配線法“メタリコン法吹著配線方法(特許119384號)”成功申請專利。
而兩者中Paul Eisler 的方法與現(xiàn)今的印刷電路板最為相似,這類做法稱為減去法,是把不需要的金屬除去;而Charles Ducas、宮本喜之助的做法是只加上所需的配線,稱為加成法。雖然如此,但因為當(dāng)時的電子零件發(fā)熱量大,兩者的基板也難以配合使用[1],以致未有正式的實用作,不過也使印刷電路技術(shù)更進(jìn)一步。
1941年,美國在滑石上漆上銅膏作配線,以制作近接信管。1943年,美國人將該技術(shù)大量使用于軍用收音機(jī)內(nèi)。
1947年,環(huán)氧樹脂開始用作制造基板。同時NBS開始研究以印刷電路技術(shù)形成線圈、電容器、電阻器等制造技術(shù)。
1948年,美國正式認(rèn)可這個發(fā)明用于商業(yè)用途。自20世紀(jì)50年代起,發(fā)熱量較低的晶體管大量取代了真空管的地位,印刷電路版技術(shù)才開始被廣泛采用。
而當(dāng)時以蝕刻箔膜技術(shù)為主流[1]。1950年,日本使用玻璃基板上以銀漆作配線;和以酚醛樹脂制的紙質(zhì)酚醛基板(CCL)上以銅箔作配線。
[1]1951年,聚酰亞胺的出現(xiàn),便樹脂的耐熱性再進(jìn)一步,也制造了聚亞酰胺基板。[1]1953年,Motorola開發(fā)出電鍍貫穿孔法的雙面板。
這方法也應(yīng)用到后期的多層電路板上。[1] 印刷電路板廣泛被使用10年后的60年代,其技術(shù)也日益成熟。
而自從Motorola的雙面板面世,多層印刷電路板開始出現(xiàn),使配線與基板面積之比更為提高。1960年,V. Dahlgreen以印有電路的金屬箔膜貼在熱可塑性的塑膠中,造出軟性印刷電路板。
[1]1961年,美國的Hazeltine Corporation參考了電鍍貫穿孔法,制作出多層板。[1]1967年,發(fā)表了增層法之一的“Plated-up technology”。
[1][3]1969年,F(xiàn)D-R以聚酰亞胺制造了軟性印刷電路板。[1]1979年,Pactel發(fā)表了增層法之一的“Pactel法”。
[1]1984年,NTT開發(fā)了薄膜回路的“Copper Polyimide法”。[1]1988年,西門子公司開發(fā)了Microwiring Substrate的增層印刷電路板。
[1]1990年,IBM開發(fā)了“表面增層線路”(Surface Laminar Circuit,SLC)的增層印刷電路板。[1]1995年,松下電器開發(fā)了ALⅣH的增層印刷電路板。
[1]1996年,東芝開發(fā)了B2it的增層印刷電路板。[1] 就在眾多的增層印刷電路板方案被提出的1990年代末期,增層印刷電路板也正式大量地被實用化。
為大型、高密度的印刷電路板裝配(PCBA,printed circuit board assembly)發(fā)展一個穩(wěn)健的測試策略是重要的,以保證與設(shè)計的符合與功能。除了這些復(fù)雜裝配的建立與測試之外,單單投入在電子零件中的金錢可能是很高的 - 當(dāng)一個單元到最后測試時可能達(dá)到25,000美元。
由于這樣的高成本,查找與修理裝配的問題是重要的步驟。今天更復(fù)雜的裝配大約18平方英寸,18層;在頂面和底面有2900多個元件;含有6000個電路節(jié)點;有超過20000個焊接點需要測試。
在朗訊加速的制造工廠(N. Andover,MA),制造和測試藝術(shù)級的PCBA和完整的傳送系統(tǒng)。超過5000節(jié)點數(shù)的裝配對我們是一個關(guān)注,因為它們已經(jīng)接近我們現(xiàn)有的在線測試(ICT,in circuit test)設(shè)備的資源極限(圖一)。
我們制造大約800種不同的PCBA或“節(jié)點”。在這800種節(jié)點中,大約20種在5000~6000個節(jié)點范圍。
可是,這個數(shù)迅速增長。
1、先看些相關(guān)的理論知識:測試方法、測試用例的編寫等
2、詳細(xì)了解什么是功能測試,且知道功能測試的范圍及職能(功能完整性、易操作性、界面規(guī)劃合理性、業(yè)務(wù)合理性等)
3、熟悉了解功能測試的流程
4、熟悉掌握缺陷的管理及管理流程和相關(guān)工具(qc、qtp等)
5、多于開發(fā)人員進(jìn)行溝通多多了解軟件業(yè)務(wù)流程,了解測試對象的行業(yè)知識,多問多思考(測試對象相關(guān)的問題)
6、熟悉測試過程中的其他相關(guān)技能如服務(wù)器的搭建(如Tomact)、數(shù)據(jù)庫連接及使用(oracle、sql server、mysql)、程序管理工具(如Vss、svn)
其實對于測試新手而言主要就是熟悉職能、了解工作內(nèi)容,熟悉工作所用到的技能與工具的使用,要多動手多查資料,盡量自己把遇到的問題解決(遇到技術(shù)問題少向領(lǐng)導(dǎo)問,可以多向同事請教,因為領(lǐng)導(dǎo)不喜歡那些什么都問的員工,那樣領(lǐng)導(dǎo)會認(rèn)為你什么都不會的),要養(yǎng)成總結(jié)記筆記的習(xí)慣,比如領(lǐng)導(dǎo)進(jìn)行開會或與你單獨談系統(tǒng)相關(guān)內(nèi)容時記得要拿記事本隨時準(zhǔn)備記,就算沒東西可記也要拿著裝裝樣子
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:2.698秒