接口開發的發展促成了SOA的發展,SOA的諸多優勢之中接口規范的標準化是比較突出的一個。從EAI發展到SOA 的ESB,從各種不同的接口標準一統的Web Service,我們看到接口開發的演進過程,標準化、規范化的過程。
在SOA這種新的架構和設計思想下,接口合約(Interface contract)成為約束服務提供方和服務消費方的手段。對于開發人員來講合約會轉換為WSDL或者IDL這樣的定義文件。有了這樣的定義文件,提供方和消費方的開發人員就可以并行的開發。在這種新的開發方式,大量的服務可以有效的復用,開發的效率和開發的服務都可以有效的擴展;在這種方式下,可以把某些任務分配另外的公司和合作伙伴。從這種方式來講,SOA也方便了軟件的外包和離岸開發。
然而,中國有句老話叫"興一利必生一弊",這種開發模式下對于測試人員來講會有新的挑戰。
首先,通過接口合約分配給不同開發商的服務,這些開發商內部如何有有效的機制來保證開發接口的質量和對于服務規范(SLA)的滿足程度。
第二,在服務組裝階段(一個典型的例子就是BPM的流程的開發就會有這樣的階段),如何有效的保證測試的順利進行。
第一個階段,服務開發階段的功能測試(接口測試)。
有EAI系統或者接口系統開發經驗的人都有知道接口的測試是一個比較繁瑣和效率低下的過程。SOA規范了接口算是改進了一大步,但是它也沒有解決接口測試的根本問題。對于開發和管理者來說,在集成測試之前,保證每個服務的功能測試都是很痛苦的,需要大量的工作。但是對于基于SOA的設計和實現來說,這么做會屏蔽組裝(Assembly)階段更大的,更具破壞性的風險。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/