问卷调查系统测试报告

目录

一.概述

1.1 测试背景

1.2 测试目标

1.3测试文档

二.测试用例

2.1登录页面测试用例

2.2 注册界面测试用例

2.3 主页面测试用例

​编辑三.手动化功能测试

3.1注册界面手动化功能测试

3.2 登录界面手动化功能测试

3.3主页面手动化功能测试

四. 自动化测试

4.1注册页面自动化测试

4.2登录页面自动化测试

4.3主页面自动化测试

五.结语


一.概述

1.1 测试背景

问卷系统是面向企业用户的在线调研平台,支持问卷创建、发布、数据回收与统计分析。本次测试为问卷系统上线前的测试,旨在验证系统是否满足需求规格说明书中定义的功能、性能及安全要求,确保系统稳定交付。

1.2 测试目标

验证核心功能(问卷设计、发布、填写、统计)的正确性与完整性

检查问卷系统各个界面是否存在缺陷

确保用户数据安全与权限控制有效

1.3测试文档

类型

配置版本
测试硬件设备神舟战神Z7
手动化测试浏览器Microsoft Edge版本 146.0.3856.78 (正式版本) (64 位)
自动化开发环境PyCharm Community Edition 2023.2.2
自动化测试工具Selenium4.2
操作系统Windows 11
自动化测试浏览器Microsoft Edge版本 146.0.3856.78 (正式版本) (64 位)

二.测试用例

测试用例是一组输入、执行条件和预期结果的集合,目的是验证软件是否满足需求规格。

2.1登录页面测试用例

2.2 注册界面测试用例

2.3 主页面测试用例


三.手动化功能测试

手动测试(Manual Testing),也称为手工测试。它是软件测试中最基础、最传统的一种方式,由测试人员手工执行测试用例,模拟真实用户的操作,观察系统实际行为是否与预期一致,并记录缺陷。

3.1注册界面手动化功能测试

注册页面色彩正常,UI正常,文字排版及格式正常,无负能量反馈,方便易用

不填任何数据,无法注册,并进行提示

未输入用户名,注册失败,显示:用户名为必填项!

未输入登录帐名,注册失败,显示:登录账号不能为空!

未输入密码,注册失败,显示:密码为必填项!

输入密码不符合位数要求,显示:密码至少6位

未输入确认密码,显示:请再次输入密码

点击隐藏小眼睛,显示密码

再次点击小眼睛,隐藏密码

步骤无误后点击”注册账户“,跳转至登录页面,并显示”注册成功“

点击”返回登录“,跳转至登录界面

3.2 登录界面手动化功能测试

注册页面色彩正常,UI正常,文字排版及格式正常,无负能量反馈,方便易用

什么都未输入,登录失败,显示:用户名是必填项!、密码是必填项!

输入账号,未输入密码,显示:密码是必填项

未输入账号,显示:用户名是必填项!

点击隐藏小眼睛,显示密码

再次点击,隐藏密码

点击”注册用户“,跳转至注册页面

3.3主页面手动化功能测试

输入正确的用户名和密码,点击”登录后,进入主页面,并且显示登录成功

主页面色彩正常,UI正常,文字排版及格式正常,无负能量反馈,方便易用

点击侧面按钮,左侧功能板展开

点击我的项目,进入我的项目页面

点击新建,展开新建选项页面

在新建项下,点击“问卷调查”,进入问卷调查页面,并成功创建,并保存成功

在新建项下,点击“创建考试”,进入在线考试页面,并成功创建,并保存成功

在新建项下,点击“通过Excel导入”,进入Excel导入问卷界面

在新建项下,点击”文本导入问卷“,成功进入文本导入问卷

在新建项下,点击”通过模板导入“,成功进入模板导入界面

在新建下,点击”通过模板导入“,成功进入模板导入界面

在新建项下,点击”回收站“,成功进入回收站界面

在我的项目页面,点击分类项,成功显示分类

在我的项目页面,点击所有列表项,成功显示所有项目

点击搜索栏,输入考试名称,点击搜索,显示出搜索项目

我的练习页面功能测试

系统管理界面手动化测试

主页面手动化功能测试就结束了,是不是很繁琐?所以,为了提高测试效率,我们可以借助自动化测试工具。例如selenium 。

四. 自动化测试

4.1注册页面自动化测试

from selenium import webdriver
from selenium.webdriver.edge.service import Service
import datetime
from time import sleep

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait

driver_path = r"D:\Python文件\edgedriver_win64\msedgedriver.exe"
# 定义了一个字符串变量 driver_path,用来存储 Edge 驱动(msedgedriver.exe)的绝对路径。
service = Service(driver_path)  # 创建了一个 Service 对象,参数 driver_path 告诉 Service 要启动哪个驱动程序的路径
driver = webdriver.Edge(service=service)
# 使用 webdriver.Edge 类实例化一个浏览器驱动对象,通过 service=service 参数将之前创建的 Service 对象传递给 Edge 驱动。
driver.implicitly_wait(5)
# 添加隐式等待 ,告诉 WebDriver,在尝试查找一个元素时,如果该元素没有立即出现,最多等待 5 秒 后再抛出 NoSuchElementException
driver.get("http://49.235.61.184:8080/user/login?redirect=%2Fsystem%2Fsetting")
# 进入问卷系统网址
# sleep(2)
# driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___2zk1- > div.main___x4OjT > div > form > div:nth-child(4) > a").click()
#进入注册页面
# filename = "LoginPageTesting-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S") + ".png"
# # 获取当前系统时间,返回一个 datetime 对象,包含年、月、日、时、分、秒、微秒等,生成唯一文件名,避免重复截图覆盖,同时通过时间戳天然排序。
# driver.save_screenshot("./SaveImage/" + filename)
# 保存截图到指定文件
#driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___1k5Ro > div.main___19HXK > div > form > button").click()
#不按正确步骤输入,直接点击注册,显示注册失败
# sleep(2)
# filename = "LoginPageTesting-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S") + ".png"
# driver.save_screenshot("./SaveImage/" + filename)
# driver.find_element(By.CSS_SELECTOR,"#name").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___1k5Ro > div.main___19HXK > div > form > button").click()
#只输入用户名,然后直接进行注册,显示登录名和密码是必填项,注册失败
# driver.find_element(By.CSS_SELECTOR,"#name").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#username").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___1k5Ro > div.main___19HXK > div > form > button").click()
#只输入用户名和登录账号,然后直接点注册,显示密码是必填项,注册失败
# driver.find_element(By.CSS_SELECTOR,"#name").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#username").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123456")
# driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___1k5Ro > div.main___19HXK > div > form > button").click()
#不输入确认密码,直接点注册,显示:请再次输入密码,注册失败
# driver.find_element(By.CSS_SELECTOR,"#name").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#username").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123456")
# driver.find_element(By.CSS_SELECTOR,"#rePassword").send_keys("123457")
# driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___1k5Ro > div.main___19HXK > div > form > button").click()
#确认密码与密码不一致,显示:两次密码不一致,注册失败
# driver.find_element(By.CSS_SELECTOR,"#name").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#username").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123456")
# driver.find_element(By.CSS_SELECTOR,"#rePassword").send_keys("123456")
# driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___1k5Ro > div.main___19HXK > div > form > button").click()
#步骤均正确,注册成功,跳转至登录界面
# driver.find_element(By.CSS_SELECTOR,("#root > div > div.content___1k5Ro > div.main___19HXK > div > form > div:nth-child(6) > a")).click()

sleep(3)
filename = "LoginPageTesting-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S") + ".png"
driver.save_screenshot("./SaveImage/" + filename)
driver.quit()

4.2登录页面自动化测试

from selenium import webdriver
from selenium.webdriver.edge.service import Service
import datetime
from time import sleep

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait

