日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄
從開發(fā)人員角度對軟件測試的些許理解

對軟件測試的認識:

軟件測試要求開發(fā)人員避免測試自己開發(fā)的程序。從心理學角度講,這是很有道理的。特別是一個相對復雜的系統(tǒng),開發(fā)人員在剛剛開發(fā)完成的時候,尚沉浸于對自己設計的回味之中。此時去測試的話往往會側重于程序本身的功能通過性測試。很難發(fā)現(xiàn)錯誤。

測試是為發(fā)現(xiàn)錯誤而執(zhí)行程序的錯誤。一個人發(fā)現(xiàn)別人身上的不足很容易,但發(fā)現(xiàn)自己身上的錯誤便不那么容易了。所謂“吾能指人之失而不能見己之失,吾能指人之小失而不能見己之大失”者是也。一個軟件開發(fā)人員需要養(yǎng)成一種習慣,正視自己開發(fā)的軟件,特別是剛剛完成的軟件。要看到它的不足,知道他能做什么,不能做什么。在不能做的時候是如何處理的。對邊界條件是否做了嚴格的判斷及約束。其實大道相通,有沒有這樣的意識往往跟一個人為人處世的心態(tài),對自己的認知有密切的聯(lián)系。一個追求完美,經(jīng)常反思自己的人往往有一種虛懷若谷的情懷,“戰(zhàn)戰(zhàn)兢兢、如履薄冰、如臨深淵”者是也。所謂的方法、套路僅僅是方便于那些不怎么思考,只會人云亦云、亦步亦趨的人設計的。

說了一些心態(tài)方面的,再來從方法學上說一下軟件測試的要點,對開發(fā)人員來說,白盒測試要比黑盒測試更重要,這決定著你的系統(tǒng)上線后你能不能安心的睡覺;測試的階段主要在單元測試與集成測試方面。

軟件測試的分類:

分類如下圖所示(該圖為大學 軟件測試課程上面的圖片)

開發(fā)人員測試要點:

對于開發(fā)人員來說,我只強調(diào)單元測試、集成測試兩點。

單元測試主要 測試編寫的類、類中的函數(shù)等。這是測試的最小單元。常用的測試工具有java的JUnit、BoostTest等。

集成測試側重于 系統(tǒng)的整體功能性測試,這需要模擬各種可能的請求情況,特別是邊界條件。在多系統(tǒng)中,單個系統(tǒng)的測試完了后還需要各個系統(tǒng)之間的聯(lián)調(diào)。

測試目標方面,除了一般的功能測試之外還需要穩(wěn)定性測試、性能測試、可靠性測試、適用性測試、易用性測試、安全性測試。

下面詳細介紹一下各個測試要點的測試內(nèi)容。

1.   功能性測試要點:

在軟件測試領域的通用理解是:“功能測試是基于產(chǎn)品功能說明書,是在已知產(chǎn)品所應具有的功能,從用戶角度來進行功能驗證,以確認每個功能是否都能正常使用、是否實現(xiàn)了產(chǎn)品規(guī)格說明書的要求、是否能適當?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出結果等。功能測試,包括用戶界面測試、各種操作的測試、不同的數(shù)據(jù)輸入、邏輯思路、數(shù)據(jù)輸出和存儲等的測試?!?nbsp;   對于開發(fā)人員來說,功能性測試主要是對系統(tǒng)所支持的功能點的測試,對數(shù)據(jù)的測試,包括數(shù)據(jù)邊界的測試、數(shù)據(jù)包長度限制的測試、各個功能模塊數(shù)據(jù)的正確性測試以及容錯處理。該項測試要先把系統(tǒng)的功能點全部列出來,對異常數(shù)據(jù)的處理也算在內(nèi)。

2. 穩(wěn)定性測試要點:

測試在壓力情況下內(nèi)存使用情況,cpu使用情況,是否有內(nèi)存泄露,各個模塊功能是否正常,能否正常提供服務,是否會在高壓情況下卡死等。這也需要用各種可能數(shù)據(jù)進行壓力測試,要測試邊界條件下,收到攻擊時還能否正常工作,系統(tǒng)有沒有自清理功能等。個人的理解,該項測試類似于可靠性測試,要點在于測試系統(tǒng)在極端情況下是否正常。比如一個房子在高強度地震下的抗震能力。

3.  性能測試要點:

測試程序(一般是服務器),每秒能正常處理的請求數(shù)。這項測試一般是尋找系統(tǒng)的性能瓶頸,看看能否滿足實際的需求。當下,一個服務器每天處理5000萬的請求便可以了。當然,通過優(yōu)化對性能的追求是沒有止境的。

 4.  安全性測試要點:

安全性測試的主要目的是 確保軟件不會去完成沒有預先設計的功能。這一點很重要,需要開發(fā)人員在開發(fā)時對可能出現(xiàn)的情況作細致的判斷。常見的安全性測試內(nèi)容有:畸形的文件結構、畸形的數(shù)據(jù)包、用戶輸入的驗證、驗證資源之間的依賴關系、配置文件等的格式等。因為開發(fā)人員常常假定他所獲取的資源內(nèi)容是符合一定標準或規(guī)則的。附錄十常見的web安全性測試的內(nèi)容。

5. 適用性測試要點:

在軟件測試領域的通用理解是“適用性主要是用戶體驗的評估活動”。個人理解,對于開發(fā)人員,這方面主要跟易用性測試聯(lián)系起來,開發(fā)軟件產(chǎn)品是為了更方便的為人服務,一個系統(tǒng)要盡可能的簡單,盡可能減少人工的操作。比如,在配置文件方面,有配置是為了減少代碼的改動性,但是配置要盡可能的簡單,可以由一個配置項解決的問題不要再添加另外一項配置。

