无码人妻A片一区二区三区_18禁裸乳无遮挡啪啪无码免费_91精品亚?影视在线?看_人人妻人人爽人人澡AV_国产精品人妻一区二区三区四区_午夜免费影视

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 軟件研發 > 【中培課堂】軟件測試簡介

【中培課堂】軟件測試簡介

2015-11-08 21:29:27 | 來源:中培企業IT培訓網

軟件測試是使用人工操作或者軟件自動運行的方式來檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別的過程。
  它是幫助識別開發完成(中間或最終的版本)的計算機軟件(整體或部分)的正確度(correctness) 、完全度(completeness)和質量(quality)的軟件過程;是SQA(software quality assurance)的重要子域。
Glenford J.Myers曾對軟件測試的目的提出過以下觀點:
  (1)測試是為了發現程序中的錯誤而執行程序的過程。
  (2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案。
  (3)成功的測試是發現了至今為止尚未發現的錯誤的測試。
  (4)測試并不僅僅是為了找出錯誤。通過分析錯誤產生的原因和錯誤的發生趨勢,可以幫助項目管理者發現當前軟件開發過程中的缺陷,以便及時改進。
  (5)這種分析也能幫助測試人員設計出有針對性的測試方法,改善測試的效率和有效性。
  (6)沒有發現錯誤的測試也是有價值的,完整的測試是評定軟件質量的一種方法。
  (7)另外,根據測試目的的不同,還有回歸測試、壓力測試、性能測試等,分別為了檢驗修改或優化過程是否引發新的問題、軟件所能達到處理能力和是否達到預期的處理能力等。
測試原則
  1. 測試應該盡早進行,最好在需求階段就開始介入,因為最嚴重的錯誤不外乎是系統不能滿足用戶的需求。
  2. 程序員應該避免檢查自己的程序,軟件測試應該由第三方來負責。
  3. 設計測試用例時應考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下要制造極端狀態和意外狀態,如網絡異常中斷、電源斷電等。
  4. 應該充分注意測試中的群集現象。
  5. 對錯誤結果要進行一個確認過程。一般由A測試出來的錯誤,一定要由B來確認。嚴重的錯誤可以召開評審會議進行討論和分析,對測試結果要進行嚴格地確認,是否真的存在這個問題以及嚴重程度等。
  6. 制定嚴格的測試計劃。一定要制定測試計劃,并且要有指導性。測試時間安排盡量寬松,不要希望在極短的時間內完成一個高水平的測試。
  7. 妥善保存測試計劃、測試用例、出錯統計和最終分析報告,為維護提供方便。
測試目標
  1. 發現一些可以通過測試避免的開發風險。
  2. 實施測試來降低所發現的風險。
  3. 確定測試何時可以結束。
  4. 在開發項目的過程中將測試看作是一個標準項目。
測試過程
  1. 對要執行測試的產品/項目進行分析,確定測試策略,制定測試計劃。該計劃被審核批準后轉向第二步。測試工作啟動前一定要確定正確的測試策略和指導方針,這些是后期開展工作的基礎。只有將本次的測試目標和要求分析清楚,才能決定測試資源的投入。
  2. 設計測試用例。設計測試用例要根據測試需求和測試策略來進行,進度壓力不大時,應該設計的詳細,如果進度、成本壓力較大,則應該保證測試用例覆蓋到關鍵性的測試需求。該用例被批準后轉向第三步。
  3. 如果滿足“啟動準則”(EntryCriteria),那么執行測試。執行測試主要是搭建測試環境,執行測試用例。執行測試時要進行進度控制、項目協調等工作。
  4. 提交缺陷。這里要進行缺陷審核和驗證等工作。
  5. 消除軟件缺陷。通常情況下,開發經理需要審核缺陷,并進行缺陷分配。程序員修改自己負責的缺陷。在程序員修改完成后,進入到回歸測試階段。如果滿足“完成準則”(ExitCriteria),那么正常結束測試。
  6. 撰寫測試報告。對測試進行分析,總結本次的經驗教訓,在下一次的工作中改。
  軟件測試過程管理,主要包括軟件測試是什么樣的過程,如何評價一個軟件測試過程,如何進行配置管理和測試風險分析以及測試成本的管理。
心理依據
  人類行為具有高度目標性,確立一個正確的目標有著重要的心理學影響。軟件測試的心理學問題就是如何擺正測試的兩個目標的關系,使得測試活動更加富有成效。
  一、程序測試的過程具有破壞性
  每當測試一個程序時,人們總希望為程序增加一些價值。利用測試來增加程序的價值,是指通過測試,找出并修改盡可能多的程序缺陷,從而提高程序的可靠性或質量。
  因此,不要只是為了證明程序能夠正確運行而去測試程序。相反,應該一開始就假設程序中隱藏著錯誤(這種假設幾乎對所有的程序都成立),然后測試程序,發現盡可能多的錯誤。
  事實上,如果把測試目標定位于要證明程序中沒有缺陷,那么就會在潛意識中傾向于實現這個目標。也就是說,測試人員會傾向于挑選那些使程序失效的可能性較小的測試數據。另一方面,如果把測試目標定位于要證明程序中存在缺陷,那么就會選擇一些容易發現程序缺陷的測試數據。而后一種態度會比前者給程序增加更多的價值。
  事實上,如果在測試某個程序段時發現了可以糾正的缺陷,或者測試最終確定再沒有其他缺陷,則應將這次合理設計并得到有效執行的測試稱作是“成功的”。而所謂“不成功的”測試,僅指未能適當地對程序進行檢查,未能找出程序中潛藏缺陷的測試。
      軟件測試就是證明軟件不存在錯誤的過程。對幾乎所有的程序而言,甚至是非常小的程序,這個目標實際上是無法達到的。因為即使程序完全實現預期要求,仍可能包含有缺陷。也就是說,如果程序不按要求工作,它顯然有缺陷,但如果程序做了不要它做的事,它也有缺陷。
  心理學研究告訴我們,當人們在干一件已經知道是不合適的或不可能做到的事時,往往他們的表現就相當糟糕。把程序測試定義為在程序中找出錯誤的過程,就使測試成了可以做到的任務,從而克服了心理上存在的問題。雖然這看起來像是個微妙的文字游戲,但對成功地進行軟件測試有很大的影響。
  總之,軟件測試更適宜被視為試圖發現程序中錯誤(假設其存在)的破壞性的過程。一個成功的測試,通過誘發程序發生錯誤,可以在這個方向上促進軟件質量的改進。當然最終人們還是要通過軟件測試來建立某種程度的信心:軟件做了其應該做的,而沒有做其不應該做的。
  二、 程序員應避免測試自己的程序
  由開發人員來測試自己的代碼是一件很不妥當的事情。開發和測試生來就是不同的活動。開發是創造或者建立某種事物的行為,如一個功能模塊或整個系統。而測試的重要目的是證實一個模塊或者一個系統工作不正常。這兩個活動之間有著本質的矛盾。一個人不太可能把兩個截然對立的角色都扮演地很好,因此應當限制開發人員在測試中的參與,給他們比較合適的任務是進行最底層的測試--單元測試。
  當一個程序員完成了設計與編寫程序的建設性工作后,要一夜之間突然改變他的觀點,設法對程序形成一個完全否定的態度,那是非常困難的。所以,大部分程序員都由于不能使自己進入必要的精神狀態(不是抱著要揭露出自己程序中錯誤的態度),就不能有效的測試自己的程序。除了這個心理學問題之外,還有一個重要的問題:程序中可能包含由于程序員對問題的敘述或說明的誤解而產生了錯誤。如果是這種情況,當程序員測試自己的程序時,往往還會帶著同樣的誤解致使問題難以發現。
  三、程序設計組織不應測試自己的程序
  在宏觀意義上,一個程序設計組織或一個工程項目是個有生命的有機體,它同樣有心理學問題。在大多數情況下,人們都以“在給定日期內,以一定代價完成程序編制任務的能力”來衡量程序設計組織和項目管理人員的。這樣做的理由是時間和成本指標便于衡量,而程序的質量很難度量。要程序設計組織在測試自己的程序時持客觀態度是很困難的,因為如果用正確的定義看待測試,就不大可能按預定計劃完成測試,也不大可能把耗費的代價限制在要求的范圍以內。
  軟件生產的三個最重要的因素是:質量、進度和費用。由于費用和進度的限制,要開發一種高質量、快速交付和低成本的軟件產品并不容易。也就是說要同時達到三個目標是困難的。因此在軟件產品的開發中要權衡它們之間的關系,使軟件的特性能滿足用戶的要求,這意味著軟件產品的特性的度量和預計是必要的。
  軟件測試由獨立測試機構承擔有很多好處。獨立測試是指軟件測試工作由在經濟上和管理上獨立于開發機構的組織進行。獨立測試可以避免軟件開發者測試自己開發的軟件,由于心理學上的問題,軟件開發者難以客觀、有效的測試自己的軟件,要找出那些因為對問題的誤解而產生的錯誤就更加困難。獨立測試還可以避免軟件開發機構測試自己的軟件,軟件產品的開發過程受到時間、成本和質量三者的制約,在軟件開發的過程中,當時間、成本和質量三者發生矛盾時,質量最容易被忽視,如果測試組織與開發組織來自相同的機構,測試過程就會面臨來自于開發組織同一來源的管理方面的壓力,使測試過程受到干擾。
  客觀性--對軟件測試和軟件中的錯誤抱著客觀的態度,這種客觀的態度可以解決測試中的心理學問題,既能以揭露軟件中錯誤的態度工作,也能不受發現的錯誤的影響。經濟上的獨立性使測試有更充分的條件按測試要求去完成。
  專業性--獨立測試作為一種專業工作,在長期的工作過程中勢必能夠積累大量實踐經驗,形成自己的專業知識。同時軟件測試也是技術含量很高的工作,需要有專業隊伍加以研究,并進行工程實踐。專業化分工是提高測試水平、保證測試質量、充分發揮測試效應的必然途徑。
  權威性--由于專業優勢,獨立測試工作形成的測試結果更具信服力,而測試結果常常和對軟件的質量評價聯系在一起,專業化的獨立測試機構的評價,更客觀、公正和具有權威性。
  資源有保證--獨立測試機構的主要任務是進行獨立測試工作,這使得測試工作在經費、人力和計劃方面更有保證,不會因為開發的壓力減少對測試的投入,降低測試的有效性可以避免開發單位側重軟件開發而對測試工作產生不利的影響。

標簽: 軟件測試
主站蜘蛛池模板: 人妻av资源先锋影音av资源 | 成人影院网站ww555久久精品 | 亚洲最新无码成AV人 | 国产日产一区二区三区四区五区 | 56精品视频在线播放免费观看 | 美女黄频视频大全免费的 | 久久久久久久毛片 | 久久香蕉影视 | 国内三级视频在线观看 | 蜜乳av一区二区 | 欧美性xxxx在线播放 | 久久久久久九九九九九 | 国产精品激情欧美可乐视频 | 日本丰满少妇无码AⅤ波多 视色视频在线观看 | 国产成人精品国内自产拍 | 国精品无码一区二区三区左线 | 国产欧美一区在线观看 | 欧美+日本+国产+在线观看 | 最近的最新的中文字幕视频 | 欧美综合在线观看 | 无码人妻精品中文字幕不卡 | 久久伊人免费 | 国产69视频在线观看 | 国产精品一区二区福利视频 | 成人在线观看中文字幕 | 国产综合视频在线 | 日韩超碰人人爽人人做人人添 | 铠甲勇士第一部免费 | 黄色的视频免费观看 | 天天射日日干 | 精品国产自线午夜福利 | 久久中文骚妇内射 | 亚洲剧场午夜在线观看 | 麻豆一区二区大豆行情 | 69福利网| 欧美特级黄色片 | 亚洲黄网在线 | 丁香五月婷激情综合第九色 | 中文字幕av网站 | 久久亚洲色WWW成人欧美 | 成人精品999 |