2010-01-13 69 views
0

最近我遇到了這個問題,誰能幫我一下,作爲一個測試人員我應該怎麼做。如何測試無證Web服務?

假設有一個web服務,其功能已被更改,並且沒有相同的文檔可用。你將如何測試相同的方法?

更新:如果數據庫功能發生更改並且沒有文檔,是否保留相同的答案。

回答

2

你不能測試沒有文檔的東西。你怎麼知道期望的結果?


也許您正在尋找「文檔」在錯誤的地方。有人做了這些改變。他們有一些信息告訴他們對數據庫和服務做出什麼改變。甚至可能有一個需求文檔,但也可能有一些設計文檔。

得到這些,並用它們來弄清楚發生了什麼變化。使用該信息來決定如何更改測試。

+2

你可以猜測?!?爲什麼不直接說「是的,沒關係,運送它」?這將爲您節省實際測試任何事情的麻煩。或者你可以說「不,我們不能通過這個,除非你提供文件。」作爲一名客戶,我知道你更喜歡哪種方式。 – kdgregory 2010-01-13 13:40:49

+0

這是我的壞...如此刪除早期評論...由於功能改變了一點,因此我認爲我們至少可以訪問Web服務並檢查早期的功能是否正常工作,如果不是,那麼我們現有的測試用例將失敗,我們需要調試代碼。 – 2010-01-13 13:44:37

0

一般來說,網絡服務提供服務和呼叫者之間的一致性契約。它規定,雖然後端實施可能會改變,但服務的接口將保持一致。

如果您有興趣發現可用於該服務的功能,它可能會提供元數據來記錄它的可用功能和消息類型。通常情況下,通過在Web服務URL中添加「?wsdl」即可訪問,儘管存在其他方案。

一旦您對可用函數有了一個好的概念,您就可以開始通過您的測試框架調用它們,並按照您通常的測試過程評估響應。

+0

我敢打賭,他平時的測試過程就是這樣說的,「如果我把它傳遞給'one',它應該返回'two'」。看起來他甚至都不瞭解這項服務的變化。 – 2010-01-13 13:40:59

1

如果您以有用的方式使用服務,那麼可能您會有一些調用返回一些已知結果,即使這可能沒有記錄。如果是這種情況,那麼我會編寫測試來驗證我對服務的期望,就像現在一樣。那麼至少如果做出改變,你就會有更多的機會知道哪些位已經改變了,這會影響到你。

2

看來你可能會問的兩個不同的問題之一:

1)如何發現一個黑盒Web服務的API。
在這種情況下,最好的源代碼將是Web服務的源代碼(文檔存在失敗),或者查看現有客戶端或服務的?wsdl。

2)如何發現來自Web服務的正確和不正確的響應。
爲此,您需要要求或文檔或正確的客戶端。在這種情況下最有可能存在的可能是客戶。或者,網絡服務可能正在實現一些功能,其結果可以在外部得到確認。