• <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-7-11 13:19 | 作者: 不詳 | 來源: 軟件工程專家網 | 查看: 50次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:測試方法 測試工具 解決方案
    隨著軟、硬件技術的發展,計算機的應用領域越來越廣,而其中軟件的功能也越來越強大,軟件也越來越復雜。這就使保證軟件的質量,保證軟件的高度可靠性,面臨巨大的挑戰。特別是諸如軍事、航空航天、通訊、交通醫療等行業,軟件的微小瑕疵就可能造成對生命安全、天文數字的巨額財產、甚至對國家安全嚴重威脅。


      因此,對軟件產品質量的度量、評估和保證,成了用戶和項目承攬公司都十分關注的問題;谶@些原因,國際上的標準化和認證組織已經制定出了一些軟件標準(在ISO-9001以及SEI CMM框架中)。對于軟件的開發過程即可通過這些標準進行約束和度量。 


      為了確保軟件的質量,達到軟件工程的度量標準,軟件測試是非常必要的。我們通過對國內外知名軟件提供商和系統集成商的調查了解,在軟件產品的測試方面均使用軟件工程中提出的兩種方法進行測試,即白盒和黑盒測試。白盒是已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否已經通過檢查。白盒測試又叫結構測試。黑盒是已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求,黑盒又叫做功能測試,它不僅應用于開發階段的測試,更重要的是在產品測試階段及維護階段必不可少。


      太平洋軟件(中國)有限公司(PTS)自1995年引進第一個測試工具以來,涉足測試領域已有多年,對當今流行的測試軟件、測試理論和方法都有深入的研究和理解,在此基礎上,開展了為用戶提供測試方法培訓和測試專業服務的業務。通過服務,我們力求能夠幫助用戶有效地、有步驟地調整其現有軟件生產過程,幫助企業通過ISO9001 認證,提高開發隊伍的CMM 等級,最終達到提高軟件產品質量,加強企業競爭力促進企業發展的目的。
    以下是PTS推出的測試方法和測試工具解決方案。


    一、 白盒測試的實施方案 

    在開發階段


      要保證產品的質量,產品的生產過程應該遵循一定的行業標準。軟件產品也是同樣,沒有標準可依自然談不上質量的好壞。所有關心軟件開發質量的組織、單位,都要定義或了解軟件的質量標準、模型。其好處是保證公司實踐的均勻性,產品的可維護性、可靠性以及可移植性等。

    在測試階段


      與軟件產品的開發過程一樣,測試過程也需要有一定的準則,來指導、度量、評價軟件測試過程的質量。


    定義測試準則


      為控制測試的有效性以及完成程度,必須定義準則和策略,以判斷何時結束測試階段。準則必須是客觀的,可量化的元素,而不能是經驗或感覺。 


      根據應用的準則和項目相關的約束,項目領導可以定義使用的度量方法,和要達到的覆蓋率。


    度量測試的有效性、完整性


      對每個測試的測試覆蓋信息和累計信息,用圖形方式顯示覆蓋比率,并根據測試運行情況實時更新,隨時顯示新的測試所反映的測試覆蓋情況。


      允許所有的測試運行依據其有效性進行管理,用戶可以減少不適用于非回歸測試的測試的過程。


    優化測試過程


      在測試階段的第一步,執行的測試是功能性測試。其目的是檢查所期望的功能是否已經實現。在測試的初期,覆蓋率迅速增加。象樣的測試工作一般能達到70%的覆蓋率。但是,此時要再提高覆蓋率是十分困難的,因為新的測試往往覆蓋了相同的測試路徑。在該階段需要對測試策略做一些改變:從功能性測試轉向結構化測試。也就是說,針對沒有執行過的路徑,構造適當的測試用例來覆蓋這些路徑。


      在測試期間,及時地調整測試策略,并檢查分析關鍵因素,以提高測試效率。

     

    圖表 1 測試過程中覆蓋率趨勢及策略的調整

    在維護階段


      有一點認識越來越為大多數人所認可:應用系統的維護費用與初始的開發費用基本相等,而在維護過程中,在對應用結構、邏輯、運行的理解上花費的時間,要用去50%的時間。


      由于系統維護人員很可能不是開發人員本人,再加上人員的流動、團隊內部的交流的不足,都需要對應用系統的理解。


    理解應用系統


      將應用系統的設計,以文件形式(部件文件間的關系)和調用圖的形式(函數和過程間的關系)可視化。


      函數的邏輯結構以控制流圖的形式顯示,在控制流圖上選定一個節點,即可得到相對應的代碼。


      應用系統可以在不同的抽象層上進行分析,不同層次間的導航關聯,促進對整體的理解。


      對應用按其資源的使用進行檢測,由此促進對函數之間(參數傳遞)的信息流、數據間的關系,以及其它資源的理解。


    安全地修改軟件


      維護軟件意味著修改軟件,修改后的程序確認需要大量的工作。因為,看起來很小的修改,都可能會滾雪球似的導致數十處甚至上百處的修改。這種后繼的修改需求,越早發現越好,最好是在編譯前就發現并做出修改,最壞的情況是在調試和非回歸測試期間發現。

    二、黑盒測試的實施方案


      傳統系統的編程語言和邏輯全是過程式的。這種邏輯順序只有當數據中的值引起不同的循環或控制順序改變時才會發生變化。


      客戶機/服務器和圖形用戶界面系統不是過程式的。它們是事件驅動的。這意味著計算機針對發生的事件執行相應的程序。這里的事件是指用戶采取的行為,象鍵盤活動,鼠標移動,鼠標擊鍵動作和按鍵的動作,都是事件的例子。因為事件發生的順序不能預先知道,事件驅動系統相對來說更難測試。開發人員不可能知道用戶下一次要選中哪個按鈕或菜單項。實際上,應用程序必須在任何時候對所有發生和可能發生的事件作好正確處理的準備。 


      另外,隨著RAD(快速應用開發方式)的引入,導致應用的實現速度很快,但這種方式也有它的不足。一個重要的缺點是項目規劃經常漏掉重要的測試階段。測試象在傳統開發項目中一樣,經常被忽視,并且給予很不現實的少量時間和資源。對于這一點,測試RAD方式下提交的應用并保證軟件質量是測試團隊的首要工作。


      黑盒測試在實施時又分為客戶端的測試和服務器端的性能測試?蛻舳说臏y試主要關注應用的業務邏輯,用戶界面,功能測試等;服務器端的測試主要關注服務器的性能,衡量系統的響應時間、事務處理速度和其他時間敏感的需求。在應用系統最終被交付之前保證這兩方面的測試沒有缺陷。 


      由于測試并不是進行一次就可以完成的個過程,而是需要根據產品版本的變化生成不同的測試過程,如果這一過程僅通過手工方式完成是很難達到的。需要通過工具的幫助,從而簡化測試的復雜程度,降低在測試成本上的開銷,縮短投放市場的時間。還有一個突出的特點就是應用程序的回歸測試,這是手工方式完成不了的過程,只有通過工具才能實施。而回歸測試在測試階段是很重要的過程,通過回歸測試可以發現很多隱含的缺陷和錯誤。


      在服務器端的測試主要以模擬合法用戶活動給系統的負載,負載測試的統計結果被用來預測用戶將體驗到的性能和響應時間。這都需要在客戶機/服務器系統發行之前都要進行的。

    三、相關工具


      在我們了解了測試所涉及的內容之后,測試方法和采用相對應的自動化測試工具是至關重要的。自動化的測試工具意味著在測試活動中減少相當部分開銷,真正的含義是它參加了測試的很大部分活動;同時,有些測試活動是靠手工方式難以實現,難以度量的。我們在對自動化的測試工具做成本效益分析時,應當考慮到項目的預期時間和人工消耗,一些測試用手工來做可能由幾個人需要幾個星期甚至更長時間來完成,而采用自動化的測試工具可能只需要幾個小時或者幾分鐘;象基于Client-Server的負載測試或者是基于Web系統的測試如果要用手工測試來完成是很困難和不現實的。所以,在測試活動中選擇自動化的測試工具是非常必要的。


      下面我們就相應工具進行簡要的介紹。

    1. 嵌入式軟件測試工具--LOGISCOPE


      LOGISCOPE 是一組嵌入式軟件測試工具集。它貫穿于軟件開發、代碼評審、單元/集成測試、系統測試、以及軟件維護階段。它面向源代碼進行工作。LOGISCOPE 針對編碼、測試和維護。因此,LOGISCOPE 的重點是幫助代碼評審(Review )和動態覆蓋測試(Testing )。


      LOGISCOPE對軟件的分析,采用基于國際間使用的度量方法(Halstead、McCabe等)的質量模型,以及從多家公司收集的編程規則集,可以從軟件的編程規則,靜態特征和動態測試覆蓋等多個方面,量化地定義質量模型,并檢查、評估軟件質量。 

      LOGISCOPE 在開發階段,查找可尋找潛在的錯誤。
      在代碼評審階段,LOGISCOPE 定位那些具有80%錯誤的程序模塊。
      通過對未被測試代碼的定位,LOGISCOPE 幫助找到隱藏在未測試代碼中的缺陷。
      項目領導和質量工程師用LOGISCOPE 定期地檢查整個軟件的質量。
      在各個階段用LOGISCOPE ,改進軟件工程的實踐,訓練程序員的編寫良好的代碼和測試活動,確保系統易于維護,減少風險。
      在有合同關系時,合同方可以用LOGISCOPE 明確定義驗收時質量等級和執行測試。承制方可以用LOGISCOPE 演示其軟件的質量。
      LOGISCOPE 獲取ISO/IEC9126 定義的"Quality Characteristics ";
      LOGISCOPE 為ISO-9001提供需求(test acceptance criteria and qulity records );
      LOGISCOPE 為開發者提供SEI/CMM在第2 級(Repeatable )所要求的軟件質量跟蹤等關鍵實踐的要求,推進開發組織盡快達到SEI/SMM 的3 級。

    1)LOGISCOPE 用于開發階段


    定義質量模型


      RuleChecker 預定義了50 個的編程規則:名稱約定(如:局部變量用小寫等);表示約定(如:每行一條指令); 限制(如:不能用GOTO 語句,不能修改循環體中的計數器等)。用戶可以從這些規則中選擇,也可以用Tcl 、腳本和編程語言定義新的規則。此外,還提供50 個面向安全-關鍵系統的編程規則。


      Audit 以ISO9126 模型作為質量評價模型的基礎。質量評價模型描述了從Halstend 、McCabe 的度量方法學和VERILOG 引入的質量方法學中的質量因素(可維護性、可重用性、等)和質量準則(可測試性、可讀性、等)。


      工程項目領導或質量管理人員可以根據準則、應用軟件的生存周期、合同需求等,挑選并采納適用于項目需求的質量模型。

    驗證、評審和改進代碼


      RuleChecker 用所選的規則對源代碼進行驗證。指出所有不符合編程規則的代碼,并提出改進源代碼的解釋和建議。RulrChecker 通過文本編輯器直接訪問源代碼并指出需要糾正的位置。


      Audit 將被評價的軟件與規定的質量模型進行比較,用圖形形式顯示軟件質量的級別,因此,質量人員可以把精力集中到需要修改的代碼部分。對度量元素和質量模型不一致的地方作出解釋并提出糾正的方法。

    2)LOGISCOPE 用于測試階段


    定義測試準則


      LOGISCOPE 推薦對指令(IB)、邏輯路徑(DDP)和調用路徑(PPP)的覆蓋測試。此外對安全-關鍵軟件還提供了MC/DC 的覆蓋測試。

    測試的有效性


      TestChecker 產生每個測試的測試覆蓋信息和累計信息。用直方圖顯示覆蓋比率,并根據測試運行情況實時在線更改。隨時顯示新的測試所反映的測試覆蓋情況。


      TestChecker 允許所有的測試運行依據其有效性進行管理。用戶可以減少那些用于非回歸測試的測試。

    測試的優化


      在測試階段的第一步,執行的測試是功能性(黑箱)測試。其目的是檢查所期望的功能是否已實現。在測試初期,覆蓋率會迅速增加。象樣的測試工作一般能達到70%的覆蓋率。但是,要提高此比率是十分困難的。主要是由于測試用例覆蓋了相同的測試路徑。這時,需要對測試策略做一些改變。執行結構化(白箱)測試,即,要檢測沒有執行過的邏輯路徑,定義新的測試用例覆蓋這些路徑。


      在執行測試期間,當測試策略改變時,綜合的運用TestChecker 檢測關鍵因素以提高效率。將TestChecker與Audit 配合使用能夠幫助用戶分析未測試的代碼。


      用戶可以顯示所關心的代碼,并通過對執行未覆蓋的路徑的觀察得到有關的信息。信息以圖形(控制流圖)和文本(偽代碼和源文件)的形式提交,并在其間建立導航關聯。


      TestChecker 管理系統聲明新的測試、生成有關文檔、定義啟動命令、以及自動執行的方法。

    3)LOGISCOPE 用于維護階段


      人們廣泛的認識到應用系統的維護費用與開發費用基本相等。經驗表明50%的軟件維


      護時間化在對結構、邏輯和運行的理解上。LOGISCOPE 可以大大的減少對未知系統的理解所需的時間。


      Audit 將應用系統的框架以文件形式(部件文件間的關系)和調用圖的形式(函數和過程間的關系)可視化。函數的邏輯結構以控制流圖的形式顯示。在控制流圖上選定一個節點,即可得到相對應的代碼?梢栽诓煌某橄髮由蠈孟到y進行分析,不同層次間的導航,促進對整體的理解。

    4)對嵌入式領域的支持


      LOGISCOPE 支持多種測試方式。特別是對嵌入式領域軟件的支持。


      眾所周知,嵌入式系統軟件的測試是最為困難的。因為,它的開發是用交叉編譯方式進行的。在目標機(Target)上,不可能有多余的空間記錄測試的信息。必須實時地將測試信息通過網線/串口傳到宿主機(Host)上,并實時在線地顯示。因此,對源代碼的插裝和目標機上的信息收集與回傳成為問題的關鍵。


      LOGISCOPE 很好地解決了這些技術,成為嵌入式領域測試工具的佼佼者。它支持各種實時操作系統(RTOS)上的應用程序的測試,也支持邏輯系統的測試。Logiscope 提供VxWorks 、pSOS 、VRTX 實時操作系統的測試庫。

    5)對航空/航天/國防/核電站領域的支持


      在航空/航天領域,安全是最關鍵的問題。因此,歐美的航空/航天制造廠商和使用單位聯合制定了RTCA/DO-178B。LOGISCOPE 通過對"Reviews and Analysis of the Source
    Code " 和"Structural Coverage Analysis "能夠使開發的軟件達到RTCA/DO-178B 標準的A 、B 、C 三個系統級。
    LOGISCOPE 是第一個提供MC/DC(Modified Condition/Decision Coverage)測試的工具。

    6)軟件文檔和測試文檔的自動生成


      Logiscope 提供了文檔自動生成工具。使用者可以將代碼評審的結果和動態測試情況實時生成所要求的文檔,這些文檔忠實地記錄代碼的情況和動態測試的結果。文檔的格式可以根據用戶的需要定制,如,GJB-438A。

      支持的主機平臺:
      UNIX:Sun OS/Solaris, HP 700 HP-UX, RS6000 AIX, Power PC, DEC UNIX;
      IBM Mainframe MVS環境;
      PC Windows/NT。
      支持的語言:C, C++, Ada, Java
      目標機環境:支持嵌入式實時操作系統VxWorks,PSOS,VRTX

    延伸閱讀

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

    TAG: 方案 工具


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