手機軟件測試基本理論與方法_第1頁
手機軟件測試基本理論與方法_第2頁
手機軟件測試基本理論與方法_第3頁
手機軟件測試基本理論與方法_第4頁
手機軟件測試基本理論與方法_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

軟件測試

測試的基本理論及方法測試的基本理論及方法對軟件測試的誤解如何理解軟件測試軟件測試的定義軟件測試的對象軟件測試分類和比較軟件測試的目的軟件系統(tǒng)的主要測試內(nèi)容及技術(shù)對軟件測試的誤解如果發(fā)布出去的軟件有質(zhì)量問題,那是軟件測試人員的錯.軟件測試技術(shù)要求不高,至少比編程容易多了.軟件測試隨便找一個能力差的人就能做.有時間就多測試一些,來不及就少測試一些.軟件測試是測試人員的事,與開發(fā)人員無關(guān).設(shè)計-實現(xiàn)-測試,軟件測試是開發(fā)后期的一個階段如何理解軟件測試軟件測試是一種有效的提高軟件質(zhì)量的手段,但即使在投入上有所保證,測試也不能百分為百發(fā)現(xiàn)所有質(zhì)量隱患.況且軟件質(zhì)量并不僅僅是測試出來的.很多人認(rèn)為軟件測試就是運行一下軟件,看看結(jié)果對不對.但實際上,如何在有限的投入下,提高軟件測試的效率和產(chǎn)出是一件很見功底的事.好的測試人員不僅要掌握各種測試技術(shù),還要具備豐富的編程經(jīng)驗和對BUG的敏感測試不是可有可無,隨心所欲的.規(guī)范化的軟件開發(fā)需要對軟件測試早做計劃,分配必要的時間,人力和財力等資源,并將其作為項目管理的一個部分加以控制和協(xié)調(diào).開發(fā)和測試是軟件項目相輔相成的兩個過程,人員間的交流,協(xié)作和配合是提高整體效率的重要因素.軟件產(chǎn)品開發(fā)完畢,再進(jìn)行測試的觀念是有悖于生命周期理論的.軟件產(chǎn)品質(zhì)量問題越晚發(fā)現(xiàn),修復(fù)的代價越大.需求設(shè)計編程內(nèi)部測試外部測試發(fā)布修正BUG的代價一些常識和經(jīng)驗之談測試能提高軟件的質(zhì)量,但是提高質(zhì)量不能依賴測試。

測試只能證明缺陷存在,不能證明缺陷不存在?!皬氐椎販y試”難以成為現(xiàn)實,要考慮時間、費用等限制,不允許無休止地測試。我們應(yīng)當(dāng)祈禱:軟件的缺陷在產(chǎn)品被淘汰之前一直沒有機會發(fā)作。測試的主要困難是不知道如何進(jìn)行有效地測試,也不知道什么時候可以放心地結(jié)束測試。每個開發(fā)人員應(yīng)當(dāng)測試自己的程序(份內(nèi)之事),但是不能作為該程序已經(jīng)通過測試的依據(jù)(所以項目需要獨立測試人員)。80-20原則:80%的缺陷聚集在20%的模塊中,經(jīng)常出錯的模塊改錯后還會經(jīng)常出錯測試應(yīng)當(dāng)循序漸進(jìn),不要企圖一次性干完,注意“欲速則不達(dá)”。軟件測試的定義軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程.軟件測試不等于程序測試.軟件測試貫穿于軟件定義和開發(fā)的整個期間.需求分析,概要設(shè)計,詳細(xì)設(shè)計,以及程序編碼等各個階段所得到的文檔,包括需求規(guī)格說明,概要設(shè)計規(guī)格說明,詳細(xì)設(shè)計規(guī)格說明以及源程序,都是軟件測試的對象.軟件測試的對象軟件生存各個階段間的確認(rèn)和驗證

