• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    什么是軟件測試?

    發布: 2008-6-11 11:43 | 作者: 朱少民 | 來源: 轉載 | 查看: 880次 | 進入軟件測試論壇討論

    領測軟件測試網

    3.軟件測試的風險論

      測試被定義為“對軟件系統中潛在的各種風險進行評估的活動”,這就是軟件測試的風險論。軟件測試自身的風險性是大家公認的,測試的覆蓋度不能做到100%。測試的這種風險定義一方面源于這層含義,另外軟件測試的標準有時不清楚,“軟件規格說明書(Specification/ Spec)”是其中的一個標準,但也不是唯一的,因為Spec中有些內容完全有可能是錯誤的。所以,我們常常強調軟件測試人員應該站在客戶的角度去進行測試,除了發現程序中的錯誤,還要發現需求定義的錯誤、設計上的缺陷,可以針對Spec 去報Bug。但是,測試在大多數時間/情況下,是由工程師完成,而不是客戶自己來做,所以又怎么能保證工程師和客戶想得一樣呢?

      有人把開發比作打靶,目標明確,就是按照Spec 去實現系統的功能。而把測試比作撈魚,目標不明確,自己判斷哪些地方魚多,就去哪些地方撈;如果只撈大魚(嚴重缺陷),網眼就可以大些、撒網區域相對比較集中(測試點集中在主要功能-major features)。如果想把大大小小的魚撈上來,網眼就要小、普遍撒網,不放過任何一塊區域(測試點遍及所有功能——all features)。

      在“風險”論的框架下,軟件測試可以被看作是一個動態的監控過程,對軟件開發全過程進行檢測,隨時發現不健康的征兆,發現問題、報告問題,并重新評估新的風險,設置新的監控基準,不斷地持續下去,包括回歸測試。這時,軟件測試可以完全看作是軟件質量控制的過程。

      對應這種觀點,產生基于風險的測試策略,首先評估測試的風險,功能出問題的概率有多大?哪些是用戶最常用的20%功能——Pareto原則(也叫80/20原則)?如果某個功能出問題,其對用戶的影響有多大?然后根據風險大小確定測試的優先級。優先級高的測試,優先得到執行,一般來講,針對用戶最常用的20%功能(優先級高)的測試會得到完全執行,而低優先級的測試(另外用戶不經常用的80%功能)就不是必要的,如果時間或經費不夠,就暫時不做或少做。

      4.軟件測試的經濟學觀點

      “一個好的測試用例是在于它能發現至今未發現的錯誤”,體現了軟件測試的經濟學觀點。實際上,軟件測試經濟學問題至今仍是業界關注的問題之一。經濟學的核心就是要盈利,盈利的基礎就是要有一個清楚的商業性目標。同樣,商業性目標是否正確,直接決定了企業是否盈利的結果。多數情況下,軟件測試是在公司內的執行。正是公司的行為目的,決定了軟件測試含義或定義的經濟性一面。正如,對軟件質量的定義不僅僅局陷于“和客戶需求的一致性、適用性”,而且要增加其它的要求——“預算內、按時發布、易于維護”。

      軟件測試也一樣,要盡快盡早地發現更多的缺陷,并督促和幫助開發人員修正缺陷。原因很簡單:平均而言,如果在需求階段修正一個錯誤的代價是1,那么,在設計階段就是它的3~6倍,在編程階段是它的10倍,在內部測試階段是它的20~40倍,在外部測試階段是它的30~70倍,而到了產品發布出去時,這個數字就是 40~ 1000倍。修正錯誤的代價不是隨時間線性增長,而幾乎是呈指數級增長的。

      5. 軟件測試的標準論

      如果從標準論來看軟件測試,可以定義為軟件測試就是“驗證(Verification)”和“有效性確認(Validation)”活動構成的整體,即軟件測試 = V&V。

      “驗證”是檢驗軟件是否已正確地實現了產品規格書所定義的系統功能和特性。驗證過程提供證據表明軟件相關產品與所有生命周期活動的要求(如正確性、完整性、一致性、準確性等)相一致。相當于,以Spec為標準進行軟件測試活動,驗證軟件產品和Spec的一致性。

      “有效性確認”是確認所開發的軟件是否滿足用戶真正需求的活動。相當于,保持對軟件需求定義、設計的懷疑,一切從客戶出發,理解客戶的需求,發現需求定義和產品設計中的問題。這主要通過各種軟件評審活動來實現。

      需要說明的是,軟件測試的對象是產品(包括階段性產品,如市場需求說明書、產品規格說明書、技術設計文檔、數據字典、程序包、用戶文檔等),而質量保證和管理的對象集中在軟件開發的標準、流程和方法等。

      究竟什么是軟件測試呢?綜上所述,軟件測試的定義為:

      軟件測試是貫穿整個軟件開發生命周期、對軟件產品(包括階段性產品)進行驗證和確認的活動過程,其目的是盡快盡早地發現在軟件產品中所存在的各種問題——與用戶需求、預先定義的不一致性。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>