第一篇:軟件測試之新手總結(jié)
軟件測試之新手總結(jié)
在不斷發(fā)展,競爭激烈的今天,大家都注重時間和效率,不節(jié)約時間,沒有效率那企業(yè)就瀕臨崩潰。企業(yè)為什么上信息化,信息化是為了什么?我們給企業(yè)上CRM、OA等,也不過是為了給他們節(jié)省時間,把一些繁重的事情交給計算機處理。計算機不是萬能的,它是沒有智商,沒有思維的,它有的也只是固化在機器本身的一大堆代碼,并按照一定的指令去執(zhí)行,所以我們不能強迫它面面俱到。上企業(yè)信息化,可以提高效率,可以加強管理,更多的是體現(xiàn)在節(jié)約時間上,但節(jié)約出來的時間我們做了什么,這是我們要考慮的問題。
當(dāng)然,在我們給企業(yè)實現(xiàn)信息化,提高工作效率,節(jié)省工作時間時,我們不妨為自己盤算一下,我們可以為我們的軟件公司實現(xiàn)什么信息化。項目管理我們可以用PROJECT,在測試計劃到BUG跟蹤我們可以用TD,在版本控制、代碼管理、配置管理等我們可以用VSS以及CVS,在自動化測試時我們可以選用WR、LR、RATIONAL等等,當(dāng)然我們還可以用一些小型的比較實用的工具,比如XENU、WEB VALIDATOR、WAS、OPENSTA、SAINT等等。盲目的推崇工具并不高明,在我們沒有完全掌握工具時,我們不要完全去相信工具做出的結(jié)論,因為有些會被我們所忽略掉,我們操作的本身不正確不理解不細(xì)微可能造成結(jié)果的很大差別。工具只能作為驗證的一種手段。
代碼管理、BUG管理工具,我認(rèn)為是必須的,也是最簡單的。代碼管理如VSS,可以方便我們對程序進(jìn)行牽入牽出,能保證服務(wù)器上的程序是最高版本。當(dāng)然,VSS還可以被我們用到其它方面。BUG管理工具,我們可以通過他們統(tǒng)計工作量,也可以透過他發(fā)現(xiàn)工作中的漏洞。一個項目的結(jié)束,項目經(jīng)理學(xué)會了管理項目,編碼人員學(xué)會了編程,測試員得到了什么?他們得到的是很多BUG,挖掘、回顧BUG中的內(nèi)容就是一種財富,就是我們測試員可以得到的經(jīng)驗,這些完全可以對自己的工作方式、方法進(jìn)行評價,并可以自己總結(jié)出一套測試?yán)碚摗C總€公司都可以在慢慢工作中總結(jié)和更新自己公司的BUG管理工具,這也是公司加強管理的一種手段。
如果有了一定的管理工具,在類似項目時,我們就可以參照以前的標(biāo)準(zhǔn),參照以前的做法,這樣我們就輕車熟路了,試問一下:我們喜歡查詢呢還是喜歡一個一個的查看呢?在工作的時候,要學(xué)會反省、挖掘、總結(jié),成為一個有思想的人。有思想的人遠(yuǎn)遠(yuǎn)比一個只愛勞動的人受重用。加強工具化管理勢在必行,今天你為自己花費了一分鐘,明天也許你會節(jié)約出一個小時
沒有什么固定的模式,也沒有什么固定的套路,這就是軟件行業(yè)。軟件行業(yè)更依賴于人的因素,這就告訴我們環(huán)境的不同,變化是不同的,在原來的基礎(chǔ)上總結(jié)出自己的開發(fā)模式,才是我們應(yīng)該要做的。就像XP開發(fā)模式也有前提一樣。取人之長,補己之短是我們最好的做事方式。
面對著五花八門的工具,我很迷茫,也許其他新手也和我一樣。但我認(rèn)為,學(xué)工具是必然的,但不是必須的。測試?yán)碚摽梢灾笇?dǎo)我們的工作,但測試更多是要靠自己的總結(jié),在實踐中慢慢的積累。
第二篇:測試新手應(yīng)該怎么學(xué)習(xí)軟件測試
測試新手應(yīng)該怎么學(xué)習(xí)軟件測試
對于測試新手來說,學(xué)好測試的理論知識是必須的,因為這些是你測試的基礎(chǔ),千萬不要好高騖遠(yuǎn),別忘了一句話“磨刀不誤砍柴工”。舉個例子,如果你沒有學(xué)習(xí)測試?yán)碚摶A(chǔ),老板讓你做一個測試基線,你知道怎么做嗎?就算是你知道基線是什么,那么你會做好一個基線嗎?
如果基礎(chǔ)沒打好,不要急著學(xué)習(xí)測試工具,因為工具其實是很好學(xué)的,無非就是點幾個按鈕,頂多是寫幾句腳本,進(jìn)行一下腳本什么的優(yōu)化。但是如果不會測試?yán)碚摶A(chǔ),你用自動化工具做出來的結(jié)果你會分析嗎?自動化得出的結(jié)果不是最終的測試報告,這些需要測試人員再分析的,最終才能得出結(jié)果。再舉個例子,你用loadrunner測試出來了一堆數(shù)據(jù),你能根據(jù)那些數(shù)據(jù)得出系統(tǒng)瓶頸嗎?不能,因為系統(tǒng)瓶頸的種類,分析方法,以及不同的系統(tǒng)要注意的瓶頸點不同,這些如果沒有扎實的理論基礎(chǔ)是很難分析出來的,因為它要綜合各個情況才能得出系統(tǒng)瓶頸的。
還有一點,那就是一定要學(xué)習(xí)一些其他的東西,因為測試是一個多學(xué)科的科學(xué),你必須要懂得,至少了解linux系統(tǒng),網(wǎng)絡(luò)技術(shù)、一門開發(fā)語言、CMM等內(nèi)容。因為如果這些你不懂,老板讓你搭建一個linux的測試環(huán)境,你會嗎?讓你搭建VPN,你會嗎?
以上就是我總結(jié)的幾點內(nèi)容,這些一定是不全的,后續(xù)我會繼續(xù)補充。但是我也就是想說一句話,學(xué)軟件測試看似簡單,其實做一名合格的軟件測試工程師很難。一定要有扎實的基礎(chǔ)、敏銳的洞察力以及廣泛的知識涵蓋面,測試軟件對我們來說也是極其重要的。
第三篇:軟件測試之表單測試項總結(jié)
1、表單測試
我們必須測試提交操作的完整性,以校驗提交給服務(wù)器的信息的正確性。例如:用戶填寫的出生日期與職業(yè)是否恰當(dāng),填寫的所屬省份與所在城市是否匹配等。如果使用了默認(rèn)值,還要檢驗?zāi)J(rèn)值的正確性。如果表單只能接受指定的某些值,則也要進(jìn)行測試。例如:只能接受某些字符,測試時可以跳過這些字符,看系統(tǒng)是否會報錯。
具體測試內(nèi)容包括:
1.1數(shù)據(jù)添加測試
1.添加按鈕可用,測試點擊添加按鈕,能夠進(jìn)入相應(yīng)的添加頁面 2.進(jìn)入添加頁面,驗證輸入字段和需求描述一致
3.所有輸入字段輸入合法數(shù)據(jù),點擊保存按鈕,系統(tǒng)應(yīng)該有保存成功提示信息,在數(shù)據(jù)庫中有新保存的數(shù)據(jù),通過查詢頁面,也可以查詢到添加的數(shù)據(jù),數(shù)據(jù)正確
4.重新進(jìn)入添加頁面,所有字段輸入有效數(shù)據(jù),然后從第一個字段開始,按如下幾項依次驗證每個輸入字段。之所以從第一個輸入字段開始依次驗證,是因為可保證不遺漏任何字段,同時也可以節(jié)省測試時間; 5.重復(fù)提交信息,如一條已經(jīng)成功提交的紀(jì)錄,返回后再提交,看看系統(tǒng)是否做了處理;
6.在同一軟件不同界面切換時,每打開一個界面是否總是要切換輸入法。? 非法數(shù)據(jù),根據(jù)測試用例中的設(shè)計的非法測試數(shù)據(jù),驗證對每個非法測試數(shù)據(jù)程序都能控制,保證不出現(xiàn)報錯頁面。
? 編輯數(shù)據(jù),根據(jù)測試用例中的設(shè)計的編輯測試數(shù)據(jù),驗證對每個編輯測試數(shù)據(jù)程序都能控制,要求對業(yè)務(wù)邏輯熟悉
? 空數(shù)據(jù),如果需求規(guī)定輸入字段不能為空,驗證程序?qū)Ψ强諗?shù)據(jù)有明顯標(biāo)識或說明,對非空輸入字段輸入空數(shù)據(jù)有控制 ? 重復(fù)數(shù)據(jù),如果需求規(guī)定輸入字段不能輸入重復(fù)數(shù)據(jù),驗證程序?qū)χ貜?fù)數(shù)據(jù)有控制
? 選擇數(shù)據(jù),如果需求規(guī)定字段需要選擇輸入,驗證程序?qū)x擇數(shù)據(jù)有控制
1.2數(shù)據(jù)修改測試
1.修改按鈕可用,測試點擊修改按鈕,能夠進(jìn)入相應(yīng)的修改頁面; 2.修改各字段信息時,驗證方法同添加;但還需驗證添加和修改的一致性;
3.保存修改內(nèi)容
4.重新查詢修改后的內(nèi)容
5.關(guān)聯(lián)流程測試:一條數(shù)據(jù)引用另一條數(shù)據(jù),修改被引用數(shù)據(jù)后,引用數(shù)據(jù)中是否跟隨變化。
1.3數(shù)據(jù)刪除測試
1.可能造成嚴(yán)重后果的刪除操作,系統(tǒng)是否支持執(zhí)行可逆,或給出警告,刪除前是否要求確認(rèn);
2.刪除操作是否正確執(zhí)行,若刪除的內(nèi)容在文件或數(shù)據(jù)庫中,應(yīng)作實際校驗;
3.刪除記錄后,再添加一條相同的信息,檢查能否成功添加(例如:刪除用戶后再創(chuàng)建相同登錄名的用戶);
4.對可批量刪除記錄的系統(tǒng),刪除一個或多個記錄,檢查能否正確執(zhí)行。5.關(guān)聯(lián)流程測試:如一條數(shù)據(jù)引用另一條數(shù)據(jù)后,刪除被引用數(shù)據(jù),是否提示;
6.刪除正在使用信息,系統(tǒng)能否正確處理;
7.刪除級聯(lián)記錄的上游或下游記錄,系統(tǒng)能否正確處理; 8.記錄中包含的缺省系統(tǒng)信息能否刪除;
9.不選擇任何記錄,直接執(zhí)行刪除,檢查系統(tǒng)如何處理,是否會出錯; 10.重新使用已刪除的數(shù)據(jù); 11.關(guān)閉刪除確認(rèn)對話框后,記錄是否被刪除。
1.4數(shù)據(jù)查詢和統(tǒng)計測試
1.對非法的時間范圍系統(tǒng)能否正確處理;
2.查詢統(tǒng)計語句包含多個與或非條件時,系統(tǒng)能否正確處理; 3.條件邏輯混亂,系統(tǒng)能否正確處理;
4.多表查詢統(tǒng)計及單表查詢統(tǒng)計功能是否正確實現(xiàn);
5.分類查詢、精確查詢、模糊查詢、無條件查詢和組合查詢能否完整列出滿足條件的記錄;
6.能否按系統(tǒng)默認(rèn)的條件進(jìn)行查詢;
7.當(dāng)統(tǒng)計時間段為當(dāng)日、跨日、跨月、跨季、跨時,查詢統(tǒng)計結(jié)果是否正確;
8.當(dāng)某些操作被別人取消后,設(shè)置條件段為取消前、取消后、包含取消操作的一段時間;
9.以不同的權(quán)限登錄時,查詢、統(tǒng)計是否正確; 10.在查詢或統(tǒng)計大數(shù)據(jù)量時,系統(tǒng)是否允許終止操作;
11.查詢、統(tǒng)計按鈕是否允許雙擊或更多的點擊,系統(tǒng)做何反映; 12.查詢出的數(shù)據(jù)是否允許修改; 13.查詢出的數(shù)據(jù)是否允許刪除;
14.去數(shù)據(jù)來源驗證查詢統(tǒng)計結(jié)果的正確性;
15.查詢統(tǒng)計結(jié)果大于每頁默認(rèn)條數(shù)時,翻頁查看結(jié)果是否正確; 16.導(dǎo)出文件與查詢統(tǒng)計結(jié)果是否一致;
17.輸入非法的查詢關(guān)鍵字進(jìn)行查詢,如:輸入特殊字符或數(shù)據(jù)庫通配符,查詢結(jié)果是否正確,是否有正確的提示信息;
18.查詢/統(tǒng)計字段是否在數(shù)據(jù)源中存在,統(tǒng)計報表樣式是否符合需求規(guī)格。
第四篇:軟件測試總結(jié)
1.軟件測試定義:由人工或自動方法來執(zhí)行或評價系統(tǒng)或系統(tǒng)部分的過程,以驗證它是否滿足規(guī)定的需求,或識別出期望的結(jié)果和實際結(jié)果之間的差異。2.軟件測試的分類:
測試對象或范圍分類:需求評審、設(shè)計評審、單元測試、程序測試、系統(tǒng)
測試、文檔測試、Web應(yīng)用測試、客戶端測試、數(shù)據(jù)庫測試等;
測試目的分類:集成測試、功能測試、壓力測試、性能測試等等; 靜態(tài)測試、動態(tài)測試; 白盒測試、黑盒測試。3.軟件測試的基本流程與原則
基本流程:
測試用例設(shè)計-輸入數(shù)據(jù)、預(yù)期結(jié)果; 測試執(zhí)行-輸入數(shù)據(jù)執(zhí)行被測對象; 檢查實際輸出與預(yù)期結(jié)果。基本原則:
開始測試時認(rèn)定軟件有錯,測試要證明有錯; 測試應(yīng)該由獨立的測試團隊來完成; 測試設(shè)計必須設(shè)計對應(yīng)的預(yù)期輸出;
要對合理、不合理(有效、無效)輸入數(shù)據(jù)都進(jìn)行測試; 檢查軟件的完備性、多余; 完整保留測試文檔;
一個被測對象中有錯誤的概率與已發(fā)現(xiàn)錯誤的個數(shù)成正比。4.Beizer測試成熟度級別:
0級:沒有區(qū)分測試與調(diào)試;
1級:測試的目的是證明軟件能用; 2級:測試的目的是證明軟件不能用;
3級:測試的目的不是為了證明什么,而是為了降低軟件使用風(fēng)險; 4級:測試是一種智能訓(xùn)練,能夠幫助專業(yè)人員開發(fā)出更高質(zhì)量的軟件。5.軟件測試與軟件工程,軟件過程的關(guān)系:
軟件工程:在給定的條件下(成本、時間)開發(fā)出高質(zhì)量的軟件產(chǎn)品。軟件生產(chǎn)過程的特性決定了軟件產(chǎn)品中不可避免包含有錯誤。軟件測試則是盡可能多地發(fā)現(xiàn)錯誤,從而保障軟件產(chǎn)品的質(zhì)量。6.McCall的質(zhì)量因素:
產(chǎn)品修改:
可維護性,靈活性,可測試性 產(chǎn)品轉(zhuǎn)移:
可移植性,可復(fù)用性,互操作性 產(chǎn)品運行:
正確性,易用性,可靠性,效率,完整性 7.軟件質(zhì)量困境
軟件質(zhì)量必須足夠好:存在價值
軟件產(chǎn)品無法完美:需要消耗過多的資源、時間、成本
軟件開發(fā)需要在兩個極端之間進(jìn)行平衡:軟件足夠好的同時又不完美。8.質(zhì)量控制、質(zhì)量保證和質(zhì)量管理
軟件質(zhì)量控制其實是基本方法,通過一系列的技術(shù)來科學(xué)地測量過程的狀態(tài)。如缺陷率、測試覆蓋率等。
軟件質(zhì)量保證則是過程的參考、指南的集合,如ISO9000、CMM/CMMI等,著重內(nèi)部的檢查,確保已獲取認(rèn)可的標(biāo)準(zhǔn)和步驟都已經(jīng)遵循。
軟件質(zhì)量管理則是實際操作的思想,質(zhì)量管理控制和協(xié)調(diào)組織的質(zhì)量活動,包括質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn)。9.WebApp應(yīng)用的屬性:
網(wǎng)絡(luò)密集型應(yīng)用;并發(fā)性;大負(fù)載量;性能;高可靠性、高可用性;安全性-內(nèi)容敏感;
10.軟件評審的目的,評審度量及其應(yīng)用
評審的目標(biāo)在于:盡早發(fā)現(xiàn)軟件過程中的錯誤,防止錯誤傳遞、蔓延至后續(xù)活動,防止錯誤轉(zhuǎn)化為缺陷。
準(zhǔn)備工作量Ep-實際評審會之前所需工作量; 評估工作量Ea-實際評審所花費的工作量 返工工作量Er-修改評審所發(fā)現(xiàn)錯誤的工作量 工作產(chǎn)品規(guī)模WPS-評審對象的規(guī)模
發(fā)現(xiàn)的主要錯誤數(shù)Errmajor-多于預(yù)期的改錯工作量的錯誤數(shù)目 發(fā)現(xiàn)的次要錯誤數(shù)Errminor-少于預(yù)期的改錯工作量的錯誤數(shù)目 總評審工作量Ereview = Ep+Ea+Er 錯誤總數(shù)Errtot = Errmajor+Errminor 錯誤密度:評審的每單位工作產(chǎn)品發(fā)現(xiàn)的錯誤數(shù)Ed = Errtot / WPS 錯誤密度數(shù)值的含義:較小(產(chǎn)品質(zhì)量非常好或評審不夠徹底);較大(產(chǎn)品質(zhì)量存在缺陷)
11.軟件測試計劃:描述對計算機軟件配置項、子系統(tǒng)、系統(tǒng)進(jìn)行測試的計劃安排,內(nèi)容包括測試的環(huán)境、測試工作的標(biāo)識及測試工作的時間安排。
軟件測試報告:是對計算機軟件配置項、軟件系統(tǒng)或子系統(tǒng),或與軟件相關(guān)項目執(zhí)行合格性測試的記錄 12.軟件測試活動
制訂測試計劃(測試分析員)
測試設(shè)計(測試設(shè)計人員)-方案設(shè)計 測試及測試用例設(shè)計 測試過程
樁模塊、驅(qū)動模塊設(shè)計
測試實施(測試設(shè)計員)-實現(xiàn)測試設(shè)計 單元測試(測試員)集成測試(測試員)系統(tǒng)測試(測試員)
評估測試(測試設(shè)計人員)
13.無向圖的相關(guān)定義:
連接性:節(jié)點ni、nj是連接的,當(dāng)且僅當(dāng)ni、nj在同一條路徑上。組件:圖的組件是相連節(jié)點的最大集合
圖G的圈復(fù)雜度V(G)=e-n+2p,其中e為G的邊數(shù),n為節(jié)點數(shù),p為組件數(shù)。14.圖覆蓋:給定一個關(guān)于圖G的準(zhǔn)則C的測試需求集合TR,測試集合T在圖G上滿足準(zhǔn)則C當(dāng)且僅當(dāng)對TR中每個測試需求tr,path(T)中至少存在一條測試路徑p滿足tr。
簡單路徑:如果從ni到nj的一條路徑中,除了始節(jié)點和終節(jié)點可以相同外,沒有任何節(jié)點出現(xiàn)次數(shù)多于一次,則該路徑為簡單路徑。
主路徑:如果從ni到nj是一條簡單路徑,并且它不作為任何其他簡單路徑的子路徑出現(xiàn),則稱之為主路徑。
主路徑覆蓋(PPC)準(zhǔn)則:TR包含圖中每一條主路徑。
指定路徑覆蓋(SPC):TR包含一個測試路徑集S,S為指定參數(shù)。15.白盒測試方法
白盒測試:根據(jù)被測對象的內(nèi)部結(jié)構(gòu)和運行機制來設(shè)計測試用例的方法,又稱為結(jié)構(gòu)測試、邏輯驅(qū)動測試、覆蓋測試
被測對象的獨立路徑至少覆蓋一次; 所有邏輯取值測試[真、假]; 循環(huán)邊界測試;
檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)、邊界條件。16.黑盒測試方法
黑盒測試方法又稱功能測試方法、數(shù)據(jù)驅(qū)動測試方法,測試設(shè)計時不考慮被測對象的內(nèi)部結(jié)構(gòu),以檢查系統(tǒng)功能(功能的正確、完整、邏輯流程、人機界面、文檔內(nèi)容、系統(tǒng)安裝/初始化)
以被測對象的外部特征為測試依據(jù)。17.模糊測試方法
模糊測試方法:構(gòu)造大量的隨機數(shù)據(jù)作為系統(tǒng)的輸入,從而檢驗系統(tǒng)在各種數(shù)據(jù)情況下是否出現(xiàn)問題。
18.增量測試:單元測試、調(diào)用依賴的模塊集成測試,逐步擴展直到形成整個軟件系統(tǒng)。
19.突擊測試:所有模塊一次性集成為一個完整的系統(tǒng),然后進(jìn)行完全測試。20.等價類劃分:
等價類劃分基于對輸入或輸出數(shù)據(jù)情況的評估,劃分成兩個或多個子集(等價類),然后從每個子集中選取一定的代表進(jìn)行測試的測試用例設(shè)計方法。21.極限測試
極限編程:利用輕量、敏捷的開發(fā)過程,使開發(fā)人員能夠更快地完成應(yīng)用程序的開發(fā)。強調(diào)頻繁測試、測試驅(qū)動的方式保證軟件質(zhì)量。
極限測試:為滿足極限編程思想和過程而設(shè)計的一套測試策略和流程,原來的測試技術(shù)、方法均可以使用 22.配置項測試的內(nèi)容
功能: 適合性
準(zhǔn)確性:功能的準(zhǔn)確與精度要求 互操作性:與外部設(shè)備、系統(tǒng)的接口 安全保密性:數(shù)據(jù)訪問的可控制性 可靠性: 成熟性:容錯處理、平均無故障時間
容錯性:邊界條件、功能、性能的降級情況、誤操作模式、故障模式 易恢復(fù)性:自動修復(fù)能力/時間、平均宕機時間、平均恢復(fù)時間、恢復(fù)能力等 易用性
易理解性:功能描述清晰、準(zhǔn)確;界面含義精確
易學(xué)性:在線幫助、幫助定位、各類手冊的易學(xué)、易用 易操作性:數(shù)據(jù)的有效檢查、解釋信息明確、界面切換 吸引性:人機界面定制 效率
時間特性:響應(yīng)時間、平均響應(yīng)時間、響應(yīng)極限時間、吞吐量、平均吞吐量、極限吞吐量,多任務(wù)并行測試
資源利用:大量并發(fā)任務(wù)下I/O設(shè)備利用、極限負(fù)載下I/O設(shè)備的負(fù)載、大量并發(fā)任務(wù)下用戶等待時間、內(nèi)存使用情況、數(shù)據(jù)傳輸能力等
維護性
易分析性:運行狀態(tài)數(shù)據(jù)易分析 易變更性:軟件的可配置、修改能力 易測試性:變更之后的易測試情況 可移植性
適應(yīng)性:不同軟件、硬件環(huán)境的適應(yīng)能力 易安裝性:安裝、配置的復(fù)雜程度、難以程度 共存性:與其他軟件協(xié)同的能力 易替換性:版本的替換難以程度 依從性
以上所有特性遵循標(biāo)準(zhǔn)、規(guī)范的情況測試
23系統(tǒng)測試:系統(tǒng)非功能性測試,以檢驗系統(tǒng)在超常數(shù)據(jù)規(guī)模或負(fù)載下,線程、CPU、內(nèi)存資源的利用和響應(yīng)時間、數(shù)據(jù)傳輸?shù)刃阅苤笜?biāo)是否滿足要求
24.測試計劃
確定測試充分性要求:覆蓋范圍、覆蓋程度 確定測試終止要求; 確定測試所需資源; 確定測試的軟件特性; 確定測試技術(shù)、方法; 確定測試準(zhǔn)出條件; 確定測試進(jìn)度計劃; 測試風(fēng)險分析。
25.測試設(shè)計:測試設(shè)計人員、測試程序員
測試用例設(shè)計:依據(jù)測試特性; 獲取測試數(shù)據(jù);
確定測試順序:資源、被測特性; 獲取測試資源:軟硬件、工具; 編寫測試程序; 建立測試環(huán)境; 撰寫測試設(shè)計說明。
26.測試總結(jié):
測試分析員-測試報告
總結(jié)測試計劃、測試說明的變化情況; 異常終止時測試未覆蓋范圍; 未能解決的測試問題; 總結(jié)測試結(jié)果(發(fā)現(xiàn)問題); 編寫測試報告;
根據(jù)問題報告、測試記錄,編寫測試問題報告。
27.軟件可靠性:在給定的運行時間內(nèi)和給定的系統(tǒng)配置環(huán)境下,運行給定的軟件功能時所 表現(xiàn)出來的質(zhì)量能力 28.系統(tǒng)性能指標(biāo)
系統(tǒng)資源利用率:分析性能指標(biāo),改善性能系統(tǒng)行為指標(biāo) 請求響應(yīng)時間:一次請求完成時間
事務(wù)響應(yīng)時間:一個事務(wù)所有請求完成的總時間
數(shù)據(jù)吞吐量:單位時間內(nèi)服務(wù)器接收、發(fā)送的數(shù)據(jù)量。
29.驗收測試:用戶執(zhí)行的、使用真實數(shù)據(jù)進(jìn)行的測試,依據(jù)需求規(guī)格中的確認(rèn)標(biāo)準(zhǔn)進(jìn)行測試。回歸測試:驗證已測試過的內(nèi)容不受變更影響,確認(rèn)變更沒有引入新的錯誤。
30.α測試是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實際操 作環(huán)境下進(jìn)行的測試。
Beta測試由軟件的最終用戶在一個或多個客戶場所進(jìn)行,開發(fā)者通常不在Beta測試的現(xiàn)場。
31.WebApp測試關(guān)注的主要內(nèi)容 Web內(nèi)容測試 界面 構(gòu)件
導(dǎo)航測試 安全性 性能
32.測試用例(Test Case)是為某個特殊目標(biāo)而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個程序路徑或核實是否滿足某個特定需求。
33.軟件生存期定義:從軟件產(chǎn)品設(shè)計到軟件被淘汰的時間段。又稱軟件生命周期、生存周期。進(jìn)一步劃分為兩個階段:開發(fā)階段和維護階段(40%+60%)。
34.軟件安全定義:一種軟件質(zhì)量保證活動,他主要用來識別和評估可能對軟件產(chǎn)生負(fù)面影響并促使整個系統(tǒng)失效的潛在災(zāi)難。
35.軟件評審的目標(biāo)在于:盡早發(fā)現(xiàn)軟件過程中的錯誤,防止錯誤傳遞、蔓延至后續(xù)活動,防止錯誤轉(zhuǎn)化為缺陷。36.V模型
優(yōu)點:既有底層測試又有高層測試。底層:單元測試。高層:系統(tǒng)測試。
將開發(fā)階段清楚的表現(xiàn)出來,便于控制開發(fā)的過程。當(dāng)所有階段都結(jié)束時,軟件開發(fā)就結(jié)束了。
缺點:容易讓人誤解為測試是在開發(fā)完成之后的一個階段。
由于它的順序性,當(dāng)編碼完成之后,正式進(jìn)入測試時,這時發(fā)現(xiàn)的一些bug可能不容易找到其根源。
實際中,由于需求變更較大,導(dǎo)致要重復(fù)變更需求、設(shè)計、編碼、測試,返工量大。37.W模型:
優(yōu)點:
將測試貫穿到整個軟件生命周期中,且除了代碼要測試,需求、設(shè)計等都要測試。更早介入軟件開發(fā)中,能盡早發(fā)現(xiàn)缺陷并修復(fù)。
測試與開發(fā)獨立起來,并與開發(fā)并行。缺點:
對有些項目,開發(fā)過程中根本沒有文檔產(chǎn)生,故W模型無法使用。
對于需求和設(shè)計的測試技術(shù)要求很高,實踐起來很困難。
從N0中某節(jié)點開始到Nf中某節(jié)點結(jié)束的一條路徑稱為一條測試路徑。
1.軟件缺陷:(符合下列規(guī)則的叫軟件缺陷):
1).軟件未達(dá)到產(chǎn)品說明書的功能
2).軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤
3).軟件功能超出產(chǎn)品說明書指明范圍
4).軟件未達(dá)到產(chǎn)品說明書雖未指出但應(yīng)達(dá)到的目標(biāo)
5).軟件測試員認(rèn)為難以理解、不易使用、運行速度緩慢、或者最終用戶認(rèn)為不好
2.單元測試:單元測試是對軟件設(shè)計的最小單元——模塊進(jìn)行正確性檢驗的測試工作,主要測試模塊在語法、格式和邏輯上的錯誤。3.回歸測試
指軟件系統(tǒng)被修改或擴充(如系統(tǒng)功能增強或升級)后重新進(jìn)行的測試,是為了保證對軟件所做的修改沒有引入新的錯誤而重復(fù)進(jìn)行的測試。
4.等價類:指某個輸入域的子集合,在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。
第五篇:軟件測試總結(jié)
面向?qū)ο蟪绦虻能浖y試方法
在軟件生命周期過程中,軟件測試是保證軟件質(zhì)量的關(guān)鍵環(huán)節(jié)之一。面向?qū)ο蠓椒▽W(xué)在軟件工程中的引入極大地方便了軟件的設(shè)計、開發(fā)和維護,為創(chuàng)建高可靠性的軟件系統(tǒng)提供了重要保證。但面向?qū)ο蟪绦虻姆庋b、繼承、多態(tài)和異常處理機制等新特性卻給測試帶來新的挑戰(zhàn)。一方面需要調(diào)整、改進(jìn)傳統(tǒng)的測試策略和方法;另一方面探索出適應(yīng)面向?qū)ο蟪绦蛱卣鞯臏y試?yán)碚撆c技術(shù)也尤為必要。
面向?qū)ο?Object Oriented,OO)是當(dāng)前計算機界關(guān)心的重點,它是90年代軟件開發(fā)方法的主流。面向?qū)ο蟮母拍詈蛻?yīng)用已超越了程序設(shè)計和軟件開發(fā),擴展到很寬的范圍。如數(shù)據(jù)庫系統(tǒng)、交互式界面、應(yīng)用結(jié)構(gòu)、應(yīng)用平臺、分布式系統(tǒng)、網(wǎng)絡(luò)管理結(jié)構(gòu)、CAD技術(shù)、人工智能等領(lǐng)域。
面向?qū)ο蟮亩x或說明對象的定義的非常少。其初,“面向?qū)ο蟆笔菍V冈诔绦蛟O(shè)計中采用封裝、繼承、抽象等設(shè)計方法。可是,這個定義顯然不能再適合現(xiàn)在情況。面向?qū)ο蟮乃枷胍呀?jīng)涉及到軟件開發(fā)的各個方面。如,面向?qū)ο蟮姆治觯∣OA,Object Oriented Analysis),面向?qū)ο蟮脑O(shè)計(OOD,Object Oriented Design)、以及我們經(jīng)常說的面向?qū)ο蟮木幊虒崿F(xiàn)(OOP,Object Oriented Programming)。許多有關(guān)面向?qū)ο蟮奈恼露贾皇侵v述在面向?qū)ο蟮拈_發(fā)中所需要注意的問題或所采用的比較好的設(shè)計方法。看這些文章只有真正懂得什么是對象,什么是面向?qū)ο螅拍茏畲蟪潭鹊貙ψ约河兴砸妗_@一點,恐怕對初學(xué)者甚至是從事相關(guān)工作多年的人員也會對它們的概念模糊不清。
1、面向?qū)ο蟮幕靖拍?/p>
(1)對象。
對象是人們要進(jìn)行研究的任何事物,從最簡單的整數(shù)到復(fù)雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計劃或事件。
(2)對象的狀態(tài)和行為。
對象具有狀態(tài),一個對象用數(shù)據(jù)值來描述它的狀態(tài)。
對象還有操作,用于改變對象的狀態(tài),對象及其操作就是對象的行為。
對象實現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對象的統(tǒng)一體中
(3)類。具有相同或相似性質(zhì)的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。
類具有屬性,它是對象的狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性。
類具有操作,它是對象的行為的抽象,用操作名和實現(xiàn)該操作的方法來描述。
(4)類的結(jié)構(gòu)。
在客觀世界中有若干類,這些類之間有一定的結(jié)構(gòu)關(guān)系。通常有兩種主要的結(jié)構(gòu)關(guān)系,即一般--具體結(jié)構(gòu)關(guān)系,整體--部分結(jié)構(gòu)關(guān)系。
①一般——具體結(jié)構(gòu)稱為分類結(jié)構(gòu),也可以說是“或”關(guān)系,或者是“is a”關(guān)系。
②整體——部分結(jié)構(gòu)稱為組裝結(jié)構(gòu),它們之間的關(guān)系是一種“與”關(guān)系,或者是“has a”關(guān)系。
(5)消息和方法。
對象之間進(jìn)行通信的結(jié)構(gòu)叫做消息。在對象的操作中,當(dāng)一個消息發(fā)送給某個對象時,消息包含接收對象去執(zhí)行某種操作的信息。發(fā)送一條消息至少要包括說明接受消息的對象名、發(fā)送給該對象的消息名(即對象名、方法名)。一般還要對參數(shù)加以說明,參數(shù)可以是認(rèn)識該消息的對象所知道的變量名,或者是所有對象都知道的全局變量名。
類中操作的實現(xiàn)過程叫做方法,一個方法有方法名、參數(shù)、方法體。消
2、面向?qū)ο蟮奶卣?/p>
(1)對象唯一性。
每個對象都有自身唯一的標(biāo)識,通過這種標(biāo)識,可找到相應(yīng)的對象。在對象的整個生命期中,它的標(biāo)識都不改變,不同的對象不能有相同的標(biāo)識。
(2)分類性。
分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應(yīng)用有關(guān)的重要性質(zhì),而忽略其他一些無關(guān)內(nèi)容。任何類的劃分都是主觀的,但必須與具體的應(yīng)用有關(guān)。
(3)繼承性。
繼承性是子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機制,這是類之間的一種關(guān)系。在定義和實現(xiàn)一個類的時候,可以在一個已經(jīng)存在的類的基礎(chǔ)之上來進(jìn)行,把這個已經(jīng)存在的類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。繼承性是面向?qū)ο蟪绦蛟O(shè)計語言不同于其它語言的最重要的特點,是其他語言所沒有的。
在類層次中,子類只繼承一個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為單重繼承。
在類層次中,子類繼承了多個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為多重繼承。
在軟件開發(fā)中,類的繼承性使所建立的軟件具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創(chuàng)建工作量,增加了代碼的可重性。
采用繼承性,提供了類的規(guī)范的等級結(jié)構(gòu)。通過類的繼承關(guān)系,使公共的特性能夠共享,提高了軟件的重用性。
(4)多態(tài)性(多形性)多態(tài)性使指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同的結(jié)果。不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。
多態(tài)性允許每個對象以適合自身的方式去響應(yīng)共同的消息。
多態(tài)性增強了軟件的靈活性和重用性。
面向?qū)ο蠓椒ǖ幕舅枷胧且唬好嫦驅(qū)ο蠓椒ㄊ且环N運用對象、類、封裝、繼承、多態(tài)和消息等概念來構(gòu)造、測試、重構(gòu)軟件的方法。
二: 面向?qū)ο蠓椒ㄊ且哉J(rèn)識論為基礎(chǔ),用對象來理解和分析問題空間,并設(shè)計和開發(fā)出由對象構(gòu)成的軟件系統(tǒng)(解空間)的方法。由于問題空間和解空間都是由對象組成的,這樣可以消除由于問題空間和求解空間結(jié)構(gòu)上的不一致帶來的問題。簡言之,面向?qū)ο缶褪敲嫦蚴虑楸旧恚嫦驅(qū)ο蟮姆治鲞^程就是認(rèn)識客觀世界的過程。
面向?qū)ο蠓椒◤膶ο蟪霭l(fā),發(fā)展出對象,類,消息,繼承等概念。
面向?qū)ο蠓椒ǖ闹饕獌?yōu)點是:符合人們通常的思維方式;從分析到設(shè)計再到編碼采用一致的模型表示具有高度連續(xù)性;軟件重用性好。
面向?qū)ο筌浖y試的特點是: 1.掌握代碼檢查、走查與評審的基本方法和技術(shù); 2.掌握白盒測試和黑盒測試的測試用例的設(shè)計原則和方法; 3.掌握單元測試和集成測試的基本策略和方法;
4.了解系統(tǒng)測試、性能測試和可靠性測試的基本概念和方法; 5.了解面向?qū)ο筌浖蚖EB應(yīng)用軟件測試的基本概念和方法; 6.掌握軟件測試過程管理的基本知識和管理方法; 7.熟悉軟件測試的標(biāo)準(zhǔn)和文檔;
8.掌握QESuite軟件測試過程管理平臺和QESat/C++軟件分析和工具的使用方法。