測試的目的測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;一個好的測試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今的錯誤的測試.測試的種類名稱說明黑盒測試基于軟件需求,而不是基于軟件內(nèi)部設(shè)計和程序?qū)崿F(xiàn)的測試方式。白盒測試基于軟件內(nèi)部設(shè)計和程序?qū)崿F(xiàn)的測試方式。單元測試主要測試軟件模塊的源代碼。一般由開發(fā)人員而非獨立測試人員來執(zhí)行,因為測試者需要懂得該單元的設(shè)計與程序?qū)崿F(xiàn),測試者可能需要編寫額外的測試驅(qū)動程序。集成測試將一些“構(gòu)件”集成一起時,測試它們能否正常運行。這里“構(gòu)件”可以是程序模塊、客戶機-服務(wù)器程序等等。功能測試測試軟件的功能是否符合功能性需求,通常采用黑盒測試方式。一般由獨立測試人員執(zhí)行。系統(tǒng)測試測試軟件系統(tǒng)是否符合所有需求,包括功能性需求與非功能性需求。一般由獨立測試人員執(zhí)行,通常采用黑盒測試方式?;貧w測試指錯誤被修正后或軟件功能、環(huán)境發(fā)生變化后進(jìn)行的重新測試。回歸測試的困難在于不好確定哪些內(nèi)容應(yīng)當(dāng)被重新測試。驗收測試由客戶或最終用戶執(zhí)行,測試軟件系統(tǒng)是否符合需求規(guī)格說明書。名稱說明負(fù)載測試測試軟件系統(tǒng)的最大負(fù)載,超出此負(fù)載軟件可能會失常。壓力測試概念上與負(fù)載測試相似,叫法不同。性能測試測試軟件在各種狀況下的性能,如在正?;蜃畲筘?fù)載下的狀況。易用性測試測試軟件是否易用,主觀性比較強。一般要根據(jù)很多用戶的測試反饋信息,才能評價易用性。安裝與反安裝測試測試軟件在“全部、部分、升級”等狀況下的安裝/反安裝過程?;謴?fù)測試測試該系統(tǒng)從故障中恢復(fù)過來的能力。安全性測試測試該系統(tǒng)防止非法侵入的能力。兼容性測試測試該系統(tǒng)與其它軟件硬件兼容的能力。比較測試通過與同類產(chǎn)品比較,考察該系統(tǒng)的優(yōu)點、缺點。Alpha測試一種先期的用戶測試,此時系統(tǒng)剛剛開發(fā)完成。Beta測試一種后期的用戶測試,此時系統(tǒng)已經(jīng)通過內(nèi)部測試,大部分錯誤已經(jīng)改正,即將正式發(fā)行。測試的分類與比較測試方式白盒測試:關(guān)心軟件內(nèi)部設(shè)計和程序?qū)崿F(xiàn),主要測試依據(jù)是設(shè)計文檔黑盒測試:不關(guān)心軟件內(nèi)部,只關(guān)心輸入輸出,主要測試依據(jù)是需求文檔測試階段單元測試、集成測試、系統(tǒng)測試、驗收測試。是“從小到大”、“由內(nèi)至外”、“循序漸進(jìn)”的測試過程,體現(xiàn)了“分而治之”的思想。

單元測試的粒度最小,一般由開發(fā)小組采用白盒方式來測試,主要測試單元是否符合“設(shè)計”。

集成測試界于單元測試和系統(tǒng)測試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測試,既要驗證“設(shè)計”又要驗證“需求”。

系統(tǒng)測試的粒度最大,一般由獨立測試小組采用黑盒方式來測試,主要測試系統(tǒng)是否符合“需求規(guī)格說明書”。

驗收測試與系統(tǒng)測試非常相似,主要區(qū)別是測試人員不同,驗收測試由用戶執(zhí)行。

開發(fā)與測試的V型關(guān)系如果軟件開發(fā)過程采用嚴(yán)格的瀑布模型,那么開發(fā)與測試有“V”型的對應(yīng)關(guān)系。需求開發(fā)

高層設(shè)計詳細(xì)設(shè)計編程單元測試集成測試系統(tǒng)測試驗收測試測試內(nèi)容功能測試、健壯性測試、性能測試、用戶界面測試、壓力測試、可靠性測試測試階段

