Beta版测试报告

1. 在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个?

BUG名 修复的BUG 不能重现的BUG 非BUG 没能力修复的BUG 下个版本修复
url乱码
手机端网页的缩放
中文url的编码
根据xpath找不到元素
GUI与后端中文无法传递
GUI默认辨认编码无法改变
打包无法运行的问题
多线程的信号混乱
无法删除表格中第一项
update() 会造成存储结果混乱
打包成单文件EXE无法调用phantomjs.exe
总计 6 2 2 0 1

2.场景测试

  • 小明:

    小明是一个资深动漫爱好者,他一周要追10部以上的动漫,每天更新什么动漫,这部动漫再哪个平台上观看这些考记忆力的东西让小明头痛不已。小明通过我们的软件,把他追的动漫添加进关注列表里,每天打开我们的软件就能知道更新情况了。
  • 小刚:

    小刚是一个刚入门的动漫爱好者,他看动漫的目的是在闲暇之余放松自己。但是经常不知道去哪看什么时候看,小明的烦恼在使用我们的软件之后就没有了,他只用在搜索框搜索想看动漫的名称,之后只用每天打开软件查看更新情况就行了。

3.压力测试



可以看出同时抓取15部动漫的最新集数只要31S,平均2S多一部,这个速度已经很快了,并且系统没有卡死。

4.测试矩阵

测试项 检验点 预期结果 phantomjs(headless) firefox chrome edge
打开url 打开一个窗口 窗口打开并加载
定位元素 根据元素的xpath定位 成功定位
模拟鼠标左键点击 找到元素并使用click方法 点击事件成功响应
获取元素属性 找到元素并使用get_attribute方法 成功找到属性
  • handleJson
测试项 检验点 预期结果
添加数据 数据唯一性 同一组数据只能添加一次
删除数据 删除指定属性的数据 成功删除
修改数据 修改指定属性的数据 成功修改
文件不存在时添加数据 新建文件 成功添加
文件不存在时删除数据 无法删除 抛出异常
文件为空时删除数据 无法删除 抛出异常
  • GUI
测试项 检验点 预期 win7 win8 win10
主table 显示效果 可以显示
添加订阅PBT 点击 在sublist.txt内添加订阅
重新抓取PBT 点击 根据sublist.txt生成抓取json
刷新 点击 点击按钮后刷新table
删除按钮 点击 在txt和json删除对应的项并刷新

5.出口条件

我们的出口条件是,能在各种条件下修改(增、删、改)订阅列表而程序不会报错,且能够通过文件里的数据来更新订阅列表,并且速度相比Alpha要快很多。

版本发布说明

1.新功能

可以搜索各大网站的正版动漫资源

支持多线程

2.修复Alpha版本的缺陷

现在爬虫速度大幅度提升,提升幅度大概是之前的4-5倍。

打包程序无法运行的缺陷也已修复

3.对运行环境的要求

  • 防火墙允许phantomjs连接网络
  • RAM 2G以上
  • win7/win8/win10操作系统均可

4.安装方法

不需要安装直接运行exe文件即可。

5.已知问题和限制

  • 由于代码重构和爬取的站点不同,我们在提高速度的同时牺牲了“更新日期”这个功能,这是因为我们利用了爱奇艺的提供的搜索功能,他的搜索可以搜全网,也就是说别的站的资源他也能搜到相当于一个专门搜动漫的百度。并且我们访问的是移动端的网页,这也是为了加快速度而设计的,因为移动端的页面结构简单,加载速度快。但是美中不足的是,“更新日期”这项信息并没有出现在搜索结果上。
  • 由于我们采用了多线程,所以相当于同时多开浏览器,如果内存只有2G的话,同时更新10部以上的动漫,系统可能会因为内存耗尽而卡死。

6.发布方式和发布地址

可运行的exe文件届时会发布在github项目地址上。

项目地址

Beta版本展示博客

1.团队成员简介

