2013-10-14 32 views
0

這個問題在我之前的問題Positive test cases and negative test cases的繼續。否定測試用例

假設有一個只接受字母的字段,假設我編寫了一個測試用例,只用字母測試它,那麼這就是正確的測試用例。

預計如果我輸入除字母以外的任何值,則系統將顯示錯誤消息「僅允許使用字母!」。

如果我用數值檢查它,它會拋出錯誤消息「只有字母允許!」 (與預期的一樣)那麼這是一個否定的測試用例還是正的測試用例呢?

回答

2

輸入錯誤的字段是Negative test case。你寫負面測試用例,並可能會有兩種結果吧:

  1. 無論這個will work as expected,這意味着你會得到錯誤信息,你會說測試通過即negative test passed

  2. 或者它will break,手段它會接受輸入,在這種情況下,測試失敗,即您的negative test case has failed, this is a bug

1

對不起,我的回覆將關閉主題,但(我)的理由將在下面解釋。

爲什麼按照積極性或否定性對測試用例進行分類很重要?無論如何,你必須執行兩項測試。我更喜歡將測試分類爲「主要」和「備用」。 「主要」描述了開心的路徑,即允許最終用戶真正完成她的軟件工作的路徑。備用測試案例描述了妨礙最終用戶完成工作或取得成果的途徑。 (輸入無效,憑據錯誤,資源不可用,...)

這是我對分類測試的定義。這些是我的話(借用外部文章,定義比較清晰)對我很有用,因爲我先編寫/執行初級測試,然後再進行替代測試。我寫主要測試考慮用戶想要做什麼以及如何做。 (UX模式)我寫了一些考慮可能實際「出錯」的備用測試,比如腐敗的sysetm數據,泄漏的公司信息以及所有我能想到的其他弊端。 (質量保證模式)

只有當你身邊的很多人在同一個項目中使用這些詞時,使用兩個詞來分類測試(正面/負面)的重要性纔是重要的。那麼你應該就一個共同的定義達成一致。 (以及分類標準)我認爲你不會通過使用這些詞彙來獲得絕對的答案,只是當地測試文化的回聲......除非你找到任何提供精確定義的中央獨特權威機構,比如一本關於測試的書或者測試網站或公司測試文檔。

1

如果您的功能描述類似於「在yiffy字段中只允許使用字母字符」,那麼對數字進行測試就是一個負面的測試用例。

但是,如果未輸入其他字母字符對於特徵描述如「在yiffy字段中,用戶不能輸入非字母字符」這一點很重要,那麼對數字進行測試將是一個積極的測試用例。

但是對此不要太嚴格,因爲測試都是關於尋找灰線。在我的語言中,ij是一個非常正常的字符,而在德國ß是非常普遍的。 ٠١٢٣٤٥٦٧٨٩是數字/數字(實際上,它們是阿拉伯數字)。 作爲一名測試人員,您需要考慮測試用例,並在測試時評估某項功能的重要性(任何人做這件事的風險)。你不想花費寶貴的時間來測試廢話。