主要依據(jù)

測試人員、測試方式

主要測試內(nèi)容

單元測試系統(tǒng)設(shè)計文檔由開發(fā)小組執(zhí)行白盒測試

接口測試、路徑測試

集成測試系統(tǒng)設(shè)計文檔需求文檔由開發(fā)小組執(zhí)行白盒測試和黑盒測試

接口測試、路徑測試功能測試、性能測試

系統(tǒng)測試需求文檔由獨立測試小組執(zhí)行黑盒測試

功能測試、健壯性測試、性能測試、用戶界面測試、安全性測試、壓力測試、可靠性測試、安裝/反安裝測試

驗收測試需求文檔由用戶執(zhí)行黑盒測試

黑盒測試與白盒測試的比較測試方式特征依據(jù)測試人員測試驅(qū)動程序黑盒測試只關(guān)心軟件的外部表現(xiàn),不關(guān)心內(nèi)部設(shè)計與實現(xiàn)。軟件需求任何人(包括開發(fā)人員、獨立測試人員和用戶)一般無需編寫額外的測試驅(qū)動程序白盒測試關(guān)注軟件的內(nèi)部設(shè)計與實現(xiàn),要跟蹤源代碼的運行。設(shè)計文檔由開發(fā)人員兼任測試人員的角色需要編寫額外的測試驅(qū)動程序軟件系統(tǒng)的主要測試內(nèi)容及技術(shù)功能測試健壯性測試性能測試用戶界面測試壓力測試可靠性測試軟件系統(tǒng)的主要測試內(nèi)容及技術(shù)功能測試功能測試的基本方法是構(gòu)造一些合理輸入(在需求范圍之內(nèi)),檢查輸出是否與期望的相同。如果兩者不一致,即表明功能有誤。也有例外的情況,如《需求規(guī)格說明書》中的某個功能寫錯了,而實際上軟件的功能卻是正確的,這時要更改的是《需求規(guī)格說明書》。功能測試看起來比較簡單,只要看得懂《需求規(guī)格說明書》,誰都會做。難點在于如何構(gòu)造有效的輸入。由于輸入空間通常是無限的,窮舉測試顯然行不通。那么隨便輸入一些東西,碰運氣行不行?功能測試的方法功能測試有兩種比較好的測試方法:等價劃分法和邊界值分析法。何為等價類,某個輸入域的集合,在這個集合中每個輸入條件都是等效的,如果其中一個的輸入不能導(dǎo)致問題發(fā)生,那么集合中其它輸入條件進(jìn)行測試也不可能發(fā)現(xiàn)錯誤。等價類分為有效等價類和無效等價類,有效等價類就是由那些對程序的規(guī)格說明有意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合;無效等價類就是那些對程序的規(guī)格說明不合理的或無意義的輸入數(shù)據(jù)所構(gòu)成的集合測試經(jīng)驗豐富的前輩們告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對個中邊界情況設(shè)計測試用例,可以查處更多的錯誤等價類的原則1、在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類。2、在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個有效等價類和一個無效等價類。3、在輸入條件是一個布爾量的情況下,可確定一個有效等價類。等價類的原則4、在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類5、在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)6、在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價類進(jìn)一步的劃分為更小的等價類。等價類的原則舉例1:如有些密碼框的輸入要求,包含字母,數(shù)字,取值不能小于8或者6個字符并且不能超過12或者14個字符等條件的限制,來確定有效等價類和無效等價類舉例2:如郵件格式,當(dāng)我們注冊一個郵箱時,需要輸入有效的格式,注冊USER用戶命的過程中必須包含“@”和“.”這兩個字符,并且“@”在“.”前面,有效格式必須遵守郵件格式進(jìn)行注冊,所以分為有效輸入值和無效輸入值舉例3:如刪除聯(lián)系人,勾選后選擇是否刪除等情況邊界值分析方法的原則1、如果輸入(輸出)條件規(guī)定了取值范圍,則應(yīng)該以該范圍的邊界值及邊界附近的值作為測試數(shù)據(jù);2、如果輸入(輸出)條件規(guī)定了值的個數(shù),則用最大個數(shù),最小個數(shù),比最小個數(shù)少一,比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù);3、如果程序規(guī)格說明書中提到的輸入或輸出是一個有序的集合,應(yīng)該注意選取有序集合的第一個和最后一個元素作為測試數(shù)據(jù);4、如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試數(shù)據(jù)。邊界值分析方法的原則舉例1:存儲UIM卡聯(lián)系人姓名,不能大于7個中文字符,當(dāng)輸入大于7個中文字符串的時候,觀察手機聯(lián)系人應(yīng)用程序是否會做出正確判斷,給出正確的提示舉例2:UIM卡存儲聯(lián)系人不能大于250個容量限制舉例3:如拍照,當(dāng)手機內(nèi)存和SD卡內(nèi)存滿時,點擊拍照按鈕會否提示內(nèi)存已滿等情況健壯性測試健壯性是指在異常情況下,軟件還能正常運行的能力。健壯性有兩層含義:一是容錯能力,二是恢復(fù)能力。容錯性測試通常構(gòu)造一些不合理的輸入來引誘軟件出錯,例如:(1)輸入錯誤的數(shù)據(jù)類型。如“猴”年“馬”月。(2)輸入定義域之外的數(shù)值。如上海人常說的“十三點”粗暴一些方式俗稱“大猩猩”測試法。除了不能拳打腳踢嘴咬外,什么招術(shù)都可以使出來。例如在測試客戶機-服務(wù)器模式的軟件時,把網(wǎng)絡(luò)線拔掉,造成通信異常中斷?;謴?fù)測試重點考察一下幾項:(1)系統(tǒng)能否重新運行;(2)有無重要的數(shù)據(jù)丟失;(3)是否毀壞了其它相關(guān)的軟件硬件。健壯性測試目標(biāo)當(dāng)在進(jìn)行安裝或組裝操作過程中,文件丟失時或發(fā)生意外后系統(tǒng)有能力重新進(jìn)行操作如何使用程序的安裝,運行方式,工具的使用和關(guān)鍵技術(shù)經(jīng)過足夠的評估系統(tǒng)開發(fā)完畢后,介紹一下發(fā)生失敗后的處理過程例子人為的使一個系統(tǒng)在安裝或者組裝過程中產(chǎn)生錯誤什么時間去使用當(dāng)操作的連續(xù)性是個重點的時候性能測試性能測試即測試軟件處理事務(wù)的速度,一是為了檢驗性能是否符合需求,二是為了得到某些性能數(shù)據(jù)供人們參考(例如用于宣傳)。有時人們關(guān)心測試的“絕對值”,如數(shù)據(jù)送輸速率是每秒多少比特。有時人們關(guān)心測試的“相對值”,如某個軟件比另一個軟件快多少倍。在獲取測試的“絕對值”時,我們要充分考慮并記錄運行環(huán)境對測試的影響。例如網(wǎng)絡(luò)環(huán)境、計算機主頻,總線結(jié)構(gòu)和外部設(shè)備都可能影響軟件的運行速度。

性能測試技巧目標(biāo)確定系統(tǒng)達(dá)到了希望達(dá)到的性能水平如何使用使用軟件和硬件的監(jiān)視器使用模擬的監(jiān)控模型,對關(guān)心的性能指標(biāo)進(jìn)行監(jiān)控創(chuàng)建一個小程序用戶界面測試絕大多數(shù)軟件擁有圖形用戶界面。圖形用戶界面的測試重點是正確性、易用性和視覺效果。在評價易用性和視覺效果時,主觀性非常強,應(yīng)當(dāng)考慮多個人的觀點。用戶界面測試用例的參考模板:

壓力測試壓力測試也叫負(fù)荷測試,即獲取系統(tǒng)能正常運行的極限狀態(tài)。了解“極限”是很有價值的,例如潛艇下潛極限深度…。壓力測試的主要任務(wù)是:構(gòu)造正確的輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論