2.Beta阶段总结

  • 典型预期用户
 姓名 小明
 性别
 职业 学生
 知识层次和能力 硕士
 动机、目的、困难 动机、目的:喜欢看动漫 困难:记住不所追的动漫的更新日期及观看平台以及自己看到了哪一集
 用户偏好 同时追多部动漫
 用户比例 40%
 典型场景 想放松自己的时候忘记了想看动漫的观看平台
 姓名 小王
 性别
 职业 程序猿
 知识层次和能力 本科
 动机、目的、困难 动机、目的:喜欢看动漫 困难:不想关心追番细节
 用户偏好 偶尔看几部
 用户比例 60%
 典型场景 休息时间,看几集动漫休息一下
  • 目标用户使用情况

  • 团队分工协作,经验教训

    PM:负责组织开会、反馈、分配任务、撰写文档

    dev:负责具体的开发

    test:负责测试

    这次的开发,由于我们爬虫的代码基本上是重写的,所以时间依旧很紧。所以导致,我们加班严重,所以,上次的团队成员对彼此的代码都不熟悉,因为时间都花在重构上了。幸好这次没有同学请假,但是这个问题还是存在的,特此说明。

  • 团队项目如何满足了用户的需求?

    我们通过搜索并把相关信息添加到订阅列表的功能,让用户只用一次操作,以后都只用打开软件就能获取信息的方式,没有多余的操作,简单易用。

  • 团队如何平衡 时间/质量/资源 争取如期完成任务的?

    由于Alpha版本的爬虫速度和搜索质量都不高,所以我们决定要大改,不能以大作业的态度来对待这次项目。我们迅速的查阅资料,然后从提高爬虫速度切入在网上看别人的经验,发现了两种加速方法,第一就是找网站提供的API说白了就是js调用服务端的接口,第二就是爬手机端的网页,因为手机端页面结构简单,加载速度快。然后我们分析了一下,第一找API估计是不可能了,工作量太大,爱奇艺这种级别的网站光js文件就好几个更别说找接口了。第二个方案可行,我们试了一下速度确实有很大的提高,但是页面结构全变了,所以代码要重写。然后就是多线程,这个方法是为了能更快的抓取订阅列表里面的动漫最新集数,如果一个一个来速度太慢了光靠爬虫是做不到的。我们Beta版就是着重改进了速度问题,不然用户体验极差。我们做的所有工作都是围绕这一目标进行的。

  • Beta具体改进
    • 借用爱艺奇的搜索功能,能提供全网范围的搜索
    • 爬取手机端网页优化速度
    • 多线程爬取
  • 项目实际进展



    额……很尴尬,由于我们之前在讨论具体方案,直到4号才开始编码……所以燃尽图就是这个样子了。

  • 代码情况



    AnimateSubscribe.py 是GUI的代码 176行

    handleJson.py 处理Json文件的代码 127行

    phantomjs.exe 是headless浏览器

    spider_changed.py 是新版本的爬虫 111行

    subscribe.json 是订阅列表存储文件

    上面是我们的核心代码。如果新团队要接手的话,需要着重看爬虫和json文件处理,这是本项目功能的核心。代码的注释我们后面会补上。爬虫和json文件处理都封装的很好了,个函数之间的耦合性比较低,所以进一步开发不需要改动太多代码。

  • 项目展示

Beta阶段总结分析报告

1.事后诸葛亮会议报告

报告地址

2.团队成员照片

3.团队成员在Beta阶段的角色和具体贡献

名字 角色 团队贡献分 可验证的贡献
黄亦薇 PM 21 撰写文档
赵坤 dev 23 爬虫处理json的代码编写
李世钰 dev 24 GUI界面编写,整合代码
王成科 test 12 测试

