【HelloKitty团队项目】Alpha阶段测试报告

项目内容
这个作业属于哪个课程2023北航软件工程
这个作业的要求在哪里团队项目-Alpha阶段测试报告
我在这个课程的目标是学习软件工程技术,完成团队开发流程
这个作业在哪个具体方面帮助我实现目标Alpha阶段开发

Alpha阶段测试报告

测试过程中的bug

前端

bug描述出现原因修复方式结果
不同显示器比例下界面布局不同组件布局采用的是绝对布局和绝对大小修改绝对布局为相对布局,能够适应不同的显示器比例成功
文字过长时,会溢出边框没考虑到文字长度的自适应问题文本展示框修改overflow属性为auto,当文本过长的时候会折叠成功
图片或文件上传失败axios配置错误设置正确的header上传成功
布局设置不生效组件n-space和div虽然作用相同,但是属性不同统一使用div来设置属性,即可生效成功
创建词单后需要刷新页面才能看到刚创建的词单父组件未获取新建的词单id增加对子组件的自定义监听事件创建成功后立即出现新建的词单
用户可以创建空词单未在提交创建时对词单非空进行约束增加词单的非空约束禁止用户创建空词单,并给出提示
关闭再打开创建词单页面时保留上一次的内容离开页面时未清空变量设置关闭时的回调函数再次打开页面时不会显示之前的内容
用户更新每日学习单词量的请求过于频繁用户拖动进度条过程中的值更新触发更新请求更改监听事件只有拖动完成鼠标松开后才会更新
从后端获取的文本有换行符没有对\n进行处理使用pre-wrap预处理换行符可以正常显示换行
邮箱验证码错误仍然注册成功注册函数调用了验证注册码是否正确的同步方法,但是没有用async修饰对注册函数使用async修饰,先确认注册码正确再进行后续注册逻辑邮箱验证码错误时阻拦注册
在Firefox等浏览器上UI不一致浏览器内核不同,需要设置不同样式更改css进行兼容显示正常

后端

bug描述出现原因修复方式结果
前端收到的中文释义的换行符为\\n 导致前端无法处理数据库中的中文释义使用\n分隔,django将此字段传给前端时被转义为\\n使用replace函数将 \\n 换为 \n换行符输出格式与前端适配
一个邮箱可以注册多个账号只判断了邮箱验证码是否正确,没有判断邮箱是否已经被用户注册数据库表增加邮箱是否被注册的boolean字段注册成功后该邮箱不能被发送注册码或者用于注册
调用gpt服务的接口部分超时axios发送请求时的默认时间限制过小对axios延长时间限制到30000msgpt服务接口能在在一段时间加载后正常返回
聊天模式部分回答无法返回数据表中对chat的最长限度为512,gpt返回的回答较长,无法存入数据库导致出错限制gpt返回的回答长度,同时增加数据库字段长度聊天模式能正常返回较长的回答
复习模式完形填空会出现 substring not find 未定义错误给gpt约束的返回的数据格式存在随机性,导致查找单词字符串来判断填空位置时定位失败将原来的字符串查找改为正则匹配能适配gpt可能返回的多种数据格式
完形填空出现相同文章原来的测试单词为按遗忘次数排序选取,多次测试时存在较强相似性增加随机单词保证生成文章不重复
故事模式模式无法在gpt返回的故事中定位传入单词传入用户学习单词让gpt生成故事时存在词性改变修改gpt返回的数据,返回使用单词的正确形式的列表能正确定位单词
作文分析模式部分回传字段为空,导致结构解析出错用户输入数据不是合法作文对gpt增加input_prompt,不是文章时填入None字段占位不出现json解码异常
字符串的输入或输出过长导致报错后端的数据表字段长度限制没有体现在前端输入框的长度限制和对gpt返回长度的限制里检查所有输入输出部分增加长度限制保证长度合法性

场景测试

  • 典型用户描述
