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