第一篇:微軟軟件測試質量體系最佳實踐培訓總結
微軟軟件測試質量體系最佳實踐培訓總結
一.培訓的總體情況
這2天培訓整體情況感覺挺好的。講師陸宏杰有豐富的軟件開發,軟件測試,團隊管理經驗。并且在自動化測試技術和測試管理方面積累了大量的實際項目的經驗。對于各種測試方法的重點,難點和實施技巧有深入的研究。在培訓的過程中充分體現出來。講師是提前收集了大家的問題,然后在講課的過程中穿插講解對這些問題的看法和解決辦法。
講課的內容很緊湊,講課比較有技巧,容易理解。特別是針對有管理經驗的測試人員。
培訓第一天主要圍繞如何對缺陷進行預防展開,提出開發,測試可以并行進行的想法,后又講解了缺陷的統計(性能,安全的柱形圖)大家一起分析,來體現缺陷統計對實際工作的推進作用。接著又講到站在測試的角度如何對項目產生影響和起到引導作用。需要測試推進,建立一套質量保證體系,使得項目按照既定的方向和標準前進。后面提到測試計劃,需要跟需求和設計嚴重相關,所以對于需求和設計的評審尤為重要。提到發布指標,是對開發和測試共同有效,2個角色應該站在項目效率的角度來考慮問題。提到測試用例的有效性(需要建立公共素材庫,提煉并自動化),提到白盒測試(需要有用程序讀程序的方式,前提是高質量的需求文檔,和設計文檔),等開發代碼寫完的同時,測試也完成了case的編寫(自動化程序),開發來執行case。培訓第二天主要圍繞測試度量體系的建立和測試方法和技巧,最后將了測試管理。測試度量體系構成要素,目前大部分企業缺的是高效的工作流程,數據統計和數據挖掘,缺陷追蹤體系,科學的測試管理。高效的工作流程需要工具來支撐。對測試用例的評判,可以通過需求覆蓋率,代碼覆蓋率來分析。測試用例執行率是項目執行情況的一個指標。他們有個bug driver的角色,開發經理,測試經理共同關注缺陷。對缺陷的等級,分類,和解決優先級進行評審和安排。測試人員驗證的詳細程度也是代表一個測試人員的功力。手動測試和自動測試的區別,手工測試需要精妙的測試思想,行業和領域專家,自動測試需要比較高的coding水平。手工測試和自動化測試相輔相成,手工測試的人員的思想沉淀,和指導作用,自動化測試人員把這些想法工具化。性能測試的重點,測試人員如何進行分析和定位。好的環境文化滋生出好的創新,但是也要讓員工保持積極的態度。需要員工去挖掘,創造,驅動一些可以改進效率事情。測試人員對多元的測試,測試是否存在hard code。并講了具體的實例來啟發大家。關于團隊的管理,提出對于員工的職業發展,應該是協助員工進行發展,協助員工思考自己的長處和優點,并給自己一個目標,想成為哪一方面的第一,例如性能測試第一,缺陷數第一,行業專家,安全專家,工具專家等。主要看個人的興趣。后又講了一個bug bash的競賽。測試的手段,內容不限,看哪個團隊能找出最多的缺陷,并評選出最嚴重bug,最酷bug,最有力度bug等。二.培訓對目前個人的影響 1.管理的認識
A.對團隊建設和員工管理的認識
目前自己對團隊建設的管理比較薄弱,后續將不斷改進工作。例如對于缺陷數每個月小于10個的員工進行談話。對員工的職業發展做協助,協助組員分析目前的興趣和想做哪方面的第一,也是物盡其用人盡其才的思想。對團隊氛圍的創造,希望創造一種積極向上的氣氛,關鍵自己也要實時抱持一種積極向上的狀態,對表現不佳的人員及時提出意見。同時對于溝通方式進行改進。
B.對流程管理的認識
目前的流程管理存在一定的弊端,例如缺陷的管理,無法真正起到缺陷跟蹤體系的作用。2.測試發展方向的認識
測試發展方向之前的認識也比較模糊,現在是認為只要能一起協助開發或需求來共同提高項目的效率,在這過程中對于每個出現的問題,大家覺得繁瑣的地方多進行思考,并用工具來改進效率,應該就是好的工作。關鍵是要做個有思想的執行者,而不管是做測試或者其他崗位。
3.對測試技術的擴充
理論知識并不完全可靠,但是理論知識要拿來靈活應用于實際的測試,例如可以用單元測試的思想來進行系統測試。所謂的黑盒,白盒,也都是純理論,針對工作應該是結合理論來形成一套自己的測試標準,而不管他應該叫什么。4.對測試管理的激情被激發
現在覺得測試管理要做的事情太多了,而且工作中需要改進的地方也很多,希望后續慢慢的改進,并提高整體測試人員的水平,通過給開發定位問題,甚至協助開發解決問題(雖然不是測試人員的職責,但是如果有能力在有時間的情況下可以進行),或者在需求評審和設計評審的時候能夠提供有效的意見等等。
三.通過培訓并根據項目組的具體情況,對目前的流程提出一些改進意見
1.可以把性能指標的收集進行推廣,實現常態化的進行。后續將陸續安排收集測試環境bssp請求腳本的編寫,和發起工具的編寫。并定期進行性能指標的收集分析。
2.開發在修改報告中需要體現各個分支的情況,循環的情況,條件的情況,有效路徑的情況。以便測試人員進行各個分支的測試用例的編寫。
3.目前項目組在需求分析和架構建設(新業務部分,大部分都是為了臨時滿足需求而在原先的代碼上改動的程序)這塊,還是比較弱。測試人員應該站在可測試和可維護性方面對需求和架構提出自己的建議。
4.對缺陷跟蹤系統的優化
A.對缺陷分類的改變,功能問題,性能問題,架構問題,擴展問題,可測性問題,安全問題。這樣可以對測試人員的測試方向做引導,而不僅僅是站在功能測試的角度進行。B.對缺陷流程的增加,項目經理,測試經理定期對缺陷的等級,解決優先級,缺陷類型進行評審。以便后序工作的安排和數據的有效性。對于未按期關閉的缺陷進行自動統計,并郵件通知。
5.后續考慮搭建一個獨立的build的環境,測試人員需要研究代碼的情況下,可以進行加入調試語句,以便進行分析和定位。這些代碼不入庫。目的僅僅是為了提高測試人員定位問題和分析問題的能力。并安排相關的培訓。不需要完全懂得怎么寫,只要知道調試信息怎么加,如何關聯查看代碼。
6.關于測試環境管理的工具化,這塊后續也將考慮,看下是否可以在統一部署工具中實現,抽取下需要展現的指標,在界面進行統計和管理。例如各個主機,各個程序目前的版本情況,各個主機的cpu,空間,內存情況查看。自動部署程序的研究等等。
第二篇:軟件配置管理最佳實踐
軟件配置管理最佳實踐
PMTeam雜志 Li Ben 編
現在大家都已經認識到了有效的軟件配置管理工作對于提高團隊開發效率、保障軟件產品質量的重要意義,很多朋友也開始了在配置管理實施方面的一些研究,市場上我們也可以看到一些軟件配置管理工具廠商針對具體配置管理工具提供的實施服務;但是,實施軟件配置管理到底應該做哪些東西?團隊的配置管理現狀怎么評估?在哪些方面還可以進行改進?我們相信,這些問題可能正困擾著大多數研發主管和項目經理。
國外軟件產業界在軟件配置管理這個專題上已經進行了多年的理論和實踐上的研究。在多年經驗積累的基礎上,產業界總結出來一系列“最佳實踐”(Best Practices),我們可以使用這些“最佳實踐”來作為評估一個組織軟件配置管理能力的標尺,也可以作為我們實施軟件配置管理的指南。這些“最佳實踐”包括:
1、標識需要進行存儲的工件(Artifact)并保障安全存儲;
2、控制并且審計(Audit)對于工件的修改;
3、設立并管理基線(Baseline);
4、記錄并跟蹤變更請求;
5、維護穩定、一致的工作空間;
6、支持對于工件和控件的并發修改;
7、盡早集成、持續集成;
8、保證軟件構建的重現能力;
9、以控件(Component)為單位實施版本控制;
10、使用“活動”(Activity)來組織和整合版本集。
下文將介紹前5條最佳實踐。
1、標識需要進行存儲的工件(Artifact)并保障安全存儲
在軟件開發過程中,我們會得到各種各樣的產出,比如各種文檔、模型、源代碼以及測試腳本等,我們把這些大家勞動的成果統稱為工件(Artifact)。對于一個軟件開發組織來說,這些工件就構成了組織的核心資產。對于如現金、有價證券之類的資產,我們都會準備一個保險箱,好好地保存;對于軟件資產,我們也需要相似的措施。所以,軟件配置管理工作的第一步就是建立一個安全、可靠的存儲庫(Repository),用于保存組織的核心軟件資產。這個庫對于開發團隊來說,就像是財務室里的保險箱。因此,容錯能力和高可靠性是這個庫最重要的屬性。除此之外,隨著
組織的增長,置于庫中的數據會越來越多,為保證運行效率,庫的可擴展性也是非常重要的一個屬性。
對于存儲庫來說,良好規劃的備份和災難恢復過程是必不可少的。令人驚訝的是,很多軟件組織在這方面都沒有給予必要的重視,因而也給組織的發展留下了嚴重的隱患,一旦災難發生,后果不堪設想。
在建立好存儲庫以后,需要做的工作就是確定將哪些工件置于庫中。根據實際需要,組織可能會決定只將正式文檔、模型文件、源代碼、發布版本等文件放入庫中,而對于臨時文檔、編譯時產生的中間文件等,則不將它們放入庫中。我們把放入庫中的文件稱之為配置項(Configuration Item)。
2、控制并且審計(Audit)對于工件的修改
在標識相關的工件并將它們置于存儲庫中以后,我們需要建立對于這些工件的修改控制機制以及審計機制。
庫里的工件不是誰想修改就可以修改的。控制機制必須保證只有拿到授權的人員才能對相關工件進行修改,而審計機制則保證修改的動作被完整地記錄,也就是說,誰修改了這個工件,什么時候做的修改,為什么原因做出這個改動,以及修改了哪些地方(Who、When、Why、What)。審計機制通常通過“檢出/檢入”(Check out/Check in)模式得到實現。在這種模式下,工件一旦入庫,讀寫權限就變成只讀(read only),如果要對該工件進行修改,則需要通過“檢出”這個步驟;在修改結束以后,如果希望將修改的成果入庫,則需要通過“檢入”這個步驟。在經過一次“檢出/檢入”步驟以后,會形成該工件新的版本,因此也有人把上邊的過程稱之為“版本控制”(Version Control)。在版本控制過程中,如果利用一些配置管理工具(或者版本控制工具)的支持,則可以自動地記錄審計工作所需的四個“W”(Who、When、Why、What)。
3、設立并管理基線
通過審計機制我們可以保存一個工件完整的變更歷史;但是一個項目通常是由成百上千個工件構成的,每個工件在變更過程中都會形成一系列的版本,如何確認系統在某個時刻分別由哪些工件的哪些版本構成?這就需要引入一個概念:配置(Configuration)。對于軟件系統來說,在開發過程中某個時刻存儲庫中所有工件的一個“快照”(snapshot),就形成一個“配置”。對于一些重要時刻的系統配置,我們可以使用基線(Baseline)來進行標志。
IEEE對于基線的定義是:已經通過正式復審和批準的某規約或產品,它因此可以作為進一步開發的基礎,并且只能通過正式的變更控制過程進行改變
簡單地說,基線就是項目儲存庫中每個工件版本在特定時期的一個“快照”。它提供一個正式標準,隨后的工作基于這個標準進行,并且只有經過授權后才能變更這個標準。建立一個初始基線后,以后每次對它進行的變更都將記錄為一個差值,直到建成下一個基線。
建立基線的主要原因是:重現能力、可追蹤性和報告能力。
重現能力是指返回并重新生成軟件系統給定發布版本的能力??勺粉櫺越㈨椖扛鞣N類型工件(需求、設計、實現、測試等)之間的橫行依賴關系,其目的在于確保設計滿足需求、代碼實施
設計以及使用正確代碼編譯生成可執行文件。報告能力來源于一個基線內容同另一個基線內容的比較,基線比較有助于程序調試并生成發布說明(Release notes)。
建立基線有以下幾個好處:
(1)基線為開發工件提供了一個定點和快照。新項目可以從基線提供的定點之中建立。
(2)當認為更新不穩定或不可信時,基線為團隊提供一種取消變更的方法。
(3)可以利用基線重新建立基于某個特定發布版本的配置,這樣也可以重現被報告的錯誤。在開發過程中,需要定期建立基線以確保團隊開發人員的工作保持同步,通常,在項目生命周期中的里程碑處定期建立基線。
4、記錄并跟蹤變更請求
以上我們談論的都是對于工件的變更活動的實施,下面我們要談到的是軟件配置管理的另一個方面:對于變更請求的管理。這是變更活動的源頭。
著名的軟件大師Brooks曾經談到導致軟件開發困難的一個原因就是軟件的可變性。大家都知道,各種要素,如市場的變化、技術的進步、客戶對于項目認識的深入等等,都可能導致軟件開發過程中的變更請求的提出,而且承認這種變更請求的合理性也已經是工業界的共識。
但是,如果缺乏對于變更請求的有效的管理能力,紛至沓來的變更就會成為開發團隊的噩夢。缺乏有效的變更請求管理會導致以下一些問題:
(1)軟件產品質量低下,對一些缺陷的修正被遺漏;
(2)項目經理不了解開發人員的工作進展,缺乏對項目現狀進行客觀評估的能力;
(3)開發人員不了解手頭工作的優先級別,可能出現將緊急的事情放在一邊、而工作在一般優先級任務上的情況。
變更請求管理的復雜程度與變更的具體類型有關。簡單地說,變更請求管理會涉及到變更請求的提交、變更請求的復審、變更任務分配、變更結果的驗證等一系列活動。通常,變更請求管理的流程是:由請求者提交變更請求,變更控制委員會(Change Control Board,CCB)召開CCB復審會議對變更請求進行復審,以確定該請求是否為有效請求。如果是,則基于項目團隊所確定的優先級、時間表、資源、變更難度、風險、嚴重性以及其他相關標準,判定對該變更的修改程序,并分配實施變更任務的人力資源和時間資源;變更任務實施人員負責實施該變更;實施結束以后提交驗證人員,由驗證人員負責對變更結果進行驗證,如果變更成功則通知相關人員,否則由變更實施人員返工。
典型的變更請求管理如需求變更管理、缺陷追蹤等。實施有效的變更請求管理有以下好處:
(1)提高軟件產品質量;
(2)提高開發團隊溝通效率;
(3)幫助項目管理人員對產品狀態進行客觀的評估。
關于變更請求管理的詳細過程以及相關準則PMT將在相關報告中闡述。
5、維護穩定、一致的工作空間
在我們把相關工件納入集中的存儲庫、大家也都遵照“檢出/檢入”的工作模式對工件進行修改以后,下一步的工作就是要為每位開發人員設定“私有”的工作區,或者叫做工作空間。
工作空間通常以特定的基線為基礎創建,要求能夠做到為指定的任務方便地取出正確的工作版本建立私有工作空間;開發人員根據項目要求在自己的私有空間中對工件進行修改和測試活動,而與其他開發人員相對保持隔離,也就是說,自己的修改活動不會受到他人的影響,也不會影響到其他開發人員。但是,在保持隔離的同時,又應該提供相應的機制,當開發人員希望共享工作成果的時候,能夠很方便地實現共享。
開發人員日常的開發工作都是在工作空間里進行的,因此,穩定性應該是工作空間首要的特性,只有高度穩定的工作空間才能保證開發人員的工作效率。
第三篇:軟件測試總結
1.軟件測試定義:由人工或自動方法來執行或評價系統或系統部分的過程,以驗證它是否滿足規定的需求,或識別出期望的結果和實際結果之間的差異。2.軟件測試的分類:
測試對象或范圍分類:需求評審、設計評審、單元測試、程序測試、系統
測試、文檔測試、Web應用測試、客戶端測試、數據庫測試等;
測試目的分類:集成測試、功能測試、壓力測試、性能測試等等; 靜態測試、動態測試; 白盒測試、黑盒測試。3.軟件測試的基本流程與原則
基本流程:
測試用例設計-輸入數據、預期結果; 測試執行-輸入數據執行被測對象; 檢查實際輸出與預期結果?;驹瓌t:
開始測試時認定軟件有錯,測試要證明有錯; 測試應該由獨立的測試團隊來完成; 測試設計必須設計對應的預期輸出;
要對合理、不合理(有效、無效)輸入數據都進行測試; 檢查軟件的完備性、多余; 完整保留測試文檔;
一個被測對象中有錯誤的概率與已發現錯誤的個數成正比。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 錯誤密度數值的含義:較?。óa品質量非常好或評審不夠徹底);較大(產品質量存在缺陷)
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系統測試:系統非功能性測試,以檢驗系統在超常數據規?;蜇撦d下,線程、CPU、內存資源的利用和響應時間、數據傳輸等性能指標是否滿足要求
24.測試計劃
確定測試充分性要求:覆蓋范圍、覆蓋程度 確定測試終止要求; 確定測試所需資源; 確定測試的軟件特性; 確定測試技術、方法; 確定測試準出條件; 確定測試進度計劃; 測試風險分析。
25.測試設計:測試設計人員、測試程序員
測試用例設計:依據測試特性; 獲取測試數據;
確定測試順序:資源、被測特性; 獲取測試資源:軟硬件、工具; 編寫測試程序; 建立測試環境; 撰寫測試設計說明。
26.測試總結:
測試分析員-測試報告
總結測試計劃、測試說明的變化情況; 異常終止時測試未覆蓋范圍; 未能解決的測試問題; 總結測試結果(發現問題); 編寫測試報告;
根據問題報告、測試記錄,編寫測試問題報告。
27.軟件可靠性:在給定的運行時間內和給定的系統配置環境下,運行給定的軟件功能時所 表現出來的質量能力 28.系統性能指標
系統資源利用率:分析性能指標,改善性能系統行為指標 請求響應時間:一次請求完成時間
事務響應時間:一個事務所有請求完成的總時間
數據吞吐量:單位時間內服務器接收、發送的數據量。
29.驗收測試:用戶執行的、使用真實數據進行的測試,依據需求規格中的確認標準進行測試?;貧w測試:驗證已測試過的內容不受變更影響,確認變更沒有引入新的錯誤。
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.等價類:指某個輸入域的子集合,在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的。
第四篇:軟件測試總結
面向對象程序的軟件測試方法
在軟件生命周期過程中,軟件測試是保證軟件質量的關鍵環節之一。面向對象方法學在軟件工程中的引入極大地方便了軟件的設計、開發和維護,為創建高可靠性的軟件系統提供了重要保證。但面向對象程序的封裝、繼承、多態和異常處理機制等新特性卻給測試帶來新的挑戰。一方面需要調整、改進傳統的測試策略和方法;另一方面探索出適應面向對象程序特征的測試理論與技術也尤為必要。
面向對象(Object Oriented,OO)是當前計算機界關心的重點,它是90年代軟件開發方法的主流。面向對象的概念和應用已超越了程序設計和軟件開發,擴展到很寬的范圍。如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網絡管理結構、CAD技術、人工智能等領域。
面向對象的定義或說明對象的定義的非常少。其初,“面向對象”是專指在程序設計中采用封裝、繼承、抽象等設計方法。可是,這個定義顯然不能再適合現在情況。面向對象的思想已經涉及到軟件開發的各個方面。如,面向對象的分析(OOA,Object Oriented Analysis),面向對象的設計(OOD,Object Oriented Design)、以及我們經常說的面向對象的編程實現(OOP,Object Oriented Programming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所采用的比較好的設計方法??催@些文章只有真正懂得什么是對象,什么是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。
1、面向對象的基本概念
(1)對象。
對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。
(2)對象的狀態和行為。
對象具有狀態,一個對象用數據值來描述它的狀態。
對象還有操作,用于改變對象的狀態,對象及其操作就是對象的行為。
對象實現了數據和操作的結合,使數據和操作封裝于對象的統一體中
(3)類。具有相同或相似性質的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。
類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。
類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。
(4)類的結構。
在客觀世界中有若干類,這些類之間有一定的結構關系。通常有兩種主要的結構關系,即一般--具體結構關系,整體--部分結構關系。
①一般——具體結構稱為分類結構,也可以說是“或”關系,或者是“is a”關系。
②整體——部分結構稱為組裝結構,它們之間的關系是一種“與”關系,或者是“has a”關系。
(5)消息和方法。
對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。發送一條消息至少要包括說明接受消息的對象名、發送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變量名,或者是所有對象都知道的全局變量名。
類中操作的實現過程叫做方法,一個方法有方法名、參數、方法體。消
2、面向對象的特征
(1)對象唯一性。
每個對象都有自身唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。
(2)分類性。
分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。
(3)繼承性。
繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,并加入若干新的內容。繼承性是面向對象程序設計語言不同于其它語言的最重要的特點,是其他語言所沒有的。
在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承。
在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承。
在軟件開發中,類的繼承性使所建立的軟件具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創建工作量,增加了代碼的可重性。
采用繼承性,提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟件的重用性。
(4)多態性(多形性)多態性使指相同的操作或函數、過程可作用于多種類型的對象上并獲得不同的結果。不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態性。
多態性允許每個對象以適合自身的方式去響應共同的消息。
多態性增強了軟件的靈活性和重用性。
面向對象方法的基本思想是一:面向對象方法是一種運用對象、類、封裝、繼承、多態和消息等概念來構造、測試、重構軟件的方法。
二: 面向對象方法是以認識論為基礎,用對象來理解和分析問題空間,并設計和開發出由對象構成的軟件系統(解空間)的方法。由于問題空間和解空間都是由對象組成的,這樣可以消除由于問題空間和求解空間結構上的不一致帶來的問題。簡言之,面向對象就是面向事情本身,面向對象的分析過程就是認識客觀世界的過程。
面向對象方法從對象出發,發展出對象,類,消息,繼承等概念。
面向對象方法的主要優點是:符合人們通常的思維方式;從分析到設計再到編碼采用一致的模型表示具有高度連續性;軟件重用性好。
面向對象軟件測試的特點是: 1.掌握代碼檢查、走查與評審的基本方法和技術; 2.掌握白盒測試和黑盒測試的測試用例的設計原則和方法; 3.掌握單元測試和集成測試的基本策略和方法;
4.了解系統測試、性能測試和可靠性測試的基本概念和方法; 5.了解面向對象軟件和WEB應用軟件測試的基本概念和方法; 6.掌握軟件測試過程管理的基本知識和管理方法; 7.熟悉軟件測試的標準和文檔;
8.掌握QESuite軟件測試過程管理平臺和QESat/C++軟件分析和工具的使用方法。
第五篇:惠普軟件測試培訓思想總結
惠普培訓思想總結(小白QZ University)
人生在勤 不索何獲
——記惠普學習有感
不知不覺的參加惠普培訓已經幾個月了?;仡^看看自己所走過的路,緊張的學習中,充實而快樂。因為我在這里找到了一條屬于自己的人生之路,找到了自信和成功的希望。誠然,一切都要靠自己去努力,但是,我不得不說,只有自己的努力是不夠的,還需要有人給你指明方向,創造平臺,所以在這里要感謝我們學院和惠普的老師們是你們給我指明了前進的方向和發展的平臺?;萜盏膶I講師教會了我很多的專業技術,幫我踏上軟件測試之路打下了堅實的基礎。在參加惠普培訓學習的這些日子里,我學到了很多實用的知識,不僅僅是計算機網絡所涉及到的各種理論專業知識,還有很多公司和企業的真實案例,讓我的專業技能、操作能力和實際動手能力都有很大的提高。同時在不斷的學習中,對自己也有了清晰的定位。
學習猶如人生的旅途,只要你用心去體會它,你便會發現它是如此的美妙而不可或缺。我衷心祝愿參加惠普培訓的所有學員,利用好現在的學習時間用心學好專業知識,打牢基礎,一定有大展身手、大放異彩的一天,愿你們也能夠在惠普騰飛,實現自己的夢想,開創出屬于自己的一片天空。
在這里總結了一些學習方法供以后想參加培訓的學弟學妹參考一下。
1.首先必須端正心態,這是非常重要的一點,心態決定一切。好的心態能讓你在學習中事半功倍。
2.“老師領進門,修行在個人”,我的感覺學到的學習方法比什么都重要。
3.勤能補拙,如果自己實在是不聰明,我愿意花更多的時間學習,讓自己變得聰明起來
4.課前預習。要做到課前帶著問題去聽課,對于自己不能理解的問題及時請教同學、老師或者上網查資料,及時解決,決不拖到下次上課。
5.課后復習。利用業余時間查閱相關的工具書,拓展自己的知識面。6 認真完成老師布置的作業。因為那都是最有針對性和側重點的,比起自己找重點更明了、更能一針見血的說明問題的本質。
7.學習是一件苦差事,任何事情不付出努力是不會收獲結果的,學好軟件測試要付出更多的努力。
因為測試的工作涉及的知識面比較廣,只有學習的基石打牢了,以后做起測試工作才能夠得心應手。除了掌握測試的技巧,只有自己全身心地投入到測試工作中來,并不斷對它保持著學習的熱情,才能真正成為一個合格的測試人。
課程介紹:在這幾個月中,惠普公司委派了優秀的講師給我們上課,堂堂課老師都用理論聯系實踐,講了大量的案例,精彩之極。到目前為止我們學習了ETM,ITIL,QC,以及QTP,這些都是我們在學校里學不到的,就這些課程我簡單的說說我的體會:
ETM:企業測試方法論,在這一門課中,我們學習了做測試的基本理論,在做一個測試軟件時,首先要計劃,分析需求,然后給客戶提出設計方案,開發,執行測試,最后維護,計劃階段越詳細越好特別是寫tset case時。當然使用ETM還有很多其他的好處。
ITIL:IT基礎構架庫,在這里其中包括三個板塊:服務管理平臺,服務支持,客戶付費機構。ITIL它提供了一個指導性框架,這個框架可以保留組織現有IT管理方法中的合理部分,同時增加必要的技術,并且方便了各種IT職能間的溝通和協調。
QC:質量管理中心,這是基于wed平臺的測試管理工具,包括一些測試資產等組成。QC由發布,需求,測試計劃用例,執行測試和缺陷跟蹤主要組成部分。我認為,隨著軟件測試越來越重要,一個良好的測試管理工具對于軟件測試也會非常重要。
QTP:是一種自動測試工具。使用QTP的目的是想用它來執行重復的手動測試,主要是用于回歸測試和測試同一版軟件的新版本。使用QTP可以大大的提高工作效率,節省時間,以及其他的價值。
在學這幾門課中,我們還做了不少的案例,在做這些案例中,我也學會了很多:
一.要主動的去學習,特別是要會學,自己在課余的時間多操作
二.積極的態度,態度要端正,學習才有目標
三.團隊精神,工作不只是一個人的時期,往往都是一個團隊完成一個項
目,在工作的過程中去保持和其他人員的交流和溝通時非常重要的。