[BUAA软工]Beta阶段测试报告
Beta阶段测试报告
Bug发现与报告
| BUG | 出现原因 | 解决方案 |
|---|---|---|
| 将shell加上编辑器UI以后,两边显示的文件不同步 | 两边的根目录不一致 | 修改编辑器获取根目录的函数,使其与shell的/home目录一致 |
| 编辑器的语音按钮在某些手机上消失 | 页面布局中按钮的位置属性设置的不对 | 将按钮的位置属性设置为相对于右边缘和下边缘的相对位置 |
| 应用第一次启动特别慢 | shell在初始化时要加载一个bootstrap文件。这个文件在Alpha版本中被设置为了运行时下载。由于服务器带宽比较小,下载速度特别慢,而且容易中途出问题 | 我们把压缩包打包进了应用安装包中 |
| 代码在AndroidStudio的模拟器上无法运行 | 我们在打包上一个问题提到的bootstrap时为了减小安装包的体积,因为手机cpu一般都是aarch64架构,所以没有把x86的相关链接文件复制进去,而AndroidStudio的模拟器却是x86结构的。造成了调试上的不便 | 将x86的相关文件打包进Bootstrap |
| 导出的release版本的apk在手机上闪退,debug版本的却没有问题 | 初步确定为是AndroidStudio导出release版本的代码混淆的问题 | 关掉代码混淆,因为我们本来就是开源的,关掉混淆影响不大,而且能解决问题 |
| 部分终端上的包可能会在Android版本小于7.0(api < 24)的手机上出问题 | 我们将linux上的包交叉编译的时候使用的脚本要求支持的最低的Andoird api 为24 | 没有解决,因为我们的终端只支持最新版的各种软件包,在编译的时候将支持的最低api版本设置为21会导致一大批软件编译不通过,而且根据腾讯的调查报告,现阶段国内android版本24及以上的达到了将近七成,所以24以下的用户不会得到完美的支持。我们上架的时候也会注明主要支持7.0以上的系统 |
| 终端安装软件包的时候apt update会出问题 | 没有找到具体原因,可能是对apt的理解不够深刻,加上我们自己维护了一个apt的源,所以出现了神奇bug | 使用apt-get update可以有效避免问题的产生(这也是为什么说是神奇bug的原因,按理说两者应该是等价的),我们将这一条写进了使用指导中 |
| 编辑文件的时候标题输入无法使用语音 | 每一个Activity下语音输入只能选定一个目标,默认是文件输入的光标位置,无法定位到标题输入的编辑框里。 | 还没有解决,TODO |
场景测试
| 角色 | 使用需求 | 功能设计 |
|---|---|---|
| 张三 手部残疾,初学者 | 低门槛 | 我们为程序文件编辑开发了UI界面,使初学者不必为how to quit vim这样的问题困扰 |
| 李四 程序猿 | 功能专业 | 我们编译了几乎所有linux上的常用包,用户可以配置自己熟悉的环境和软件系统。而且将常用的编程命令和关键词加入了个性词库,提高了语音识别率。 |
| 王五 普通人 | 使用简单 | 我们维护了自己的apt源,用户可以使用自己的网络方便地下载各种软件包 |
回归测试
跟其他组的web不同,我们Beta阶段做的前端编辑器界面和Alpha阶段的shell语音相对独立,唯一的联系就是他们作用于同一个文件系统。所以相互测试主要目标是双方的文件同步
测试场景
- 在编辑器界面新建一个文件hello.py,内容为
print("Hello,world"),回到shell界面,命令ls,检查是否有hello.py,否则测试失败,有则继续python hello.py,检查是否出现Hello,world,有则测试成功,否则失败 - 在shell界面
mkdir newdir,回到编辑器界面,刷新后检查是否有newdir这个文件夹,有则测试成功,否则失败。
测试矩阵
| 手机型号 | 小米6 | 小米8 | 小米8se | 华为mate8 | vivo x23 | vivo x7 | 三星s10 | 华为p30 |
|---|---|---|---|---|---|---|---|---|
| 安卓版本 | 8 | 8 | 8 | 8 | 8 | 6 | 9 | 9 |
| 新建文件 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| 修改标题 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| 修改内容 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| 语音输入文本 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| 语音输入命令 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| UI和shell切换 | 正常 | 正常 | 正常 | 正常 | 正常 | 失败 | 正常 | 正常 |
| shell初始化 | 正常 | 正常 | 正常 | 正常 | 正常 | 失败 | 正常 | 正常 |
| 执行apt-get update | 正常 | 正常 | 正常 | 正常 | 正常 | 失败 | 正常 | 正常 |
| 执行apt-get install | 正常 | 正常 | 正常 | 正常 | 正常 | 失败 | 正常 | 正常 |
| shell查看当前目录下文件 | 正常 | 正常 | 正常 | 正常 | 正常 | 失败 | 正常 | 正常 |
| shell新建目录 | 正常 | 正常 | 正常 | 正常 | 正常 | 失败 | 正常 | 正常 |
| 返回编辑器查看文件互通 | 正常 | 正常 | 正常 | 正常 | 正常 | 失败 | 正常 | 正常 |
可以看到满足我们支持的android版本的机型基本运行正常
出口条件
我们认为各功能正常,且能在我们支持的安卓版本上(7.0以上)正确运行的即可认为达到出口条件
| 功能大项 | 细分功能 |
|---|---|
| 前端编辑器 | 可以新建文件 |
| 可以修改文件标题 | |
| 可以修改文件内容 | |
| 可以语音输入文本 | |
| 可以语音输入换行,空格等命令 | |
| shell | 可以初始化 |
| 可以执行apt-get update | |
| 可以执行apt-get install | |
| 可以看到前端新建的文件 | |
| 可以新建文件,文件夹 | |
| 可以语音输入文本 | |
| 可以语音输入换行,空格等命令 | |
| 编辑器和shell互通 | 可以从编辑器切换到shell |
| 可以从shell切换到编辑器 | |
| 编辑器可以看到shell中新建的文件,文件夹及内容 | |
| shell中可以看到编辑器中新建的文件及内容 |
[BUAA软工]Beta阶段测试报告的更多相关文章
- [BUAA软工]beta阶段贡献分
团队成员在Beta阶段的角色和具体贡献: 名字 角色 具体的可衡量的可验证的贡献 zpj 前段+ 前后端对接 博客X1 20+ commits ui 设计与实现 bug fixed: 2 推广:10 ...
- [BUAA软工]Alpha阶段测试报告
测试报告 一.测试计划 1.1 功能测试 1.2 UI测试 1.3 测试中发现的bug https://github.com/bingduoduo1/backend/issues/21 https:/ ...
- 2021北航敏捷软工Beta阶段评分与总结
概述 Beta 阶段评分,按照之前的规则,主要组成部分为: 博客部分,基于 Beta 阶段博客的评分(每篇正规博客 10 分,每篇 Scrum5 分,评定方式类比往年) 评审部分,基于 Beta 阶段 ...
- [BUAA软工]Alpha阶段事后分析
设想和目标 虽然我们是从零开始的一个自定义项目,但语音Coding助手从一开始的设计与目标就很明确:加入语音接口使其能在shell端实现命令语音实现以及编辑运行脚本,设计前端编辑器并将后端shell与 ...
- [BUAA软工]Alpha阶段项目展示
[冰多多]Alpha项目展示 冰多多项目: 语音coding 助手, alpha阶段目标: 语音辅助输入 一. 团队成员的简介和个人博客地址 成员 角色 个人博客地址 卓培锦 PM, 后端开发 htt ...
- [BUAA软工]gamma阶段贡献分
Gamma阶段评分 基本公式:贡献度 = 工作量 × 工作的影响力 × 工作的不可替代性 + 对项目有重大意义的idea gamma阶段所有的工作及idea issue/idea/job (repo: ...
- 【BUAA软工】Beta阶段测试报告
项目 内容 班级:北航2020春软件工程 博客园班级博客 作业:Beta阶段测试报告 测试报告 发现的bug Beta阶段的bug [已解决]CPP项目无法进行调试 [已解决] 注册界面注册后不能够自 ...
- [敏捷软工团队博客]Beta阶段测试报告
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段测试报告 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...
- [敏杰开发]Beta阶段测试报告
[敏杰开发]Beta阶段测试报告 这是一篇软工课程博客 项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 作业要求 Beta阶段测试报告 我们在这个课程的目标是 测试项目 这个作业在哪个 ...
随机推荐
- 【Java并发编程】24、Synchronized实现原理解析
一.概述 我们知道在JDK1.5之前synchronized是一个重量级锁,相对于j.u.c.Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它. 不过,随着后续Java版本更新对 ...
- 【转载】C#中遍历DataTable中的数据行
在C#中的Datatable数据变量的操作过程中,有时候我们需要遍历DataTable变量获取每一行的数据值,例如将DataTable变量转换为List集合的时候,我们就会遍历DataTable变量, ...
- 89.canvas制作爱心
<!DOCTYPE html> <html> <head> <title>JavaScript和html53D玫瑰花(程序员的情人节礼物)< ...
- Java语言的介绍
1. 计算机语言 语言:沟通交流的方式 计算机语言:人与计算机之间的交流方式 java是一门计算机编程语言,也是意大利自行车品牌 软件工程师,java开发工程师 <--------------- ...
- Python列表,元组,字典,集合
列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. 列表追加数据的方法:append(),extend(数组),insert(位 ...
- Unity手游汉化笔记③:UABE替换BMFont
总的笔记:https://www.cnblogs.com/guobaoxu/p/12055930.html 目录 一.Demo 二.分析思路 三.替换 四.总结 五.补充 工具: Unity版本:20 ...
- 2019牛客暑期多校训练营(第一场):XOR(线性基)
题意:给定数组,求所有异或起来为0的集和的大小之和. 思路:由于是集合大小,我们换成考虑每个元素在多少个集合里有贡献. 先生成线性基. 对于没有插入线性基的元素x,贡献是2^(N-base-1),因为 ...
- oracle之percent_rank() over()函数和PERCENTILE_CONT() within group()over()函数详解
创建一个临时表 create table EMP ( EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER ...
- PID动图——很形象
p是控制现在,i是纠正曾经,d是管控未来! pid的公式: 其中Kp为比例带,TI为积分时间,TD为微分时间.PID控制的基本原理就是如此. pid的原理和代码,在木南创智的博客园中有很好的教程:ht ...
- 学习:Windows API核心DLL文件
在 Windows 的系统目录中,存在着很多的动态链接库文件(DLL 文件).这些 DLL 文件中包括了 Windows API 函数可执行程序. DLL 将各函数"导出",这样应 ...