我的博客系统测试报告
1、问卷调查系统设计背景
在信息爆炸的当下,网络世界虽热闹非凡,但真正能自由表达、深度交流且契合个人风格的空间却难寻。现有的主流博客平台,功能趋于同质化,界面设计千篇一律,难以满足我展现独特个性与想法的需求。而且,数据安全和隐私保护方面也让我心存顾虑,自己的创作成果仿佛置于“公共领地”,缺乏足够的安全感。
我热爱写作,渴望拥有一个专属的创作天地,能按照自己的喜好布置界面、规划功能,将生活中的感悟、专业知识毫无保留地分享出去。同时,也希望能吸引志同道合的朋友,在这里交流思想、碰撞火花。
基于这些考虑,决定设计一个博客系统。它将以简洁易用为原则,具备个性化的界面定制、丰富的内容管理以及安全的用户交互功能。通过这个系统,我不仅能实现自我表达,还能打造一个温暖、有活力的交流社区,让每一个来访者都能感受到独特的魅力。
2、项目功能
1、登录功能
登录界面
输入账号、输入密码、点击登录、即可完成登录
2、编辑博客
登录进入首页后点击查看全文
进入编辑界面输入标题、内容点击保存即可完成创建
3、发布博客
登录后点击写博客
输入内容,标题后点击发布
在首页找到刚才发布的文章,功能正常
3、测试计划
4、测试工具
1)Xmind
使用Xmind 绘制了需要的测试用例
2)Pycharm和chrome
使用Pycharm编写自动化脚本进行测试
3)Postman
使用Postman进行性能测试
5、设计到的测试设计类型
1)功能测试
覆盖了,登录功能(正常登录,异常登录),首页(登录后的首页,未登录的首页),博客的详情页(创建成功,创建失败)
2)自动化测试
覆盖了,登录功能(正常登录,异常登录),首页(登录后的首页,未登录的首页),我的博客的详情页(创建成功,创建失败)
3)性能测试
在多用户并发条件下连接,登录,首页,列表页,发布博客页下进行性能测试
6、功能测试
1)登录功能
按照测试用例进行一步一步的操作
如正常登录,打开浏览器->
——>进入首页
_>输入账号密码
点击登录,登录成功
2)博客首页
按照测试用例进行测试
登录成功的首页有,主页,写博客....元素功能正常
登录失败的首页
输入博客首页网站
停留在登录界面,功能正常
3)发布博客
登录后点击写博客
输入内容,标题后点击发布
在首页找到刚才发布的文章,功能正常
7、自动化测试
1)绘制思维导图
2)编写测试程序
① 配置文件
import datetime
import os
import sysfrom selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManagerclass Driver:driver = ""def __init__(self):options = webdriver.ChromeOptions()self.driver = webdriver.Chrome(service = Service(ChromeDriverManager().install()),options = options)self.driver.implicitly_wait(2)def screeshot(self):dirname = datetime.datetime.now().strftime("%Y-%m-%d")if not os.path.exists("../images/"+dirname):os.makedirs('../images/'+dirname)filename = sys._getframe().f_back.f_code.co_name+"-"+datetime.datetime.now().strftime("%Y-%m-%d_%H%M%S") + '.png'self.driver.save_screenshot('../images/'+dirname+'/'+filename)AllDriver = Driver()
② 登录界面
import timefrom selenium.webdriver.common.by import Byfrom comom.Utils import AllDriverclass Login:driver = ""url = ""def __init__(self):self.driver = AllDriver.driverself.url = "http://8.137.19.140:9090/blog_login.html"self.driver.get(self.url)def SucLogin(self):self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangsan")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("123456")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()self.driver.find_element(By.CSS_SELECTOR, "body > div.container > div.left > div > h3")AllDriver.screeshot()text = self.driver.find_element(By.CSS_SELECTOR, "body > div.nav > a:nth-child(4)").textassert text=="主页"# self.driver.back()#全不输入,不输入密码,密码错误账号错误,正确账号错误密码def FulLogin(self,username =None,password = None):self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()if (username == None and password == None):{}elif (password == None):self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys(username)else:self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys(username)self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys(password)AllDriver.screeshot()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)alert = self.driver.switch_to.alerttext = alert.textassert (text == "账号或密码不能为空" or text == "密码错误" or text =="用户不存在")alert.accept()def FulNuLogin(self):self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangsan")AllDriver.screeshot()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)alert = self.driver.switch_to.alerttext = alert.textassert text == "账号或密码不能为空"alert.accept()login = Login()
#1、正常登录
# login.SucLogin()
# #2、错误账号错误密码
# login.FulLogin(time.time(),time.time())
# #3、正确账号错误密码
# login.FulLogin("zhangsan","1234567")
# #4、不输入密码
# login.FulNuLogin()
# #5、不输入账号
# login.FulLogin("123456")
# #6、不输入账号密码
# login.FulLogin()
# #7、不点击登录
③ 首页
from selenium.webdriver.common.by import Byfrom comom.Utils import AllDriverclass List:driver = AllDriver.driverurl = "http://8.137.19.140:9090/blog_list.html"def __init__(self):self.driver.get(self.url)def SucList(self):text = self.driver.find_element(By.CSS_SELECTOR, "body > div.nav > span").textassert text == "我的博客系统"self.driver.find_element(By.CSS_SELECTOR, "body > div.container > div.left > div > h3")self.driver.find_element(By.CSS_SELECTOR,"body > div.nav > a:nth-child(4)")def FulList(self):current_url =self.driver.current_urlassert current_url == "http://8.137.19.140:9090/blog_login.html"def Exit(self):self.driver.find_element(By.CSS_SELECTOR, "body > div.nav > a:nth-child(6)").click()list=List()
④ 发布博客:
import timefrom selenium.webdriver.common.by import Byfrom comom.Utils import AllDriver
class Writebloge:driver =AllDriver.driverdef SucWrite(self):self.driver.find_element(By.CSS_SELECTOR,"body > div.nav > a:nth-child(5)").click()self.driver.find_element(By.CSS_SELECTOR,"#title").send_keys("测试111")self.driver.find_element(By.CSS_SELECTOR,"#submit").click()writebloge = Writebloge()
8、性能测试
使用工具jmeter分别对登录接口,首页接口,博客里表也,博客详情页进行测试
对thread线程组进行配置
性能测试报告:
cmd输入指令
end of run
打开index,就是性能测试报告
8、项目测试bug简述
9、测试结论
本次测试通过,测试耗时2天,测试方法包含:性能测试,界面测试,自动化测试、性能测试
在功能方面,核心功能均能正常实现,如登录功能,注册功能,首页访问功能,创建问卷功能,操作流程符合用户预期,但部分细节功能存在小瑕疵,例如偶尔会有卡顿,不过不影响整体使用。
自动化测试中,测试了,登录,注册,首页,发布博客功能,其中功能都正常通过
性能测试中,测试了在1000个用户并发请求中的,登录,注册,首页,发布博客功能,经过测试
完全满足要求,成功完成测试.
总体而言,我的博客系统基本达到预期目标,具备上线条件。但针对测试中发现的问题,建议开发团队尽快修复优化,尤其是功能细节方面,以提升用户体验,确保产品稳定、高效运行。