博客系统测试报告

      当我们至少完成了一次项目的功能测试后,我们可以写一篇测试报告出来。在这里,我先完成了功能测试,自动化测试,又进行了弱网测试,我们把它们都编入测试报告,来写出一篇简单的博客系统测试报告

Gitee源码:博客系统自动化测试源码


1.项目背景

我们选择的博客系统是一个趋待完善的系统,它是一个允许用户登录、发布博客、管理博客和跳转Gitee账户的平台。它包含用户登录、内容编辑、分类、统计、关联Gitee仓库等功能。随着互联网的普及,越来越多的个人和企业希望通过博客系统来传播内容、展示专业知识或进行品牌推广。因此,检测这个博客系统是否可靠,是否能堪大用变得至关重要。

2.项目简介

我们选择的博客系统,由四个界面,分别是博客登录页面、博客主页面、博客详情页以及博客编辑页。下面我们来分别介绍这几个页面有哪些功能。

2.1博客登录页

功能:输入已经注册的账号和密码,点击登录,进入博客主页面

2.2博客主页面

功能:进入博客主页面后,我们可以看到页面分为两栏,左侧栏是我们的个人信息,有头像,昵称,Gitee仓库,文章和分类的统计,右侧是我们的博客栏,有我们发布过的所有博客,有博客标题,博客发布时间以及博客部分内容和查看博客详情的按钮。在博客顶栏,有主页,写博客,注销三个按钮。

2.3博客详情页

功能:点击主页面的查看全文按钮,我们进入到博客详情页,在详情页中,我们可以看到写的博客的全部内容,也分为两栏,左边栏是个人信息,有头像,昵称,Gitee仓库,文章和分类的统计,右侧是我们的博客详细内容,有编辑和删除按钮,可以对这篇博客进行编辑,在更新博客进行发布。在博客顶栏,有主页,写博客,注销三个按钮。

2.4博客编辑页

功能:点击顶栏的写博客按钮,我们进入到博客编辑页面,可以进行博客编辑,点击发布,回到博客主页面。

3.测试计划

针对本次测试的博客系统,我将从界面、功能、性能、兼容性、安全性、易用性以及弱网条件七个方面下进行测试。

测试计划
测试测试时间测试人测试结果
功能测试(自动化)2024.9.6Qlppass
界面测试2024.9.7Qlppass
性能测试2024.9.7Qlppass
易用性测试2024.9.8Qlppass
兼容性测试2024.9.8Qlppass        
安全性测试2024.9.8Qlppass
弱网测试2024.9.8Qlppass
回归测试2024.9.10Lcpass

4.测试工具

1.弱网测试工具:fiddler

2.自动化测试工具:pycharm,安装selenium和webDriver-manager

3.性能测试工具:JMeter

5.测试动作

具体操作我放在设计测试用例中,这里只进行简单描述

5.1界面测试

界面测试需要根据编写好的需求手册与界面内容进行比对,出现不一致的情况,一般情况要按需求手册的要求进行修改,这一个方面的测试选我择手动测试

5.2功能测试

对于功能的测试,我采用自动化测试,要测试的功能界面就是博客登录页,博客主页,博客详情页,博客编辑页这四个界面,我们使用pycharm工具依次对这四个界面进行自动化测试

5.3性能测试

对于性能测试,我们用jmeter工具,前提是有java,由于本人电脑没有配置与java有关,所以这里只给出了测试用例,给大家提供测试思路

5.4易用性测试

对于易用性测试,我也采用了手动测试的办法

5.5安全性测试

对安全性的测试,我们主要在博客登录页进行测试,用户的密码是否是加密显示的,数据库中用户的密码是否也是加密的,通过解密才能看到用户本来的密码。我们通过SQL注入和越权来测试。

5.6兼容性测试

对于这个博客系统的兼容性,我们也有测试工具,BrowserStack,通过这个工具它可以模拟在不同操作系统和不同浏览器上博客系统是否可以正常运行,本人没有用这个测试工具,依然手动测试。

5.7弱网测试

测试在弱网条件下,博客系统的响应速度,这里我用了fiddler测试工具

6.开始测试(自动化测试)

6.1测试用例

如下图

6.2自动化测试

在自动化测试中,我们用pycharm来进行,选择Chrome浏览器,针对它的功能进行测试

6.3测试脚本

由于代码众多,这里我们只挑选部分代码做展示,全部代码会放在Gitee仓库中,有需要的铁子可以自行查看。

博客登录页的自动化测试的脚本

#测试登录页面
import time

from selenium.webdriver.common.by import By

