51Testing软件测试论坛

标题: 测试中检查的类型 [打印本页]

作者: scanli100    时间: 2006-8-31 21:45
标题: 测试中检查的类型
1.检查点(Checkpoint)
检查点的检查是对某个或某此对象的属性进行检查,检查是否与预期值保持一致。这是最基础的一种检查方法。在这种方法中,测试中的预期值是我们预先就知道的。
QTP脚本:
Dim actual_value
' Get the actual property value
actual_value = obj.GetROProperty(prop_name)
' Compare the actual value to the expected value
If actual_value = expected_value Then
          Reporter.ReportEvent micPass, "VerifyProperty Succeeded", "The " & prop_name & " expected value: " & expected_value & " matches the actual value"
          VerifyProperty = True
Else
          Reporter.ReportEvent micFail, "VerifyProperty Failed", "The " & prop_name & " expected value: " & expected_value & " does not match the actual value: " & actual_value
          VerifyProperty = False
End If
2.操作是否成功的检查
这种方法检查的是软件对操作的反应是否正确。检查点的检查是对预期值的检查,而操作的检查是对动作的检查。它一般是对反应的存在以及其正确性进行判断。比如登录是否成功的检查。
QTP脚本:
Dim actual_response
' Get the actual response
actual_response = [actual_response]
' Compare the actual response to the expected response
If actual_response = expected_response Then
          Reporter.ReportEvent micPass, "VerifyResponse Succeeded", "The Actions expected response: " & expected_response & " matches the actual response"
          VerifyResponse = True
Else
          Reporter.ReportEvent micFail, "VerifyResponse Failed", "The Actions  expected response: " & expected_response & " does not match the actual response: " & actual_response
          VerifyResponse = False
End If

3.一致性检查
检查对象属性在软件的不同位置是否保持一致。一般可以分为两种:静态属性检查和动态属性检查。
3.1. 静态属性检查
采用这种方法的情况为,检查的属性是我们自己输入的,因此我们是知道预期结果的。比如说订票的信息是否确认购票的信息一致。
其可以通过参数化(Parameter)来实现测试。
QTP的实现方法:
# 我们通过检查数据在软件两个位置的是否一致作为例子
# 我们先对要检查的数据进行参数化(Parameter),为其事先定义一个变量,并把我们预期输入的值赋给它
Dim CheckData = [预期输入的值]
# 通过对象的GetROProperty获得对象的属性
# 比较检查对象的属性值和CheckData是否一致
If object.GetROProperty = CheckData then
  Msgbox(“一致”)
Else
  Msgbox(“不一致”)
End if

3.2. 动态属性检查
采用这种方法的情况为,要检查的属性是软件通过我们输入的值计算出的另一个值,那如何验证它的一致性。这时,我们需要事先将计算出来的值参数化输出,保存起来。然后将其它位置的值与动态获得的参数值相比较。比如说,订票的价格是否与确认购票的价格是否一致,其中订票的价格是动态地通过订票信息计算出来的。
其可以通过参数化值的输出(Output)来实现测试。
QTP的实现方法:
# 我们通过检查数据在软件两个位置的是否一致作为例子
# 我们先对要检查的数据进行参数化(Parameter),为其事先定义一个变量
Dim CheckData
# 通过对象的GetROProperty获得两个位置对象的属性
# 首先将获得的第一个属性输出(Output)到CheckData
CheckData = object1.GetROProperty
# 比较第二个对象object2和CheckData是否一致
If object1.GetROProperty = CheckData then
  Msgbox(“一致”)
Else
  Msgbox(“不一致”)
End if

4.算法的检查。
软件会通过一种算法得到一种结果,我们需要通过测试脚本算出结束再与软件本身运算的结果相比较,测试软件在运算中会不会出现问题。
比如查找的操作,数据库的操作。
QTP的实现方法:
# 假设需要检查的算法为:B = A +1
# 要检查的的值定义为CheckData
Dim CheckData
# 我们首先输入A的值
# 然后通过预期的公式算出B
B = A + 1
# 软件运算后,输出来检查的结果CheckData
If B = CheckData then
  Msgbox(“运算正确”)
Else
  Msgbox(“运算错误”)
End if

[ 本帖最后由 scanli100 于 2006-9-1 23:19 编辑 ]
作者: walker1020    时间: 2006-8-31 22:06
scanli100  真是有心人,为我们总结出了测试中检查的类型。这样的帖子多多益善。
作者: walker1020    时间: 2006-9-1 16:49
这么好的帖子怎么没有人来顶呢? 纳闷ing !
作者: walker1020    时间: 2006-9-13 21:49
纳闷! 这个帖子没有人来顶?
作者: zhou840401    时间: 2006-10-31 10:39
有心啦,顶一下,谢了楼主sdlkfj2
作者: zfb2004    时间: 2006-11-28 15:54
有心啦,顶一下,谢了楼主
作者: denty    时间: 2006-12-7 18:01
真厉害,顶
作者: wxm2004734    时间: 2007-1-9 14:14
顶..
作者: east_rise    时间: 2007-1-9 16:01
好好学习以下 THANK YOU
作者: alinahello    时间: 2007-1-12 14:23
标题: 回复 #1 scanli100 的帖子
厉害
作者: youyou123    时间: 2007-3-27 18:18
好贴,顶一个。sdlkfj3
作者: ljl2341    时间: 2007-6-25 14:43
excellent
作者: 紫慕    时间: 2007-7-6 15:40
旧精华帖子也翻出来顶。
作者: marygao929    时间: 2007-10-26 23:09
tks so much!
作者: qq1980    时间: 2007-11-1 10:47
喜欢别人的笔记和经验总结,少让人走弯路!谢谢大家的分享!(真心话)
不过还是无法下载去学习!(郁闷中)

为了所谓的“积分”而留言(真虚伪)
作者: ZH_0211    时间: 2007-12-20 15:12
谢谢楼主,让我们少走了很多弯路
作者: cobeehuang    时间: 2008-6-4 23:36
今天正好在解决这个问题,也是用LZ的这个办法解决,不知道还有没有更好更详细的判断并记录bug的好办法
作者: andychen911    时间: 2008-7-4 16:22
来点高级高级更高级的东西




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2