領域層直接訪問待測系統。
例子
假設我們要測試一個restful web服務。通過這個web服務,我們可以用電話作為關鍵字搜索客戶信息。
要調用這個web服務,需要發起以下格式的HTTP請求:
http://{endpoint}/subscribers?telephoneNumber={telephoneNumber}
服務端返回的以豎線分割的數據包含客戶的姓名、電話、地址及其他信息:
13120205504|ST|C|SQ|112|||FIRST|ST|W|Riverfront|BC|010|68930432|
測試這個服務的用例為:(1)用能精確匹配一個用戶的電話作為關鍵字搜索,(2)用能精確匹配多個用戶的電話作為關鍵字搜索,(3)用 不完整電話作為關鍵字搜索等。用例的完整程度完全取決于QA的想象能力。
對于每個測試用例,執行的數據基本上都一樣:(1)拼裝包含電話號碼關鍵字的URL,(2)用HTTP庫發出HTTP GET請求,(3)解析數據, (4)把真實值與期望值做比較。為了避免上面提到的問題,我們在這里采用分層結構:
測試用例層
這一層的具體實現方式與采用的測試框架有關。在這個例子中,我們采用C#及NBehave。
[Story]
public class SearchCustomerbyTelephoneNumberStory: TestBase
{
[Scenario]
public void SearchWithAPhoneNumberWhichHasAnExactMatch()
{
story.WithScenario("Search with a phone number which has a exact match")
.Given(AN_ACCOUNT_WITH_PHONE_NUMBER, "01068930432", EMPTY_ACTION)
.When(SEARCH_WITH, "01068930432",
文章來源于領測軟件測試網 http://www.kjueaiud.com/