程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 學習PHP精粹,編寫高效PHP代碼之自動測試

學習PHP精粹,編寫高效PHP代碼之自動測試

編輯:關於PHP編程

如果要制造出完美的產品,必須對它進行全方面檢驗測試。這裡有幾種類型的測試,每一種測試都針對應用程序的某個具體方面。

本文將對單元測試、數據庫測試、系統測試、負載測試進行介紹。

一、單元測試

單元測試是測試應用程序的每一步,要確保其各個組成部分運轉正常。若沒有單元測試,在應用程序中找出導致錯誤運行的原因一般來說相當困難。

單元測試通常采用一個單元測試框架,它提供了編寫和運行測試並輸出結果所需要的基本結構。

一些較為常用的單元測試框架包括:

PHPUnit:http://phpunit.de/

SimpleTest:http://www.simpletest.org/

PHPT:http://qa.php.net/write-test.php

二、數據庫測試

PHPUnit數據庫擴展模仿了JUnit的DbUnit擴展,它是事實上的Java單元測試框架。PHPUnit數據庫擴展不處理創建數據庫、表或用戶憑證;它在假設這些已經創建的基礎上運行。

PHPUnit數據庫測試參考:http://phpunit.de/manual/current/en/database.html

三、系統測試

一旦系統的各個組成部分以及與外部系統的交互已經完成測試,那麼我們將要對作為一個整體的應用程序進行測試,這成為系統測試。

對於Web應用程序而言,這往往通過編寫自動化測試以一個真實用戶會采用的相同方式與浏覽器交互來完成。

編寫和執行這種測試的流行軟件包是Selenium,它是一個基於Java的服務器,運行客戶端連接到它,執行命令以啟動浏覽器並與之交互。該軟件常常用於在Web應用程序內部執行一系列動作,並對最後加載的文件內容進行斷言以確認其達到預期的功能。

Selenium:http://seleniumhq.org/

PHPUnit包含一個Selenium擴展,它允許這些交互得以執行。

四、負載測試

一旦應用程序工作正常,無論是其各個組成部分還是作為一個整體,我們非常有必要了解應用程序作為一個整體如何運行。

負載測試模擬一組用戶的行為以確定應用程序在負載下如何表現。

接下來將介紹兩種測試工具:ab、siege

1、ab測試工具

作為Apache HTTP服務器項目的組成部分,ab是一個相對簡單的已開發基准測試工具,並且適用於大多數安裝有Apache的環境中。

它有許多參數,我們對其如何引導測試稍加調整,其中有3個經常用到的參數:

1)-c #:每秒的並發請求數,或同時訪問應用程序的用戶數量。

2)-n #:要發送的請求書。

3)-t #:測試持續的以秒計算的最長時間,假設為-n 50000。

因此,舉例來說,如果你想模擬一分鐘內10個並發用戶的行為,你可以使用如下命令:

ab -c 10 -t 60 http://localhost/phpinfo.php

 

ab使用參考:http://httpd.apache.org/docs/2.0/programs/ab.html

2、Siege測試工具

另一個常用的負載測試工具是Siege,它由Joe Dog軟件開發。ab的負載測試限制在一個特定的URL上,而除了URL之外,Siege還可對整個應用程序進行負載測試。Siege手冊介紹了它的所支持的選項。

Siege:http://www.joedog.org/siege-home/

Siege手冊:http://www.joedog.org/siege-manual/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved