[测试] 调查问卷相关测试 您所在的位置:网站首页 软件测试功能测试用例模板图片 [测试] 调查问卷相关测试

[测试] 调查问卷相关测试

2024-07-17 18:30| 来源: 网络整理| 查看: 265

项目介绍:发起问卷,管理问卷信息,把问卷结果通过可视化方式呈现出来

一、测试用例 功能测试:界面、用户管理、题目管理、问卷管理、活动管理 用例编号用例标题模块优先级测试环境测试步骤测试数据预期结果WJ-jiemia-001验证界面布局展示成功界面高Firefox版本 102.0.1(32位)  PC端 Windows系统1.打开浏览器 2.在输入框输入URL 3.回车URL界面右侧展示功能; 界面中间展示操作帮助; 界面上方提示需要登录或注册;WJ-jiemian-002验证界面文字展示成功界面高Firefox版本 102.0.1(32位)  PC端 Windows系统1.打开浏览器 2.在输入框输入URL 3.回车URL字体大小、粗细、展示的位置、以及字体成功展示符合要求WJ-jiemian-003验证界面图片展示成功界面高Firefox版本 102.0.1(32位)  PC端 Windows系统1.打开浏览器 2.在输入框输入URL 3.回车URL背景图片完全展示WJ-user-004正确的用户名和密码注册用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击注册 2.输入用户名、密码 3.点击注册按钮用户名:hyg 密码:123界面上方提示:hyg,欢迎使用调查问卷系统WJ-user-005用户名正确密码为空注册用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击注册 2.输入用户名 3.点击注册按钮用户名:zzz 密码:无界面上方提示:zzz,欢迎使用调查问卷系统WJ-user-006用户名为空输入密码注册用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击注册 2.输入密码 3.点击注册按钮用户名:无 密码:2222报错,注册失败WJ-user-007用户名为空密码为空注册用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击注册 2.点击注册按钮用户名:无 密码:无报错,注册失败WJ-user-008已注册用户名和密码登录用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击登录 2.输入已注册的用户名、正确密码 3.点击登录按钮用户名:hyg 密码:123登陆成功,界面上方提示:hyg,欢迎使用调查问卷系统WJ-user-009未注册的用户名和密码登录用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击登录 2.输入未注册的用户名、密码 3.点击登录按钮用户名:张三 密码:000用户名框和密码框清空,登录失败WJ-user-010已注册的用户名和错误的密码登录用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击登录 2.输入已注册的用户名、错误密码 3.点击登录按钮用户名:hyg 密码:000用户名框和密码框清空,登录失败WJ-user-011不输入用户名和密码登录用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击登录 2.不输入用户名和密码 3.点击登录按钮用户名:无 密码:无登录失败WJ-user-012已登录的登出用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统点击登出已登录界面上方提示:系统必须登录后才能使用,请先登录或注册,登出成功WJ-user-013未登录的登出用户管理高Firefox版本 102.0.1(32位)  PC端 Windows系统点击登出未登录界面上方提示:系统必须登录后才能使用,请先登录或注册,登出成功WJ-question-014符合要求的题目和选项题库管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击录制题目 2.输入题目、输入四个选项 3.点击添加按钮题目:今天中午吃什么? A:米饭  B:面条  C:馒头  D:饺子录制成功,清空输入数据WJ-question-015无题目有选项的添加题库管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击录制题目 2.不输入题目、输入四个选项 3.点击添加按钮A:11  B:22 C:33  D:44录制失败WJ-question-016有题目只输入三个选项的添加题库管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击录制题目 2.输入题目、输入三个选项 3.点击添加按钮题目:今天要写几道题? A:1道   B:2道  C:3  道   D:无录制成功,清空输入数据WJ-question-017有题目不输入选项的添加题库管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击录制题目 2.输入题目、不输入选项 3.点击添加按钮题目:去哪里?录制失败WJ-question-018无题目无选项的添加题库管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击录制题目 2.点击添加按钮题目:无 选项:无录制失败WJ-question-019登录后查看我的题目列表题库管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的题目用户名:hyg 密码:123展示题目列表,展示hyg用户下录制的题目和选项,展示成功WJ-question-020登录后查看我的题目列表题库管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的题目用户名:zzz 密码:无展示题目列表,展示zzz用户下录制的题目和选项,展示成功WJ-question-021不登录查看我的题目列表题库管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.不登录账号 2.点击我的题目未登录题目列表不展示,界面上方提示:系统必须登录后才能使用,请先登录或注册,展示失败WJ-survey-022登录后输入标题和简介创建问卷问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击新建问卷 3.填写问卷题目和简介 4.点击新建按钮用户名:hyg 密码:123 标题:信息统计 简介:我就是测试一下新建成功,清空输入数据WJ-survey-023登录后有标题无简介创建问卷问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击新建问卷 3.填写问卷题目,不填写简介 4.点击新建按钮用户名:hyg 密码:123 标题:关于测试是否可用 简介:无新建成功,清空输入数据WJ-survey-024登录后无标题有简介创建问卷问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击新建问卷 3.不填写问卷题目,填写简介 4.点击新建按钮用户名:hyg 密码:123 标题:无 简介:测试无标题是否可用新建成功,清空输入数据WJ-survey-025登录后无标题无简介创建问卷问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击新建问卷 3.不填写问卷题目,不填写简介 4.点击新建按钮用户名:hyg 密码:123 标题:无 简介:无新建成功,清空输入数据WJ-survey-026不登陆创建问卷问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.未登录账号 2.点击新建问卷 3.填写问卷题目,填写简介 4.点击新建按钮用户名:无 密码:无 标题:111 简介:222新建失败,跳转到登录页面WJ-survey-027登录查看我的问卷问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的问卷用户名:hyg 密码:123问卷列表展示标题和简介,展示hyg用户下建立的所有问卷,展示成功WJ-survey-028登录查看我的问卷问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的问卷用户名:zzz 密码:无问卷列表展示标题和简介,展示zzz用户下建立的所有问卷,展示成功WJ-survey-029不登录产看我的问卷问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.不登录账号 2.点击我的问卷未登录问卷列表不展示,界面上方提示:系统必须登录后才能使用,请先登录或注册,展示失败WJ-survey-030登录后问卷和题目的绑定问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的问卷 3.点击标题内容用户名:hyg 密码:123展示hyg用户下所有的标题选项WJ-survey-031登录后问卷和题目的绑定问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的问卷 3.点击标题内容用户名:zzz 密码:无展示zzz用户下所有的标题选项WJ-survey-032登录后关联问卷和题目问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的问卷 3.点击标题内容 4.勾选想要绑定的题目 5.点击关联按钮用户名:hyg 密码:123跳转到我的问卷页面,关联成功WJ-survey-033登录后部分关联后再次关联问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的问卷 3.点击标题内容 4.勾选想要绑定的题目 5.点击关联按钮用户名:hyg 密码:123同一个问卷再次关联时之前被选则的题目任然处于被选状态,关联成功WJ-survey-034无标题的问卷关联问卷管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的问卷 3.点击无标题内容的标题用户名:hyg 密码:123无法选中,不能关联题目WJ-activity-035登录后创建活动下拉框的使用活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击创建活动 3.点击下拉框 4.点击其中一个问卷用户名:hyg 密码:123下拉框显示hyg用户下的所有问卷WJ-activity-036未登录创建活动下拉框的使用活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.不登录账号 2.点击创建活动 3.点击下拉框未登录下拉框无法显示问卷题目WJ-activity-037登录后输入正确格式的时间创建活动活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击创建活动 3.点击下拉框,点击其中一个问卷 4.按照提示的格式正确输入时间 5.点击创建按钮用户名:hyg 密码:123 开始时间:2022-07-07 18:40:00 结束时间:2022-07-19 18:40:00跳转到我的活动界面,显示所创建的问卷信息,创建成功WJ-activity-038登录后选择有标题活动输入错误格式的时间创建活动活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击创建活动 3.点击下拉框,点击其中一个问卷 4.不按照提示的格式输入时间 5.点击创建按钮用户名:hyg 密码:123 开始时间:20220707 18:40:00 结束时间:20220719 18:40:00报错,创建失败WJ-activity-039登录后选择无标题活动输入正确格式的时间创建活动活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击创建活动 3.点击下拉框,点击无标题问卷 4.按照提示的格式输入时间 5.点击创建按钮用户名:hyg 密码:123 开始时间:2022-07-07 18:40:00 结束时间:2022-07-20 18:40:00跳转到我的活动界面,显示所创建的问卷信息,创建成功WJ-activity-040登录后选择题目不输入时间创建活动活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击创建活动 3.点击下拉框,点击其中一个问卷 4.不输入时间 5.点击创建按钮用户名:hyg 密码:123报错,创建失败WJ-activity-041未登录创建活动活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.不登录账号 2.点击创建活动 3.点击创建未登录报错,创建失败WJ-activity-042登录后活动列表展开活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的活动用户名:hyg 密码:123仅展示活动hyg用户下的所创建的所有活动列表 截至时间小于当前时间,状态显示已结束 截至时间大于当前时间,状态显示进行中 开始时间大于当前时间,状态显示未开始WJ-activity-043不登录活动列表展开活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.不登录账号 2.点击我的活动未登录活动列表不展示WJ-activity-044生成链接能否复制活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.登录账号 2.点击我的活动 3.复制调查连接,在浏览器中打开用户名:hyg 密码:123成功打开问卷WJ-activity-045按要求填写调查问卷提交活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.复制调查链接,在浏览器中打开 2.输入信息,选择答案 3.点击提交输入链接页面跳转,显示感谢调查页面,提交成功WJ-activity-046不填写信息选择答案提交活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.复制调查链接,在浏览器中打开 2.不输入信息,选择答案 3.点击提交输入链接报错,提交失败WJ-activity-047填写部分信息选择答案提交活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.复制调查链接,在浏览器中打开 2.输入部分信息,选择答案 3.点击提交输入链接报错,提交失败WJ-activity-048填写信息选择部分答案提交活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.复制调查链接,在浏览器中打开 2.输入信息,选择部分答案 3.点击提交输入链接页面跳转,显示感谢调查页面,提交成功WJ-activity-049电话信息和合法性活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.复制调查链接,在浏览器中打开 2.输入电话为字母,选择答案 3.点击提交输入链接 电话:sbcsk报错,提交失败,电话格式错误WJ-activity-050年龄信息的合法性活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.复制调查链接,在浏览器中打开 2.输入年龄为字母,选择答案 3.点击提交输入链接 年龄:ee报错,提交失败,年龄格式错误WJ-activity-051查看生成报告活动管理高Firefox版本 102.0.1(32位)  PC端 Windows系统1.点击我的活动 2.已结束的题目点击已结束无展示调查结果页面 兼容性测试 兼容性测试用例编号用力标题模块优先级版本结果WJ-compatibility-052火狐浏览器访问该问卷系统兼容性中Firefox版本 102.0.1(32位) PC端 Windows系统能够使用WJ-compatibility-053谷歌浏览器访问该问卷系统兼容性中 Chrome 版本 103.0.5060.66(正式版本) (64 位) PC端 Windows系统能够使用WJ-compatibility-054edge浏览器访问该问卷系统兼容性中Microsoft Edge版本 103.0.1264.62 (正式版本) (64 位) PC端 Windows系统能够使用 易用性测试 易用性测试用例编号用例标题模块优先级版本测试步骤测试数据预期结果WJ-compatibility-055登录按钮设计易用性中Firefox版本 102.0.1(32位) PC端 Windows系统1.输入用户名 2.输入密码 3.回车登录用户名:hyg 密码:123登录成功WJ-compatibility-056注册按钮设计易用性中Firefox版本 102.0.1(32位) PC端 Windows系统1.输入用户名 2.输入密码 3.回车注册用户名:小明 密码:1234注册成功WJ-compatibility-057添加题目按钮设计易用性中Firefox版本 102.0.1(32位) PC端 Windows系统1.输入用户名 2.输入密码 3.点击录制题目 4.输入内容并回车用户名:小明 密码:1234添加成功WJ-compatibility-058新建问卷按钮设计易用性中Firefox版本 102.0.1(32位) PC端 Windows系统1.输入用户名 2.输入密码 3.点击新建问卷 4.输入内容并回车用户名:小明 密码:1234新建成功WJ-compatibility-059创建活动按钮设计易用性中Firefox版本 102.0.1(32位) PC端 Windows系统1.输入用户名 2.输入密码 3.点击创建活动 4.输入内容并回车用户名:小明 密码:1234创建成功 二、自动化测试

