博客系统自动化测试报告

博客系统自动化测试报告

1、项目背景

互联网博客的发展经历了从概念形成到快速增长,再到成熟期的演变过程。起源于1990年代末的个人网页记录,博客在2000年代随着Blogger、WordPress等平台的兴起而迅速普及,内容管理系统(CMS)的出现使得非技术人员也能轻松管理内容。进入2010年代,博客适应了移动设备的需求,并集成了多媒体元素,同时与社交媒体紧密结合,提升了传播效果。专业化和商业化成为趋势,许多博主通过多种方式实现盈利。当前,博客形式更加多样化,包括视频博客、播客等,并且借助人工智能技术提高了创作效率。博客不仅是个人表达的平台,也成为了一种重要的新媒体形式,反映了互联网技术和用户需求的不断进步。

2、项目简介

博客系统是一个让用户能够撰写、发布和管理文章的Web网站,主要包括用登录、文章的增删改查及文章分类标签等功能。该项目采用现代Web技术栈。系统设计需注重用户体验。

3、测试计划

功能

后端开发

前端开发

提测日期

测试

测试日期

测试结果

登陆界面

赵四

金善禹

8.20

小欣

8.22

测试通过

博客首页

张三

金善禹

8.21

小欣

6.23

测试通过

博客详情页

赵四

金善禹

8.21

小欣

6.23

测试通过

博客编辑页

赵四

金善禹

8.22

小欣

6.24

测试通过

回归测试

小欣

6.25

测试通过

4、测试工具

Selenium、Jmeter

5、涉及到的测试类型

本次测试涉及到的测试类型有:功能测试、性能测试、自动化测试。

功能测试:本次测试项目博客系统包括了用户的登录和注销、博客的增删查改、一键返回主页功能,此次共发现了0个问题

自动化测试:本次测试项目博客系统包括了博客登录页面、博客首页、博客详情页、博客编辑页面,发现了1个问题

6、功能测试

测试用例说明:

  1. 登陆界面:
  1. 预期结果:界面正常显示账号输入框、密码输入框、登录提交按钮、导航栏。

实际结果:所有页面元素均正常显示。

  1. 预期结果:界面上的登陆提交按钮、主页跳转链接按钮、写博客跳转链接按钮正常可点击。

实际结果:所有按钮均正常运作。

  1. 博客首页:
  1. 预期结果:界面正常显示用户信息栏(头像、昵称、GitHub地址、文章数目、分类数目)、博客列表(博客标题、博客发布时间、博客内容、“查看全文”按钮)、导航栏。

实际结果:所有页面元素均正常显示。

  1. 预期结果:界面上的“查看全文”按钮、主页跳转链接按钮、写博客跳转链接按钮、注销跳转链接按钮正常可点击。

实际结果:所有按钮均正常运作。

  1. 博客详情页:

a.预期结果:界面正常显示博客标题、博客发布时间、博客内容、编辑按钮、删除按钮、导航栏。

实际结果:所有页面元素均正常显示。

b.预期结果:界面上的编辑按钮、删除按钮以及导航栏中的跳转链接按钮均正常可点击。

实际结果:所有按钮均正常运作。

  1. 博客编辑页面:

a.预期结果:界面正常显示博客标题输入框、博客内容输入框、更新文章按钮、编辑文章相关插件、导航栏。

实际结果:所有页面元素均正常显示。

b.预期结果:界面上的更新文章按钮以及导航栏中的跳转链接按钮正常可点击。

实际结果:所有按钮均正常运作。

7、自动化测试

1)登陆界面

a.自动化测试用例

(1)预期结果:输入正确的账号和密码,正常登录跳转到博客主页

实际结果:正常运行

b.自动化测试脚本

#成功登录的测试用例

    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")

        time.sleep(3)

        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.getScreenShot()

(2)预期结果:输入正确的账号和错误密码,不能正常登录跳转到博客主页

实际结果:正常运行

c.自动化测试脚本

#异常登录的测试用例

    def LoginFailTest(self):

        # time.sleep(2)

        #若连续多次的send_keys则会出现关键词拼接,而不是替换

        self.driver.find_element(By.CSS_SELECTOR,"#username").clear()

        self.driver.find_element(By.CSS_SELECTOR,"#password").clear()

        # time.sleep(2)

        self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("lisi")

        #错误的密码

        self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123")

        # time.sleep(2)

        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()

        # time.sleep(2)

        #检查是否登录失败

        actual=self.driver.switch_to.alert.accept()

        #添加屏幕截图

        # time.sleep(2)

        BlogDriver.getScreenShot()

        #断言检测一下是否符合预期

        # assert actual==""

        self.driver.quit()

2)博客首页

  1. 自动化测试用例