用户信息用户情况
姓名用户A
用户身份大二学生
用户情况英语水平较差,但是可以有比较长的时间周期内坚持学习和练习的意愿,希望能提高自己的英语水平
用户需求想要提高英语水平,扩大词汇量,高效练习英语并最终提高英语成绩
用户信息用户情况
姓名用户B
用户身份英语专业学生,有未来继续从事相关领域学习研究的意愿
用户情况专业四级
用户需求可以用户自主创建词库,从而生成满足有语言学专业词汇等学科专业性较强的词库、CATTI热点词条等针对(受众相对较小的)应试需求的词库;
用户信息用户情况
姓名用户C
用户身份有美国留学意愿的学生
用户情况大学四级/六级水平
用户需求满足托福等应试要求,并培养英语会话水平
  • 场景一:
    用户A、C想要选择不同的词单进行学习。首先跳转到单词表页面,点击”新建单词本“按钮,选择相应的公开词单后生成词单。点击生成的词单卡片,点击右侧按钮设置为背诵词单。
    用户B想要创建一份专属词单。在新建单词本页面中,在”文件“选项卡下上传包含单词的文件,获取可进一步手动编辑的预览词单,确认无误后生成词单进行学习。
    选择好学习的词单后,用户跳转到单词背诵页面开始学习,根据英文原文选择”认识“或”不认识“后,看到单词的全部释义、同义词、反义词、例句。很熟悉的单词则点击”不再学习“永久跳过。
    学完一本单词书后,用户再次回到单词表页面,把其他单词书设置为正在学习的词单后,点击”编辑单词本“删除学完的词单。

  • 场景二:
    用户学习完一组单词后,会出现弹窗提醒,可以选择继续学习,可以复习已经学习过的单词。
    如果想要复习学完的单词,用户可以进入单词复习页面,页面内可选择故事模式、单词复习、阅读写作三种模式,进行多样化复习。
    用户可以先选择进入故事模式,选择今天新学习的单词,点击“生成故事”可以利用所选择的单词智能生成一篇有趣的文章,通过阅读有趣的文章进行复习可以加深对新单词的印象。同时,用户可以选中句子,在右边边框会自动生成对该句子的智能分析,逐句的细致分析可以提高用户的阅读写作能力。
    用户也可以选择进入阅读写作模式,通过输入文章或者导入文本输入自己所写得一篇作文,点击“开始分析”可以给作文进行智能打分。在阅读写作模式中,用户同样可以选中句子,在右边边框会自动生成对该句子的智能分析,从而可以提高用户的阅读写作能力。
    如果用户选择进入单词复习模式,则会利用学过的单词智能生成一篇完型填空,用户需要根据对单词释义和用法的理解将单词填入相应的框中,如果对生成的文章不满意可以点击“换一篇文章吧”来练习另一套完形填空。当用户填完空后,可以点击“提交”,来查看结果和答案。通过完形填空的练习,用户可以加深对单词释义和用法的理解,从而达到更好的学习效果。

  • 场景三:
    用户C背诵了一些单词后,想要练习一下自己对于单词的掌握,同时与智能助手交流沟通一些有趣的问题娱乐一下,在智能对话页面与智能助手进行了一问一答的沟通,但是每天只能进行7次对话,重点还是要放在学习英语上哦。

测试矩阵

浏览器硬件配置(屏幕分辨率)登录注册单词背诵单词复习模式单词写作模式故事模式单词表编辑单词表查看智能对话产品介绍我的
Chrome1920×1080正常正常正常正常正常正常正常正常正常正常
Chrome1680×1050正常正常正常正常正常正常正常正常正常正常
Chrome1440×900正常正常正常正常正常正常正常正常正常正常
Edge1920×1080正常正常正常正常正常正常正常正常正常正常
Edge1680×1050正常正常正常正常正常正常正常正常正常正常
Edge1440×900正常正常正常正常正常正常正常正常正常正常
Firefox1920×1080正常正常正常正常正常正常正常正常正常正常
Firefox1680×1050正常正常正常正常正常正常正常正常正常正常
Firefox1440×900正常正常正常正常正常正常正常正常正常正常
Safari1920×1080正常正常正常正常正常正常正常正常正常正常
Safari1680×1050正常正常正常正常正常正常正常正常正常正常
Safari1440×900正常正常正常正常正常正常正常正常正常正常
Opera1920×1080正常正常正常正常正常正常正常正常正常正常
Opera1680×1050正常正常正常正常正常正常正常正常正常正常
Opera1440×900正常正常正常正常正常正常正常正常正常正常

压力测试

配置好 nginx+uwsgi 服务器后,我们运用 JMeter 对其进行压力测试,并遵循以下流程进行逐阶段测试。整个测试过程都采用高并发,充分利用服务器资源。测试的API及结果如下:

get_user_info: 查询数据库获取用户信息
get_official_wordlists: 查询数据库获取官方词单,较为高效的API之一
get_group_words_in_list: 从词单中获得一组单词,运行效率受词单大小影响较大
user_send: 用户向英语助手发送一条消息,为耗费时间较大的API,但是由于受每日请求次数的限制,超过上限后运行效率极高
get_blank_text: 根据用户今日学习单词中获取5个进行文章挖空生成,为耗费时间最大的API,但是由于受每日请求次数的限制,超过上限后运行效率极高

在这里插入图片描述

单元测试

使用Django框架的测试模块编写单元测试,对所有输出稳定的api的正常功能与异常情况编写了对应的单元测试,(其中去除了登陆注册、gpt交互功能的不稳定输出、每日学习单词的随机生成三类API)并全部通过。以下为32个测试点的测试情况。
在这里插入图片描述

出口条件

  • 正确性测试
    我们对软件的各个基本功能进行了测试,保证用户在正确的操作流程中不会出现错误。同时,对用户的一些异常操作,如创建空词单等,增加了错误提示并拒绝提交更新。

  • 兼容性测试
    我们基于测试矩阵对不同浏览器和分辨率下的网页进行了测试。在测试矩阵中的不同浏览器下,网页的各个功能均能正常使用。在不同的屏幕大小下,ui显示正常,没有发生明显的扭曲或错位。在满足这两项条件时,我们认为通过了兼容性测试,可以在不同的平台和设备下使用。

  • 安全性测试
    我们在部分功能增加了一些限制与约束,并测试是否正常工作,防止用户私密信息泄露以及部分恶意攻击:

    • 对密码强度进行正则校验,防止密码过于简单被破译。
    • 对登录注册增加数字验证码与邮箱验证码,防止频繁登录注册请求。
    • 对密码进行md5加密,防止数据库泄露后密码被用于撞库。
    • 对文字长度、文件大小等可编辑部分进行了限制,防止出现异常问题。
    • 使用SSL证书与https协议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值