999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

初探軟件測試和軟件設計

2013-04-29 00:00:00周春蓮
科海故事博覽·科教論壇 2013年5期

摘要:軟件測試是軟件工程中非常重要的一個環節,是保證軟件質量的重要手段。本文從軟件設計角度出發,提出如何在軟件設計中就考慮易測試性,使得軟件更易維護和修改,并針對軟件設計和測試的現狀和特點,提出提高軟件易測試性和易維護性的一些建議,以達到軟件復用的目的。

關鍵字:軟件設計 軟件測試 結合

從軟件的生存周期看,軟件測試往往是在軟件開發完成后對程序執行結果的測試。這樣做可以使被測對象明確,測試的可操作性相對較強。但是,測試的依據是需求說明書、設計文檔和使用說明書。如果設計有錯誤,測試的質量就難以保證了。即使測試后發現是設計的錯誤,此時修改的代價也非常大了。因此,較理想的做法是在軟件的開發過程中,從軟件工程設計的各個階段就做好測試的準備,將可測試性融入軟件設計中。

一、軟件測試方法和流程

軟件測試方法和技術根據不同角度的分類主要有以下幾種:從是否針對系統內;部結構和具體算法實現可分為白盒法測試和黑盒法測試兩類;從軟件工程開發周期角度可將測試過程分為單元測試、集成測試、確認測試和系統測試。另外,還有基于C/S系統的測試、基于實時系統的測試和面向對象系統的測試。

1、黑盒測試又稱功能測試、數據驅動測試或基于規格說明的測試,是在完全不考慮程序內部結構和內部特性的情況下檢查輸入與輸出之間關系是否符合要求。白盒測試又稱結構測試、邏輯驅動測試或基于程序的測試,是在已知程序內部結構的情況下設計測試用例的測試方法。顯然,白盒測試適合在單元測試中運用,而在獨立測試階段多采用黑盒測試方法。

2、單元測試是對軟件設計的最小單位——軟件模塊進行五個方面的測試,包括模塊接口測試、模塊局部數據結構測試、模塊邊界條件測試、模塊中所有獨立執行通路測試和模塊的各條錯誤處理通路測試。單元測試主要用白盒測試結合采用黑盒測試技術,它的基本原則是:“至少測試一次所有語句,測試所有執行盒邏輯路徑的組合,測試每個模塊的所有入口和出口。集成測試又稱組裝測試,是將軟件模塊集成在一起的過程。從集成方式上又分為非漸增式集成測試和漸增式集成測試。非漸增式測試是將所有軟件模塊統一集成后才進行整體測試。這種方法容易發生混亂,判定出錯原因和位置也很困難,一般不宜采用。漸增式集成測試先選擇一個基準測試模塊,然后逐漸將與該模塊相關的模塊逐個加入,一邊加入一邊測試直至所有軟件模塊加入為止。該方法對錯誤定位和糾正較容易,也是主要的集成測試的方法。系統測試是為了保證系統能在一定的硬件和軟件環境下正常運行。系統測試的測試類型主要有功能測試、恢復測試、安全性測試、強度測試和性能測試。

3、基于C/S系統的測試有三種不同的層次:(1)不考慮服務器和底層網絡,只對客戶端進行測試;(2)客戶端和關聯的服務器被一起測試,不明顯考慮網絡;(3)完整的C/S系統結構的測試。C/S常用的測試方法還有客戶端應用功能測試、服務器測試、數據庫測試、事務測試和網絡通信測試。基于實時系統的測試有任務測試、行為測試、任務間測試和系統測試。

4、面向對象的軟件分三個階段進行測試:測試單個對象類、面向對象集成測試和面向對象系統測試。測試單個對象是將封裝的類或者對象作為最小的可測試單元,一般采用白盒法將語句至少執行一遍。面向對象的集成測試也稱測試對象集群,主要采用三種集成策略:基于使用的測試、基于線程的測試和基于對象的交互測試。面向對象的系統測試與面向過程的系統測試類似,區別主要是測試用例來源于場景。

二、軟件測試和軟件設計相結合