预期结果:成功进入博客首页,并且各个元素均正常显示

实际结果:均正常显示

  1. 自动化测试脚本

    

def ListTestByLogin(self):

        #测试博客标题是否存在

        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > div.title")

        # 测试博客时间是否存在

        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > div.date")

        # 测试博客内容是否存在

        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > div.desc")

        # 测试博客按钮是否存在

        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > a")

        #个人信息-检查昵称是否存在

        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.left > div > h3")

        #添加屏幕截图

        BlogDriver.getScreeShot()

3)博客详情页

a.自动化测试用例

预期结果:成功进入博客详情页,并且各个元素均正常显示

实际结果:均正常显示

b.自动化测试脚本

#登录状态下博客详情页的测试

    def DetailTestByLogin(self):

        #检查标题

        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div > div.title")

        #检查时间

        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div > div.date")

        #检查内容

        self.driver.find_element(By.CSS_SELECTOR,"#detail > p")

       #屏幕截图

    BlogDriver.getScreenShot()

4)博客编辑页

a. 自动化测试用例

预期结果:成功进入博客编辑页,并且各个元素均正常显示;可以正常发布博客

实际结果:均正常运行

b.自动化测试脚本

#正确发布博客(登录状态下)

    def EditSucTestByLogin(self):

        self.driver.find_element(By.CSS_SELECTOR,"#title").send_keys("自动化测试用例")

        #找到编辑区域,输入关键词

        self.driver.find_element(By.CSS_SELECTOR,"#editor > div.CodeMirror.cm-s-default.CodeMirror-wrap > div.CodeMirror-scroll > div.CodeMirror-sizer > div > div > div > div.CodeMirror-code > div > pre > span > span").send_keys("开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天")

        #找到编辑区域,输入关键词(编辑区域不可操作)

        self.driver.find_element(By.CSS_SELECTOR,"#editor > div.editormd-toolbar > div > ul > li:nth-child(21) > a > i").click()

        #直接点击发布按钮来发布博客

        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()

        actual=self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(79) > div.title").text

        assert actual=="自动化测试创建"

        #屏幕截图

        BlogDriver.getScreenShot()

8、项目测试bug简述

本次项目测试发现了0个bug,有0个崩溃级别的bug,有1个一般级别的bug。

bug级别

bug所属

bug位置

报告人

是否修复

一般级别

前端

<a class="nav-span" href="#" οnclick="logout()">注销</a>

小欣

未修复完成

9、遗留问题

1)需求变更:本次由于时间原因,推迟到下一个版本进行修复

2)低优先级的bug:对于注销时,没有提示框来警示用户可能导致用户体验感降低,该bug需要进行修复;但该bug并不影响正常功能的使用,推迟到下一个版本进行修复

10、测试结论

本次项目测试通过,项目开发耗时4天,项目测试耗时4天。

测试报告总结表明,在2023年8月20日至8月25日期间,对博客系统进行了全面测试,涵盖用户登录、文章编辑、用户注销等功能。测试结果显示,系统核心功能正常,但在移动端布局和极端条件下的性能上有待优化,且需加强安全防护。总体而言,系统表现良好,建议修复已发现的小问题并优化移动端体验、数据库查询效率和安全措施后,即可投入生产使用。

测试脚本:BlogAutoTest · 蜡笔小欣/BlogAutoTest - 码云 - 开源中国 (gitee.com)

