关于验收测试的几个困惑
作者:网络转载 发布时间:[ 2016/6/13 10:51:33 ] 推荐标签:验收测试 软件测试
【案例】验收条件
功能: 下订单
场景: 用户订单应该正确地记入账户
假如 存在一种叫做"债券"的金融契据
而且 存在一个叫"Dave"的用户,他的账户中有50美元
当 我用"Dave"登录
当 我选择了"债券"契据
当 我下订单以10美元的单价购买了4份"债券"
当 订单已完成
那么 我的账户中还剩10美元
【案例】测试实现层
1 using System;
2 using TechTalk.SpecFlow;
3
4 namespace AcceptanceTestExample
5 {
6 [Binding]
7 public class 下订单Steps
8 {
9 private AdminApi adminApi;
10 private TradingUi tradingUi;
11
12 [BeforeScenario]
13 public void 准备工作()
14 {
15 adminApi = new AdminApi();
16 tradingUi = new TradingUi();
17 }
18
19 [Given(@"存在一种叫做""(.*)""的金融契据")]
20 public void 假如存在一种叫做的金融契据(string instrument)
21 {
22 adminApi.CreateInstrument(instrument);
23 }
24
25 [Given(@"存在一个叫""(.*)""的用户,他的账户中有(.*)美元")]
26 public void 假如存在一个叫的用户他的账户中有美元(string user, decimal amount)
27 {
28 adminApi.CreateUser(user, amount);
29 }
30
31 [When(@"我用""(.*)""登录")]
32 public void 当我用登录(string user)
33 {
34 tradingUi.Login(user);
35 }
36
37 [When(@"我选择了""(.*)""契据")]
38 public void 当我选择了契据(string instrument)
39 {
40 tradingUi.SelectInstrument(instrument);
41 }
42
43 [When(@"我下订单以(.*)美元的单价购买了(.*)份""(.*)""")]
44 public void 当我下订单以美元的单价购买了份(decimal amount, int quantity, string instrument)
45 {
46 tradingUi.PlaceOrder(instrument, quantity, amount);
47 }
48
49 [When(@"订单已完成")]
50 public void 当订单已完成()
51 {
52 tradingUi.ConfirmOrderSuccess();
53 }
54
55 [Then(@"我的账户中还剩(.*)美元")]
56 public void 那么我的账户中还剩美元(decimal balance)
57 {
58 tradingUi.ConfirmAccountBalance(balance);
59 }
60 }
61 }
【案例】应用程序驱动层
1 namespace AcceptanceTestExample
2 {
3 public class AdminApi
4 {
5 //调用业务逻辑
6 }
7 }
8
9 namespace AcceptanceTestExample
10 {
11 public class TradingUi
12 {
13 //使用Selenium.WebDriver操作Web UI
14 }
15 }
结论:验收测试分为三层。只有应用程序驱动器层知道如何与应用程序打交道,而其他两层只用业务的领域语言。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南