如何讓客戶編寫優(yōu)質(zhì)的需求文檔
從較高的層次來看,書寫需求文檔的目的就是要提供對所需行為的有效描述。該所需行為可用一個黑盒系統(tǒng)描述,并需要注意以下細(xì)節(jié):
• 工程師可以根據(jù)系統(tǒng)所說進(jìn)行實現(xiàn)。
• 測試人員,在不與開發(fā)人員溝通的前提下,可以利用滿足硬件要求的設(shè)備驗證需求。
• 最終產(chǎn)生的成果滿足終端用戶的要求。
黑盒測試書寫優(yōu)質(zhì)的需求文檔:
最基本的原則是:需求文檔應(yīng)當(dāng)盡量簡潔,用最易懂的描述來約束系統(tǒng)的預(yù)期行為。如果你遵循這個原則,剩下的那些重要因素(可測試性、避免過度設(shè)計等等)都將變得順理成章。
列舉一下更詳細(xì)的規(guī)則,通常會更有幫助。下面是書寫優(yōu)質(zhì)需求文檔需要遵循的步驟:
1. 定義系統(tǒng)的邊界。這也是黑盒系統(tǒng)所必要的。
2. 定義輸入和輸出。這也應(yīng)當(dāng)是你看待內(nèi)部系統(tǒng)的唯一方式。
3. 用最易懂的方式描述系統(tǒng)的預(yù)期行為。
4. 除了輸入和輸出之外,你的需求是不是還涉及了系統(tǒng)的其他部分?如果是,那么你的需求就設(shè)計過度了。重構(gòu)需求,讓它變得精簡。
5. 你的需求是不是過于模棱兩可?加入更多的限定規(guī)范。注意:有些模棱兩可的描述并不是壞事,假設(shè)描述所包含的所有情況均可被接受,且測試的時候不需要附加的信息加以說明,那么就沒關(guān)系。你不需要(也不應(yīng)該)把系統(tǒng)的行為限制得過頭。
6. 你的需求是否可測試?(這里指的是黑盒測試)如果不是,你最好返回到第4步。如果這種返工發(fā)生很多次,那就說明你的黑盒無法正確描述系統(tǒng),或者你的測試工具不夠優(yōu)秀。無論是哪種情況,不可測試的需求文檔幾乎就是一文不值的。
7. 你的需求文檔通俗易懂么?如果你的需求文檔非常難以讀懂,那就說明你寫得不好,只能給那些照著你的需求負(fù)責(zé)實施的人帶來無盡的痛苦。如果是這樣,回到第3步。
8. 你是不是真的做到了第4步?你確認(rèn)么?再檢查一下。
例子:下面的例子,讓我們描述一個自制的嵌入式設(shè)備的需求,這個設(shè)備能從彎曲傳感器上讀取彎曲的頻率,并根據(jù)不同的頻率值讓一個LED閃爍。
顯然,我們已經(jīng)完成了步驟2和步驟3了!
• 輸入:從彎曲傳感器讀取數(shù)據(jù)。
• 輸出:LED。
但是我們跳過了步驟1:
• 在這個例子里,我們將把黑盒畫到設(shè)備的微處理器上。
讓我們繼續(xù)往下進(jìn)行,
第四步:除了輸入和輸出以外,我們是否還涉及了其他的系統(tǒng)邊界?
• 微處理器并不關(guān)心從彎曲傳感器讀取什么樣的數(shù)據(jù),從處理器的角度來看,僅需要做的是測量ADC腳的電壓而已。
• LED僅由數(shù)字輸出腳控制。
下面,讓我們來修正這個問題:
第0版本的需求:
1. 該設(shè)備應(yīng)當(dāng)根據(jù)ADC腳的不同頻率的電壓,來切換數(shù)字輸出端的狀態(tài)。
第五步:需求寫模棱兩可么?
恩,我們的描述太模棱兩可了。輸出端切換的速度要多快? 跟電壓的關(guān)系如何? 輸入電壓的范圍是多少? 讓我們加一些更細(xì)節(jié)的描述吧:
版本0.1
1. 輸出端應(yīng)當(dāng)由一個自由活動的定時器進(jìn)行控制
2. 自由運行定時器的頻率最高不得高于每秒10次,不得低于每秒1次。
3. 自由運行定時器的觸發(fā)頻率應(yīng)當(dāng)在最高和最低值之間呈線性變化,并與ADC端的輸入電壓成正比。
4. ADC端的輸入電壓應(yīng)當(dāng)每100毫秒讀取一次
5. 當(dāng)ADC端的輸入電壓端被讀入時,控制自由運行定時器周期時間的注冊值也應(yīng)當(dāng)被更新。
6. ADC輸入端的電壓有效范圍應(yīng)當(dāng)被控制在0到1伏之間。
第六步:你的需求是否通俗易懂?
相比于我們原來的描述:“根據(jù)彎曲傳感器的輸出不同頻率來控制LED閃爍”,我們上面的那些需求描述顯得難以閱讀和理解。
我發(fā)現(xiàn),讓需求文檔變得通俗易懂,最簡單辦法莫過于,把過于細(xì)節(jié)的東西抽取出來,然后以條目的形式單獨定義。
第七步:你的需求是可測試的么?
• 首先,自由運行的定時器在這里不需要提及。 因為對它基本上無法進(jìn)行黑盒測試,它既不是輸入也不是輸出,而且跟這兩者也沒有什么聯(lián)系。
讓我們用“數(shù)字輸出端變化的頻率應(yīng)控制在每秒10次和每秒1次之間”來代替自由運 行定時器的測試標(biāo)準(zhǔn)。
• 對于上述的第四條需求,可能需要一些小修改才能作為測試標(biāo)準(zhǔn)。讓我們用“ADC端的輸入電壓應(yīng)當(dāng)保證在每100毫秒內(nèi)至少被讀取一次”來加以描述,這樣的描述能讓我們預(yù)期的測試行為顯得更加通俗易懂。
• 需求的第五條也需要一些小修改。我們?nèi)绾尾拍軝z測電壓的輸出范圍是在0到1伏之間呢? 總不能給個2伏的電壓,然后看看元器件有沒有被燒毀吧?
那么,說“檢驗系統(tǒng)在ADC端輸入電壓為1到2伏之間的時候,工作是否正常”,這樣就檢驗就容易多了。需求描述應(yīng)當(dāng)是“正面”的,應(yīng)當(dāng)描述設(shè)備“應(yīng)該”的行為,而不是設(shè)備“不應(yīng)該”的行為。否則的話,測試將會無法進(jìn)行。
版本0.2
1. 數(shù)字輸出端的切換頻率應(yīng)當(dāng)控制在每秒10次到每秒1次之間
2. 數(shù)字輸出端的切換頻率應(yīng)當(dāng)在最大值和最小值之間呈線性變化,并與ADC端的輸入電壓成正比
3. ADC端的輸入電壓應(yīng)當(dāng)保證在每100毫秒內(nèi)至少被讀取一次
4. 檢驗當(dāng)ADC端的輸入電壓范圍在0到1伏之間的時候,系統(tǒng)工作是否正常
版本1
1. 彎曲傳感器應(yīng)當(dāng)保證至少在100毫秒內(nèi)讀取一次數(shù)據(jù)(放到注釋單獨列出)
2. 切換LED的狀態(tài),使其與彎曲傳感器的讀數(shù)保持一致
3. 當(dāng)彎曲傳感器的讀數(shù)為1伏特時,LED狀態(tài)切換的次數(shù)應(yīng)當(dāng)保持在平均一秒十次;當(dāng)傳感器的讀數(shù)為0伏特時,LED的切換次數(shù)應(yīng)保持在一秒1次。
定義:
• 彎曲傳感器:輸入電壓位于ADC的X端。安全電壓范圍為0到1伏特(放到注釋單獨列出)
• LED狀態(tài):數(shù)字狀態(tài)由Y端輸出
這樣就好多了(盡管還不完美)。這些需求通俗易懂,不涉及到系統(tǒng)內(nèi)部實現(xiàn),且易于測試。對于系統(tǒng)行為的限定也僅僅限于需要做什么,點到為止。(例如,對彎曲傳感器的采樣頻率,在實現(xiàn)上也可以更高,只要不產(chǎn)生非預(yù)期行為,一切都可以)。
編寫需求就仿佛是在大腦中構(gòu)建軟件的過程。因此要重于執(zhí)行操作。
本文發(fā)布于北京網(wǎng)站制作公司尚品中國http://m.proteomeinstitute.com/
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁面設(shè)計風(fēng)格
-
確認(rèn)交付使用
-
資料錄入優(yōu)化
-
程序設(shè)計開發(fā)
-
后續(xù)跟蹤服務(wù)
-
聯(lián)系電話
010-60259772
熱門標(biāo)簽
- 網(wǎng)站建設(shè)
- 食品網(wǎng)站建設(shè)
- 微信小程序開發(fā)
- 小程序開發(fā)
- 無錫網(wǎng)站建設(shè)
- 研究所網(wǎng)站建設(shè)
- 沈陽網(wǎng)站建設(shè)
- 廊坊網(wǎng)站建設(shè)
- 鄭州網(wǎng)站建設(shè)
- 婚紗攝影網(wǎng)站建設(shè)
- 手機端網(wǎng)站建設(shè)
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設(shè)
- 教育網(wǎng)站建設(shè)
- 品牌網(wǎng)站建設(shè)
- 政府網(wǎng)站建設(shè)
- 北京網(wǎng)站建設(shè)
- 網(wǎng)站設(shè)計
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
網(wǎng)站建設(shè)中企業(yè)建站注意事項
第一,企業(yè)建站類型。Enterprise site types.1. ...
2013-11-19 -
長尾關(guān)鍵字優(yōu)化的一些技巧
單頁面打開的穩(wěn)定性目標(biāo)關(guān)鍵字不一定也有流量,目標(biāo)關(guān)鍵字的流量是有一定的...
2012-06-21 -
尚品中國:專業(yè)網(wǎng)站建設(shè)領(lǐng)域的顯著優(yōu)勢
尚品中國,作為數(shù)字服務(wù)領(lǐng)域的佼佼者,憑借其在網(wǎng)站建設(shè)、集群建站、業(yè)務(wù)系...
2024-12-27 -
什么是p2p網(wǎng)貸?p2p網(wǎng)站建設(shè)解決方案有哪些?
熟悉互聯(lián)網(wǎng)金融的人都聽說過p2p網(wǎng)貸這個行業(yè),甚至有些人接觸過這類理財...
2015-03-30 -
探索最近企業(yè)網(wǎng)站建設(shè)的新模式
隨著用戶設(shè)備的多種多樣化,一個優(yōu)秀的企業(yè)網(wǎng)站應(yīng)當(dāng)支持各種類型的設(shè)備,包...
2023-05-29 -
企業(yè)網(wǎng)站建設(shè)如何設(shè)計一個有色彩的企業(yè)網(wǎng)站
很多企業(yè)對互聯(lián)網(wǎng)變得非常重視,很多企業(yè)也開始建設(shè)網(wǎng)站,想要通過網(wǎng)站的設(shè)...
2018-08-30
預(yù)約專業(yè)咨詢顧問溝通!
免責(zé)聲明
非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細(xì)閱讀本聲明的所有條款。
1、本站部分內(nèi)容來源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動。
2、本站不承擔(dān)用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問題參見國家有關(guān)法律法規(guī),當(dāng)本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準(zhǔn)。
4、如果侵害了您的合法權(quán)益,請您及時與我們,我們會在第一時間刪除相關(guān)內(nèi)容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com