目录
测试计划、过程和结果
后端单元测试
助教可以在这里查看测试代码。我们对所有接口设计了单元测试,结果:全部通过。
后端压力测试
测试结果
我们对每个接口进行了压力测试,助教可以在gitlab进行查看详细结果文件。这里展示出我们得到的平均数据。
并发用户数: | 100 |
---|---|
测试所用时间: | 30 seconds |
完成请求量: | 1000 |
失败请求数目: | 0 |
成功请求数量: | 1000 |
总传输数量: | 425000 bytes |
吞吐率: | 29.50 |
传输速率: | 12.24 kb/s received |
时长 (ms) | 最短时长 | 平均时长 | 最长时长 |
---|---|---|---|
连接时长 | 26 | 1832 | 5836 |
处理时长 | 500 | 1381 | 248 |
总时长 | 526 | 3213 | 6084 |
指标解释
吞吐率(Requests per second)
服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
计算公式:总请求数 / 处理完成这些请求数所花费的时间,即Request per second = Complete requests / Time taken for tests
并发连接数(The number of concurrent connections)
并发连接数指的是某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。
并发用户数(The number of concurrent users,Concurrency Level)
要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。在HTTP/1.1下,IE7支持两个并发连接,IE8支持6个并发连接,FireFox3支持4个并发连接,所以相应的,我们的并发用户数就得除以这个基数。
服务器平均请求等待时间(Time per request: across all concurrent requests)
计算公式:处理完成所有请求数所花费的时间 / 总请求数,即
Time taken for / testsComplete requests
是吞吐率的倒数。
前端测试
授权登录与权限检查
- 当且仅当用户同意授权登录我们的小程序时,才能使用我们的小程序。测试通过。
- alpha版中,我们只有游客这一种登录方式,暂时还没有北航学生身份认证和社团管理员角色,因此相当于只有一种用户。所有功能也都暂时没有权限限制,无需检查。
功能测试
以下表为主要依据,对三个方面进行了测试:
- 页面内部功能测试。
- 页面之间互相影响的测试点,主要是社团和活动的关注状态,以及活动的总关注度。
- 页面跳转和页面栈。
页面 | 功能描述 | 验收标准 |
---|---|---|
授权登录 | 1.授权登录 | 1.用户第一次登录时,当且仅当用户点击了授权登录按钮并同意授权后,才可跳转至主页面 2.授权登录后可以获取用户的微信昵称和头像并录入数据库。 3.用户非第一次登录时,无需点击授权登录按钮便会立即重新登录。 |
新闻 | 1.轮播展示关注度前4的活动横版海报,点击能跳转活动详情 2.列表显示新闻,即接入本小程序的公众号的文章,点击新闻跳转详情。 3.新闻列表下拉能够刷新 4.按类别筛选新闻 5.点击新闻对应的社团跳转社团信息页。 |
1.滑块视图容器,装载4张热度最高的活动卡片。每隔2s自动切换活动卡片,向左/右滑动能切换卡片。 2.点击活动卡片,可以跳转至活动详情,返回正确 3.新闻仅显示接入(即关联)本小程序的公众号的文章 4.新闻时间显示分段:(1)当天的新闻显示“今天”。(2)昨天至7天前的新闻,显示“x天前”,x是1~7的整数。(3)其余时间的新闻,显示月份和日期。 5.新闻按“时间”从近到远排序。 6.新闻类别筛选正确,且能返回“全部类别”状态。类别筛选的标准除了6个社团类别,还包括“全部类别”、“我的关注”类别。 7.点击新闻能正确跳转公众号文章,显示成功,返回正确 8.点击社团能正确跳转至社团信息页面,返回正确 |
新闻详情 | 1.展示文章内容 2.能留言、“在看” |
1.展示文章内容正确,返回正确 2.能能留言、“在看”,能更新该文章的阅读量 |
活动 | 1.按热度非升序排列展示活动列表 2.点击跳转活动详情 3.关注和取消关注活动 |
1.按热度非升序排列展示活动列表 2.点击跳转活动详情,返回正确 3.关注和取消关注活动正确,并弹窗提示用户。 |
活动详情 | 1.展示活动详细信息 2.点击主办方跳转社团详情 3.关注和取消关注活动 |
1.正确展示活动详细信息,只展示尚未开始的活动。 2.点击主办方正确跳转社团详情,返回正确 3.关注和取消关注活动正确,并弹窗提示用户。 |
社团 | 1.能搜索社团 2.列表显示我关注的社团 3.分类显示社团 4.点击类别跳转至该类别的社团列表页 5.点击社团跳转详情 |
1.可以用关键字搜索社团,没有则提示“无”. 2.列表显示我关注的社团,若无则提示“您尚未关注任何社团”。 3.分类显示社团 4.点击类别正确跳转至该类别的社团列表页,返回正确 5.点击关注的社团正确跳转社团详情页,返回正确。 |
某类别社团 | 1.列表显示该类别下的社团 2.点击社团跳转详情 |
1.列表显示该类别下的社团 2.点击社团跳转详情,返回正确。 |
社团信息 | 1.展示社团信息 2.可以关注和取消关注社团 |
1.正确展示社团的信息,某一项没有的不显示。 2.可以一键复制手机号、公众号。 3.正确显示关注状态,可以改变关注状态 4.除了社团简介还包括社团新闻 和 社团活动,这两部分的要求与 新闻页、活动页一致。 |
我关注的社团 | 1.列表显示用户关注的社团,点击跳转详情 | 1.列表显示用户关注的社团,点击跳转详情 |
我关注的活动 | 1.列表显示用户关注的活动,点击跳转详情 2.可以取消关注活动 |
1.列表显示用户关注的活动,点击跳转详情 2.可以取消关注活动,取消关注后立即在本页消失并弹窗提示。 3.若没有关注任何活动,则显示“您尚未关注任何活动” |
兼容性测试
性能测试
回答课程组问题
测试中发现的bug
后端:
bug现象 | bug原因 | 是否解决 |
---|---|---|
前端:
bug现象 | bug原因 | 是否解决 |
---|---|---|
场景测试
- 萌新:
用户信息 | 用户情况 |
---|---|
姓名 | 萌新M |
用户身份 | 某学院大一新生 |
用户情况 | 刚入学,对于各个社团的情况不大了解 |
用户需求 | 希望能方便地查看各个社团的介绍和活动,同时有让自己加入感兴趣的社团的渠道。 |
用户痛点 | 目前找不到集北航社团咨询与一身的平台。社团的公众号太分散,一个个去关注和查看文章十分麻烦;社联推送的社团介绍也比较有限。 |
软件对应功能 | 按照社团类别归置社团,同时提供搜索功能,便于用户找到自己感兴趣的社团;每个社团都有简介、新闻和活动,便于用户浏览社团的信息和动态;多数社团提供微信公众号名称和QQ群号,用户可以复制后进行关注和加群。 |
预期使用场景 | 百团大战马上要来了,萌新M想率先了解各个社团的情况,于是打开了“北航社团帮”小程序,浏览了自己感兴趣的社团类别(比如体育类)。在浏览了A社团的介绍、新闻和活动后,他觉得A社团很符合自己的兴趣,于是他关注了该社团的公众号,同时加入了该社团的QQ群,感受着老社员们对萌新M的热烈欢迎。 |
- 二狗:
用户信息 | 用户情况 |
---|---|
姓名 | 二狗G |
用户身份 | 某学院大二学生 |
用户情况 | 因为特别喜欢参加A社的社内活动,所以二狗G加入了A社团,积极参加A社举办的活动;同时对于其它社团有趣的活动也蛮有兴趣。 |
用户需求 | 希望能有一个平台将各个社团的活动集中展示,方便他获取社团活动的信息。 |
用户痛点 | 虽然只加入了A社,但是二狗G对于BCD社的活动也很有兴趣,但是这些活动只能通过刷朋友圈,或者主动查看公众号文章的方式来获取信息,十分不便。 |
软件对应功能 | 主页轮播关注度最高的4个活动的海报,吸引用户眼球;活动页按照关注度降序排列活动,用户可以方便地看到活动的简介,并点进去查看详情,查看活动的时间、介绍、报名方式等。 |
预期使用场景 | 二狗G觉得自己最近有点宅,想看看有没有什么活动可以参加,他打开“北航社团帮”小程序,哇塞,B社居然邀请到了知名相声演员郭德纲来讲相声,必须安排!得知报名方式后,他进行了报名,并在小本本上记录活动的时间,然后他心满意足地放下手机,吹起口哨继续debug。 |