对系统用户管理功能,使用 Unittest 框架进行了自动化测试,并生成测试报告。

用户管理功能分为三部分:注册、登录、登出

对于三部分分别写一个脚本,一个脚本中包含多个测试用例

由于每一个测试用例都需要打开浏览器输入url和关闭,因此把这些内容写在测试套件中,需要使用的时候直接调取即可。

# 测试固件 def setUp(self): print("------setUp------") self.driver = webdriver.Firefox() self.url = "https://......" self.driver.maximize_window() time.sleep(3) def tearDown(self): print("------tearDown------") self.driver.quit()

以正确的用户名和密码举例:

首先我们需要打开浏览器,输入URL

定位元素定位到输入框位置,进行输入用 send_keys(),点击使用 click()

使用 assertEqual 这个断言来判断这个测试是否通过

# 正确用户名和密码 @unittest.skip("skipping") def test_register1(self): driver = self.driver url = self.url driver.get(url) driver.find_element_by_xpath("/html/body/aside/section[1]/a[1]").click() driver.find_element_by_xpath("/html/body/main/form/input[1]").send_keys("王五") driver.find_element_by_xpath("/html/body/main/form/input[2]").send_keys("123") driver.find_element_by_xpath("/html/body/main/form/button").click() time.sleep(5) self.assertEqual("王五,欢迎使用调查问卷系统", driver.find_element_by_xpath("/html/body/main/p").text, msg="注册成功") time.sleep(3)

