首页 > 试题广场 >

假设京东有一个web API: http:p.jd.co

[问答题]
假设京东有一个web API: http://p.jd.com?p1=90&p0=100,输入打折价p1和原价p0,返回折扣信息0.9,请设计测试用例进行测试。
推荐
1 输入打折价错误+输入原价错误 (输入值不在正常范围内)
输入打折价错误+输入原价正确
输入打折价正确+输入原价错误
4 输入打折价正确+输入原价正确 (打折价高于原价)
5 输入打折价正确+输入原价正确 (打折价高于原价 返回折扣信息不对)
6 输入打折价正确+输入原价正确  (打折价高于原价 返回折扣信息对)

编辑于 2015-03-23 16:17:24 回复(4)
用例编号 用例名称 执行步骤 输入数据 预期结果 执行结果
1 打折价输入为空 在浏览器内输入链接 回车 http://p.jd.com?p1= &p0=100
提示打折价不能为空
2 原价输入为空
在浏览器内 链接 回车
http://p.jd.com?p1=90&p0=
提示原价不能为空

3 打折价与原价输入为空
在浏览器内 链接 回车
http://p.jd.com?p1= & p 0 =
提示打折价 原价不能为空
4 原价为0元 在浏览器内 链接  回车
http://p.jd.com?p1=90 & p 0 =
提示原价不能为空
5 打折为0元
在浏览器内 链接  回车
http://p.jd.com?p1=0 & p 0 =11
折扣信息为1
6 原价比折扣价大 在浏览器内 链接  回车
http://p.jd.com?p1=12 & p 0 =10
折扣信息大于1
7 输入的原价或者折扣价不是数字 在浏览器内 链接  回车
http://p.jd.com?p1=qq & p 0 =10
输入的信息有误
8 输入的价格含有非法字符 在浏览器内 链接  回车
http://p.jd.com?p1=qq & p 0 =///
提示输入信息有误
9 输入的价格含有很长的字符数字
在浏览器内 链接  回车
http://p.jd.com?p1=(1000个e) & p 0 =
提示输入信息有误

10       输入的原价和折扣价含有小数  在浏览器内 链接  回车
http://p.jd.com?p1=1.22 & p 0 =2.44 
返回0.5               
        
11 输入正确的价格 在浏览器内 链接  回车
http://p.jd.com?p1=1233 & p 0 =1466 返回0.5












发表于 2015-03-27 17:30:16 回复(10)
求分享,求批评

对一个程序的测试,可以分为功能测试,边界测试,功能性测试
(在解释中存在对‘打折’这个概念的理解,比如我会认为‘折扣大于1是一种错误’,这个没关系,主要是分享一下思考的过程和思想)

功能测试:
p1 p2
1 2
1.11 2.22
测试正常的功能,包括整数和浮点数

边界测试:
功能行边界
比如10折
p1 p2
4 4
(浮点数也可以作为一个测试用例)

数值性边界
当值很大的时候,会不会合理
p1 p2
1e20 2e20

负值测试(不合理的情况)
负值
p1 p2
-1 4
1 -4
-1 -4

高于1
p1 p2
5 4

有值等于0
p1 p2
0 4
4 0
0 0

无效
p1或者p2 p2

字符串







发表于 2015-08-18 21:32:20 回复(0)
用例编号         用例描述                                              预期结果
1                      输入p1为null,p0为100                        提示打折价不能为空
2                      输入 p1为90,p0为null                        提示原价不能为空
3                      输入 p1为null,p0为null                       提示折扣价原价不能为空
4                      输入 p1为0,p0为100                          提示打折价不能为零
5                      输入 p1为90,p0为0                            提示原价不能为零
6                      输入 p1为0,p0为0                             提示原价打折价不能为零
7                      输入 p1为?(非法字符),p0为100     提示打折价不能为非法字符
8                      输入 p1为90,p0为*(非法字符)         提示原价不能为非法字符
9                      输入 p1为abc(非数字),p0为100      提示打折价不能为非数字
10                     输入 p1为90,p0为bcd(非数字)        提示原价不能为非数字
11                     输入 p1为-90,p0为100                       提示打折价不能为负数
12                     输入 p1为,p0为-100                          提示原价不能为负数
13                     输入 p1为100,p0为100                      提示折扣信息为1(折扣价等于原价)
14                     输入 p1为90,p0为100                        提示折扣信息为0.9(折扣价小于原价)
15                     输入 p1为110,p0为100                      提示折扣信息为1.1(折扣价大于原价)
发表于 2017-01-12 14:28:23 回复(0)
(1)输入打折价错误+输入原价错误(输入值不在正常范围内)
(2)输入打折价错误+输入原价正确
(3)输入打折价正确+输入原价错误
(4)输入打折价正确+输入原价正确(打折价高于原价)
(5)输入打折价正确+输入原价正确(打折价高于原价 返回折扣信息不对)
(6)输入打折价正确+输入原价正确(打折价高于原价 返回折扣信息对)
发表于 2019-07-25 20:53:15 回复(0)
p0 p1 expected result
p<100 p<90
p<100 p>90
p>100 p<90
p<100 p>90
p=100 p<90
p=100 p>90
p<100 p=90
p>100 p=90
p=100     p=90     0.9

