一、项目的测试情况
序号 | 所完成的测试 | 系统所期望的性能指标 | 实际测试结果 | 差别分析 | 性能问题及其改进建议 |
---|---|---|---|---|---|
1 | 性能指标 | 服务器在3s内响应 | 最快响应时间:0.44s;最慢响应时间:1.75s | 和网络速度等有关,但是还是完成了期望 | 如果想提升速度那么就要换更好的服务器 |
2 | 系统资源监控 | cpu占比5%;内存占用120M左右 | CPU占用0.59%;内存占用115.61M | 和机型有关,比较好的机型比较节约 | 其实这个情况是比较正常的,而且也比较符合期望 |
3 | 压力测试 | 可以达到500个用户的并发 | 当并发数在100的时候服务器都能实现比较完美的并发 | 没有达到预期,当请求数相同时,并发数越大失败的请求越大,而且并发数在100时是所有并发数中最好的一种情况 | 并发能力比较差,要用比较好的服务器 |
4 | 疲劳度测试 | 不出差错不会崩 | 目前已持续运行13天,凭据每天接受9000左右的请求 | 服务器我们使用的是知晓云目前运行了13天 | 知晓云这个平台还是不错的应该不会崩 |
5 | 安全测试 | 用户数据不会被盗取篡改 | 目前没有出现过任何问题 | 没有出现过安全上的问题 | 用到了https协议能过保证数据在传输过程中不被修改,目前比较信任知晓云 |
性能测试
系统资源监控
虽然机型不多但是对比可以发现,Beta阶段的cpu和内存使用情况都明显下降。
Alpha阶段的资源监控
Beta阶段的资源监控
压力测试
请求数 | 并发数 | 成功数 | 失败数 | 总用时(s) | 最快用时(s) | 最慢用时(s) |
---|---|---|---|---|---|---|
100 | 10 | 100 | 0 | 5.15 | 0.40 | 0.81 |
100 | 20 | 100 | 0 | 3.15 | 0.43 | 0.76 |
100 | 50 | 100 | 0 | 2.35 | 0.61 | 1.59 |
100 | 100 | 100 | 0 | 1.45 | 0.74 | 1.44 |
500 | 100 | 500 | 0 | 11.95 | 1.40 | 3.39 |
500 | 500 | 380 | 120 | 5.01 | 1.80 | 4.99 |
1000 | 100 | 1000 | 0 | 12.19 | 0.43 | 2.10 |
1000 | 500 | 515 | 485 | 10.02 | 2.02 | 5.00 |
1000 | 1000 | 169 | 831 | 5.03 | 3.95 | 5.00 |
5000 | 100 | 4871 | 129 | 137.99 | 0.66 | 8.73 |
10000 | 100 | 6391 | 3609 | 751.29 | 0.40 | 126.47 |
疲劳度测试
可以看到该服务器从5月24号开始投入使用接受各种请求,已使用13天。平均每天接受9739次请求
安全测试(没法测)
- 使用https协议,避免数据传输过程被查看和修改。
- 保密性上用户不能修改其他用户的数据,不能查看未授权的数据。
- 可用性上用户可以查看已授权的数据,并且整个程序都能正常运行。
- 完整性使用了https协议在传输过程中可以保证不被篡改。
最后我们使用的是知晓云这个平台,我们还是比较相信这个第三方工具的。
二、项目的发布说明
1、本版本的新功能
(2)认真学习功能
2、软件对运行环境的要求
该项目是以微信小程序形式存在,所以运行于微信平台,微信的版本是最低版本为5.3.
3、系统已知的问题和限制
问题:可能会出现PK模式用户匹配中两个用户存在时间差,即使一方匹配成功,可能会显示不出对方头像信息
限制:我们的游戏是用小程序的模式写的,所以游戏的流畅度不够。如果是以游戏的模板写,发布微信小游戏需要证书,对于目前我们这种短期想要发布的情况是不现实。用户并发数最佳为100
4、软件的发布方式以及发布地址
发布方式:i词汇是通过微信公众平台小程序中的开发管理将我们的要发布版本提交审核,一天左右就可通过审核,在通过审核后,将审核通过的版本发布出来。
发布地址:二维码
三、提供一个稳定的码云的开源源码和项目链接(以便后来人在你们项目基础上继续改进完善)
团队主要使用码云进行代码的管理,码云地址:https://gitee.com/yangxueying/software_engineering_team_work
readme地址:https://gitee.com/yangxueying/software_engineering_team_work/blob/dev/README.md
四、要求列出代码签入的历史, 并录制视频演示从码云代码仓库同步代码,在本机编译,构建, 并发布到目标机器的过程
五、用户使用情况报告(使用反馈意见、用户数量、使用频度)
(1)使用反馈意见(具体详见用户使用调查报告:https://www.cnblogs.com/LDLYMteam/p/9103460.html)
- 功能很齐全,希望能够增加修改皮肤和背景音效的功能
- 选择游戏模式的按钮太大并且挨得近,乍一看以为只有一个按钮,不太美观
- 页面加载较慢
- 如果单词消除的时候有音效玩起来会更带劲儿
- 音乐每次进入默认开启,需要手动关闭,有点麻烦
- 加时卡太少了(初始默认两张,可通过PK成功获取加时卡)
- 只有四级和六级两种选择,可以考虑增加考研词库
(2)用户数量:截止到2018年6月4号,累计访问用户数为65人。
- 访问人数:访问小程序内所有页面的总用户数,同一用户多次访问不重复计。
- 访问次数:访问小程序内所有页面总次数,多个页面之间跳转、同一页面的重复访问计为多次访问。
- 人均停留时长:平均每个用户停留在小程序页面的总时长,即小程序总停留时长/访问人数。
- 平均访问深度:平均每次打开小程序访问的去重页面数,即每次访问去重页面数/打开次数。
六、团队项目总代码行数、项目预估遗留的bug数、项目总耗时
(1)据不完全统计(-_-其中包含了很多注释的控制台输出语句),总代码行数:3926
(2)项目预估遗留的bug数
其他都是一些小问题,主要还是考虑到对数据库的读取和写入的速度较慢,还有网速慢等问题,可能会出现PK模式用户匹配中两个用户存在时间差,即使一方匹配成功,可能会显示不出对方头像信息。(后续我们还是会针对该问题继续进行改进完善)
(3)项目总耗时:
- Alpha阶段:7天冲刺,平均每天8小时,总耗时大概60小时。(每天几乎都在学习和“踩坑”中度过)
- Beta阶段:5天冲刺,平均每天6小时,总耗时大概30小时。
- 每个阶段冲刺结束后又进行了后续的bug修复和改进,大概又花了30小时。
- 综上,整个项目总耗时大概是120小时。
七、根据Beta冲刺过程中各个成员的具体贡献汇总排序,总分为N*20,给出每个人的团队个人贡献分(排序无并列,因此每个人的个人贡献分不同)
姓名 | 贡献百分比 |
---|---|
董美凤 | 31% |
杨雪莹 | 28% |
林楚虹 | 18% |
林艺如 | 15% |
罗登宇 | 8% |
八、每个组员的项目感言
林楚虹:
项目终于完成了。从一个小小的想法到能够在手机里使用真的很有成就感。接触了微信小程序开发工具和微信开发语言以及知晓云。从alpha阶段到Beta阶段每个阶段我们的团队都很认真努力的去完成任务,熬夜是必备的,也经常伴随着争吵,然而每个阶段结束看到手机里能过按照我们想法运行的程序时就会觉得之前的辛苦不算什么。alpha阶段结束也写了总结感言,这次的感言就专注在Beta阶段。这个阶段我个人熬夜比较的狠,到了不把这个问题解决就不睡觉的程度。这个阶段开始我在我们购买的腾讯云服务器上连接数据库,这是一个比较繁琐的过程,我写了一个总结传到码云上了有兴趣可以去看看。但是后来我们得知了知晓云这个工具集结了数据库以及提供了我们接口而且开发文档也比较齐全我们就转向使用这个工具。在使用过程中我们发现这个工具确实比较好用,推荐以后有开发微信小程序的同学使用。然后我们的任务是编写一个排行榜功能以及单词调取方式。虽然听名字都不算复杂,但是开发的时候就会遇到各种问题(具体每日总结中都有提到)然后我就死磕啊记得一次早上快七点才去睡觉。这是一个难得的经历,我相信我们的项目能获得大家的喜欢的。
董美凤:
经过这几周的项目开发,这一路磕磕绊绊,总是是完成了整个项目。这是第一次在一个完全陌生的环境进行开发,一步步去学习,去实践。看着我们的小程序一点点地成型,能够运行,渐渐丰富起来的各种功能,就好像看着自己的孩子成长一样,自己从中也收获到了很多,很有成就感。回想Alpha阶段的时候,起初的迷茫,无从下手,到后来能够按照自己的意愿想法去开发新的功能,这期间真是痛苦并快乐着。虽然项目结束了,基于我们现在的能力有限,所掌握的技术还只是入门,想法还停留在“原始”阶段,所以小程序还是存在一些问题和不足,深刻地觉得自己还需要学习的东西还有很多,自己会的技能才一点点。作为开发者,总是希望尽可能把最好的作品呈现给大家,接下来还是会继续学习,继续完善,努力做得更好。同时整个过程下来深刻地体会到了团队的力量是巨大的,在整个团队中,每个人的任务不同,所擅长的各有不同,虽然在贡献度上简单粗暴的量化决定了每个人的大小,但决不可否认团队中的每个人都是缺一不可的,整个小程序能如期呈现在大家面前,离不开每一个人所付出的努力。
林艺如:
在结束alpha阶段之后,我们的项目虽然不是很完善,但是各方面都在我们的预期之中,所以开发过程还算顺利。进入beta阶段之后,开始新一轮的开发,项目新增了一些功能和模块,我所负责的新增模块相对独立于alpha阶段发布的内容,虽然需要获取其他模块的数据,但是与整体没有过多的交叉,只要将认真学习模块实现再整合就行,不需要在原项目上做太多的改动,这个任务比较简单,但是到后期数据导入之后才能验证是否成功实现需要的功能。beta阶段决定采用知晓云取代在服务器上建数据库,但是知晓云不支持SQL语句,而且批量导入还有严格的格式要求,虽然能够通过Excel转换成CSV格式,单词的常用词义也一个个修改了,但是却无法解决一部分音标中的特殊字符出现乱码的问题,最后实在没办法只能求助知晓云的客服和技术人员,然后他们帮我们洗完数据之后乱码问题就解决了,so amazing.beta阶段我的任务都是难度不大,但问题不少,每一个问题的解决都是一种收获。虽然项目开发过程中困难很多,但是最终项目的成功完成和发布给我们带来了极大的成就感。
杨雪莹:
项目就这样经历了漫长又短暂的几周就这样结束了。说实话这段时间真的成长了很多,学习了很多,也发现自己不一样的能力。果然学习一门语言就是要多实践,多写。这段时间,看着我们的项目的功能逐渐增加,逐渐完善,真的是一件很美好的事情。虽然冲刺阶段天天熬夜,但是最后项目做出来很有成就感的。要说有遗憾还是有的,项目还是不够完美,即使课程结束了还是想继续完善。因为我们对游戏这方面了解还是不够,想法还是比较传统。但是该踩的坑还是踩,我觉得用这些相对比较“笨”的方法去做,才可以继续改进。我们项目一开始连接数据库,就是用比较普遍的方式,直到后来老师说可以用知晓云,我们才发现连接数据库确实不是一件难事。可以说有很多软件很方便,可以帮你解决很多问题,它帮你封装好,你只要会使用就可以了。而且知晓云就是跟微信小程序配套。再次为它的开发文档点赞,真的学起来很清楚,体会了一把文档的重要性。项目的完成离不开团队里每一人的付出。团队的分工,团队的计划,团队的执行能力都会影响团队的进度。所以调动团队的积极性很重要,只有大家齐心协力完成同一个目标,最终才会展现一个好的结果。
罗登宇:
我负责的图标设计和代码测试,设计了部分功能图标和新logo的设计,使用的ps和ai,学到了很多代码的新用法,以后想往软件图形方面努力,学习软工让我更好的适应了团队合作
九、项目宣传文案
https://www.cnblogs.com/LDLYMteam/p/9141851.html