成员:林朝洋 梁翘楚 孟苏 李景怡 叶沛玟 赵昕颖
目录:
- 1 引言
- 1.1 编写目的
- 1.2 项目背景
- 1.3 定义
- 1.4 参考资料
- 2 任务概述
- 2.1 目标
- 2.2 运行环境
- 2.3 条件与限制
- 3 测试计划
- 3.1 测试方案
- 3.2 测试内容
- 3.3 测试准备
- 4 具体测试说明
- 5 评价
- 5.1 范围
- 5.2 准则
1引言
1.1编写目的
为了确保项目的可用性以及可靠性,使得项目能够按质按量的完成,以至于项目成品不会再后期使用以及维护过程中出现极其严重的错误,我们编写了此测试计划。本文档将每一个可用的功能进行尽可能详尽的测试,并尝试各种可能的测试用例,找出当前软件中所存在的漏洞以及不足,为完善软件提供可参考的文本依据。
预期读者:开发人员、管理人员、用户代表、测试人员等。
1.2 项目背景
每日有三问:早饭吃什么?午饭吃什么?晚饭吃什么?
今天吃什么往往是困扰许多人的一个难题。即使是已经大三的我们,也常常陷入不知道吃什么的困境之中。由于武大校园面积大、校园内食堂与附近餐饮店铺众多,我们每天在决定吃什么的时候,可选择的店铺不在少数。然而由于不同食堂窗口、商家提供的菜品质量、口味不同等原因,许多学生在进行选择时会出现选择犹豫症,尝试新的窗口怕踩雷,而总在一个窗口时间久了却又觉得厌烦。
因此,我们想到了开发一款可以每天为你规划一日三餐的APP,可以根据用户以往的习惯、身体状况、天气状况为用户指定食谱,同时还结合了市面上美食APP的一些功能,让用户可以自行寻找感兴趣的食堂窗口或商家。
a. 待开发的软件系统名称:
b. 本项目提出者:武汉大学计科青鸟开发小组
c. 开发者:武汉大学计科青鸟开发小组
d. 用户:武汉大学信部学生
1.3定义
【术语1】:数据流图
数据流图(Data Flow Diagram,简称DFD),是结构化(Structured)方法中用于表示系统逻辑模型的一种工具,它描述系统由哪几部分组成,各部分之间有什么联系等,它以图形的方式描绘数据在系统中流动和处理的过程。
【术语2】:数据字典
数据字典(DD)是对DFD中包含的所有元素的定义的集合,与DFD结合描述系统的逻辑模型。
1.4参考资料
[1]《软件工程导论》作者:张海藩 出版社:清华大学出版社
[2] 计算机软件产品开发文件编制指南GB8567-88.
2任务概述
2.1目标
由于时间交为紧迫,本APP暂时将目标用户定为武大信部学生,将推荐范围暂定为信部周边食堂及商家。
相应的需求有:
- 用户注册与登录,修改个人信息等。
- 首次登陆时用户可以根据系统提示设置自己的喜好或直接跳过,后续也可进行更改。
- 每天自动为用户生成一日三餐的推荐,并且注明相应信息。若用户不满意可以选择换一换,并且用户可以对推荐菜品进行反馈。
- 提供探索功能,其中包括系统中所有食堂及商家,用户可自行筛选和搜索,类似美团中的搜索功能.
另外,该系统还需要保证数据的安全性、完整性和准确性,提供良好的交互界面,保证系统的流畅运行。框架的设计具有一定的可塑性和灵活性,便于系统后续维护。
2.2运行环境
支持环境: Android 8及以上。
数据库: MYSQL。
支持环境: Android Stdio。
支持环境: JDK。
2.3假定和约束
(1)本系统必须在本学期结束前完成,因开发时间较为紧迫,可以使用小组成员熟悉的编程语言和现有知识进行开发。
(2)用户要按照操作规程运行本系统,不得进行恶意破坏性操作。
(3)建议该系统最短寿命为5年。
3 测试计划
3.1测试方案
本测试计划采用黑盒测试的方法,采用等价类划分、边界值测试等方法,设计测试用例,整个过程自底向上,逐步集成,进行人工测试。测试用例的设计应包括正确操作和异常操作。
3.2测试内容
测试模块概要-
注册&登录
1)注册:
目的:测试系统能否判断输入的账号或密码是合法的,并且账号是没有被注册过的
内容:账号密码输入、合法性检查、账号查重2)登录:
目的:测试系统能否根据账号密码正确登录系统
内容:账号密码输入、合法性检查、密码匹配 -
用户信息管理
1)我的评价:
目的:查看用户对菜所做过的所有评价,测试能否修改评价
内容:查看评价、修改评价2)我的收藏:
目的:查看用户收藏的菜品
内容:查看菜品以及详细信息3)饮食习惯:
目的:测试系统能否在日常使用中判断出用户的口味偏好
内容:对菜品做出评价后查看饮食习惯4)账号管理:
目的:测试系统能否在安全的情况下提供用户的信息,并且提供修改账号信息的手段
内容:查看用户信息、修改用户信息 -
每日推荐
1)推荐
目的:测试系统能否依次为用户提供多个推荐菜品
内容:多次刷新菜品2)打分
目的:测试系统能否保存对菜品的评价,以及检查评价对口味的影响
内容:对推荐的菜品打分,查看评价、口味 -
探索
目的:测试系统能否给出一系列额外推荐菜品,并可以按照筛选条件筛选、排序 内容:对探索内的菜品进行筛选、排序
3.3测试准备
详细的测试用例,三台安装了设备端软件的手机,一台安装了服务端软件服务器。
4 具体测试说明
该部分内容针对上述每个测试内容选取测试用例并对输入、输出、过程进行详细的说明,均采用表格形式说明。
4.1 注册&登录功能测试
4.1.1注册功能
有权限用户:所有用户
无权限用户:
步骤 | 正常操作 | 预计效果 | 异常操作 | 预计效果 |
---|---|---|---|---|
输入账号 | 输入未注册过的11位手机号 | 提示√ | 输入已经注册过的手机号或者输入长度不为11位 | 给出相应的错误提示 |
输入密码 | 输入至少6位密码 | 提示√ | 输入少于6位的密码 | 提示密码过短 |
再次输入密码 | 输入与上一步骤相同的密码 | 提示√ | 输入与上一步骤不同的密码或不输入 | 给出相应的错误提示 |
初次使用时对给出的10个菜品打分,最后点击提交按钮 | 为10个菜品打分 | 可以在评价和口味中查看到相应信息 | 不为菜品打分 | 评价和口味中没有信息 |
4.1.2登录功能
有权限用户:已注册用户
无权限用户:未注册用户
步骤 | 正常操作 | 预计效果 | 异常操作 | 预计效果 |
---|---|---|---|---|
1 | 输入已经注册过的账号以及对应的密码,点击登录 | 进入主界面 | 输入账号没有注册过 | 无法进入主界面,提示“用户名或密码错误” |
2 | 输入已经注册过的账号以及对应的密码,点击登录 | 进入主界面 | 输入的账号注册过,但是密码与数据库中存储的不同 | 无法进入主界面,提示“用户名或密码错误” |
3 | 输入已经注册过的账号以及对应的密码,点击登录 | 进入主界面 | 输入账号不为11位或密码小于6位 | 无法进入主界面,提示“用户名或密码错误” |
4 | 输入已经注册过的账号以及对应的密码,点击登录 | 进入主界面 | 连续5次输入错误的用户名或密码 | 登录按钮冷却2分钟无法点击 |
4.2 用户信息管理测试
有权限用户:已注册用户
无权限用户:未注册用户
步骤 | 正常操作 | 预计效果 | 异常操作 | 预计效果 |
---|---|---|---|---|
我的评价 | 进入我的评价,查看评价,不做修改 | 能显示做出过的评价 | 进入我的评价,修改评价 | 提示不能修改评价 |
我的收藏 | 进入我的收藏,查看收藏的菜品信息,取消收藏某些菜品 | 能正常管理收藏的菜品 | 无 | 无 |
饮食习惯 | 进入饮食习惯,查看口味;修改对今日推荐菜品的评价后再次查看口味 | 口味有可能发生变化 | 进入我的评价修改非今日推荐菜品的评价 | 提示不能修改评价 |
账号管理1 | 进入账号管理,修改昵称 | 个人中心的昵称同步修改 | 无 | 无 |
账号管理2.1 | 进入账号管理,点击修改密码选项,在输入原密码后,同注册时一样重复输入不少于6位的密码 | 密码修改成功,下次登录时只能使用新密码登录 | 进入账号管理,点击修改密码选项,输入错误的原密码 | 提示密码错误,不能修改密码 |
账号管理2.2 | 进入账号管理,点击修改密码选项,在输入原密码后,同注册时一样重复输入不少于6位的密码 | 密码修改成功,下次登录时只能使用新密码登录 | 进入账号管理,点击修改密码选项,正确原密码,在输入新密码时与原密码相同 | 提示新密码不能与原密码相同 |
账号管理2.3 | 进入账号管理,点击修改密码选项,在输入原密码后,同注册时一样重复输入不少于6位的密码 | 密码修改成功,下次登录时只能使用新密码登录 | 进入账号管理,点击修改密码选项,正确原密码,在输入的新密码长度少于6位或者两次输入不一致 | 提示相应信息 |
4.3 每日推荐功能测试
有权限用户:已注册用户
无权限用户:未注册用户
步骤 | 正常操作 | 预计效果 | 异常操作 | 预计效果 |
---|---|---|---|---|
首次推荐 | 登录程序,进入主界面 | 显示出首次推荐给用户的菜品 | 登陆失败 | 不能进入主界面 |
再次推荐 | 点击“来个新的”按钮 | 推荐的菜品发生改变,与上次推荐的菜品不相同 | 点击“来个新的”按钮次数太多 | 推荐的菜品出现重复现象 |
打分 | 点击推荐菜品的图片进入打分界面,给该菜品打分 | 该次打分被记录在我的评价中,并且可能对饮食习惯产生影响 | 无 | 无 |
4.4 探索功能测试
有权限用户:已注册用户
无权限用户:未注册用户
步骤 | 正常操作 | 预计效果 | 异常操作 | 预计效果 |
---|---|---|---|---|
搜索1 | 在搜索框内输入相应的关键字信息 | 列出与输入关键字信息相关的菜品 | 输入的关键字过多或数据库中没有相应信息 | 下方不会列出菜品 |
搜索2 | 搜索框中不输入任何信息 | 列出用户可能会喜欢的菜品 | 无 | 无 |
筛选 | 点击筛选按钮,调整辣、甜、咸,点击决定按钮 | 列出的菜品只会出现符合筛选条件的菜品 | 最后没有点击决定按钮 | 列出的菜品不会发生变化 |
排序1 | 点击“按推荐度升序”(“按推荐度降序”)按钮 | 列出菜品按照推荐度降序(升序)排列 | 无 | 无 |
排序2 | 点击“按价格升序”(“按价格降序”)按钮 | 列出菜品按照价格降序(升序)排列 | 无 | 无 |
查看菜品信息 | 点击下方列出的某个菜品 | 能查看该菜品的详细信息 | 没有菜品被列出 | 不能查看菜品的详细信息 |
5 评价
5.1 范围
所选择的测试用例基本能够检查所有功能模块的正确与否以及所有合法、不合法的输入,已达到了测试的目标。
局限性在于无法准确观察到当同时接入系统的人数较多时,系统性能以及出错率的变化。
5.2 准则
所设计的测试用例应该完全通过测试,结果正确。
查询等操作响应时间不超过1s。