第一篇:軟件測試流程總結
1、需求討論,測試角度關注的問題:
(1)系統架構、開發方法、人員安排、實現過程、開發周期
(2)產品應用范圍、面向的用戶及用戶人數、產品要實現的功能、使用的數據類型
(3)開發環境:開發工具版本、數據庫版本、操作系統版本
(4)運行環境:硬件平臺、操作系統、支撐環境(數據庫版本、IE版本)、相關組件、服務
(5)安全要求:產品權限、數據庫權限、部署的服務器信息、防火墻信息、要放開的端口號
(6)性能需求:系統支持的并發數量、響應時間、數據庫中數據容量、占用的系統CPU、磁盤空間、傳輸速度、網絡帶寬等。
2、需求分析
(1)畫出整體系統的(網絡)拓撲圖
(2)根據不同角色身份進行分析,畫出系統流程圖:用戶角度、安裝人員角度、維護人員角度
(3)從數據庫角度進行深入分析:數據層、業務層、表現層
(4)系統包含的功能模塊/子系統列表,畫出各模塊的流程圖,各模塊間的關系及銜接接口
(5)安全級別是否達標、對性能需求進行分析
3、測試準備工作
(1)環境準備:開發環境、測試環境、用戶機干凈環境虛擬機、復雜環境虛擬機(IE不同版本、操作系統不同版本、防火墻不同、數據庫版本不同)
(2)數據準備:正式數據、不自洽數據
(3)書寫測試功能點
(4)根據需求分析結果和測試功能點,制定測試策略、測試方法、測試周期、人員安排。
4、測試開始
(1)測試用例書寫:根據八大測試用例方法書寫:等價類劃分方法、邊界值分析方法、錯誤推測方法、因果圖方法、判定表驅動分析方法、正交實驗設計方法、功能圖分析方法、場景設計方法
(2)編寫測試使用的sql語句、編寫自動化測試腳本
(3)功能測試:可借助測試工具,例如:Xenu、Cookie Editor、QTP
(4)白盒測試:代碼走讀、靜態結構分析法、邏輯覆蓋法、基本路徑測試法,工具:NUnit。詳讀w.config等配置文件,輔助理解程序整體結構,檢查之前的測試點是否完善。
(5)數據庫測試:數據備份與恢復測試、故障轉移和恢復測試、數據遷移數據操作測試(包括不同版本數據庫間的遷移、跨數據庫類型遷移,例如SQL遷移到Oracle)。
(6)數據庫壓力測試
● 通過數據庫連接數的變化,測試是否有連接泄露的現象
● 是否有數據表鎖死等現象
(7)性能測試:連接速度測試、負載測試、壓力測試,工具loadrunner
(8)安全性測試:建立整體的威脅模型,測試溢出漏洞、信息泄漏、錯誤處理、SQL 注入、身份驗證和授權錯誤、XSS攻擊。可用工具:
● Paros proxy(http:///fiddler),用于截獲HTTP 通信數據
● TamperIE(http:///dl/TamperIESetup.exe),用于修改GET 和POST
(9)兼容性測試:利用之前準備的不同環境,測試產品兼容性及支持環境
(10)安裝測試:不同環境、安裝過程不同選項、不同路徑
(11)參數測試:書寫可配置參數的意義及語法說明文檔,并進行測試
5、測試結束:
(1)測試總結:bug情況、系統穩定性、使用方便度、遺留待解決改進的問題
(2)功能點測試報告
(3)性能測試報告
(4)環境要求文檔:操作系統的版本(包括企業版、標準版等)、位數;數據庫的版本(包括企業版、標準版等)、位數;.Framework版本;不支持的環境
(5)使用手冊:系統常見故障分析及排除說明、錯誤信息編碼說明
(6)部署文檔:包含FAQ的內容以及截圖
(7)維護文檔:系統目錄結構說明、系統啟動進程說明、數據備份說明
(8)外出安裝前的檢查文檔
6、外出安裝注意事項:
(1)設計若安裝出現問題的緊急預案
(2)安裝前檢查環境(待寫一個環境檢查的小工具)
(3)根據事先寫的檢查文檔一項項打勾、安裝后對每一模塊進行測試驗證
(4)安裝結束后,將IIS、WEB.CONFING、注冊表信息、日志信息、防火墻信息、安裝路徑、安裝程序等拷貝回來,撰寫文檔。
第二篇:軟件測試流程
每個軟件測試階段都要經歷以下步驟:測試需求分析、測試過程設計、測試實現、測試實施、測試評價、測試維護。
1.測試需求分析:整個測試過程的基礎;確定測試對象以及測試工作的范圍和作用。
2.測試過程設計:包括測試計劃,測試策略制定,測試時間安排用,測試用例編寫等
3.測試實現:環境配置好了,新的版本也收到了,人員也都培訓好了等等
4.測試實施:已經按照測試計劃進行展開了,比如手工測試,自動化測試等
5.測試評價:對版本測試覆蓋率,測試質量,人員測試工作以及前期的一些工作制定情況進行評價
6.測試維護:對測試用例庫,測試腳本,bug庫等進行維護,保證延續性等
軟件測試過程
軟件測試過程按各測試階段的先后順序可分為單元測試、集成測試、確認(有效性)測試、系統測試和驗收(用戶)測試5個階段,如圖3所示。
(1)單元測試:測試執行的開始階段。測試對象是每個單元。測試目的是保證每個模塊或組件能正常工作。單元測試主要采用白盒測試方法,檢測程序的內部結構。
(2)集成測試:也稱組裝測試。在單元測試基礎上,對已測試過的模塊進行組裝,進行集成測試。測試目的是檢驗與接口有關的模塊之間的問題。集成測試主要采用黑盒測試方法。
(3)確認測試:也稱有效性測試。在完成集成測試后,驗證軟件的功能和性能及其他特性是否符合用戶要求。測試目的是保證系統能夠按照用戶預定的要求工作。確認測試通常采用黑盒測試方法。
(4)系統測試:在完成確認測試后,為了檢驗它能否與實際環境(如軟硬件平臺、數據和人員等)協調工作,還需要進行系統測試。可以說,系統測試之后,軟件產品基本滿足開發要求。
(5)驗收測試:測試過程的最后一個階段。驗收測試主要突出用戶的作用,同時軟件開發人員也應該參與進去。
第三篇:軟件測試一般流程[模版]
一般測試流程:
1.需求分析階段:只要就是對業務的學習,分析需求點。
2.測試計劃階段:測試組長就要根據SOW開始編寫《測試計劃》,其中包括人員,軟件硬件資源,測試點,集成順序,進度安排和風險識別等內容。
3.測試設計階段:測試方案一般由對需求很熟的高資深的測試工程師設計,測試方案要求根據《SRS》上的每個需求點設計出包括需求點簡介,測試思路和詳細測試方法三部分的方案。《測試方案》編寫完成后也需要進行評審。
4.測試方案階段:主要是對測試用例和規程的設計。測試用例是根據《測試方案》來編寫的,通過《測試方案》階段,測試人員對整個系統需求有了詳細的理解。這時開始編寫用例才能保證用例的可執行和對需求的覆蓋。測試用例需要包括測試項,用例級別,預置條件,操作步驟和預期結果。其中操作步驟和預期結果需要編寫詳細和明確。測試用例應該覆蓋測試方案,而測試方案又覆蓋了測試需求點,這樣才能保證客戶需求不遺漏。同樣,測試用例也需要評審。
5.測試執行階段:執行測試用例,及時提交有質量的Bug和測試日報,測試報告等相關文檔。
第四篇:軟件測試簡單流程
測試流程簡介
1.需求分析
閱讀需求說明書,組內交流,并與客戶、開發、架構多方溝通,深入了解需求。
2.測試計劃:
根據需求估算測試所需資源(人力、設備等)、所需時間、功能點劃分、如何合理分配安排資源等。包括功能測試計劃與性能測試方案。
3.用例設計
根據測試計劃、任務分配、功能點劃分,設計合理的測試用例。(testlink)
4.執行測試
根據測試用例的詳細步驟,執行測試用例。包括功能與性能測試。測試過程中要對每個用例記錄測試的結果,出現bug時在測試管理工具中編寫bug記錄。(jira)
5.文檔編寫
主要包括功能測試報告,性能測試報告及用戶手冊。
6.驗收測試
當軟件達到測試需求要求,且不存在重大bug時,可以進行驗收測試,驗收測試通過后產品發布。
第五篇:軟件測試總結
1.軟件測試定義:由人工或自動方法來執行或評價系統或系統部分的過程,以驗證它是否滿足規定的需求,或識別出期望的結果和實際結果之間的差異。2.軟件測試的分類:
測試對象或范圍分類:需求評審、設計評審、單元測試、程序測試、系統
測試、文檔測試、Web應用測試、客戶端測試、數據庫測試等;
測試目的分類:集成測試、功能測試、壓力測試、性能測試等等; 靜態測試、動態測試; 白盒測試、黑盒測試。3.軟件測試的基本流程與原則
基本流程:
測試用例設計-輸入數據、預期結果; 測試執行-輸入數據執行被測對象; 檢查實際輸出與預期結果。基本原則:
開始測試時認定軟件有錯,測試要證明有錯; 測試應該由獨立的測試團隊來完成; 測試設計必須設計對應的預期輸出;
要對合理、不合理(有效、無效)輸入數據都進行測試; 檢查軟件的完備性、多余; 完整保留測試文檔;
一個被測對象中有錯誤的概率與已發現錯誤的個數成正比。4.Beizer測試成熟度級別:
0級:沒有區分測試與調試;
1級:測試的目的是證明軟件能用; 2級:測試的目的是證明軟件不能用;
3級:測試的目的不是為了證明什么,而是為了降低軟件使用風險; 4級:測試是一種智能訓練,能夠幫助專業人員開發出更高質量的軟件。5.軟件測試與軟件工程,軟件過程的關系:
軟件工程:在給定的條件下(成本、時間)開發出高質量的軟件產品。軟件生產過程的特性決定了軟件產品中不可避免包含有錯誤。軟件測試則是盡可能多地發現錯誤,從而保障軟件產品的質量。6.McCall的質量因素:
產品修改:
可維護性,靈活性,可測試性 產品轉移:
可移植性,可復用性,互操作性 產品運行:
正確性,易用性,可靠性,效率,完整性 7.軟件質量困境
軟件質量必須足夠好:存在價值
軟件產品無法完美:需要消耗過多的資源、時間、成本
軟件開發需要在兩個極端之間進行平衡:軟件足夠好的同時又不完美。8.質量控制、質量保證和質量管理
軟件質量控制其實是基本方法,通過一系列的技術來科學地測量過程的狀態。如缺陷率、測試覆蓋率等。
軟件質量保證則是過程的參考、指南的集合,如ISO9000、CMM/CMMI等,著重內部的檢查,確保已獲取認可的標準和步驟都已經遵循。
軟件質量管理則是實際操作的思想,質量管理控制和協調組織的質量活動,包括質量控制、質量保證和質量改進。9.WebApp應用的屬性:
網絡密集型應用;并發性;大負載量;性能;高可靠性、高可用性;安全性-內容敏感;
10.軟件評審的目的,評審度量及其應用
評審的目標在于:盡早發現軟件過程中的錯誤,防止錯誤傳遞、蔓延至后續活動,防止錯誤轉化為缺陷。
準備工作量Ep-實際評審會之前所需工作量; 評估工作量Ea-實際評審所花費的工作量 返工工作量Er-修改評審所發現錯誤的工作量 工作產品規模WPS-評審對象的規模
發現的主要錯誤數Errmajor-多于預期的改錯工作量的錯誤數目 發現的次要錯誤數Errminor-少于預期的改錯工作量的錯誤數目 總評審工作量Ereview = Ep+Ea+Er 錯誤總數Errtot = Errmajor+Errminor 錯誤密度:評審的每單位工作產品發現的錯誤數Ed = Errtot / WPS 錯誤密度數值的含義:較小(產品質量非常好或評審不夠徹底);較大(產品質量存在缺陷)
11.軟件測試計劃:描述對計算機軟件配置項、子系統、系統進行測試的計劃安排,內容包括測試的環境、測試工作的標識及測試工作的時間安排。
軟件測試報告:是對計算機軟件配置項、軟件系統或子系統,或與軟件相關項目執行合格性測試的記錄 12.軟件測試活動
制訂測試計劃(測試分析員)
測試設計(測試設計人員)-方案設計 測試及測試用例設計 測試過程
樁模塊、驅動模塊設計
測試實施(測試設計員)-實現測試設計 單元測試(測試員)集成測試(測試員)系統測試(測試員)
評估測試(測試設計人員)
13.無向圖的相關定義:
連接性:節點ni、nj是連接的,當且僅當ni、nj在同一條路徑上。組件:圖的組件是相連節點的最大集合
圖G的圈復雜度V(G)=e-n+2p,其中e為G的邊數,n為節點數,p為組件數。14.圖覆蓋:給定一個關于圖G的準則C的測試需求集合TR,測試集合T在圖G上滿足準則C當且僅當對TR中每個測試需求tr,path(T)中至少存在一條測試路徑p滿足tr。
簡單路徑:如果從ni到nj的一條路徑中,除了始節點和終節點可以相同外,沒有任何節點出現次數多于一次,則該路徑為簡單路徑。
主路徑:如果從ni到nj是一條簡單路徑,并且它不作為任何其他簡單路徑的子路徑出現,則稱之為主路徑。
主路徑覆蓋(PPC)準則:TR包含圖中每一條主路徑。
指定路徑覆蓋(SPC):TR包含一個測試路徑集S,S為指定參數。15.白盒測試方法
白盒測試:根據被測對象的內部結構和運行機制來設計測試用例的方法,又稱為結構測試、邏輯驅動測試、覆蓋測試
被測對象的獨立路徑至少覆蓋一次; 所有邏輯取值測試[真、假]; 循環邊界測試;
檢查內部數據結構、邊界條件。16.黑盒測試方法
黑盒測試方法又稱功能測試方法、數據驅動測試方法,測試設計時不考慮被測對象的內部結構,以檢查系統功能(功能的正確、完整、邏輯流程、人機界面、文檔內容、系統安裝/初始化)
以被測對象的外部特征為測試依據。17.模糊測試方法
模糊測試方法:構造大量的隨機數據作為系統的輸入,從而檢驗系統在各種數據情況下是否出現問題。
18.增量測試:單元測試、調用依賴的模塊集成測試,逐步擴展直到形成整個軟件系統。
19.突擊測試:所有模塊一次性集成為一個完整的系統,然后進行完全測試。20.等價類劃分:
等價類劃分基于對輸入或輸出數據情況的評估,劃分成兩個或多個子集(等價類),然后從每個子集中選取一定的代表進行測試的測試用例設計方法。21.極限測試
極限編程:利用輕量、敏捷的開發過程,使開發人員能夠更快地完成應用程序的開發。強調頻繁測試、測試驅動的方式保證軟件質量。
極限測試:為滿足極限編程思想和過程而設計的一套測試策略和流程,原來的測試技術、方法均可以使用 22.配置項測試的內容
功能: 適合性
準確性:功能的準確與精度要求 互操作性:與外部設備、系統的接口 安全保密性:數據訪問的可控制性 可靠性: 成熟性:容錯處理、平均無故障時間
容錯性:邊界條件、功能、性能的降級情況、誤操作模式、故障模式 易恢復性:自動修復能力/時間、平均宕機時間、平均恢復時間、恢復能力等 易用性
易理解性:功能描述清晰、準確;界面含義精確
易學性:在線幫助、幫助定位、各類手冊的易學、易用 易操作性:數據的有效檢查、解釋信息明確、界面切換 吸引性:人機界面定制 效率
時間特性:響應時間、平均響應時間、響應極限時間、吞吐量、平均吞吐量、極限吞吐量,多任務并行測試
資源利用:大量并發任務下I/O設備利用、極限負載下I/O設備的負載、大量并發任務下用戶等待時間、內存使用情況、數據傳輸能力等
維護性
易分析性:運行狀態數據易分析 易變更性:軟件的可配置、修改能力 易測試性:變更之后的易測試情況 可移植性
適應性:不同軟件、硬件環境的適應能力 易安裝性:安裝、配置的復雜程度、難以程度 共存性:與其他軟件協同的能力 易替換性:版本的替換難以程度 依從性
以上所有特性遵循標準、規范的情況測試
23系統測試:系統非功能性測試,以檢驗系統在超常數據規模或負載下,線程、CPU、內存資源的利用和響應時間、數據傳輸等性能指標是否滿足要求
24.測試計劃
確定測試充分性要求:覆蓋范圍、覆蓋程度 確定測試終止要求; 確定測試所需資源; 確定測試的軟件特性; 確定測試技術、方法; 確定測試準出條件; 確定測試進度計劃; 測試風險分析。
25.測試設計:測試設計人員、測試程序員
測試用例設計:依據測試特性; 獲取測試數據;
確定測試順序:資源、被測特性; 獲取測試資源:軟硬件、工具; 編寫測試程序; 建立測試環境; 撰寫測試設計說明。
26.測試總結:
測試分析員-測試報告
總結測試計劃、測試說明的變化情況; 異常終止時測試未覆蓋范圍; 未能解決的測試問題; 總結測試結果(發現問題); 編寫測試報告;
根據問題報告、測試記錄,編寫測試問題報告。
27.軟件可靠性:在給定的運行時間內和給定的系統配置環境下,運行給定的軟件功能時所 表現出來的質量能力 28.系統性能指標
系統資源利用率:分析性能指標,改善性能系統行為指標 請求響應時間:一次請求完成時間
事務響應時間:一個事務所有請求完成的總時間
數據吞吐量:單位時間內服務器接收、發送的數據量。
29.驗收測試:用戶執行的、使用真實數據進行的測試,依據需求規格中的確認標準進行測試。回歸測試:驗證已測試過的內容不受變更影響,確認變更沒有引入新的錯誤。
30.α測試是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操 作環境下進行的測試。
Beta測試由軟件的最終用戶在一個或多個客戶場所進行,開發者通常不在Beta測試的現場。
31.WebApp測試關注的主要內容 Web內容測試 界面 構件
導航測試 安全性 性能
32.測試用例(Test Case)是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。
33.軟件生存期定義:從軟件產品設計到軟件被淘汰的時間段。又稱軟件生命周期、生存周期。進一步劃分為兩個階段:開發階段和維護階段(40%+60%)。
34.軟件安全定義:一種軟件質量保證活動,他主要用來識別和評估可能對軟件產生負面影響并促使整個系統失效的潛在災難。
35.軟件評審的目標在于:盡早發現軟件過程中的錯誤,防止錯誤傳遞、蔓延至后續活動,防止錯誤轉化為缺陷。36.V模型
優點:既有底層測試又有高層測試。底層:單元測試。高層:系統測試。
將開發階段清楚的表現出來,便于控制開發的過程。當所有階段都結束時,軟件開發就結束了。
缺點:容易讓人誤解為測試是在開發完成之后的一個階段。
由于它的順序性,當編碼完成之后,正式進入測試時,這時發現的一些bug可能不容易找到其根源。
實際中,由于需求變更較大,導致要重復變更需求、設計、編碼、測試,返工量大。37.W模型:
優點:
將測試貫穿到整個軟件生命周期中,且除了代碼要測試,需求、設計等都要測試。更早介入軟件開發中,能盡早發現缺陷并修復。
測試與開發獨立起來,并與開發并行。缺點:
對有些項目,開發過程中根本沒有文檔產生,故W模型無法使用。
對于需求和設計的測試技術要求很高,實踐起來很困難。
從N0中某節點開始到Nf中某節點結束的一條路徑稱為一條測試路徑。
1.軟件缺陷:(符合下列規則的叫軟件缺陷):
1).軟件未達到產品說明書的功能
2).軟件出現了產品說明書指明不會出現的錯誤
3).軟件功能超出產品說明書指明范圍
4).軟件未達到產品說明書雖未指出但應達到的目標
5).軟件測試員認為難以理解、不易使用、運行速度緩慢、或者最終用戶認為不好
2.單元測試:單元測試是對軟件設計的最小單元——模塊進行正確性檢驗的測試工作,主要測試模塊在語法、格式和邏輯上的錯誤。3.回歸測試
指軟件系統被修改或擴充(如系統功能增強或升級)后重新進行的測試,是為了保證對軟件所做的修改沒有引入新的錯誤而重復進行的測試。
4.等價類:指某個輸入域的子集合,在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的。