目前,軟件的測試更多是在軟件設計之后。如果我們借鑒一下硬件的測試技術,即在繼承電路上增加額外的引腳,通過這些引腳能夠在測試時探測繼承電路的內部,提高了可控制性和可觀察性,我們就會發現軟件的測試設計應該是在軟件的設計和編碼中就考慮的問題。在不增加或者少增加軟件復雜度的基礎上,將測試設計融入設計和編碼中,將測試成熟的部分加以封裝構成一個個構件,對其出口標明其運行的要求環境,以確保它在新的環境中工作正常,這樣就可以大大節約開發和維護的費用。從構件測試的內容可分為構件內部實現細節的測試、構件接口的測試和構件組裝的測試;從測試者與構件的關系可分為構件開發者的測試(擁有構件的源代碼)、構件復用者和第三方的測試(沒有源代碼;從測試過程中采用的技術手段可分為基于變異測試的方法、基于構件狀態機的方法、對構件的回歸測試以及構件的易測試性設計等。

我們可以針對現在已經做的測試對軟件的開發設計加入測試標量,使得測試更加方便易行。針對軟件測試的多種方法和軟件自身的特點,在軟件設計和編碼階段就將其體現在設計和編碼中。在針對結構的測試中,至于設計結構就可以對其主要的運行結構路徑設定標量;在軟件的單元測試、集成測試、確認測試和系統測試前的設計過程中,對其實現的功能進行標準化;另外,針對基于C/S系統的測試、基于實時系統的測試和面向對象系統的測試,我們可以借助網絡制定一個標準協議。這相當于黑盒測試可以獲得規約卻不能得到設計或源代碼,對其輸入和輸出的依賴關系、調用順序、層次功能描述和并發順序進行規范,以及其他特別要求。

可以想象,在不久的將來,由于軟件開發與測試的有效結合,我們的構件復用將得到充分推廣。我們可以像升級和開發我們的硬件產品一樣避免錯誤的牽制。當然,這除了需要設計和測試技術的發展,還需要軟件行業制定一定的標準和規范,使得構件可以對其執行環境和使用模式進行有準備預測,通過對構件的調用觀察執行結構,判斷構件行為是否正確。當然,這也會產生問題:在測試使用過程中無法檢查執行過程中構件的內部狀態,使得在構件執行中的一些故障被隱藏。這對構件的復用和推廣提出了挑戰。

三、總結

現有的軟件測試技術需要不斷改進,加速將高效的軟件測試產品投入到軟件開發的過程中。軟件測試目前已有向軟件開發的前期發展的趨勢,具有與軟件開發和設計編碼階段向結合的特點。開發具有自測能力的基于構件的開發方法將給軟件測試注入新的生命。可以預見,以后軟件的易測試性將作為衡量軟件品質的一項重要指標。

參考文獻:

[1] 黃愛明,國內軟件測試現狀及對策研究[J],中國管理信息化,2007(02)

[2]李寧、李戰懷,基于黑盒測試的軟件測試策略研究與實踐[J],計算機應用研究,2009(03)

主站蜘蛛池模板: 国产视频欧美| 色综合中文字幕| 在线网站18禁| 国模极品一区二区三区| 四虎精品国产永久在线观看| 天天综合网亚洲网站| 99在线视频精品| 91免费片| 57pao国产成视频免费播放| 高清无码手机在线观看| 国产亚洲欧美日韩在线一区二区三区| 成人在线天堂| 又爽又黄又无遮挡网站| 永久在线播放| 无码av免费不卡在线观看| 亚洲开心婷婷中文字幕| 情侣午夜国产在线一区无码| 亚洲αv毛片| 天堂av综合网| 免费看美女自慰的网站| 欧美福利在线| 日韩欧美国产三级| a级毛片免费看| 成人福利在线观看| 色综合久久88| 欧美午夜久久| 在线中文字幕网| 欧美中出一区二区| 亚洲人成在线免费观看| 欧美日本在线一区二区三区| 久久精品国产精品一区二区| 国产乱人伦精品一区二区| 久青草国产高清在线视频| 国产精品熟女亚洲AV麻豆| 日韩精品亚洲一区中文字幕| 亚洲 日韩 激情 无码 中出| 伊人精品视频免费在线| 久久a级片| 国产精品冒白浆免费视频| 国产另类视频| 114级毛片免费观看| 在线a视频免费观看| 萌白酱国产一区二区| 热久久综合这里只有精品电影| 欧美成人午夜在线全部免费| 黄色网站在线观看无码| 免费人欧美成又黄又爽的视频| 大陆国产精品视频| 久久狠狠色噜噜狠狠狠狠97视色 | 精品人妻无码中字系列| 91蝌蚪视频在线观看| 国产区免费| 国产屁屁影院| 精品欧美日韩国产日漫一区不卡| 无码aⅴ精品一区二区三区| 精品1区2区3区| 国产幂在线无码精品| 欧美福利在线| 亚洲精品无码AⅤ片青青在线观看| 2021国产在线视频| 亚洲天堂视频在线播放| 亚洲无码不卡网| 天堂va亚洲va欧美va国产| 久久久波多野结衣av一区二区| 国产成人高清在线精品| 日本黄色a视频| 国产SUV精品一区二区| 久久精品国产精品一区二区| 亚洲色欲色欲www在线观看| 国产在线无码av完整版在线观看| 亚洲人成网址| 国产女主播一区| 国产黄色免费看| 青青草国产精品久久久久| 亚洲黄网视频| 国产在线视频自拍| 中文字幕伦视频| 国产99久久亚洲综合精品西瓜tv| 日本少妇又色又爽又高潮| 欧美日韩激情| 精品无码日韩国产不卡av | 精品少妇人妻一区二区|