from common.Utils import BlogDriver
class BlogLogin:
    url=""
    driver=""
    def __init__(self):
        self.url="http://8.137.19.140:9090/blog_login.html"
        self.driver=BlogDriver.driver
        self.driver.get(self.url)

    #成功登录的测试用例
    def LoginSucTest(self):
        self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("lisi")
        self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123456")
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        #若是登录成功,则会出现昵称
        time.sleep(3)
        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.left > div > h3")
        BlogDriver.getScreeShot()
        # self.driver.back()
        # self.driver.find_element(By.CSS_SELECTOR,"#username").clear()
        # self.driver.find_element(By.CSS_SELECTOR, "#password").clear()
        # self.driver.quit()

     #异常登录
    def LoginFailTest(self):
        #1.正确的用户名错误的密码,点击提交按钮
        self.driver.implicitly_wait(3)
        self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("zhangsan")
        self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123")
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        #检查是否登录失败
        #若是登录失败,出现警告弹窗
        #这里等待时间要长一些,负责弹窗无法被关闭
        #添加屏幕截图,查看当时的情况到底是什么
        #截图只能在弹窗之前添加,弹窗出现之后,页面无法被截图
        BlogDriver.getScreeShot()
        time.sleep(3)

        #进行断言比对,看是否符合预期
        actual1=self.driver.switch_to.alert.text
        assert actual1=="密码错误"
        #关闭警告弹窗
        self.driver.switch_to.alert.accept()
        self.driver.find_element(By.CSS_SELECTOR,"#username").clear()
        self.driver.find_element(By.CSS_SELECTOR, "#password").clear()

        #2.错误的用户名正确的密码,点击提交按钮
        self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("admin")
        self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123456")
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        time.sleep(3)
        actual2=self.driver.switch_to.alert.text
        assert actual2=="用户不存在"
        self.driver.switch_to.alert.accept()
        self.driver.find_element(By.CSS_SELECTOR,"#username").clear()
        self.driver.find_element(By.CSS_SELECTOR,"#password").clear()

        #3.错误的用户名错误的密码,点击提交按钮
        self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("sisi")
        self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1235678")
        self.driver.find_element(By.CSS_SELECTOR, "#submit").click()
        time.sleep(3)
        actual3 = self.driver.switch_to.alert.text
        assert actual3 == "用户不存在"
        self.driver.switch_to.alert.accept()
        self.driver.find_element(By.CSS_SELECTOR, "#username").clear()
        self.driver.find_element(By.CSS_SELECTOR, "#password").clear()

        #4.空的用户名和密码,点击提交按钮
        self.driver.find_element(By.CSS_SELECTOR, "#submit").click()
        time.sleep(3)
        actual4 = self.driver.switch_to.alert.text
        assert actual4 == "账号或密码不能为空"
        self.driver.switch_to.alert.accept()
        self.driver.find_element(By.CSS_SELECTOR, "#username").clear()
        self.driver.find_element(By.CSS_SELECTOR, "#password").clear()

        #5.只输入正确的用户名,不输入密码
        self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("lisi")
        self.driver.find_element(By.CSS_SELECTOR, "#submit").click()
        time.sleep(3)
        actual5 = self.driver.switch_to.alert.text
        assert actual5 == "账号或密码不能为空"
        self.driver.switch_to.alert.accept()
        self.driver.find_element(By.CSS_SELECTOR, "#username").clear()
        self.driver.find_element(By.CSS_SELECTOR, "#password").clear()

        #6.只输入错误的用户名,不输入密码
        self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("lili")
        self.driver.find_element(By.CSS_SELECTOR, "#submit").click()
        time.sleep(3)
        actual6 = self.driver.switch_to.alert.text
        assert actual6 == "账号或密码不能为空"
        self.driver.switch_to.alert.accept()
        self.driver.find_element(By.CSS_SELECTOR, "#username").clear()
        self.driver.find_element(By.CSS_SELECTOR, "#password").clear()

        #7.只输入正确的密码,不输入用户名
        self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("123456")
        self.driver.find_element(By.CSS_SELECTOR, "#submit").click()
        time.sleep(3)
        actual7 = self.driver.switch_to.alert.text
        assert actual7 == "账号或密码不能为空"
        self.driver.switch_to.alert.accept()
        self.driver.find_element(By.CSS_SELECTOR, "#username").clear()
        self.driver.find_element(By.CSS_SELECTOR, "#password").clear()

        #8.只输入错误的密码,不输入用户名
        self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("123")
        self.driver.find_element(By.CSS_SELECTOR, "#submit").click()
        time.sleep(3)
        actual8 = self.driver.switch_to.alert.text
        assert actual8 == "账号或密码不能为空"
        self.driver.switch_to.alert.accept()
        self.driver.find_element(By.CSS_SELECTOR, "#username").clear()
        self.driver.find_element(By.CSS_SELECTOR, "#password").clear()

        # self.driver.quit()
    def LoginPageEle(self):
        #测试登录页面元素和点击登录页面的各个元素会有什么效果
        #等价来测试
        #查找一下我的博客系统
        self.driver.find_element(By.CSS_SELECTOR,"body > div.nav > span")
        #点击写博客,跳转到博客编辑页
        self.driver.find_element(By.CSS_SELECTOR,"body > div.nav > a:nth-child(5)").click()
        # BlogDriver.getScreeShot()
        #在编辑页点击发布文章按钮,跳转到博客登录页面,无法发布文章
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        time.sleep(2)

7.项目测试bug

bug简述
bug标题报告人是否修复

弱网下,登录页点击主页按钮出现异常,点击主页按钮,进入博客主页,右侧栏的发表的博客不会显示,但是会显示用户的个人信息,安全性不高

qlp未修复
在主页点击注销按钮,会到博客登录页,依靠命令back()会回答主页,点击主页的查看详情按钮,会回到博客登录页,并不是期待中的博客详情页qlp已修复

说明:第一个bug需要后端和前端开发人员来修复,次要bug,可以推迟到下一个版本优化

           第二个bug是本人的测试失误,注销以后,就是应该重新登录才能确保用户的信息安               全,不能过多依靠界面上的回退按钮,本人进行了失误判断

8.遗留问题

1.利用测试工具fiddler,进行弱网测试,可能是网站还不成熟,弱网测试效果不明显,属于次要bug,推迟到下一个版本来解决

2.没有注册功能,推迟到下一个版本来解决
3.用户名和密码格式不受限制,太杂乱,不好管理,推迟到下一个版本来解决
3.博客系统的登录按钮,没有关联键盘上的Enter键,不符合用户使用的惯性,推迟到下一个版本来解决

9.测试结果

本次项目测试通过,测试耗时四天。


以上就是博客项目的简单测试报告,有需要的铁子可以参考,希望可以帮助到大家,铁子们下期再见!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月亮夹馍干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值