领域层直接访问待测系统。
例子
假设我们要测试一个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",
文章来源于领测软件测试网 https://www.ltesting.net/