月折舊額=期初固定資產賬面凈值×月折舊率
為了保證固定資產使用年限終了時賬面凈值與預計凈殘值相等,在該固定資產折舊年限到期的前兩年,將固定資產凈值扣除預計凈殘值后的余額平均攤銷!
上面的內容是我國現行財務制度中關于固定資產折舊的一種方法——雙倍余額遞減法——的具體算法,大家可以在任何一本會計書中找到這部分內容以及一些相應的例子,不過我們這里并不關心固定資產的折舊到底是怎么一回事。筆者想知道的是大家在看完上面的描述后是否已經發現,我們在設計測試用例時,對于準備進行折舊的固定資產,至少應該包括預計折舊年限小于兩年、等于兩年和大于兩年三種不同的類型。這也應該算是一個等價類劃分法和邊界分析法的應用吧。
實際上,制約我們更好的使用這些測試方法來進行測試用例設計的,并不是方法的應用范圍不夠寬廣,而是因為如果我們不能對這些同實際業務相關的具體算法或業務規則進行深入的分析,就不可能挖掘出深層的測試需求,那么這兩種方法的應用也就很有限了。這也是筆者在前面一再強調加深對軟件需求了解的原因。
對于網絡上也有討論的另外兩種方法——錯誤推測法和因果圖法,則分別因為可靠性較差和操作相對復雜而并沒有得到廣泛的應用。
如何劃分測試用例的粒度?
我們是不太可能在一個測試用例包含所有測試需求的,因為眾多的功能以及不同的路徑
組合將使這樣一個測試用例像巨無霸一般,完全不具有可操作性!悄能浖墓δ苷娴挠稚儆趾唵,不過如果真的有這么一個軟件,恐怕也沒有測試和發布的必要了。
當然,這也并不是要您走向另一個極端,為需求中定義的每個特性或功能都提供一個甚至多個測試用例。這里的關鍵,是要尋找一個合適的度。
筆者推薦的方法是:關注有效功能。
有效功能:就是指在被測應用所涉及的實際業務中,當用戶在手工狀態下進行工作時,整個業務流程中對用戶來說,具有實際意義那些功能。這個功能的特征是當我們把這個功能單獨從計算機軟件還原到用戶的原始手工狀態時,它的完成可以作為用戶實際業務的一個階段性結束的標志,而不是一旦從這個業務流程中獨立出來就失去了意義。而該業務完成后,可以為其他用戶或業務提供所需要的信息。
這里區分“有效功能”的關鍵有如下兩個:
1. 這個功能是可以還原到用戶原始的手工業務流程中去的。我們的計算機和軟件,都是為了幫助用戶解決手工業務中一些煩瑣和低效的問題,而提出的一些忠實于原始工作方法或略有變通的解決方案,并不是要改變用戶全部的業務流程。所以,應該從用戶實際業務的角度來判斷功能是否有效。
2. 這個功能是否可以標志著用戶實際業務的一個階段性結束?并且這項業務完成之后,被完成的業務實體是否可以交付給其他用戶或業務以供完成下面的工作?
為了方便理解,我們可以先看一下下面的例子。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/