Beta阶段报告的更多相关文章

  1. 高级软件工程2017第7次作业--团队项目:Beta阶段综合报告

    Deadline:2017-11-06(周一) 21:00pm (注:以下内容参考集大作业8 集大作业9 集大作业10 ) 0.评分规则: 按时交 - 有分,内容包括以下5个方面: Beta阶段敏捷冲 ...

  2. 第七次作业:Beta阶段综合报告(Java-Team)

    团队:Java-Team 成员: 章辉宇(284) 吴政楠(286) 陈阳(PM:288) 韩华颂(142) 胡志权(143) github地址:https://github.com/WHUSE201 ...

  3. 高级软件工程2017第7次作业--C++团队项目:Beta阶段综合报告

    1.Beta阶段敏捷冲刺每日报告 Bate版敏捷冲刺报告--day0 Bate版敏捷冲刺每日报告--day1 Bate敏捷冲刺每日报告--day2 Bate敏捷冲刺每日报告--day3 Bate敏捷冲 ...

  4. Beta阶段总结分析报告

    1 讨论照片 2 Postmortem结果 二手交易平台项目Postmortem结果 整理:程环宇 设想和目标 1.       我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有 ...

  5. Beta阶段敏捷冲刺报告-DAY5

    Beta阶段敏捷冲刺报告-DAY5 Scrum Meeting 敏捷开发日期 2017.11.6 会议时间 12:00 会议地点 软工所 参会人员 全体成员 会议内容 乱序问题的解决,异常输入提示 讨 ...

  6. Beta阶段敏捷冲刺报告-DAY4

    Beta阶段敏捷冲刺报告-DAY4 Scrum Meeting 敏捷开发日期 2017.11.5 会议时间 11:30 会议地点 羽毛球场 参会人员 全体成员 会议内容 bug的原因讨论, 测试内容安 ...

  7. Beta阶段敏捷冲刺报告-DAY3

    Beta阶段敏捷冲刺报告-DAY3 Scrum Meeting 敏捷开发日期 2017.11.4 会议时间 12:30 会议地点 软工所 参会人员 全体成员 会议内容 当天任务确认,进度调整, 讨论时 ...

  8. Beta阶段敏捷冲刺报告-DAY2

    Beta阶段敏捷冲刺报告-DAY2 Scrum Meeting 敏捷开发日期 2017.11.3 会议时间 13:00 会议地点 微信群 参会人员 项目组全体成员 会议内容 打包问题修复, 爬虫优化, ...

  9. Beta阶段敏捷冲刺报告-DAY1

    Beta阶段敏捷冲刺报告-DAY1 Scrum Meeting 敏捷开发日期 2017.11.2 讨论时间 20:30 讨论地点 下课路上以及院楼侧门 参会人员 项目组全体成员 会议内容 附加功能讨论 ...

随机推荐

  1. win10 更新系统更新补丁后无法启动处理办法

    win10无法启动不用怕!WinRE恢复环境轻松修复win10系统 Win10技术预览版发布至今,已经整整过去十天时间.经过这段时间的使用体验,小伙伴们有没有遇到一些问题,导致系统出错甚至无法启动呢? ...

  2. HihoCoder - 1139

    在上一回和上上回里我们知道Nettle在玩<艦これ>,Nettle在整理好舰队之后终于准备出海捞船和敌军交战了.在这个游戏里面,海域是N个战略点(编号1..N)组成,如下图所示其中红色的点 ...

  3. 【BZOJ4816】数字表格(莫比乌斯反演)

    [BZOJ4816]数字表格(莫比乌斯反演) 题面 BZOJ 求 \[\prod_{i=1}^n\prod_{j=1}^mf[gcd(i,j)]\] 题解 忽然不知道这个要怎么表示... 就写成这样吧 ...

  4. 【BZOJ4003】【JLOI2015】城池攻占(左偏树)

    题面 题目描述 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池.这 n 个城池用 1 到 n 的整数表示.除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其中 fi ...

  5. [BZOJ1051] [HAOI2006] 受欢迎的牛 (强联通分量)

    Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也 ...

  6. SIMD---MMX代码优化

    单指令多数据流,即SIMD(Single Instruction, Multiple Data)指一类能够在单个指令周期内同时处理多个数据元素的指令集,利用的是数据级并行来提高运行效率,典型的代表由I ...

  7. python多线程、多进程以及GIL

    多线程 使用threading模块创建线程 传入一个函数 这种方式是最基本的,即调用threading中的Thread类的构造函数,然后指定参数target=func,再使用返回的Thread的实例调 ...

  8. 通过银行卡号识别归属银行,php方式

    这个例子不是很全,要做到齐全必须使用数据库字典来索引,而且数据量庞大,建议生产使用时限制几大行就行,直接不支持其他小行.此案例抛砖引玉 /** * 银行卡信息识别相关类 * 把bin号转化为长整形,再 ...

  9. 深入理解Java虚拟机类加载机制

    1.类加载时机 对于类加载的第一个阶段---加载,虚拟机没有强制的约束,但是对于初始化阶段,虚拟机强制规定有且只有以下的5中情况必须开始初始化,当然,加载.验证.准备阶段在初始化前就已经开始. ①使用 ...

  10. AI行业需要什么样的人才

    自AI人工智能诞生以来,它的领域逐步扩大,技术层面也越来越多样化,投身于该领域的人才也越来越多,那么AI行业到底需要什么样的人才?我们应该如何定位自己,找到适合的领域?3月8日晚,在飞马网线上直播中, ...