发表于 2015-03-27 17:07:24 回复(0)
因为无法得知接口实现细节,所以只能进行黑盒测试。这个接口有两个输入参数p1和p0,一个返回参数折扣信息。
首先在正常工作情况下,采用等价类划分法测试,分为p1小于p0,p1等于p0, p1大于p0:
1. p1和p0都取大于0的数值,而且p1小于p0的值,正常结果返回p1/p0的值;
2. p1和p0都取大于0的数值,而且p1等于p0的值,正常结果返回1或者不打折的信息;
3. p1和p0都取大于0的数值,而且p1大于p0的值,正常结果返回p1/p0或者输入错误或者涨价了的信息;
然后采用边界值分析法,考虑输入参数的特殊情况:
4. 当p1小于0或p0小于0时,正常返回输入错误的信息;
5. 当p1等于0并且p0大于0时,正常返回当前免费的信息;
6. 当p1等于0并且p0等于0时,正常返回一直免费的信息;
7. 当p1大于0并且p0等于0时,正常返回涨价了的信息;
然后进行异常测试,考虑输入参数非法的情况:
8. 当p1或者p0输入不是整数,而是浮点数时,正常处理逻辑应该和都是整数的情况一致;
9. 当p1或者p0输入不是整数也不是浮点数,而是字符或字符串等其他类型时,正常结果应该是报输入非法错误;
然后进行安全测试:
10. 考虑支不支持https,使用https://p.jd.com?p1=90&p0=100,如果支持的话测试一遍上述的测试用例;
发表于 2017-04-02 14:52:43 回复(0)
用例编码 用例名称 执行步骤 输入数据 预期结果
1 原价输入为空 在浏览器中输入链接,回车 web API: http://p.jd.com?p1=90&p0=  
提示原价不能为空
2 折扣价输入为空 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=&p0=100
提示折扣价不能为空
3 原价输入为0 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=90&p0=0
提示原价不能为0
4 折扣价为0 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=0&p0=100
折扣信息1
5 原价和折扣价都为空 在浏览器中输入链接,回车
web API: http://p.jd.com?p1= &p0=
提示折扣价、原价不能为空
6 折扣价比原价大 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=100&p0=90
提示折扣信息大于1
7 输入的加格不是数字 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=qq&p0=w
提示输入信息有误
8 输入的价格含有非法字符 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=》90&p0=100!
提示输入信息有误
9 输入的价格含有字符数字 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=(100个e)&p0=100
提示输入信息有误
10
输入的加格含有小数 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=1.22&p0=2.44
折扣信息为0.5
11 输入正常的价格 在浏览器中输入链接,回车
web API: http://p.jd.com?p1=10&p0=100
折扣信息为0.1

发表于 2020-08-22 11:30:43 回复(0)
不输入 输入正确 输入错误
发表于 2021-06-29 00:14:17 回复(0)
1、p1 == p0
2、p1 > p0
3、p1 < p0(p1 != 0)
4、p1 == 0
5、P1 为空(p0不为空)
6、P0为空 (p1不为空)
7、p1、p0为非数字

..
懒得列举了
大家需要考虑参数的准确和逻辑就行了
发表于 2021-06-20 23:25:29 回复(0)
p0为正整数,p1为中文/字母/小数/标点符号/空/空格
p0为正整数,P1为正整数,p0>01
p0为正整数,P1为正整数,p0<p1
p0为正整数,p1为0
p0为正整数,p1为负数
p1为正整数,p0为中文/字母/小数/标点符号/空/空格
p1为正整数,p0为0
p1为正整数,p0为负数

发表于 2020-06-21 22:36:26 回复(0)
  1. 输入打折价错误+输入原价错误(输入值不在正常范围内);
  2. 输入打折价错误+输入原价正确;
  3. 输入打折价正确+输入原价错误;
  4. 输入打折价正确+输入原价正确(打折价高于原价);
  5. 输入打折价正确+输入原价正确(打折价高于原价,返回折扣信息不正确);
  6. 输入打折价正确+输入原价正确(打折价高于原价,返回折扣信息不正确)。
发表于 2019-09-05 16:30:02 回复(0)
1.p1、p2非数字:返回提示格式错误
2.p1>p2>0:返回提示数据有误
3.p1<0,p2>0:返回不能价格为负数
4.p1、p2<0:返回不能价格为负数
5.0<=p1<p2:返回折扣
发表于 2019-08-09 19:22:07 回复(0)
功能:
网页能否打开
网页布局是否正常美观,字体是否符合要求
输入90和100,是否返回0.9
输入负数或字符,是否有错误提示
性能:
不同的操作系统,版本下,嫩否正确
不同的浏览器能否打开
网页响应时间
一段时间内重复打开
不同用户访问此网页
发表于 2018-07-28 17:19:11 回复(0)
p1=0 p0=100
发表于 2018-04-20 19:32:47 回复(0)
原价为空,打折价输入正确值;
打折价为空,原价输入正常;
原价和打折价均为空;
打折价大于原价;
打折价和原价均输入正确进行测试。