附: WEB安全性測試

一個完整的WEB安全性測試可以從部署與基礎結構、輸入驗證、身份驗證、授權、配置管理、敏感數(shù)據(jù)、會話管理、加密。參數(shù)操作、異常管理、審核和日志記錄等幾個方面入手。

1. 安全體系測試

1.1)  部署與基礎結構

  • 網(wǎng)絡是否提供了安全的通信
  • 部署拓撲結構是否包括內(nèi)部的防火墻
  • 部署拓撲結構中是否包括遠程應用程序服務器
  • 基礎結構安全性需求的限制是什么
  • 目標環(huán)境支持怎樣的信任級別

1.2)  輸入驗證

A.  是否清楚入口點

B.  是否清楚信任邊界

C.  是否驗證Web頁輸入

D.  是否對傳遞到組件或Web服務的參數(shù)進行驗證

E.  是否驗證從數(shù)據(jù)庫中檢索的數(shù)據(jù)

F.  是否將方法集中起來

G.  是否依賴客戶端的驗證

H.  應用程序是否易受SQL注入攻擊

I.   應用程序是否易受XSS攻擊

1.3)  身份驗證

  • 是否區(qū)分公共訪問和受限訪問
  • 是否明確服務帳戶要求
  • 如何驗證調(diào)用者身份
  • 如何驗證數(shù)據(jù)庫的身份
  • 是否強制試用帳戶管理措施

1.4)  授權

  • 如何向最終用戶授權
  • 如何在數(shù)據(jù)庫中授權應用程序
  • 如何將訪問限定于系統(tǒng)級資源

1.5)  配置管理

  • 是否支持遠程管理
  • 是否保證配置存儲的安全
  • 是否隔離管理員特權

1.6)   敏感數(shù)據(jù)

  • 是否存儲機密信息
  • 如何存儲敏感數(shù)據(jù)
  • 是否在網(wǎng)絡中傳遞敏感數(shù)據(jù)
  • 是否記錄敏感數(shù)據(jù)

1.7)  會話管理

  • 如何交換會話標識符
  • 是否限制會話生存期
  • 如何確保會話存儲狀態(tài)的安全

1.8)  加密

  • 為何使用特定的算法
  • 如何確保加密密鑰的安全性

1.9)  參數(shù)操作

  • 是否驗證所有的輸入?yún)?shù)
  • 是否在參數(shù)過程中傳遞敏感數(shù)據(jù)
  • 是否為了安全問題而使用HTTP頭數(shù)據(jù)

1.10)  異常管理

  • 是否使用結構化的異常處理
  • 是否向客戶端公開了太多的信息

1.11)  審核和日志記錄

  • 是否明確了要審核的活動
  • 是否考慮如何流動原始調(diào)用這身份

2.        應用及傳輸安全

WEB應用系統(tǒng)的安全性從使用角度可以分為應用級的安全與傳輸級的安全,安全性測試也可以從這兩方面入手。

2.1)應用級的安全測試

主要目的是查找Web系統(tǒng)自身程序設計中存在的安全隱患,主要測試區(qū)域如下:

2.1.1)注冊與登陸:現(xiàn)在的Web應用系統(tǒng)基本采用先注冊,后登錄的方式。

A. 必須測試有效和無效的用戶名和密碼

B. 要注意是否存在大小寫敏感,

C. 可以嘗試多少次的限制

D. 是否可以不登錄而直接瀏覽某個頁面等。

2.1.2)在線超時:Web應用系統(tǒng)是否有超時的限制,即,用戶登陸一定時間內(nèi)(例如15分鐘)沒有點擊任何頁面,是否需要重新登陸才能正常使用。

2.1.3)操作留痕:為了保證Web應用系統(tǒng)的安全性,日志文件是至關重要的。需要測試相關信息是否寫進入了日志文件,是否可追蹤。

2.1.4)備份與恢復:為了防范系統(tǒng)的意外崩潰造成的數(shù)據(jù)丟失,備份與恢復手段是一個Web系統(tǒng)的必備功能。備份與恢復根據(jù)Web系統(tǒng)對安全性的要求可以采用多種手段如數(shù)據(jù)庫增量備份、數(shù)據(jù)庫完全備份、系統(tǒng)完全備份等。出于更高的安全性要求,某些實時系統(tǒng)經(jīng)常會采用雙機熱備或多級熱備。除了對于這些備份與恢復方式進行驗證測試以外,還要評估這種備份與恢復方式是否滿足Web系統(tǒng)的安全性需求。

2.1.5)傳輸級的安全測試是考慮到Web系統(tǒng)的傳輸?shù)奶厥庑?,重點測試數(shù)據(jù)經(jīng)客戶端傳送到服務器端可能存在的安全漏洞,以及服務器防范非法訪問的能力。一般測試項目包括以下幾個方面。

2.2)HTTPS和SSL測試:

默認的情況下,安全HTTP(Soure HTTP)通過安全套接字SSL(Source Socket Layer)協(xié)議在端口443上使用普通的HTTP。HTTPS使用的公共密鑰的加密長度決定的HTTPS的安全級別,但從某種意義上來說,安全性的保證是以損失性能為代價的。除了還要測試加密是否正確,檢查信息的完整性和確認HTTPS的安全級別外,還要注意在此安全級別下,其性能是否達到要求。


當前文章:從開發(fā)人員角度對軟件測試的些許理解
文章起源:http://www.5511xx.com/article/djipdod.html