@unittest.skip("skipping") —— 可使该用例不被执行

其他部分同理

步骤:1.定位元素  2.点击或输入  3.断言判断

登录部分测试的完整代码:

from selenium import webdriver import unittest import time class login(unittest.TestCase): # 测试固件 def setUp(self): print("------setUp------") self.driver = webdriver.Firefox() self.url = "https://..........." self.driver.maximize_window() time.sleep(3) def tearDown(self): print("------tearDown------") self.driver.quit() # 正确用户名和密码登录 def test_login1(self): driver = self.driver url = self.url driver.get(url) driver.find_element_by_xpath("/html/body/aside/section[1]/a[2]").click() driver.find_element_by_xpath("/html/body/main/form/input[1]").send_keys("hyg") driver.find_element_by_xpath("/html/body/main/form/input[2]").send_keys("123") driver.find_element_by_xpath("/html/body/main/form/button").click() time.sleep(5) self.assertEqual("hyg,欢迎使用调查问卷系统", driver.find_element_by_xpath("/html/body/main/p").text, msg="登陆成功") time.sleep(3) # 未注册用户名和密码登录 def test_login2(self): driver = self.driver url = self.url driver.get(url) driver.find_element_by_xpath("/html/body/aside/section[1]/a[2]").click() driver.find_element_by_xpath("/html/body/main/form/input[1]").send_keys("小明") driver.find_element_by_xpath("/html/body/main/form/input[2]").send_keys("123") driver.find_element_by_xpath("/html/body/main/form/button").click() time.sleep(5) self.assertEqual("", driver.find_element_by_xpath("/html/body/main/form/input[1]").get_attribute('value'), msg="登陆失败") time.sleep(3) # 已注册用户名和错误密码登录 def test_login3(self): driver = self.driver url = self.url driver.get(url) driver.find_element_by_xpath("/html/body/aside/section[1]/a[2]").click() driver.find_element_by_xpath("/html/body/main/form/input[1]").send_keys("hyg") driver.find_element_by_xpath("/html/body/main/form/input[2]").send_keys("000") driver.find_element_by_xpath("/html/body/main/form/button").click() time.sleep(5) self.assertEqual("", driver.find_element_by_xpath("/html/body/main/form/input[1]").get_attribute('value'), msg="登陆失败") time.sleep(3) # 不输入用户名和密码 def test_login4(self): driver = self.driver url = self.url driver.get(url) driver.find_element_by_xpath("/html/body/aside/section[1]/a[2]").click() driver.find_element_by_xpath("/html/body/main/form/button").click() time.sleep(5) self.assertEqual("", driver.find_element_by_xpath("/html/body/main/form/input[1]").get_attribute('value'), msg="登陆失败") time.sleep(3) if __name__ == "__main__": unittest.main()

