軟體測試技術在J2EE專案中的應用
系統軟體已深入到生活各方面,對軟體質量的要求在不斷提高,軟體測試成為軟體開發中一個重要部分,對軟體測試技術要求也越來越高。軟體測試是使用為發現錯誤所選擇的輸入和狀態的組合而執行程式碼的過程。軟體測試技術包括白盒測試和?脅饈浴|盒測試不考慮內部邏輯結構,只依據程式規格說明書,檢查程式功能。白盒測試利用程式內部邏輯結構,設計或選擇測試用例,對程式所有邏輯路徑進行測試。J2EE應用開發越來越流行,並應用到各種大型電子商務中,這些電子商務對軟體質量要求非常高,要是在應用中出現錯誤,會造成嚴重的損失。本文給出及J2EE專案開發時的測試過程,以及各測試階段用到的軟體測試工具。
J2EE是一種利用java2平臺來簡化與企業解決方案的開發,部署和管理相關的複雜問題的體系結構。J2EE技術的基礎是java2平臺的標準版。 J2EE不僅鞏固了標準版中的許多優點,還提供了對EJB,Servlet,JSP,XML的全面支援。J2EE包括四個層次,分別是客戶層,web層,業務層和企業資訊系統層。一個多層的分散式應用模型意味著根據功能應用邏輯被劃分成元件,並可以在同一伺服器或不同的伺服器上安裝組成J2EE應用的這些不同的元件。J2EE結構複雜,層次多,需求會不斷更新,如何保證最終開發的質量變得至關重要。
在極限程式設計思想中定義了兩種測試的型別。
1.單元測試,對系統內部模組的測試。為了適應J2EE平臺,還發展出與J2EE容器緊密結合的整合測試。
2.功能測試。在軟體測試中還有一個經常聽到的是效能測試。由於效能測試與客戶的需求密不可分,將它歸類於接受度測試的延伸應用。考慮到J2EE的結構和技術,不但要對其中用到的技術進行測試,還要測試各層之間的聯絡。
下面對J2EE應用的測試過程進行具體介紹,主要包括對測試各階段用到的測試型別和測試工具。
單元是整個軟體工程的基礎,因此單元的質量是整個軟體質量的基礎。在J2EE開發中,最小可測試單位是封裝的類或物件,JUnit是一個很好的單元測試工具。Junit的核心類別是Testcase,每一個testcase代表一個命令物件,Testcase包含數個測試方法。用來測試被測類別中成員方法的輸出與預期的結果是否相同。Junit平臺還有一個核心類別是testSuite,每個testSuite代表一個複合的物件,一個testSuite 可以由多個Testcase或多個testSuite組成。
在單元測試的基礎上,需要將所有的模組按照要求組裝成系統。在開發過程中需要考慮的問題如下
1.一個模組的功能是否對另一個模組的功能產生不利的影響。
2.各個子功能組合起來,能否達到預期要求的父功能。
因此在單元測試的同時可進行整合測試,發現並排除在模組連線中可能出現的問題。整合測試提供了J2EE容器的環境,可以快速輕易的檢驗出域物件與與 J2EE容器的互動行為是否合乎邏輯。因此整合測試的物件是以一個EJB,Servlet或JSP的程式程式碼為基本單元。Cactus就是為解決整合測試問題而誕生的軟體測試工具。Cactus是軟體測試工具Junit的一個擴充套件,但和Junit又有些不同,它分三種不同的測試類別:Jsp Testcase,Servlet testcase,filter testcase。Junit的測試程式碼僅在客戶端,而cactus的測試程式碼有伺服器和客戶端兩個部分,協同工作。
功能測試檢查在公共API邊界處的程式碼,其目標是檢驗在用例中描述的行為,測試系統是否滿足所需要的功能。每當完成一個階段性的功能測試,也代表著完成了部分的系統功能。
HttpUnit是為功能測試而發展起來的測試工具。HttpUnit是用java編寫的虛擬瀏覽器,用來模擬瀏覽器的內部行為。HttpUnit平臺模擬使用者瀏覽網站所發出的request物件,將其送到目的網站,等網站發出response物件傳回給httpUnit。HttpUnit是一種黑箱作業形式的測試工具,因此只要專注如何編寫模擬瀏覽器行為的測試程式碼即可。
本文轉載自51Testing軟體測試網(檢視全文):http://www.51testing.com/html/06/n-120506.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11323760/viewspace-1023696/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 專案管理軟體在企業中的應用專案管理
- FMEA技術在IT專案風險管理中的應用
- 自動化測試在國際軟體測試中的應用
- Mock技術在測試領域的應用Mock
- 軟體測試技術-黑盒測試
- IOC技術在前端專案中的應用前端
- AI技術在基於風險測試模式轉型中的應用AI模式
- 軟體測試技術及工具
- 專案管理軟體在實際工作中怎麼應用?專案管理
- 技術前沿:AI大模型在自動化測試中的應用例項AI大模型
- 三維鐳射掃描技術在文保修繕專案中的應用
- RFID技術在智慧養羊中的具體應用
- 分析技術在PMP中的應用
- 專案管理軟體的應用分析專案管理
- 應用<測試專案>官網
- BurpSuite在非Web應用測試中的應用UIWeb
- JDBC 在效能測試中的應用JDBC
- “探索性測試”在敏捷專案中的運用 | IDCF敏捷
- 20100420專案管理沙龍專題:軟體工程在軟體專案中的位置專案管理軟體工程
- 深度學習技術在網路入侵檢測中的應用深度學習
- 軟體功能測試在軟體開發中的重要性。在哪裡做軟體測試?
- 軟體測試之資料庫測試技術系列七資料庫
- 單元測試在Unity中的應用Unity
- 測試問題管理用什麼專案管理軟體好?專案管理
- JWT在專案中的簡單應用JWT
- UI2 在專案中的應用UI
- 論系統測試技術及應用
- 測試在專案流程中的那些事兒
- Flutter測試(二):在專案中進行 Widget 測試Flutter
- 專案必備技術之單元測試
- 學習軟體測試需要掌握哪些技術?
- 軟體測試方法和技術有哪些呢?
- 軟體測試需要學習什麼技術?
- 【主流技術】ElasticSearch 在 Spring 專案中的實踐ElasticsearchSpring
- 在TypeScript專案中進行BDD測試TypeScript
- PFMEA在專案風險管理中的應用
- 機器視覺技術在木材加工質量檢測中的應用視覺
- 軟體測試實戰專案,問題答疑
- 在Linux中,如何進行容器技術的應用?Linux