如何編寫優質的軟件測試需求文檔(2)

發表于:2014-09-04來源:uml.org.cn作者:不詳點擊數: 標簽:
首先,自由運行的定時器在這里不需要提及. 因為對它基本上無法進行黑盒測試,它既不是輸入也不是輸出,而且跟這兩者也沒有什么聯系。 讓我們用數字

  首先,自由運行的定時器在這里不需要提及. 因為對它基本上無法進行黑盒測試,它既不是輸入也不是輸出,而且跟這兩者也沒有什么聯系。

  讓我們用“數字輸出端變化的頻率應控制在每秒10次和每秒1次之間”來代替自由運 行定時器的測試標準。

  對于上述的第四條需求,可能需要一些小修改才能作為測試標準。讓我們用“ADC端的輸入電壓應當保證在每100毫秒內至少被讀取一次”來加以描述,這樣的描述能讓我們預期的測試行為顯得更加通俗易懂。

  需求的第五條也需要一些小修改。我們如何才能檢測電壓的輸出范圍是在0到1伏之間呢? 總不能給個2伏的電壓,然后看看元器件有沒有被燒毀吧?

  那么,說“檢驗系統在ADC端輸入電壓為1到2伏之間的時候,工作是否正常”,這樣就檢驗就容易多了。需求描述應當是“正面”的,應當描述設備“應該”的行為,而不是設備“不應該”的行為。否則的話,測試將會無法進行。

  版本0.2

  1、數字輸出端的切換頻率應當控制在每秒10次到每秒1次之間

  2、數字輸出端的切換頻率應當在最大值和最小值之間呈線性變化,并與ADC端的輸入電壓成正比

  3、ADC端的輸入電壓應當保證在每100毫秒內至少被讀取一次

  4、檢驗當ADC端的輸入電壓范圍在0到1伏之間的時候,系統工作是否正常

  第7步:你的需求是否通俗易懂?

  相比于我們原來的描述:“根據彎曲傳感器的輸出不同頻率來控制LED閃爍”,我們上面的那些需求描述顯得難以閱讀和理解。

  我發現,讓需求文檔變得通俗易懂,最簡單辦法莫過于,把過于細節的東西抽取出來,然后以條目的形式單獨定義。

  版本1

  1、彎曲傳感器應當保證至少在100毫秒內讀取一次數據(放到注釋單獨列出)

  2、切換LED的狀態,使其與彎曲傳感器的讀數保持一致

  3、當彎曲傳感器的讀數為1伏特時,LED狀態切換的次數應當保持在平均一秒十次;當傳感器的讀數為0伏特時,LED的切換次數應保持在一秒1次。

  定義:

  彎曲傳感器:輸入電壓位于ADC的X端。安全電壓范圍為0到1伏特(放到注釋單獨列出)

  LED狀態:數字狀態由Y端輸出

  這樣就好多了(盡管還不完美)。這些需求通俗易懂,不涉及到系統內部實現,且易于測試。對于系統行為的限定也僅僅限于需要做什么,點到為止。(例如,對彎曲傳感器的采樣頻率,在實現上也可以更高,只要不產生非預期行為,一切都可以)。

  編寫需求就仿佛是在大腦中構建軟件的過程。因此要重于執行操作。

原文轉自:http://www.uml.org.cn/Test/201205185.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97