专栏首页用户6517667的专栏基于Django的电子商务网站开发(连载19)

基于Django的电子商务网站开发(连载19)

4. 接口测试

1)测试用例

表3-3为修改用户密码测试用例,在这里我们假设旧密码为“000000”,新密码为“123456”,设计4个测试用例,分别为。

(1)旧密码错误,提示错误信息“旧密码不正确”。

(2)新密码与旧密码相同,提示错误信息“新密码不能与旧密码相同”。

(3)确认密码与新密码不匹配,提示错误信息“确认密码与新密码不匹配”。

(4)旧密码、确认密码与新密码设置正确,显示“密码修改成功”的信息。

表3-3 修改用户密码测试用例

编号

描述

期望结果

旧密码

新密码

新密码确认密码

1

123456

654321

654321

提示“旧密码不正确”

2

000000

000000

000000

提示“新密码不能与旧密码相同”

3

000000

123456

654321

提示“确认密码与新密码不匹配”

4

000000

123456

123456

显示“密码修改成功”的信息

2)XML数据文件

根据测试用例的设计,这里的测试配置文件userInfoConfig.xml加入如下内容。

... <!--- 修改用户密码,旧密码不正确 --> <case> <TestId>userInfo-testcase002</TestId> <Title>修改用户密码</Title> <Method>post</Method> <Desc>旧密码不正确</Desc> <Url>http://127.0.0.1:8000/change_password/</Url> <InptArg>{"oldpassword":"123456","newpassword":"654321","checkpassword":"654321"}</InptArg><!--- 旧密码与初始化密码不相同 --> <Result>200</Result> <CheckWord>旧密码不正确</CheckWord> </case> <!--- 修改用户密码,新密码与旧密码相同 --> <case> <TestId>userInfo-testcase003</TestId> <Title>修改用户密码</Title> <Method>post</Method> <Desc>新密码不能与旧密码相同</Desc> <Url>http://127.0.0.1:8000/change_password/</Url> <InptArg>{"oldpassword":"000000","newpassword":"000000","checkpassword":"000000"}</InptArg><!--- 新密码与旧密码相同 --> <Result>200</Result> <CheckWord>新密码不能与旧密码相同</CheckWord> </case> <!--- 修改用户密码,确认密码与新密码不匹配 --> <case> <TestId>userInfo-testcase004</TestId> <Title>修改用户密码</Title> <Method>post</Method> <Desc>确认密码与新密码不匹配</Desc> <Url>http://127.0.0.1:8000/change_password/</Url> <InptArg>{"oldpassword":"000000","newpassword":"123456","checkpassword":"654321"}</InptArg><!--- 确认密码与新密码不匹配 --> <Result>200</Result> <CheckWord>确认密码与新密码不匹配</CheckWord> </case> <!--- 修改用户密码,密码修改成功 --> <case> <TestId>userInfo-testcase005</TestId> <Title>修改用户密码</Title> <Method>post</Method> <Desc>密码修改成功</Desc> <Url>http://127.0.0.1:8000/change_password/</Url> <InptArg>{"oldpassword":"000000","newpassword":"123456","checkpassword":"123456"}</InptArg><!--- 新密码与旧密码不同,确认密码与新密码不匹配 --> <Result>200</Result> <CheckWord>密码修改成功</CheckWord> </case></node>

3)测试代码

在这里测试代码不需要做任何变化。读者有没有发现,由于前面对测试代码进行了比较好的封装和优化,使得接口测试工作变得更加简单。

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

本文分享自微信公众号 - 软件测试培训(iTestTrain),作者:顾翔

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 干货 | 基于信息论构建的测试解决方案——携程机票如何利用大数据提升测试效果?

    陈亮,携程机票BU高级测试经理,在软件服务端、前端的软件质量领域有多年的实战经验,喜欢钻研引入新技术,提升团队工作效率。

    小老鼠
  • B的测试之旅-测试岗如何进行业绩考核?

    顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscr...

    小老鼠
  • 基于Django的电子商务网站开发(连载18)

    系统为用户提供用户登录密码的修改。根据需求定义,修改用户密码的时候,必须提供旧密码、新密码和新密码的确认,并且新密码不能与旧密码相同。如果旧密码不正确、新密码与...

    小老鼠
  • warning: LF will be replaced by CRLF in XXXXXX

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • TCP报文格式

    TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。

    andrew_a
  • throw关键字(重点)

    之前的所有异常类对象都是由JVM自动进行实例化操作的,而现在用户也可以自己手工的抛出一个实例化对象,就通过throw完成了。

    葆宁
  • 总结非结构化数据分析「十步走」

    作者 | Kimberly Powell 翻译 | Nora 注:诚然,本文中所提到的内容并使非结构化数据结构化的唯一步骤,但该步骤的可行性,以及在创造可持续模...

    CSDN技术头条
  • 腾讯许勇:腾讯技术研发正在全面拥抱开源

    6月21至22日,“云+未来”峰会在深圳召开,腾讯向外界进一步展示了开放的诚意:充分开放腾讯的数据能力,包括智能推荐、数字营销等重量级服务,让行业真正感受到数据...

    腾讯技术工程官方号
  • python3 使用 asyncio

    没有老师检查我也不知道自己算不算完全懂了, 就不做无用功尝试说得通俗易懂了. 想要从原理开始理解的话, 推荐tornado的文档

    用户2398817
  • python执行系统命令的方法

        做为系统工程师来说,经常会用到python脚本去调用一下系统命令,现把经常使用的集中调用方法总结如下:

    用户2398817

扫码关注云+社区

领取腾讯云代金券