2016-04-12 24 views
-1

我正在做一個Web服務的軟件測試,我想知道,如果Web服務需要一個郵政編碼並返回郵政編碼的座標。如果我輸入99999,這不是一個郵政編碼,但系統不會崩潰,它只是在兩個座標上都回復0,是否認爲是無效輸入?我不確定,因爲它不會崩潰系統,這意味着它可以處理輸入,所以它會使輸入有效,或者它仍然無效,因爲99999不是一個郵政編碼?如果輸入不是預期的但是正確處理它有效嗎?

+0

你是如何獲得座標的?你在使用任何圖書館嗎?你用什麼語言? – Hiroki

+2

@YMD:沒有一個與問題相關。 –

+0

你穿什麼顏色的內衣?在你的時區中,一天的什麼時間?空載吞嚥的空速是多少? :-) – paxdiablo

回答

1

它完全取決於關於Web服務規範的狀態。

例如:

  • 如果它指出它無效的輸入返回0,它的正常工作 - 待着。
  • 如果它聲明你只應提供有效的輸入,你違反了合同,它可以隨意做任何事情。向前走。
  • 如果它不是說明它將爲無效輸入做什麼,它也可以做任何希望的事情。這是通常遵循最少驚訝的原則,但絕不是強制性的。

最後一點是非常重要的一個問題:只有當軟件不能像記錄文件那樣工作時才存在真正的錯誤。很多人認爲這是軟件無法正常工作的缺陷,但實際上這是一個實施決定。

該決定可能是壞的,例如,你不能區分「錯誤」條件和有效輸入之間的區別,但這可能不是這種情況。假設這些座標是經度/緯度,0/0位於大西洋中部,距離最近的主要陸地約600公里。所以不太可能有任何郵政編碼會解決這個協調問題。

話雖如此,任何像樣的網絡服務應該文件允許的輸入和狀態如果合同被打破將發生什麼。有可能你使用的是這樣的(我們不知道你使用的是哪一個),你可能需要搜索它。

1

你如何定義無效? Google的定義之一是:不符合正確格式或規格的(計算機指令,數據等)

根據這個定義,它是無效的。它正在產生一個無效的答案。


但是,如果它是你的web服務,如果這是預期的行爲(故意的,以防止崩潰,並用明顯不正確的答案呈現在用戶),那麼我就不會認爲這是無效的。在某種程度上,這是「預期輸入」—它是防止用戶錯誤的保護措施,您應該始終將其添加到您的代碼中。

但是,如果是這種情況,那麼我想你會採取不同的方法來警告用戶不正確的用戶。

相關問題