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

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

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

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

    面向對象軟件的測試

    發布: 2010-6-23 10:37 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 121次 | 進入軟件測試論壇討論

    領測軟件測試網

      在面向對象程序中,類成員函數通常都很小,功能單一,函數的間調用頻繁,容易出現一些不宜發現的錯誤。例如:

      · if (-1==write (fid, buffer, amount)) error_out();

      該語句沒有全面檢查write()的返回值,無意中斷然假設了只有數據被完全寫入和沒有寫入兩種情況。當測試也忽略了數據部分寫入的情況,就給程序遺留了隱患。

      · 按程序的設計,使用函數strrchr()查找最后的匹配字符,但誤程序中寫成了函數strchr(),使程序功能實現時查找的是第一個匹配字符。

      · 程序中將if (strncmp(str1,str2,strlen(str1)))誤寫成了

      if (strncmp(str1,str2,strlen(str2)))。如果測試用例中使用的數據str1和str2長度一樣,就無法檢測出。

      因此,在做測試分析和設計測試用例時,應該注意面向對象程序的這個特點,仔細的進行測試分析和設計測試用例,尤其是針對以函數返回值作為條件判斷選擇,字符串操作等情況。

      面向對象編程的特性使得對成員函數的測試,又不完全等同于傳統的函數或過程測試。尤其是繼承特性和多態特性,使子類繼承或過載的父類成員函數出現了傳統測試中未遇見的問題。在[7]中,Brian Marick 給出了二方面的考慮:

      1. 繼承的成員函數是否都不需要測試?

      根據[7]中的論述,對父類中已經測試過的成員函數,兩種情況需要在子類中重新測試:a)繼承的成員函數在子類中做了改動;b)成員函數調用了改動過的成員函數的部分。例如:

      假設父類Bass有兩個成員函數:Inherited()和Redefined(),子類Derived只對Redefined()做了改動!  erived::Redefined()顯然需要重新測試。對于Derived::Inherited(),如果它有調用Redefined()的語句(如:x=x/Redefined()),就需要重新測試,反之,無此必要。

    延伸閱讀

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


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>