本研究利用Sen+MK方法分析了特定区域内的ET(蒸散发)趋势,重点评估了使用遥感数据的ET空间变化。该方法结合了Sen斜率估算器和Mann-Kendall(MK)检验,为评估长期趋势提供了稳健的框架,同时考虑了时间变化和统计显著性。 主要过程与结果: 1.ET趋势可视化:研究利用ET数据,通过ET-MK和ET趋势图展示了蒸散发在不同区域的空间和时间变化。这些图通过颜色渐变表示不同的ET水平及其趋势。 2.Mann-Kendall检验:应用MK检验来评估ET趋势的统计显著性。检验结果以二元分类图呈现,标明ET变化的显著性,帮助识别出有显著变化的区域。 3.重分类结果:通过重分类处理,将区域根据ET变化的显著性进行分类,从而聚焦于具有显著变化的区域。这一过程确保分析集中在具有实际意义的发现上。 4.最终输出:最终结果以栅格图和png图的形式呈现,支持各种应用,包括政策规划、水资源管理和土地利用变化分析,这些都是基于详细的时空分析。 ------------------------------------------------------------------- 文件夹构造: data文件夹:原始数据,支持分析的基础数据(MOD16A2H ET数据 宁夏部分)。 results文件夹:分析结果与可视化,展示研究成果。 Sen+MK_optimized.py:主分析脚本,适合批量数据处理和自动化分析。 Sen+MK.ipynb:Jupyter Notebook,复现可视化地图。
<think>好的,我需要帮助用户查找关于博客自动化测试报告的信息,包括生成、配置和解读。首先,我应该回顾用户提供的引用内容,看看哪些相关的工具或方法可以被引用。 用户提到了几个引用,比如引用[1]中的Autorunner用于生成缺陷报告,引用[2]中的Testim.io可以生成测试报告,引用[5]中的TestCafe集成到CI/CD并生成报告。这些都可以作为参考。 接下来,我需要分步骤回答用户的问题。首先讲生成报告的方法,包括使用工具和自定义脚本,然后配置部分涉及参数设置和集成到CI/CD,最后解读部分要分析关键指标和常见问题。 在生成部分,可以提到Testim.io和TestCafe,因为它们直接涉及报告生成。配置方面,引用[5]提到了TestCafe与CI/CD的集成,可以引用。解读部分需要结合测试结果的分析,比如通过失败用例的日志和截图,这部分引用[1]的缺陷报告格式可能有帮助。 还要确保按照系统级指令,使用正确的中文回答,行内公式用$...$,独立公式用$$...$$。不过这个问题可能不需要数学公式,但如果有统计数据分析的话可能需要,比如测试通过率可以用$通过率 = \frac{通过用例数}{总用例数} \times 100\%$,但用户的问题可能不需要,所以暂时不考虑。 最后生成相关问题,要围绕自动化测试报告的主题,比如工具选择、CI/CD集成、优化方法等。需要确保问题相关且符合用户可能的后续疑问。 现在需要检查是否所有引用都正确使用,例如引用[1]、[2]、[5]在生成和配置部分提到,解读部分可能引用[1]的缺陷报告格式。同时,确保回答结构清晰,分点说明,并自然插入引用标识。 可能还需要补充一些用户未提到的点,比如自定义脚本生成报告,或者如何利用AI工具如Selenium with AI来优化报告,但引用[2]中有相关工具,可以提及。 总结步骤: 1. 生成方法:工具和自定义脚本,引用[2]、[5] 2. 配置方法:参数设置、集成CI/CD,引用[5] 3. 解读方法:关键指标、失败分析,引用[1] 4. 相关问题:生成工具、CI/CD集成、优化、解读难点、开源框架等 确保每个部分都有对应的引用支持,并且语言流畅自然。</think>### 博客自动化测试报告的生成、配置与解读 #### 1. 自动化测试报告的生成方法 **工具自动化生成** 大多数自动化测试工具内置报告生成功能。例如: - **Testim.io**:基于云的测试平台会自动生成详细的HTML报告,包含测试用例执行状态、耗时和错误日志[^2]。 - **TestCafe**:运行测试后默认生成命令行报告,支持通过插件生成可视化报告(如PDF或HTML格式)[^5]。 - **Selenium with AI**:结合AI生成的测试用例,可输出包含错误分析和修复建议的智能报告。 **自定义脚本生成** 通过编写脚本(如Python + pytest)收集测试数据,并利用库(如Allure、ReportLab)生成定制化报告。例如: ```python # pytest + Allure示例 import pytest import allure @allure.feature("博客功能测试") def test_blog_publish(): with allure.step("登录并发布博客"): assert publish_blog("测试内容") == True ``` 运行后使用Allure生成交互式报告:`allure serve results/`。 --- #### 2. 自动化测试报告的配置 **参数配置** - **详细度控制**:在工具配置文件中设置日志级别(如INFO/DEBUG),例如TestCafe的`--reporter`参数。 - **截图与录屏**:在UI测试中启用失败截图(如Playwright的`--screenshot on-failure`)[^4]。 **集成到CI/CD流程** 将测试报告生成步骤嵌入CI/CD工具(如Jenkins、GitHub Actions)。以TestCafe为例: ```yaml # GitHub Actions配置示例 - name: Run TestCafe run: testcafe chrome tests/ --reporter junit:report.xml - name: Upload Report uses: actions/upload-artifact@v2 with: name: test-report path: report.xml ``` 此配置会将测试结果以JUnit格式输出,并上传为流水线产物。 --- #### 3. 自动化测试报告的解读 **关键指标分析** - **通过率**:$$通过率 = \frac{通过用例数}{总用例数} \times 100\%$$ - **失败原因分类**:如网络超时、元素未找到、逻辑错误(参考缺陷报告格式[^1])。 **典型问题定位** 1. **查看失败用例日志**:定位错误堆栈和步骤描述。 2. **对比历史数据**:通过持续集成工具的图表功能观察通过率趋势。 3. **结合截图/录屏**:UI测试中可视化验证元素状态[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值