团队作业3--需求改进&系统设计
一、需求&原型改进
1. 针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改。
问题1:用户注册
修改1:考虑到管理员的线上管理,采用了由管理员添加用户,实现新增用户的功能
2. 修改完善上周提交的需求规格说明书。建议:用一个场景,像讲故事 (User Story)那样,描述用户怎么使用几个相联系的功能,解决了用户的问题。
在原有的需求规格书的基础上,除却事件流,增加了UI图和指引,为用户准确描述如何使用该系统。
管理员使用本系统:https://www.yuque.com/writingcode6/uk0fw1/kmvsa1
用户使用本系统:https://www.yuque.com/writingcode6/uk0fw1/fbqetc
3. 参考《构建之法》5节功能的定位和优先级,给出功能分析的四个象限。
|
外围功能 |
杀手功能 |
必要需求 |
社区管理系统的登录注册功能 个人信息的增删查改功能 车辆与车位信息的增删查改功能 管理员对社区活动的增删查改功能 管理员及用户对投诉反馈的增删查改 |
社区居民及物业可手动管理社区 |
辅助需求 |
界面的跳转,美化 换肤 |
系统的维护 |
4. 根据修改后的需求,调整任务分解WBS及相应的项目进度计划。
第 8 周 |
1.团队组队、团队博客 |
|
2.团队介绍、成员展示、角色分配、选题确定 |
|
3.制定团队计划安排,团队贡献分的规定 |
第9周 |
1.需求规格说明书 |
|
2. 架构设计,原型设计,原型改进(给目标用户展现原型,并进一步理解需求),团队成员估计各自任务所需时间 |
|
3.编码规范完成、平台环境搭建完成、初步架构搭建、测试计划 |
|
4.队员估计任务难度并学习必要的技术 |
第9、10、11、12周 |
1. 团队项目Alpha任务分配计划,每日代码提交,保持每天的开发进度 |
第13周 |
1. 团队Alpha阶段个人总结 |
|
2. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
|
3. 测试人员测试,并收集用户反馈+测试计划改进 |
第14周 |
1. 团队项目Alpha博客:事后分析 |
二、 系统设计
在设计阶段,我们要清楚:软件是怎么解决这些需求的? 一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。
1. 如何才能最大限度地实现这些需求,这就是架构设计要解决的问题。请给出系统的架构设计。
2. 完成团队项目的数据库设计,并在随笔中提供相应ER图(如果必要)。
三、Alpha任务分配计划
召开迭代计划会议,为下周进入Sprint作准备。具体内容如下:
1. 依据项目组能提供的总时间、功能模块的优先级以及模块之间的依赖关系,在Product Backlog中选取待实现的功能项。
2. 对已选择的功能项再做进一步分解,分解为1-10小时左右的任务,构成Sprint Backlog。在PM的协助下,编码的同学对任务进行认领。
3. 以甘特图的方式拟定迭代冲刺计划。(示例覆盖了全周期,本次迭代计划只关注alpha阶段即可)。
四、测试计划
测试不是在所有的开发工作完成之后才进行,而是与开发几乎同步进行的。测试计划和测试总纲主要说明产品是什么,要做什么样的测试,时间安排如何,谁负责什么方面,各种资源在哪里,等等。
测试计划:https://www.yuque.com/writingcode6/uk0fw1/kqcdmi
一.引言
1.1 项目背景
随着经济的发展,社区渐渐走入我们的生活中,人们不但对社区本身的美观,质量要求越来越高,同时对社区的管理和服务也有很高的需求。为了使社区有更好的服务,我们创建了这个社区管理系统。
1.2 测试术语
黑盒测试:把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的《需求规格说明书》,检查程序的功能是否符合它的功能说明。
1.3 项目人员
前端开发人员: 方晓莹,黄芯悦
后台开发人员: 方子茵,利国铭,许嘉威
测试人员:方晓莹,方子茵,黄芯悦,利国铭,舒雯钰,许嘉威
PM:利国铭
UI设计:舒雯钰
1.4 参考资料
社区管理系统需求说明书
《构建之法 现代软件工程》 邹欣
二.任务概述
2.1 测试范围
针对整个社区管理系统进行测试,伴随着整个软件开发周期,而且测试的对象不但仅是程序,需求、功能和设计同样要测试
2.2 测试目标
本文档所测试的功能均来自于需求文档:社区管理系统需求规格说明书,目标有:以能发现错误为准则,能正确完成功能要求,测试用例正确执行,要求输出与预期的输出结果完全一致。
2.3 测试方案
采用黑盒测试方法,整个过程采用自底向上,逐个集成的的办法,依次进行单元测试、组装测试、系统测试(效能测试),测试用例的设计应包括合理的和不合理的输入条件。
三.测试计划
3.1 测试人员分工
方晓莹,方子茵,黄芯悦,舒雯钰,利国铭,许嘉威
3.2 测试内容
单元测试
管理员模块:
测试1:
名称:系统身份验证测试
目的:测试系统登录界面。
内容:账号,密码,合理性检查,合法性检查,系统操作界面显示控制
测试2:
名称:个人中心界面测试
目的:测试个人信息界面
内容:个人资料的查看,个人信息的修改,密码的修改,信息的保存,合理性检查,合法性检查
测试3:
名称:住户相关界面测试
目的:测试与住户相关信息的的功能
内容:住户搜索(包括住户姓名,手机号,栋数,房间号),住户信息的查看,住户信息的输入,住户信息的修改,住户信息的删除,住户页表的跳转,合理性检查,合法性检查
测试4:
名称:车辆与车位管理界面的测试
目的:测试车辆信息和车位信息管理的功能
内容:
1.车辆信息的检索(包括车牌号,车主ID),车辆信息的查看,车辆信息的输入,车辆信息的修改,车辆信息的删除,车辆信息页表的跳转,车辆数量统计表的显示,合理性检查,合法性检查
2.车位信息的检索(包括车位号,车位ID),车位号的选择,车位信息的查看,车位信息的增加,车位信息的修改,车位信息的删除,车位信息页表的跳转,车位数量统计表的显示,合理性检查,合法性检查
测试5:
名称:人员管理界面的测试
目的:测试社区内各类工作人员管理的功能
内容:各类工作人员的检索(包括工号,姓名),工作人员值班类型的选择,各类工作人员的查看,各类工作人员的增加,各类工作人员的删除,各类工作人员页表的跳转,各类工作人员的显示,值班信息的删除,值班信息的增加,合理性检查,合法性检查
测试6:
名称:物业报修界面的测试
目的:测试管理物业报修方面的功能
内容:
1. 报修单的检索(包括工号,姓名),创建时间的选择,报修单的查看,报修单的增加,报修单的修改,报修单的删除,报修单页表的跳转,合理性检查,合法性检查
2.报修流程的查看,报修流程的修改。
测试7:
名称:社区通知界面的测试
目的:测试管理社区通知方面的功能
内容:社区通知的检索(包括通知标题,发布时间),社区通知的查看,社区通知的修改,社区通知的删除,社区通知页表的跳转,社区通知的显示,合理性检查,合法性检查
测试8:
名称:社区活动界面的测试
目的:测试管理社区活动方面的功能
内容:社区活动的检索(包括活动名称),社区活动的查看,社区活动的修改,社区活动的删除,社区活动页表的跳转,社区活动的显示,合理性检查,合法性检查
测试9:
名称:投诉反馈界面的测试
目的:测试管理投诉反馈方面的功能
内容: 投诉反馈的检索(包括单号,状态),反馈时间的选择,投诉反馈的查看,投诉反馈的修改,投诉反馈的删除,投诉反馈页表的跳转,投诉反馈的显示,合理性检查,合法性检查
测试10:
名称:物业信息界面的测试
目的:测试管理物业信息方面的功能
内容:
1. 公司简介的显示,公司简介的修改
2. 资质荣耀的显示,资质荣耀的增加,资质荣耀的修改
用户模块:
测试1:
名称:系统身份验证测试
目的:测试系统登录界面。
内容:账号,密码,合理性检查,合法性检查,系统操作界面显示控制
测试2:
名称:个人中心界面测试
目的:测试个人信息界面
内容:
1. 住户版:个人资料的查看,个人信息的修改,账号信息密码的修改,房屋信息的查看,车辆信息的修改,合理性检查,合法性检查
2. 工作人员版:个人资料的查看,个人信息的修改,密码的修改,合理性检查,合法性检查
测试3:
名称:车辆与车位查询界面的测试
目的:测试车辆信息和车位信息查询的功能
内容:
1.车辆信息的检索(包括车牌号,车主ID),车辆信息的查看,车辆信息页表的跳转,合理性检查,合法性检查
2.车位信息的检索(包括车位号,车位ID),车位信息的查看,车位信息页表的跳转,合理性检查,合法性检查
测试4:
名称:人员信息查看界面的测试
目的:测试社区内各类工作人员查看的功能
内容:各类工作人员的检索(包括工号,姓名),工作人员值班类型的选择,各类工作人员的查看,各类工作人员页表的跳转,各类工作人员的显示,合理性检查,合法性检查
测试5:
名称:物业报修界面的测试
目的:测试查看物业报修方面的功能
内容:
1. 报修单的检索(包括工号,姓名),创建时间的选择,报修单的查看,报修单的增加,报修单的修改,报修单的删除,报修单页表的跳转
2.报修流程的查看,报修流程的修改,合理性检查,合法性检查
测试6:
名称:社区通知界面的测试
目的:测试查看社区通知方面的功能
内容:社区通知的检索(包括通知标题,发布时间),社区通知的查看,社区通知页表的跳转,社区通知的显示,合理性检查,合法性检查
测试7:
名称:社区活动界面的测试
目的:测试查看社区活动方面的功能
内容:社区活动的检索(包括活动名称),社区活动的查看,社区活动页表的跳转,社区活动的显示,合理性检查,合法性检查
测试8:
名称:投诉反馈界面的测试
目的:测试管理投诉反馈方面的功能
内容: 投诉反馈的检索(包括单号,状态),反馈时间的选择,投诉反馈的查看,投诉反馈的增加,投诉反馈页表的跳转,投诉反馈的显示,合理性检查,合法性检查
测试9:
名称:物业信息界面的测试
目的:测试查看物业信息方面的功能
内容:
1. 公司简介的显示
2. 资质荣耀的显示
集成测试
测试10:
名称:用户修改个人资料
目的:测试用户修改个人资料后,管理员端住户的资料是否正确更新
内容:
1.用户(住户/工作人员)在【个人中心】修改个人资料
2.管理员查看【住户相关】,在相应的住户详情中查看资料是否正常更新
期望结果:
管理员查询相应住户资料时,资料正常更新
测试11:
名称:住户修改车辆信息
目的:测试住户修改车辆信息后,管理员端的住户相关、车位管理中的相关信息是否正确更新
内容:
1.住户在【个人中心】修改车辆信息
2.管理员查看【住户相关】,在相应的住户详情中查看车辆信息是否正确更新
3.管理员在【车位管理】中查询相应住户和车辆资料,查看车辆信息是否正确更新
期望结果:
管理员端的【住户相关】、【车位管理】中的相关信息正确更新
测试12:
名称:用户在个人中心修改账号密码
目的:测试用户在【个人中心】修改账号密码后,下次能否正常登录
内容:
1.用户在【个人中心】修改账号密码
2.用户退出登录
3.用户用新密码登录,验证是否能成功登录
期望结果:
用户能成功用新密码登录
测试13:
名称:用户在登录界面修改密码
目的:测试用户在登录界面修改账号密码后,能否正常登录
内容:
1.用户在登录界面点击【忘记密码】
2.用户在【忘记密码】界面修改密码
3.用户用新密码再次登录,验证能否成功登录
期望结果:
用户能成功用新密码登录
测试14:
名称:用户新增报修单
目的:测试用户新增报修单后,管理员端是否能查询到相应报修单
内容:
1.用户在【物业报修】界面新增报修单
2.管理员在【物业报修】界面,验证能否查询到该报修单
期望结果:
管理员能查询到该报修单
测试15:
名称:用户修改报修单
目的:测试用户修改报修单后,管理员端能否查看到修改后的报修单
内容:
1.用户在【物业报修】界面修改已有报修单
2.管理员在【物业报修】界面查询相应报修单,并查看报修单信息是否正确更新
期望结果:
管理员能查询并查看到修改后的报修单
测试16:
名称:用户新增投诉反馈
目的:测试用户新增投诉反馈后,管理员端是否能查询到相应投诉反馈
内容:
1.用户在【投诉反馈】界面新增投诉反馈
2.管理员在【投诉反馈】界面,验证能否查询到该投诉反馈
期望结果:
管理员能查询到该投诉反馈
测试17:
名称:管理员删除用户
目的:测试管理员删除用户后,被删用户能否登录
内容:
1.管理员在【住户相关】删除某一住户
2.用被删除住户的账号和密码登录,验证是否能登录
3.管理员在【人员管理】删除某一工作人员
4.用被删除工作人员的账号和密码登录,验证是否能登录
5.其他用户在【人员相关】,验证是否能查询到该工作人员
期望结果:
均显示“账号或密码不正确”;其他用户查不到该工作人员;
测试18:
名称:管理员新增用户
目的:测试管理员新增用户后,新用户能否登录
内容:
1.管理员在【住户相关】新增住户
2.用新住户的密码、账号登录,验证是否能登录
期望结果:
新用户正常登录
测试19:
名称:管理员新增工作人员
目的:测试管理员新增工作人员后,新用户能否登录
内容:
1.管理员在【人员管理】新增工作人员用户
2.用新用户的密码、账号登录,验证是否能登录
3.其他用户在【人员信息】,验证是否能查询到该工作人员
期望结果:
新用户正常登录,其他用户能成功查询到该工作人员
测试20:
名称:管理员删除车位
目的:测试管理员删除车位后,用户能否查询到被删车位
内容:
1.管理员在【车位管理】删除车位
2.用户在【车位查询】中查询被删车位,查看是否显示被删车位
期望结果:
用户查询不到被删车位
测试21:
名称:管理员新增车位
目的:测试管理员新增车位后,用户能否查询到新的车位信息
内容:
1.管理员在【车位管理】新增车位
2.用户在【车位查询】中查询该车位,查看能否显示新车位的信息
期望结果:
用户能成功查询新车位
测试22:
名称:管理员新增车辆信息
目的:测试管理员新增车辆信息后,用户能否查看或查询到新车辆的信息
内容:
1.管理员在【车位管理】中增加车辆
2.查看该车主用户的【个人中心】中车辆信息是否正确更新
3.车主用户在【车位查询】中,验证能否查询到新车辆信息
期望结果:
车主用户能在个人中心查看、在车位查询中查询到新车辆的信息
测试23:
名称:管理员删除车辆信息
目的:测试管理员在删除车辆信息后,用户能否查看或查询到新车辆的信息
内容:
1.管理员在【车位管理】中删除车辆
2.查看该车主用户的【个人中心】中车辆信息是否为空
3.车主用户在【车位查询】中,验证能否查询到被删车辆信息
期望结果:
车主用户能在个人中心查看到车辆信息为空、在车位查询中查询不要到被删车辆的信息
测试24:
名称:管理员修改车辆信息
目的:测试管理员修改车辆信息后,用户能否查看或查询到更新后的车辆信息
内容:
1.管理员在【车位管理】中修改车辆信息
2.查看该车主用户的【个人中心】中车辆信息是否正确更新
3.车主用户在【车位查询】中,验证能否查询到更新后的车辆信息
期望结果:
车主用户能在个人中心查看、在车位查询中查询到更新后的车辆的信息
测试25:
名称:管理员新增值班信息
目的:测试管理员新增值班信息后,用户能否查询到新增的值班信息
内容:
1.管理员在【人员管理】中新增值班信息
2.用户在【人员信息】中查询相关工作人员,验证其值班信息是否被正确更新
期望结果:
用户能查询到新增的值班信息
测试26:
名称:管理员删除值班信息
目的:测试管理员删除值班信息后,用户能否查询到被删的值班信息
内容:
1.管理员在【人员管理】中删除值班信息
2.用户在【人员信息】中查询相关工作人员,验证其值班信息是否被删除
期望结果:
用户查询到相关工作人员的值班信息为空
测试27:
名称:管理员删除报修单
目的:测试管理员删除报修单后,用户能否查询到被删报修单
内容:
1.管理员在【物业报修】中删除某一报修单
2.提交该报修单的用户在【物业报修】中,验证是否能查询到被删报修单
期望结果:
用户查询不到被删的报修单
测试28:
名称:管理员修改报修单
目的:测试管理员修改报修单后,用户能否查询到更新后的报修单
内容:
1.管理员在【物业报修】中修改某一报修单
2.提交该报修单的用户在【物业报修】中,验证是否能查询到更新后的报修单
期望结果:
用户能查询到更新后的报修单
测试30:
名称:管理员修改报修流程
目的:测试管理员修改报修流程后,用户能否查询到更新后的报修流程
内容:
1.管理员在【物业报修】中修改某一报修流程
2.用户在【物业报修】中,验证是否能查看到更新后的报修流程
期望结果:
用户能查看到更新后的报修流程
测试31:
名称:管理员新增报修单
目的:测试管理员新增报修单后,相关用户能否查询到新增的报修单
内容:
1.管理员在【物业报修 】中新增报修单
2.相应报修人用户在【物业报修】中验证能否查询到新报修单
期望结果:
报修人用户能查询到新报修单
测试32:
名称:管理员新增投诉反馈
目的:测试管理员新增投诉反馈后,相关用户能否查询到新增的投诉反馈
内容:
1.管理员在【投诉反馈 】中新增投诉反馈
2.相应反馈用户在【投诉反馈】中验证能否查询到新的投诉反馈
期望结果:
相关反馈用户能查询到新的投诉反馈
测试33:
名称:管理员删除投诉反馈
目的:测试管理员删除投诉反馈后,用户能否查询到被删投诉反馈
内容:
1.管理员在【投诉反馈】中删除某一投诉反馈
2.相关反馈用户在【投诉反馈】中,验证是否能查询到被删投诉反馈
期望结果:
用户查询不到被删的投诉反馈
测试34:
名称:管理员修改投诉反馈
目的:测试管理员修改投诉反馈后,用户能否查询到更新后的投诉反馈
内容:
1.管理员在【投诉反馈】中修改某一投诉反馈
2.提交该投诉反馈的用户在【投诉反馈】中,验证是否能查询到更新后的投诉反馈
期望结果:
用户能查询到更新后的投诉反馈
测试35:
名称:管理员新增社区通知
目的:测试管理员新增社区通知后,用户能否查询到新的社区通知
内容:
1.管理员在【社区通知】新增社区通知
2.用户在【社区通知】验证能否查询到新的社区通知
期望结果:
用户能查询到新的社区通知
测试36:
名称:管理员删除社区通知
目的:测试管理员删除社区通知后,用户能否查询到被删的社区通知
内容:
1.管理员在【社区通知】删除社区通知
2.用户在【社区通知】验证能否查询到被删的社区通知
期望结果:
用户不能查询到被删的社区通知
测试37:
名称:管理员修改社区通知
目的:测试管理员修改社区通知后,用户能否查询到更新后的社区通知
内容:
1.管理员在【社区通知】更新社区通知
2.用户在【社区通知】验证能否查询到更新后的社区通知
期望结果:
用户能查询到更新后的社区通知
测试38:
名称:管理员新增社区活动
目的:测试管理员新增社区活动后,用户能否查询到新的社区活动
内容:
1.管理员在【社区活动】新增社区活动
2.用户在【社区活动】验证能否查询到新的社区活动
期望结果:
用户能查询到新的社区活动
测试39:
名称:管理员删除社区活动
目的:测试管理员删除社区活动后,用户能否查询到被删的社区活动
内容:
1.管理员在【社区活动】删除社区活动
2.用户在【社区活动】验证能否查询到被删的社区活动
期望结果:
用户不能查询到被删的社区活动
测试40:
名称:管理员修改社区活动
目的:测试管理员修改社区活动后,用户能否查询到更新后的社区活动
内容:
1.管理员在【社区活动】更新社区活动
2.用户在【社区活动】验证能否查询到更新后的社区活动
期望结果:
用户能查询到更新后的社区活动
测试41:
名称:管理员新增资质荣誉
目的:测试管理员新增资质荣誉后,用户能否查看到新的资质荣誉
内容:
1.管理员在【物业信息】新增资质荣誉
2.用户在【物业信息】验证能否查询到新的资质荣誉
期望结果:
用户能查询到新的资质荣誉
测试42:
名称:管理员删除资质荣誉
目的:测试管理员删除资质荣誉后,用户能否查看到被删的资质荣誉
内容:
1.管理员在【物业信息】删除资质荣誉
2.用户在【物业信息】验证能否查询到被删的资质荣誉
期望结果:
用户不能查询到被删的资质荣誉
测试43:
名称:管理员修改资质荣誉
目的:测试管理员修改资质荣誉后,用户能否查询到更新后的资质荣誉
内容:
1.管理员在【物业信息】修改资质荣誉
2.用户在【物业信息】验证能否查询到更新后的资质荣誉
期望结果:
用户能查询到更新后的资质荣誉
测试44:
名称:管理员修改公司简介
目的:测试管理员修改公司简介后,用户能否查看到更新后的公司简介
内容:
1.管理员在【物业信息】修改公司简介
2.用户在【物业信息】验证能否查看到更新后的公司简介
期望结果:
用户能查询到更新后的公司简介
系统测试
性能测试
性能测试指标:
系统容量:系统最大容纳多少个用户注册。
访问数:同时访问系统的用户数。
系统的最大用户数与最佳用户数:系统在承受的最大并发用户数量,系统在最佳状态下承受的并发用户数据。
响应时间:用户提交一个操作到得到响应的时间间隔。
吞吐率:系统每秒钟处理的TPS
3.3 测试方法
手动测试、黑盒测试、自动化测试
3.4 工具引用
VSTS
3.5 测试内容
3.6 测试停止及恢复条件
测试停止条件:测试发现问题,需要修改代码
测试环境受到干扰
测试恢复条件:测试中发现的问题得以解决;
测试环境恢复正常
3.7 测试环境
软件环境:Windows10
网络环境:wifi
四.风险评估
可能存在未能及时准备相关测试工具、测试人员对新工具无法熟练运用、测试时间被压缩的风险
五.其他内容
测试计划制定者:利国铭、舒雯钰
日期:2020/5/20