一個軟件除了基本功能之外,還有很多功能之外的特性,這些叫“non-functional requirement”,或者“quality of service requirement”-服務質量需求。沒有軟件的功能,這些特性都無從表現出來,我們要在軟件開發的適當階段做這些測試。
比如:
測試名稱 |
測試內容 |
Stress/load test |
測試軟件在負載情況下能否正常工作 |
Performance test |
測試軟件的效能 |
Accessibility test |
測試軟件輔助功能測試–測試軟件是否向殘疾用戶提供足夠的輔助功能 |
Localization/Globalization Test |
本地化/全球化測試 |
Compatibility Test |
|
Configuration Test |
配置測試–測試軟件在各種配置下能否正常工作 |
Usability Test |
可用性測試–測試軟件是否好用 |
Security Test |
軟件安全性測試 |
1.4 Unit Test單元測試
二柱:我們也試過用單元測試來保證質量,要求每人都要寫,在簽入代碼前必須通過單元測試。但是搞了幾個星期就不了了之。
大家七嘴八舌的列舉了單元測試的問題:
- 有時單元測試報了錯,再運行一次就好了,后來大家就不想花時間改錯,多運行幾次,有一次通過就行了。
- 單元測試中好多錯都和環境有關,在別人的機器都運行不成功。
- 花在單元測試上的時間要比寫代碼的時間還多
- 單元測試中我們還要測試效能和壓力,花了很多時間
- 我們都這么費勁地測了,那還要測試人員干什么?
1.4.1 用VSTS寫單元測試
單元測試的基本構成
Setup //設置好環境,準備測試
Test //測試
Teardown //打掃戰場
例子:我們要寫一個銀行賬戶的類,那么它的單元測試應該怎么寫?
誰自告奮勇上來表演一下寫代碼?小飛,好請上臺。
小飛寫了下面的代碼:
定義interface IAccount
實現public class Account : IAccount
{
}
每個函數都使用臨時代碼