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:

 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 151582
  • 日志数: 185
  • 文件数: 6
  • 建立时间: 2007-08-06
  • 更新时间: 2015-01-06

RSS订阅

Open Toolbar