driver_path = r"D:\Python文件\edgedriver_win64\msedgedriver.exe"
# 定义了一个字符串变量 driver_path,用来存储 Edge 驱动(msedgedriver.exe)的绝对路径。
service = Service(driver_path)  # 创建了一个 Service 对象,参数 driver_path 告诉 Service 要启动哪个驱动程序的路径
driver = webdriver.Edge(service=service)
# 使用 webdriver.Edge 类实例化一个浏览器驱动对象,通过 service=service 参数将之前创建的 Service 对象传递给 Edge 驱动。
driver.implicitly_wait(5)
# 添加隐式等待 ,告诉 WebDriver,在尝试查找一个元素时,如果该元素没有立即出现,最多等待 5 秒 后再抛出 NoSuchElementException
driver.get("http://49.235.61.184:8080/user/login?redirect=%2Fsystem%2Fsetting")
# 进入问卷系统网址
# sleep(2)
# filename = "LoginPageTesting-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S") + ".png"
# # 获取当前系统时间,返回一个 datetime 对象,包含年、月、日、时、分、秒、微秒等,生成唯一文件名,避免重复截图覆盖,同时通过时间戳天然排序。
# driver.save_screenshot("./SaveImage/" + filename)
# 保存截图到指定文件
# driver.find_element(By.CSS_SELECTOR,"#username").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button").click()
# #只输入用户名,直接点“登录”,显示密码是必填项
# driver.find_element(By.CSS_SELECTOR,"#username").send_keys("CC")
# driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123457")
# driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button").click()
#输入正确的用户名,错误的密码,显示错误的用户名和密码
driver.find_element(By.CSS_SELECTOR,"#username").send_keys("CC")
driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123456")
driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button").click()
# 正确的密码和用户名,进入主页面
sleep(3)
filename = "LoginPageTesting-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S") + ".png"
driver.save_screenshot("./SaveImage/" + filename)
driver.quit()

4.3主页面自动化测试

import time

from selenium import webdriver
from selenium.webdriver.edge.service import Service
import datetime
from time import sleep
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait

driver_path = r"D:\Python文件\edgedriver_win64\msedgedriver.exe"
# 定义了一个字符串变量 driver_path,用来存储 Edge 驱动(msedgedriver.exe)的绝对路径。
service = Service(driver_path)  # 创建了一个 Service 对象,参数 driver_path 告诉 Service 要启动哪个驱动程序的路径
driver = webdriver.Edge(service=service)
# 使用 webdriver.Edge 类实例化一个浏览器驱动对象,通过 service=service 参数将之前创建的 Service 对象传递给 Edge 驱动。
# driver.implicitly_wait(5)
# 添加隐式等待 ,告诉 WebDriver,在尝试查找一个元素时,如果该元素没有立即出现,最多等待 5 秒 后再抛出 NoSuchElementException

driver.get("http://49.235.61.184:8080/user/login?redirect=%2Fsystem%2Fsetting")
# 进入问卷系统网址
# sleep(2)
# filename = "LoginPageTesting-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S") + ".png"
# # 获取当前系统时间,返回一个 datetime 对象,包含年、月、日、时、分、秒、微秒等,生成唯一文件名,避免重复截图覆盖,同时通过时间戳天然排序。
# driver.save_screenshot("./SaveImage/" + filename)
# 保存截图到指定文件
driver.find_element(By.CSS_SELECTOR,"#username").send_keys("CC")
driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123456")
driver.find_element(By.CSS_SELECTOR,"#root > div > div.content___2zk1- > div.main___x4OjT > div > form > button").click()
# 正确的密码和用户名,进入个人信息主页面
# driver.find_element(By.CSS_SELECTOR,"#phone").send_keys("12345678988")
# driver.find_element(By.CSS_SELECTOR,"#email").send_keys("888")
# driver.find_element(By.CSS_SELECTOR,"#profile").send_keys("帅气")
# driver.find_element(By.CSS_SELECTOR,"#sk-layout > div > div > section > div.ant-pro-layout-container > main > div > div > div > div.right___2jdGg > div.baseView___3sRG3 > div.left___GavW0 > form > div.ant-space.ant-space-horizontal.ant-space-align-center > div:nth-child(2) > button").click()
# driver.find_element(By.CSS_SELECTOR,"#sk-layout > div > div > section > div.ant-pro-layout-container > main > div > div > div > div.leftMenu___179-W > ul > li:nth-child(2) > span").click()
# 进入安全设置界面
time.sleep(1)
# driver.find_element(By.CSS_SELECTOR,"#sk-layout > div > div > section > div.ant-pro-layout-container > main > div > div > div > div.leftMenu___179-W > ul > li:nth-child(2) > span").click(
driver.find_element(By.XPATH,"//span[text()='安全设置']").click()
#进入AI设置界面
driver.find_element(By.XPATH,"//span[text()='AI设置']").click()
# # 点击我的问卷,显示我的问卷列
driver.find_element(By.XPATH,).click()
sleep(3)
filename = "MainPageTesting-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S") + ".png"
driver.save_screenshot("./SaveImage/" + filename)
driver.quit()

五.结语

本篇主要介绍测试软件项目相关流程,供小伙伴们参考学习,愿与大家共同进步,祝天天开心~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值