Beta阶段测试报告

项目内容
这个作业属于哪个课程课程链接
这个作业的要求在哪里作业链接
我在这个课程的目标是熟悉团队开发流程,了解软件工程
这个作业在哪个具体方面帮助我实现目标Beta阶段流程

测试中发现的bug

BUG状态
资源引用时不支持相对路径格式补全 (如 ./)已解决 PR_440
进行粘贴操作时,粘贴内容会被粘贴两次已解决 PR_442
在 Linux 下无法直接对图片进行粘贴操作暂无解决方案
内置 Preference 预设文件没有被打包进发行包已解决 PR_452
在当前版本 Preference 预设与更新后的新 Preference 出现冲突时,软件崩溃已解决 PR_420
从榕图模式下回到所见即所得/源码模式,会造成图片丢失已解决 PR_467
在 Mac 下重新打开窗口会报错已解决 PR_475
自动更新失效已解决 PR_485
同时启动多个 Ficus 实例,启动较慢暂无解决方案
对于较大、或者语法复杂的文件,解析较慢,有概率卡死。暂无解决方案

场景测试

为了尽可能测试编辑器功能,我们准备了示例工程文件夹。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yVclUion-1686661864518)(.\beta测试\image-20230610204644124.png)]

示例工程是一个真实的笔记工程,有较多零散的 Markdown 笔记文件,可以很好的用来测试 Ficus 的核心功能,示例工程中还附带了一份使用较多复杂语法,及vditor 扩展语法的 Markdown 使用教程(来自 markdown)。

在场景测试中,我们模拟真实应用场景,先进行简单的文字编辑。

  • 添加标题

  • 更改标题层级

  • 列表

  • 测试加粗、斜体功能

  • 代码块,行内代码块

  • 新增数学公式

  • 引用

  • 表格

  • 引用、图片插入、图片粘贴

之后,使用现有的笔记工程测试榕相关功能。

  • 使用榕树视角查看文件结构,检查渲染效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PYOXGpjF-1686661864519)(.\beta测试\image-20230611001340705.png)]

  • 进入榕图模式,检查渲染结果,测试转变为 TAG 功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-45K80uRB-1686661864520)(.\beta测试\image-20230611001409595.png)]

  • 进入榕林模式,测试榕根/榕柱选择、导出

  • 检查 TAG 添加,删除

压力测试

为了测试软件在较大压力负载下的表现,我们手动构造了压力测试点,该测试点将之前的模板测试测试文件夹复制了十五份以扩大规模。使用 Ficus 打开该测试文件夹,并进入榕图模式。使用 Profiler 记录渲染时间,任务管理器检查内存占用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RTuEdYRu-1686661864521)(.\beta测试\image-20230613203230782.png)]
在这里插入图片描述

可以看到,15个demo文件夹下,共约750个md文档,多于1000个节点的大负载下,榕图模式中的 Ficus 内存占用低于 300M,每一帧的渲染时间约为 150ms,可以有 7fps 的帧数。此时的 GUI 操作已有卡顿,但属于可接受范围。对于正常的使用情况,不会出现如此之多的文件,一般只会约有100个md文档,榕图模式是完全可用的。

对于 Markdown 编辑的所见即所得、源码模式、榕树模式,我们也进行了类似测试。

我们将 markdown教程.md 文件进行了多次复制,产生了一个大小为 91KB 的测试文件用于测试,使用 profiler 计算其在不同模式下的打开渲染时间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ryEaMhKY-1686661864522)(.\beta测试\image-20230613205356951.png)]

在打开这个文件后,内存占用来到了 1GB 上下。

在这里插入图片描述

渲染时间方面,在所见即所得模式下,花费了约1.2s完成渲染,主要渲染时间均在 vditor中发生,具体是负责 Markdown 解析的 lute 引擎中。这方面的性能比较糟糕,由于一次渲染的时间需要超过1s,结果是对于该压力测试用的文件,查看没有问题,但进行编辑是比较困难的。

我们也对榕树模式的渲染性能进行了测量,对于该文档,Ficus 花费了 270ms 完成渲染,性能不构成问题。

在这里插入图片描述

需要说明的是,进行压力测试的该 markdown教程 文件,使用了较多的 markdown 复杂语法,引用了多个 vditor 中的拓展插件。实际使用场景中,类似该文件的复杂 markdown 文档并不常见,不能代表日常使用场景表现。 markdown 渲染的性能, ficus 一直在尝试改进,但对大型markdown文本的渲染本身就是一个比较困难的问题,受到我们使用的 Vditor 插件限制,短期内我们很难解决。

矩阵测试

我们是一款桌面端软件,矩阵测试主要针对主流的PC平台进行测试。

由于我们手头的物理机全部使用 Windows 11 系统,没有更早一些的 Windows 7/8/8.1/10 系统环境,因此我们安装了虚拟机完成 Windows 7/10 的测试。没有对 Windows 8/8.1 进行测试主要是由于其用户量较少,且兼容 Windows 7/10 的程序一般也可以在 Windows 8/8.1 上运行。

