我的博客系统测试报告

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 sys

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager


class 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 time

from selenium.webdriver.common.by import By

from comom.Utils import AllDriver

class Login:
    driver = ""
    url = ""
    def __init__(self):
        self.driver = AllDriver.driver
        self.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)").text
        assert 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.alert
        text = alert.text
        assert (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.alert
        text = alert.text
        assert 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 By

from comom.Utils import AllDriver

class List:
    driver = AllDriver.driver
    url = "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").text
       assert 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_url
        assert 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 time

from selenium.webdriver.common.by import By

from comom.Utils import AllDriver
class Writebloge:
    driver =AllDriver.driver
    def 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个用户并发请求中的,登录,注册,首页,发布博客功能,经过测试

完全满足要求,成功完成测试.

总体而言,我的博客系统基本达到预期目标,具备上线条件。但针对测试中发现的问题,建议开发团队尽快修复优化,尤其是功能细节方面,以提升用户体验,确保产品稳定、高效运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值