【软件测试】Selenium+TestNG 综合练习

学号:04191315

姓名:何翔

学院:计算机学院

专业:软件工程

文章链接:https://blog.csdn.net/HXBest/article/details/122083502

完整代码:https://github.com/He-Xiang-best/Software-Quality-Assurance-and-Testing

修订历史记录

版本 日期 AMD 修订者 说明
V1.0 2021.12.7 A 何翔 完成了单元测试和使用Selenium+TestNG+Excel读取数据并测试。功能比较简单,不足之处是没有使用到数据库数据的读取,以及测试失败后提示不全面,也只是简单的判空和页面跳转,没有做断言的处理,没有报告分析。
V2.0 2021.12.21 A、M 何翔 在V1.0的基础上添加了使用Selenium+TestNG+数据库读取数据并测试。代码基本重构了一遍,好的地方是判断测试用例情况更加全面,且增加了断言处理,有生成代码的测试报告等。不足之处是断言的数据的使用不对,没有增加预期值的字段,反而使用了一些不需要的数据作为是预期的判断。
V2.0+ 2021.12.28 A、M 何翔 代码在V2.0的基础上进行全面优化,增加了预期值的字段,实际值能够在程序运行过程中获取,与我们的数据库给定的预期值做断言比较,测试用例更加全面完善,且所有测试都成功通过,功能模块没有bug产生,测试报告等也全面完成,分析准确到位。

(A-添加,M-修改,D-删除)

一、测试需求

1.1 测试模块

后台登入功能模块

后台指网站或系统用于管理用户数据、网站或系统数据的一部分,一般只允许管理员或特定人员通过后台登录界面进入,对整个网站及系统进行管理,普通用户是没有权限进入的。后台管理主要是用于对网站前台的信息管理,如文字、图片、影音、和其他日常使用文件的发布、更新、删除等操作,同时也包括各种子模块信息的管理。由此可见,后台管理了一个系统相当多至关重要的数据,操控人员一定是需要安全检验认证才可访问的,进而对数据进行管理,因此,设计一个安全严谨的后台的登入功能模块是非常需要的。现对一个设计好的后台登入模块进行登录的测试。

1.2 测试内容

  • 使用【Selenium+Java+数据库】进行数据驱动测试,对自己搭建的Web项目做登入功能测试

  • 使用【Selenium+Java+Excel】进行数据驱动测试,对自己搭建的Web项目做登入功能测试

  • 使用【Junit】对自己开发的web程序进行单元测试实现简单的增删查改操作

二、测试设计思想

2.1 测试用例

字段名称 描 述
标识符 UC1
测试项 登入功能
设计者 何翔
测试环境要求 与服务器可以正常连接 ;软件:Chrome浏览器96版本以上 ,jdk1.8+,maven相关依赖以及TestNG相关jar包
测试方法 黑盒测试
输入说明 (1) 访问后台(2)填写登入信息,其中所填写的“用户名”、“密码”两个输入框不能为空,且登入的用户信息需要和注册保存在数据库里面的数据一致(3)点击登入按钮
输出标准 界面提示信息: (1)登入成功时有提示,并能够跳转成功的相关页面(2)当输入的信息不符合要求时,要有具体提示(3)登入失败的时,显示登入失败具体失败的具体原因。
特殊要求 进入到后台登入页面
用例之间的依赖性

2.2 等价类划分

我们可以设用户输入的登入用户名为:input_username,输入的登入密码为:input_password;正确对应存在的登入用户名为:username,正确对应存在的登入密码为:password。

一个用户想要登入进后台管理系统,需要满足以下条件:

  • 登入用户名输入框已填写数据:

    input_username ≠ 空

  • 登入密码输入框已填写数据:

    input_password ≠ 空

  • 如果表单信息都填写了,还要判断填写的用户名存在:

    input_username = username

  • 如果用户名存在,还要判断填写的密码与存在用户的密码一致:

    input_password = password

输入条件 有效等价类编号 有效等价类 无效等价类编号 无效等价类
是否填写用户名 (1) input_username ≠ 空 (2) input_username = 空
是否填写密码 (3) input_password ≠ 空 (4) input_password = 空
是否存在用户 (5) input_username = username (6) input_username ≠ username
是否密码一致 (7) input_password = password (8) input_password ≠ password

注:以下的XXX表示的是非正确的随机数据

序号 输入值(input_username/input_password) 覆盖等价类编号 输出
1 (“”,XXX) (2),(3),(6),(8) 请输入用户名
2 (“”,“”) (2),(4),(6),(8) 请输入用户名
3 (“”,password) (2),(3),(6),(7) 请输入用户名
4 (XXX,“ ”) (1),(4),(6),(8) 请输入密码
5 (username,“ ”) (1),(4),(5),(8) 请输入密码
6 (XXX,XXX) (1),(3),(6),(8) 用户不存在
7 (XXX,password) (1),(3),(6),(7) 用户不存在
8 (username,XXX) (1),(3),(5),(8) 密码输入错误
9 (username,password) (1),(3),(5),(7) 登入成功

三、测试数据

数据库数据 Excel数据 测试用例说明
【软件测试】Selenium+TestNG 综合练习 【软件测试】Selenium+TestNG 综合练习

4.1.1 TestNGConfig.java

来源:Xiang.He

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月6日
下一篇 2022年3月6日

相关推荐