SDD开发实例(4)
上一篇 / 下一篇 2012-12-04 17:26:55 / 个人分类:测试
case 1: 第一次正常开卡
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入正确的”卡号“
3. 输入该卡号对应的”激活码“
4. 输入”初始金额300“
5. 点击”开卡“"
结果:
5. 返回”定位卡管理“界面,刚输入的卡号可以在该界面查询
case 2: 不输入任何信息”开卡“
进入”定位卡管理“界面
"1. 点击”开卡“
2. 不输入任何信息
3. 点击开卡
4. 输入正确的”卡号“
5. 不输入”激活码“
6. 点击”开卡“
7. 输入正确的卡号、激活码、不输入”初始金额“
8. 点击开卡
"
结果:
"3. 输入框为”红框“提醒→”请输入卡号“,如图
6. 输入框为”红框“提醒→”请输入激活码“
8.1 界面弹出提示”开卡成功“
8.2 界面返回”定位卡管理“信息页面
8.3 初始金额默认为0"
case 3: 输入已存在的卡号开卡
已存在定位卡信息
"1. 点击”开卡“
2. 输入已存在的”卡号“
3. 输入该卡号对应的”激活码“
4. 点击”开卡“"
结果:
4. 提示→”该卡号已存在“
case 4: 输入不符合格式标准的卡号开卡
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入错误格式的”卡号“
3. 输入任意”激活码“
4. 输入”初始金额300“
5. 点击”开卡“"
结果:
5. 提示→”卡号有误“
case 5: 超长字符的卡号开卡
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入超长的”卡号“
3. 输入正确的”激活码“
4. 输入”初始金额300“
5. 点击”开卡“"
结果:
5. 提示→”卡号有误“
case 6: 特殊字符卡号开卡
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入特殊字符的”卡号“
3. 输入正确的”激活码“
4. 输入”初始金额300“
5. 点击”开卡“"
结果:
5. 提示→”卡号有误“
case 7: 取消按钮验证
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入正确的”卡号“
3. 输入正确的”激活码“
4. 输入”初始金额300“
5. 点击”取消“"
结果:
"5.1 界面返回”定位卡管理“信息页面
5.2 不增加新的定位卡信息"
case 8: 输入正确的卡号,错误的激活码开卡
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入正确的”卡号“
3. 输入错误格式”激活码“
4. 输入”初始金额300“
5. 点击”开卡“"
结果:
5. 提示→”激活码有误“(待议)
case 9: 输入超长激活码开卡
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入正确的”卡号“
3. 输入超长的”激活码“
4. 输入”初始金额300“
5. 点击”开卡“"
结果:
5. 提示→”激活码有误“(待议)
case 10: 特殊字符激活码开卡
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入正确的”卡号“
3. 输入特殊字符”激活码“
4. 输入”初始金额300“
5. 点击”开卡“"
结果:
5. 提示→”激活码有误“(待议)
case 11: 卡号正确定性验证
进入”定位卡管理“界面
"1. 点击”开卡“
2. 输入正确的”卡号“
3. 输入不匹配的”激活码“
4. 输入”初始金额300“
5. 点击”开卡“"
结果:
5. 提示→“卡号和激活码不匹配”(待议)
依照以上的测试用例 书写feature文件:
# language: zh-CN
功能:开卡
作为一个管理人员
我能够给新用户激活一张新定位卡
场景: Case 1 - 正常开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且刚输入的卡号可以在该界面查询
场景: Case 2 - 不输入任何信息“开卡”
假如点击开卡按键
#而且我已经在卡号框里输入
#而且我已经在激活码框里输入
#而且我已经在初始金额框里输入
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒请输入卡号
并且提醒请输入激活码
场景: Case 3 - 输入已存在的卡号开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒该卡号已存在
场景: Case 4 - 输入不符合格式标准的卡号开卡
假如点击开卡按键
而且我已经在卡号框里输入错误卡号1-2-3
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒卡号有误
场景: Case 5 - 输入超长字符的卡号开卡
假如点击开卡按键
而且我已经在卡号框里输入错误卡号aaa
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒卡号有误
场景: Case 6 - 输入特殊字符的卡号开卡
假如点击开卡按键
而且我已经在卡号框里输入错误卡号@#¥
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒卡号有误
场景: Case 7 - 取消开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击取消按键
那么我应该在定位卡管理界面
并且不增加新的定位卡信息
场景: Case 8 - 输入正确的卡号,错误的激活码开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入错误激活码aaa
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒激活码有误
场景: Case 9 - 输入超长激活码开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入错误激活码aaaaaaa
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒激活码有误
场景: Case 10 - 特殊字符激活码开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入错误激活码aaaa@#$
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒激活码有误
场景: Case 11 - 卡号正确定性验证
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入错误激活码123
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒激活码有误
而与之关联的define_step 文件为:
# encoding: utf-8
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
require 'cucumber/formatter/unicode'
require "watir-webdriver"
$:.unshift(File.dirname(__FILE__) + '/../../lib')
Before do
#$page=Watir::Browser.new:ff
#Login_action
#Navigate_to_manage_card_action
end
After do
#Logout_action
end
Given /^点击(.*)按键$/ do |button|
if button =="开卡"
#$page.button(:name, "开卡").click
end
end
Given /^我已经在卡号框里输入(\d+)$/ do |card_number|
#$page.text_field(:name,"card_number").set(card_number)
end
Given /^我已经在卡号框里输入错误卡号(.*)$/ do |card_number|
#$page.text_field(:name,"card_number").set(card_number)
end
Given /^我已经在激活码框里输入(\d+)$/ do |act_number|
#$page.text_field(:name,"act_number").set(act_number)
end
Given /^我已经在激活码框里输入错误激活码(.*)$/ do |act_number|
#$page.text_field(:name,"act_number").set(act_number)
end
Given /^我已经在初始金额框里输入(\d+)$/ do |ini_money|
#$page.text_field(:name,"money").set(ini_money)
end
When /^我点击(.*)按键$/ do |button_name|
if button_name =="开卡"
#$page.button(:name, "开卡").click
elsif button_name == "消卡"
#do cancel
end
end
Then /^我应该在定位卡管理界面$/ do
#page_on_manage_card_page
end
Then /^刚输入的卡号可以在该界面查询$/ do
#card_number_can_search_out
end
Then /^不增加新的定位卡信息$/ do
# log
end
Then /^提醒(.*)$/ do |message|
if message =="请输入卡号"
# log
end
if message =="请输入激活码"
# log
end
if message == "该卡号已存在"
#log
end
if message =="卡号有误"
#log
end
if message =="激活码有误"
#log
end
end
现在我们对这些进行分析:
首先:我们需要在before do里面做一系列的操作
1. login
2. 进入”定位卡管理“界面
在 after do 里面 可考虑的是
1. logout
然后 我们看这些具体的实例
很显然 case 1 的结果判断过于复杂 是通过一系列的查询和匹配工作来确定卡是否被正确的开通。
这个代码,我们完全可以跟查询模块的代码进行复用。只学要按照刚输入的卡号去查询,能够显示在查询列表中,表示该卡已经激活。(隐含,也许是需要获得该卡的状态)
另外 有些case是判断输入的开号是否超长 实际上 我们不需要去判断一个超长的卡号是否返回正确的信息,我们只需要判断一下该文本域的length即可
另外 对于错误的输入,错误的格式输入,特殊字符的输入 都是同一个类型的检验
所以我们可以使用tag 然后在回归测试中 只需要执行一条即可
对于激活码和卡号不匹配 其实是等同于错误的卡号/错误的激活码
最后 就是所有的结果判断都不是明确的判断 容易引起歧义
所以 通过这个过程我们可以将case 重新组织为:
# language: zh-CN
功能:开卡
作为一个管理人员
我能够给新用户激活一张新定位卡
场景: Case 1 - 正常开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且刚输入的卡号可以在该界面查询
场景: Case 2 - 不输入任何信息“开卡”
假如点击开卡按键
#而且我已经在卡号框里输入
#而且我已经在激活码框里输入
#而且我已经在初始金额框里输入
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒请输入卡号
并且提醒请输入激活码
场景: Case 3 - 输入已存在的卡号开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒该卡号已存在
场景: Case 4 - 输入不符合格式标准的卡号开卡
假如点击开卡按键
而且我已经在卡号框里输入错误卡号1-2-3
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒卡号有误
场景: Case 7 - 取消开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入999
而且我已经在初始金额框里输入300
当我点击取消按键
那么我应该在定位卡管理界面
并且不增加新的定位卡信息
场景: Case 8 - 输入正确的卡号,错误的激活码开卡
假如点击开卡按键
而且我已经在卡号框里输入123
而且我已经在激活码框里输入错误激活码aaa
而且我已经在初始金额框里输入300
当我点击开卡按键
那么我应该在定位卡管理界面
并且提醒激活码有误
TAG:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | ||||||
5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
26 | 27 | 28 | 29 | 30 | 31 |
我的存档
数据统计
- 访问量: 151582
- 日志数: 185
- 文件数: 6
- 建立时间: 2007-08-06
- 更新时间: 2015-01-06