写完三个部分的脚本之后,我们需要一个测试套件,可以让三个脚本一起运行,这样我们就不用一个测试用例就手工的执行一次了。

这里用到的是 unittest 框架

import unittest def creatSuit(): # 把一个测试脚本中所有的测试用例都添加到suit中 # makeSuit # suit = unittest.TestSuite() # suit.addTest(unittest.makeSuite(diaocha2.login)) # suit.addTest(unittest.makeSuite(diaocha3.out)) # return suit # 可以把一个文件夹下面所有的测试脚本中的测试用例放入测试套件 discover = unittest.defaultTestLoader.discover("../unittest", pattern="diaocha*.py", top_level_dir=None) return discover if __name__ == "__main__": suit = creatSuit() # verbosity= 0, 1, 2 # 数字1代表运行后的提示信息粗略 2代表运行失败后会详细写出哪里出现错了 0只会把错误的打印出来 runner = unittest.TextTestRunner(verbosity=2) runner.run(suit)

最后生成我们的测试报告

需要创建一个放测试报告的文件夹,并且为生成的测试报告命名,这里采用的是根据当下时间命名的方式,这样就不会使文件名重复而生成报告失败。

import HTMLTestRunner import os import sys import time import unittest def createsuite(): discovers = unittest.defaultTestLoader.discover("../unittest", pattern="diaocha*.py", top_level_dir=None) print(discovers) return discovers if __name__=="__main__": # 创建文件夹 curpath = sys.path[0] print(sys.path) print(sys.path[0]) # 1,当前路径下 resultreport 文件夹不存在的时候,就创建一个 if not os.path.exists(curpath + '/resultreport'): os.makedirs(curpath + '/resultreport') # 2,文件夹的命名,不能让名称重复 # 时间 时分秒 ——》名称绝对不会重复 now = time.strftime("%Y-%m-%d-%H %M %S", time.localtime(time.time())) print(time.time()) print(time.localtime(time.time())) # 准备 HTML 报告输出的文件 filename = curpath + '/resultreport/' + now + 'resultreport.html' # 打开 HTML 文件,wb 以写的方式 with open(filename, 'wb') as fp: # 括号里的参数是 HTML 报告里的参数 runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"测试报告", description=u"用例执行情况", verbosity=2) suite = createsuite() runner.run(suite)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有