虚拟机我们使用免费的 VMWare Workstation Player 17.0 ,对于我们的测试已经足够使用。

在这里插入图片描述

对于两台虚拟设备,我们分别分配了 8GB 内存,并指定了4颗虚拟 CPU 核心,这是在今天非常主流普通的配置,可以覆盖绝大部分用户的情况。

在这里插入图片描述

为了保证测试一致性,我们使用从 itellyou_msdn 获取了原版的 Windows 10 LTSC 2021 镜像、Windows 7 Ultimate with Service Pack 1 (7601.24214) 镜像,进行全新安装,之后拷贝最新 Ficus 安装包以及场景测试文件进行了场景测试,并完成了矩阵测试中的测试项目。

在这里插入图片描述

测试机中的测试结果如下:

系统安装注册Ficus为 md 打开方式热更新基本界面显示首选项设置保存所见即所得编辑源码模式编辑图片粘贴路径补全数学公式补全榕树展示榕树展开折叠榕林展示榕林操作榕图展示
VM-Windows 10 LTSC 2021O1
VM-Windows 7 7601.24214O1
Windows 11 22621.1778O2
Manjaro 21 (Linux 5.15)××
WSL-Ubuntu 22.04 (Linux 5.15)××
Macintosh OS X 10.14.6; Apple Silicon; arm64

O1: 虚拟机下的榕林渲染较慢,可能是由于虚拟机的虚拟显示设备性能不足造成的。

O2: 在 Windows 11 下可以正常注册 Ficus 为 Markdown 文件的打开程序,但由于 Windows 11 的系统限制,无法配置 Ficus 为默认 Markdown 打开方式,需要用户自行选择。

出口条件

  • 安全性验证

    Ficus 需要保证不损坏用户数据、造成用户数据泄露,这是最首要的需求和保证。Ficus 在设计上将对用户文件系统的写权限,集中到中间层。对中间层部分的实现,进行了多次检查,避免出现破坏用户数据的情况发生,在测试场景中也不允许出现类似情况。

  • 基础功能正确

    作为一个 Markdown 编辑器,基本的要求是可以独立使用 Ficus 而不借助其它软件,完成实用 Markdown 文件的编辑。考虑到实用性的要求,编辑器必须支持常用的 GFM 语法。为了降低用户迁移、学习成本,类似 Typora 中存在的 Markdown 编辑相关的快捷键需要得到支持。考虑到时间原因,在快捷键方面的支持,可以先流出通用的快捷键接口,便于后续实现。一些重要的首选项,如自动保存选项、图片复制选项,也需要得到支持,保证用户最基本的使用体验。

  • Ficus 扩展功能

    软件需要正确的实现榕树、 榕林、榕图功能,保证能完整的展示软件独创性。这部分功能要求能完全满足 Beta 阶段计划书中,典型用户在典型场景下的使用。且 Ficus 扩展功能也需要满足安全性要求,在细节上允许粗糙,但不允许存在致命的问题。

  • 兼容性要求

    软件至少应支持在主流操作系统上运行,目前主流的操作系统是 Windows, Windows 10/11 是目前仍在维护的生命周期内系统,需要保证支持。Windows 8/8.1 已经停止维护且用户较少, Windows 7 也已经停止维护,但有比较大的用户基量,也需要考虑支持。对于 Windows on arm,由于缺少相关测试设备,无法进行相关测试,不提供相关支持。Linux 平台,系统类型,复杂性比较高,借助 AppImage,可以尽量保证软件支持在不同 Linux 发行版上运行,但仍然需要验证软件可以在主流 Linux 系统上的效果(Debian、Arch)。Mac 平台,需要对目前较新的系统,包括 x64 及 aarch64 提供支持。对于历史版本支持性,不做要求。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
beta软件测试是一种软件测试方法,通常在软件开发的后期阶段进行。该测试主要目的是让最终用户在实际环境中使用软件,并提供反馈和建议。基于实际用户的使用经验,beta测试可以帮助开发团队发现潜在的问题和改进软件。 根据参与测试的用户类型的不同,beta软件测试可以分为两种分类: 1. 开放式beta测试:在这种测试中,任何有兴趣的用户都可以参与。开放式beta测试通常通过网络或软件开发公司的网站进行招募。用户可以自由下载和安装软件,并根据使用体验提供反馈。这种测试方法具有参与用户广泛、获取反馈多样的优点,但也可能因为参与人数众多而导致反馈信息的管理和整理相对困难。 2. 闭合式beta测试:这种测试方法是通过邀请特定用户群体参与的,通常是一些经过筛选的志愿者。软件开发公司会从特定的用户群体中选取一些具有特定需求和特征的用户,以获得更加具体和有针对性的反馈。闭合式beta测试通常具有更高的测试质量和更好的参与度,但由于参与用户数量较少,可能无法覆盖所有潜在的使用情况。 总的来说,beta软件测试是一项重要的测试活动,能够有效地发现并解决软件问题。通过开放式和闭合式两种分类方法,测试人员可以获得不同类型用户的反馈,从而提高软件的稳定性和用户体验,为软件发布做好准备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值