Ⅰ 如何做好Web介面測試
你好,個人理解的你所說的後台的數據的測試是指的是對數據的校驗,不知理解的是否正確,那麼根據這個理解,我的解釋是,在我們框架中,增加了很多的功能方法用來幫助進行自動化腳本的編寫和結果校驗,其中就包括後台數據校驗方法,當我們的
測試用例需要在後台進行數據校驗的時候,調用這些數據校驗方法即可。相當於是,前台頁面操作的自動化是封裝selenium的方法去操作頁面,而對後台數據的校驗是通過增加功能方法來實現的,可以理解為不同的兩部分,但是在編寫測試腳本的似乎,根據測試用例的設計,這兩部分都可以拿過來使用。
Ⅱ 如何測試spring webservice介面
很早很早之前,就初步學習了WebService,感覺還是比較「好」的。
使用Web服務,感覺就像普通API一樣,和HTTP介面比較起來。
WebService有個很大的局限,就是事務,分布式事務麻煩程度就上升了不少,暫時沒有搞過。
最近1年做的2個比較完整的項目,都有WebService的配置,只不過,都是別人配置好的。
別人的,終究是別人的。
作為一名熱愛學習並學以致用的程序員,我也來親自搞個配置~
下面的例子,是我今天親自一步步配的,而且運行成功了。
CSDN下載地址:http://download.csdn.net/detail/fansunion/9218657
(我打算今後在這個基礎上,進一步完善示例)
一、WebServiceClient介面項目
其它項目如果想使用Web服務,直接調用介面就行了,根本不需要關注服務的實現。
@WebService
public interface UserFacade {
String query();
}
介面,已經做到最簡了。查詢一個字元串,就表明Web服務調用成功了。
package cn.fansunion.webservice.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.;
import cn.fansunion.webservice.UserFacade;
public class WebServiceTest {
public static void main(String[] args) {
//初始化Spring上下文,webservice文件位於src目錄下(也可以說是Classpath下)
ApplicationContext ac = new (
classpath:/spring-webservice.xml);
//根據id獲得bean,我感覺是這個「jaxws:client id=remoteUserFacade」WebService語法和Spring語法的結合
UserFacade userFacade=(UserFacade) ac.getBean(remoteUserFacade);
//查詢,返回並列印字元串「WebService」
System.out.println(userFacade.query());
}
}
spring-webservice.xml
比較關鍵的是jaxws:client id=remoteUserFacade,這個是WebService的核心配置。
另外,需要注意http://cxf.apache.org/jaxws的xsi和xmlns的配置,如果沒有,應該會報錯的。
pom.xml配置
org.springframework
spring-webmvc
${spring.version}
org.aspectj
aspectjweaver
${aspectj.version}
org.aspectj
aspectjrt
${aspectj.version}
org.apache.cxf
cxf-rt-frontend-jaxws
${cxf.version}
org.apache.cxf
cxf-rt-transports-http
${cxf.version}
二、WebServiceImpl介面的實現項目
package cn.fansunion.webservice.impl;
import javax.jws.WebService;
import org.springframework.stereotype.Service;
import cn.fansunion.webservice.UserFacade;
@WebService(endpointInterface = cn.fansunion.webservice.UserFacade, serviceName = UserFacade)
@Service(userFacadeImpl)
public class UserFacdeImpl implements UserFacade {
Ⅲ 如何完成這個Web自動化測試框架
1. ui自動化是需要極大的腳本維護工作量的,那平台腳本的可維護性一和易用性定要好。
2. junit和testng框架都可以提供很完善的測試報告輸出功能,不要用log4j打報告,log4j用來輸出日誌,增加平台的腳本的可維護性。
3. 增加定時執行功能和郵件發送報告的功能,增加持續集成介面,自動測試應該不需要人手工觸發。
4. 給自己的測試平台再寫一套高覆蓋率的單元及介面測試套件吧測試平台本身吧。
Ⅳ 怎麼用jmeter對web進行介面測試
演示一下簡單的介面測試,首先需要先進入到jmeter的界面窗口中,進行右鍵線程組,添加》sampler》http請求。
然後在添加一個為察看結果樹,進行右鍵線程組》監聽器》察看結構樹。
點擊已添加的http請求進入,然後在web伺服器中的添加需要的介面復制進入,例如使用網路閱讀的首頁網址信息,埠為80,協議使用是「http」。
然後進行運行jmeter,點擊上面綠色運行按鈕。
進入查看結果是否運行成功,可以進行點擊察看結果樹。
進入到查看結果樹中,在進入到響應數據的界面中,可以查看的是網路閱讀首頁返回的相關的數據,根據的自己的需要還可以進行添加相關的斷言。已進行判斷是否返回想要的數據。
Ⅳ 關於jmeter測試web登錄介面
演示一下簡單的介面測試,首先需要先進... 1 然後在添加一個為察看結果樹,進行右鍵... 2 點擊已添加的http請求進入,然後在web... 3 然後進行運行jmeter,點擊上面綠色運行... 4 進入查看結果是否運行成功,可以進行點... 5 進入到查看結果樹中...
Ⅵ Web測試的主要內容和測試方法有哪些
測試分類:
1、界面測試
1)給用戶的整體感:舒適感;憑感覺能找到想要找的信息;設計風格是否一致
2)各控制項的功能
2、功能測試
1)刪除/增加某一項:是否對其他項造成影響,這些影響是否都正確
2)列表默認值檢查
3)檢查按鈕功能是否正確:新建、編輯、刪除、關閉、返回、保存、導入、上一頁、下一頁、頁面跳轉、重置(常見錯誤)
4)字元串長度檢查:超出長度
5)字元類型檢查
6)標點符號檢查:空格、各種引號、Enter鍵
7)特殊字元:常見%、「、」
8)中文字元:是否亂碼
9)檢查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息與添加信息是否一致
10)信息重復:需唯一信息處,比如重復的名字或ID、重名是否區分大小寫、加空格
11)檢查刪除功能:不選擇任何信息,按Delete,看如何處理;選擇一個或多個進行刪除;多頁選、翻頁選刪除;刪除是否有提示
12)檢查添加和修改是否一致:添加必填項,修改也該必填;添加為什麼類型,修改也該什麼類型
13)檢查修改重名:修改時把不能重名的項改為已存在的內容
14)重復提交表單:一條已經成功提交的記錄,返回後再提交
15)檢查多次使用返回鍵:返回到原來頁面,重復多次
16)搜索檢查:存在或不存在內容,看搜索結果是否正確;多個搜索條件,同時輸入合理和不合理條件;特殊字元
17)輸入信息的位置
18)上傳下載文件檢查:功能是否實現,
上傳:上傳文件是否能打開、格式要求、系統是否有解釋信息、將不能上傳的文件格式修改後綴為可上傳的文件格式;
下載:下載是否能打開、保存、格式要求
19)必填項檢查:必填項未填寫;是否有提示,如加*;對必填項提示返回後,焦點是否自動定位到必填項
20)快捷鍵檢查:是否支持快捷鍵Ctrl+C、Ctrl+V、backspace;對不允許做輸入的欄位(如:下拉選項),對快捷方式是否也做了限制
21)Enter鍵檢查:輸入結束後按Enter鍵,系統如何處理
22)刷新鍵檢查:按瀏覽器刷新鍵如何處理
23)回退鍵檢查:按瀏覽器回退鍵如何處理
24)空格檢查:輸入項輸入一個或多個空格
25)輸入法半形全形檢查:比如,浮點型,輸入全形小數點「。」或「. 」,如4. 5;全形空格
26)密碼檢查:輸入加密方式的極限字元;密碼盡可能長
27)用戶檢查:不同種類管理員用戶的不同許可權,是否可以互相刪除、管理、編輯;一般用戶的許可權;注銷功能,老用戶注銷再注冊,是否為新用戶
28)系統數據檢查:數據隨業務過程、狀態的變化保持正確,不能因為某個過程出現垃圾數據,也不能因為某個過程而丟失數據。
29)系統可恢復性檢查:以各種方式把系統搞癱,測試系統是否可以迅速恢復
30)確認提示檢查:系統更新、刪除操作:是否有提示、取消操作;提示是否准確;事前、事後提示
31)數據注入檢查:對資料庫注入,特殊字元,對SQL語句進行破壞
32)時間日期檢查:時間、日期、時間驗證:日期范圍是否符合實際業務;對於不符合實際業務的日期是否有限制
33)多瀏覽器驗證
3、性能測試
1)壓力測試:實際破壞一個Web應用系統,測試系統的反應,測試系統的限制和故障恢復能力
2)負載測試:在某一負載級別上的性能,包括某個時刻同時訪問Web的用戶數量、在線數據處理的數量
3)強度測試:測試對象在性能行為異常或極端條件下(如資源減少或用戶過多)的可接受性,以此驗證系統軟硬體水平
4)資料庫容量測試:通過存儲過程往資料庫表中插入一定數量的數據,看是否能及時顯示
5)預期指標的性能測試:在需求分析和設計階段會提出一些性能指標,對於預先確定的性能要求要首先進行測試
6)獨立業務性能測試:對核心業務模塊做用戶並發測試,包括同一時刻進行完全一樣的操作、同一時刻使用完全一樣的功能
7)組合業務性能測試:模擬多用戶的不同操作,最接近實際用戶使用情況,按用戶實際的實際使用人數比例來模擬各個模塊的組合並發情況
8)疲勞強度性能測試:系統穩定運行情況下,以一定負載壓力來長時間運行系統的測試
9)網路性能測試:准確展示帶寬、延遲、負載、埠的變化是如何影響用戶的相應時間的
10)大數據量性能測試:實時大數據量,模擬用戶工作時的實時大數據量;極限狀態下的測試,系統使用一段時間,積累一段數據量時能否正常運行,以及對前面兩種進行結合
11)伺服器性能測試:在進行用戶並發性能測試、疲勞強度、大數據量性能測試時,完成對伺服器性能的監控,並進行評估
12)一些特殊的測試:配置測試、內存泄漏的一些特殊測試
4、可用性測試(介面測試)
1)整體界面測試
2)多媒體測試
3)導航測試
5、客戶端兼容性
平台測試:windows;unix;macintosh;linux
瀏覽器測試:不同廠商的瀏覽器對Java、Javascript、ActiveX、plug-ins或不同的HTML的規格
不同的支持;框架和層次結構在不同瀏覽器也不同的顯示
6、安全性
安全性測試要求:
1)能夠對密碼試探工具進行防範
2)能夠防範對Cookie攻擊的常用手段
3)敏感數據保證不用明文傳輸
4)能防範通過文件名猜測和查看html文件內容獲取重要信息
5)能保證在網站收到工具後在給定時間內恢復,重要數據丟失不超過1小時
web的性能測試工具:
隨著Web2.0技術的迅速發展,許多公司都開發了一些基於Web的網站服務,通常在設計開發Web應用系統的時候很難模擬出大量用戶同時訪問系統的實際情況。
因此,當Web網站遇到訪問高峰時,容易發生伺服器響應速度變慢甚至服務中斷。
為了避免這種情況,需要一種能夠真實模擬大量用戶訪問Web應用系統的性能測試工具進行壓力測試,來測試靜態HTML頁面的響應時間,甚至測試動態網頁(包括ASP、PHP、JSP等)的響應時間,為伺服器的性能優化和調整提供數據依據。
1、企業級自動化測試工具WinRunner
MercuryInteractive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。
2、工業標准級負載測試工具Loadrunner
LoadRunner是一種預測系統行為和性能的負載測試工具
3、全球測試管理系統testdirector
TestDirector是業界第一個基於Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。
4、功能測試工具RationalRobot
IBMRationalRobot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。
它集成在測試人員的桌面IBMRationalTestManager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。
這種測試和管理的雙重功能是自動化測試的理想開始。
5、單元測試工具xUnit系列
目前的最流行的單元測試工具是xUnit系列框架,常用的根據語言不同分為JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。
該測試框架的第一個和最傑出的應用就是由ErichGamma(《設計模式》的作者)和KentBeck(XP(ExtremeProgramming)的創始人)提供的開放源代碼的JUnit.
6、功能測試工具SilkTest
BorlandSilkTest2006屬於軟體功能測試工具,是Borland公司所提出軟體質量管理解決方案的套件之一。
這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。
7、性能測試工具WAS
是由微軟的網站測試人員所開發,專門用來進行實際網站壓力測試的一套工具。
透過這套功能強大的壓力測試工具,您可以使用少量的Client端計算機模擬大量用戶上線對網站服務所可能造成的影響。
8、自動化白盒測試工具Jtest
Jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。
parasoft同時出品的還有C++test,是一款C/C++白盒測試工具。
9、功能和性能測試的工具JMeter
JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現。
10、性能測試和分析工具WEBLOAD
webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。
(6)web介面測試報告擴展閱讀:
漏洞測試
企業網站做的越來越復雜、功能越來越強。不過這些都不是憑空而來的,是通過代碼堆積起來的。如果這個代碼只供企業內部使用,那麼不會帶來多大的安全隱患。
但是如果放在互聯網上使用的話,則這些為實現特定功能的代碼就有可能成為攻擊者的目標。
天眼舉一個簡單的例子。在網頁中可以嵌入SQL代碼。而攻擊者就可以利用這些SQL代碼來發動攻擊,來獲取管理員的密碼等等破壞性的動作。
有時候訪問某些網站還需要有某些特定的控制項。用戶在安裝這些控制項時,其實就有可能在安裝一個木馬(這可能訪問者與被訪問者都沒有意識到)。
為此在為網站某個特定功能編寫代碼時,就要主動出擊。從編碼的設計到編寫、到測試,都需要認識到是否存在著安全的漏洞。
天眼在日常過程中,在這方面對於員工提出了很高的要求。各個員工必須對自己所開發的功能負責。
已知的病毒、木馬不能夠在所開發的插件中有機可乘。通過這層層把關,就可以提高代碼編寫的安全性。
Ⅶ 客戶端怎麼測試webservice介面,怎麼算測試成功
可以用soapui
!
soapui是測webservice的專業工具,不僅可以測試結果的正確性,還可以測試webservice的性能
如果你用的是myeclipse
我知道,myeclipse也可以測.
webservice訪問實際上就是一次http請求,那麼也就是請求和響應.
1.向webservice地址發送soap請求報文,
2.webservice伺服器返回soap結果報文.
所以說測試也就是
發送報文,然後看返回結果報文,返回正確,那麼測試就成功了
Ⅷ 如何測試webservice介面
1.了解url : http://localhost:8080/test/services/user?wsdl;
2.新建web service 項目 Test,啟動介面;
3.在項目Test上新建一個 web service client ,選擇JAX_WS;
4.Test項目會自動生成關聯代碼,新建一個Java類,main方法
publicstaticvoidmain(String[]args){
System.out.println("123");
ServiceCommandServicesc=newServiceCommandService();
IServiceCommandis=sc.getServiceCommandPort();
Strings=is.queryInstanceById();
System.out.println(s);
Strings2=is.queryInstanceList();
System.out.println(s2);
}
Ⅸ 如何使用jmeter做webservices介面測試
1. 建立WebServiceTest Plan
1) 添加ThreadGroup
右鍵單擊Test Plan選擇Add --> ThreadGroup,配置
Number of Threads、Ramp-UpPeriod、Loop Count可隨測試不同隨時修改。
三種參數解釋如下:
Number of Threads為發起線程總數。
Ramp-Up Period 指定了JMeter開啟Number ofThreads個線程所需的時間。例如,如果待發起30個線程(即模擬用戶),Ram-Up Period為15秒,則每秒增加2個線程(30個用戶/15秒)。如果設置為0,則JMeter會自動啟動所有模擬用戶。
Loop Count為循環次數。
2. 添加 WebService Requests
右鍵單擊「WebService線程組」,Add --> Sampler --> WebService(SOAP)。
註:灰色「線程組」為其它測試使用過的線程組,此處這設置為Disabled線程組,在本次測試中不使用。
配置
將發布好的Service的 WSDL URL粘貼到WSDL URL中點擊Load WSDL之後,WebMthods自動彈出,
只需自己選擇Method然後單擊Configure即可完成絕大部分自動配置
但是裡面會涉及Soap/XML-RPC Data的編寫,我編寫的如下:
[plain] view plain
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:simpleMethod
xmlns:ns1="http://server.deltaj.com">
<name xsi:type="xsd:string">Yerasel</name>
</ns1:simpleMethod>
</soap:Body>
</soap:Envelope>
這個XML中絕大部分都是固定的。其餘解釋如下:
simpleMethod是WebService發布的方法;
http://server.deltaj.com是simpleMethod所在類(SimpleServer)的域名,即SimpleServer所在包的包名為com.deltaj.server;
name是simpleMethod的參數名,參數類型是string;
Yerasel是輸入的實參。
SimpleService服務端源程序如下:
[java] view plain
// SimpleService.java
package com.deltaj.server;
public class SimpleServer {
/**
* 簡單的測試方法
*
*/
public String simpleMethod(String name) {
return name + "Say this is a Simple method ^-^";
}
}
注意:
<arg0 xsi:type="xsd:string">Yerasel</arg0>也可以,
在發布成wsdl時候, 方法的參數名稱被自動的映射成arg0, arg1, 解決方法如下:
[java] view plain
Java代碼
public User create(
@WebParam(name = "user")
User user);
因此SimpleService服務端源程序改寫如下:
[java] view plain
// SimpleService.java
package com.deltaj.server;
public class SimpleServer {
/**
* 簡單的測試方法
*
*/
public String simpleMethod(@WebParam(name = "personname")String personname) {
return personname + "Say this is a Simple method ^-^";
}
}
Soap/XML-RPC Data 如下:
[plain] view plain
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:simpleMethod
xmlns:ns1="http://server.deltaj.com">
<personname xsi:type="xsd:string">Yerasel </personname>
</ns1:simpleMethod>
</soap:Body>
</soap:Envelope>
註:
發布SimpleServer時,需要寫xml,這是發布WebService的一般步驟,內容如下:
[plain] view plain
<serviceGroup>
<service name="SimpleServer" scope="application">
<description>
SimpleServer
</description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">com.deltaj.server.SimpleServer</parameter>
</service>
</serviceGroup>
文件名為META-INF/services.xml。
文件布局
com裡面是包以及.class
然後,在bin目錄下運行"jar cvf SimpleServer.aar . "即可
將aar放入Tomcat的services目錄中即可發布。
Ⅹ web測試有哪些方面
第一,分析產品結構,明確性能測試的需求,包括並發、極限、配置和指標等方面的性能要求,必要時基於LOAD測試的相同測略需同時考慮穩定性測試的需求。
第一,分析應用場景和用戶數據,細分用戶行為和相關的數據流,確定測試點或測試介面,列示系統介面的可能瓶頸,一般是先主幹介面再支線介面,並完成初步的測試用例設計。
第三,依據性能測試需求和確定的測試點進行測試組網設計,並明確不同組網方案的重要程度或優先順序作為取捨評估的依據,必要時在前期產品設計中提出支持性能測試的可測試性設計方案和對測試工具的需求。
第四,完成性能測試用例設計、分類選擇和依據用戶行為分析設計測試規程,並准備好測試用例將用到的測試數據。
第五,確定採用的測試工具。
第六,進行初驗測試,以主幹介面的可用性為主,根據測試結果分析性能瓶頸,通過迭代保證基本的指標等測試的環境。
第七,迭代進行全面的性能測試,完成計劃中的性能測試用例的執行。
第八,完成性能測試評估報告。
在進行性能測試的時候,我們需要知道一些有效的性能指標,下面我們來列出一些主要的性能指標:
一是,通用指標(指Web應用伺服器、資料庫伺服器必需測試項):
*ProcessorTime:指伺服器CPU佔用率,一般平均達到70%時,服務就接近飽和;
*Memory Available Mbyte:可用內存數,如果測試時發現內存有變化情況也要注意,如果是內存泄露則比較嚴重;
*Physicsdisk Time :物理磁碟讀寫時間情況。
二是,Web伺服器指標:
*Avg Rps:平均每秒鍾響應次數=總請求時間/秒數;
*Avg time to last byte per terstion(mstes):平均每秒業務角本的迭代次數;*Successful Rounds:成功的請求;
*Failed Rounds:失敗的請求;
*Successful Hits:成功的點擊次數;
*Failed Hits:失敗的點擊次數;
*Hits Per Second:每秒點擊次數;
*Successful Hits Per Second:每秒成功的點擊次數;
*Failed Hits Per Second:每秒失敗的點擊次數;
*Attempted Connections:嘗試鏈接數。
三是,資料庫伺服器指標:
*User 0 Connections :用戶連接數,也就是資料庫的連接數量;
*Number of deadlocks:資料庫死鎖;
*Butter Cache hit:資料庫Cache的命中情況)。
可用性測試:1導航測試(Web應用系統的層次一旦決定,就要著手測試用戶導航功能,讓最終用戶參與這種測試,效果將更加明顯。)2圖形測試3內容測試3整體界面測試4客戶端兼容性測試(1平台測試2瀏覽器測試)5安全性測試(測試重點:(1)現在的Web應用系統基本採用先注冊,後登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。(2)Web應用系統是否有超時的限制,也就是說,用戶登陸後在一定時間內(例如15分鍾)沒有點擊任何頁面,是否需要重新登陸才能正常使用。(3)為了保證Web應用系統的安全性,日誌文件是至關重要的。需要測試相關信息是否寫進了日誌文件、是否可追蹤。(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。(5)伺服器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在伺服器端放置和編輯腳本的問題。 )