发表于 2017-09-17 20:37:27 回复(0)
功能测试:
1、输入合理的p1,p0,返回是否正确;
2、输入不合理的p1,p0,是否有错误提示;
3、输入非数字p1,p2,是否有错误提示;
4、输入非常大的合理数字,是否有边界限制;
性能测试:
1、模拟多用户,发送请求,服务器是否正确响应;
2、模拟超大量用户,验证高压下,服务器崩溃原因,设计处理预案;
安全性测试:
1、验证SQL注入攻击
发表于 2017-08-23 09:45:15 回复(0)
以2种测试策略:
1. web API:测试不同并发量、网络状况、安全问题,检查URL长度
2. 黑盒测试:边界值分析、等价类划分

1. web API:
测试不同并发量:用Jmeter模拟不同并发量的访问
网络状况:分别测试不同网络环境下,服务器的响应时间
安全问题:设置URL长度非常长,溢出String长度


2.黑盒测试:
①正常:0<P1<P0<MAXSIZE
②P0<P1  , 
③P0=P1 
④0<P0
⑤0<P1
⑥P0=MAXSIZE
⑦P0=MAXSIZE+1
⑧P0=MAXSIZE-1


发表于 2017-06-16 19:57:23 回复(0)
测试编号 测试项描述 输入 预期结果
1 原价和打折价为空 p1=   / p0=   ; 显示“原价和打折价不能为空”
2 原价为空,折扣价为正常大小的正数 p1=30 /p0=  ; 显示“原价不能为空”
3 原价为正常数,折扣价为空 p1 =  /p0=30; 显示“折扣价不能为空”
4 原价和折扣价为0 p1=0 / p0=0; 显示“输入信息有误”
5 原价为0,折扣价为正常大小的正数 p1=30 / p0=0; 显示“输入信息有误”
6 原价为正常数,折扣价为0 p1=0 / p0=30; 显示“输入信息有误”
7 原价和折扣价为特殊字符,且为不同字符 p1=#/p0=%; 显示“输入信息有误”
8 原价为正常数,折扣价为特殊字符 p1=0/p0=%; 显示“输入信息有误”
9 原价为特殊字符,折扣价为正常大小的正数 p1=%/p0=30; 显示“输入信息有误”
10  原价大于折扣价,都是非常大的正数 p1=2e20/p0=8e20; 返回“折扣信息0.4”
11  原价大于折扣价,都是浮点型正数 p1=20.000/p0=40.000; 返回“折扣信息0.5”
12 原价大于折扣价,原价为正数,折扣价为负数   p1=-100/p0=200;  显示“输入信息有误”
13 原价大于折扣价,原价和折扣价都是正常大小的正数  p1=100/p0=200; 返回“折扣信息0.5”
14
 原价大于折扣价,原价是特别大的正数,折扣价是特别小的正数        
p1=2e-20/p0=4e20; 返回“折扣信息0.5e-20”


19            原价和折扣价相等,且为正常大小的正整数                                          p1=100/p0=100;            返回“折扣信息1”     
20           原价和折扣价相等,都是特别小的正数                                                  p1=2e-20/p0=2e-20;     返回“折扣信息1” 
21           原价和折扣价相等,都是特别大的正数                                                  p1=2e20/p0=2e20;        返回“折扣信息1” 
22            原价和折扣价相等,都是正常大小的浮点数                                           p1=10.45/p0=10.45;      返回“折扣信息1”
23            原价和折扣价相等,都是特殊字符                                                         p1=#/p0=#;                    显示“输入信息有误”
24            原价和折扣价相等,都是负数                                                                p1=-100/p0=-100;          显示“输入信息有误”
25            原价小于折扣价, 都是正常大小的正数                                                    p1=200/p0=100;             返回“折扣信息大于1”
26            原价小于折扣价,都是特别小的正数                                                        p1=2e-20/p0=4e-20;       显示“输入信息有误”              
15           原价小于折扣价, 原价是特别大的正数,折扣价是特别小的正数              p1=2e-20/p0=4e20 ;        返回“折扣信息0.5e-40”
16           原价小于折扣价, 原价是特别小的正数,折扣价是特别大的正数              p1=2e20/p0=4e-20;          返回“折扣信息大于1”
17           原价小于折扣价,都是负数                                                                     p1=-100/p0=-200;              显示“输入信息有误”
18           原价小于折扣价,原价为负数,折扣价为正数                                         p1=100/p0=-200;              显示“输入信息有误”

发表于 2017-04-01 18:03:32 回复(0)
1、正向测试:
 API :http://p.jd.com?p1=90&p0=100   返回折扣信息0.9
2、边界值分析:
1)p1=0 p0=100   返回折扣错误
2)p1=0.1  p0=0   返回原价错误
3)p1=1 p0=100    返回折扣信息1
3、参数为空
4、参数不为数字
5、参数小于0
6、参数p1>p0

发表于 2017-03-27 14:30:30 回复(0)
cin>>p1>>p0
cout<<"折扣信息"<<

发表于 2015-11-23 22:51:28 回复(0)