版本号:3.0
作者:xxx
日期:
1 引言
1.1 项目概述
- 启动时间:
本项目于2024年06月正式启动,旨在打造一个面向全体高校学生的综合性社交网络平台。随着互联网的飞速发展,学生们对于线上交流、学习分享及就业信息获取的需求日益增长,本项目应运而生,旨在填补这一市场空白。 - 目标用户群体:
本项目的主要目标用户群体为全国各地的高校学生,包括本科生、研究生及博士生等。这些学生群体普遍具有较高的网络使用频率和较强的社交需求,同时在学习、就业等方面也面临着诸多挑战和机遇。 - 预期解决的问题:
- 社交需求:通过平台,学生们可以更方便地认识新朋友,扩大社交圈子,分享生活点滴,增进彼此间的了解和友谊。
- 学习互助:学生在学习过程中遇到难题时,可以通过平台向同学求助,获取学习建议和资料分享,从而提高学习效率和质量。
- 就业信息:平台将提供就业信息发布和内推功能,帮助学生们获取更多优质的工作机会,实现顺利就业。
- 功能模块:
包括但不限于- 用户注册:允许用户通过输入必要的注册信息(如用户昵称、用户名、密码、确认密码、手机号码、验证码、邮箱等)来创建新账号。
- 用户登录:允许已注册用户通过输入手机号码和验证码进行登录。包括对未注册手机号、非法手机号、过期或错误验证码的校验。
- 博文发布:允许用户发布博文,包括编辑博文标题和内容。
- 博文管理:用户可以查看、修改博文查看权限(如公开或私有)、删除自己发布的博文。
- 管理员审核、用户资料管理、用户关注、消息私信、公告管理等。
- 项目愿景:
本项目致力于打造一个集交友、学习、就业于一体的综合性社交网络平台,为广大学生提供一个便捷、高效、安全的线上交流空间。通过不断优化和完善平台功能,提升用户体验,最终实现用户数量的快速增长和平台影响力的显著提升。 - 技术架构:
在技术实现上,本项目采用了Vue前端开发框架,结合Spring、SpringBoot、MyBatis等后端技术栈,以及MySQL数据库进行数据存储。这样的技术选型既保证了平台的前端交互体验,又确保了后端系统的稳定性和可扩展性。同时,项目还注重安全性和可维护性的设计,确保平台能够长期稳定运行。 - 工程实施:
本项目的实施过程涵盖了需求分析、系统设计、开发实现、测试验证、部署上线及后期维护等多个阶段。在项目团队的共同努力下,项目按计划顺利推进,并成功完成了各项既定目标。
1.2 文档概述
1.2.1 编写目的
本测试报告的编写目的不仅仅局限于发现和记录系统开发和部署上线后存在的问题,更旨在通过详细的测试结果分析,全面评估系统的整体质量。具体而言,本报告旨在:
- 发现系统中存在的问题:通过执行各项测试用例,发现系统在实际运行中存在的功能缺陷、性能瓶颈、安全漏洞等问题。
- 评估系统质量:依据测试结果,从功能性、易用性、可靠性、兼容性、安全性等多个维度对系统质量进行全面评估,确保系统能够满足预定的需求规格和质量标准。
- 指导后续优化:针对测试中发现的问题,提供详细的改进建议和修复方案,指导开发人员对系统进行针对性的完善和优化,提升系统的整体性能和用户体验。
- 提供客观的软件质量报告:为用户、项目管理者、开发工程师、系统维护工程师、测试工程师及其他相关质量管理人员提供一份详尽、客观的软件质量报告,帮助他们更好地了解系统的实际运行情况,做出科学合理的决策。。
1.2.2 读者对象
本测试报告的预期读者广泛,包括但不限于以下各类人员及其关注点:
- 项目管理者:关注项目的整体进度、质量状况及潜在风险,以便及时调整项目计划和资源配置。
- 开发工程师:关注测试中发现的具体问题及其修复方案,以便对系统进行针对性优化和改进。
- 系统维护工程师:关注系统的可靠性、稳定性及维护性,以便在系统部署后进行有效的运维和故障排查。
- 测试工程师:关注测试执行的全面性、准确性和有效性,以及测试结果的分析和总结,以便提升测试工作的效率和质量。
- 其他质量管理人员:关注系统的整体质量状况,包括质量标准的符合性、过程控制的严格性等,以便对质量管理体系进行持续改进和优化。
- 需要阅读本报告的高层领导:关注项目的总体成效、市场反馈及未来规划,以便做出战略性的决策和规划。
1.3 产品需求和设计文档
2 测试执行
2.1 测试工具
- Selenium
- 描述:Selenium 是一个用于Web应用程序的自动化测试框架,支持多种浏览器和操作系统。
- 作用:主要用于自动化功能测试,模拟用户在浏览器中的操作,如点击、输入文本、获取网页内容等。
- 使用场景:在SNS论坛测试中,Selenium用于自动化测试用户登录、注册、发布博文、浏览博文等核心功能。
- Postman
- 描述:Postman 是一个API开发和测试工具,可以发送请求到HTTP服务,查看响应、设置请求头和请求体等。
- 作用:用于测试后端API的接口功能、性能和安全性,如验证注册、登录API的响应数据。
- 使用场景:在SNS论坛测试中,Postman用于测试用户注册、登录等功能的API接口,确保API能正确响应前端请求。
- JUnit
- 描述:JUnit 是一个Java语言的单元测试框架,用于编写和运行可重复的测试。
- 作用:帮助开发人员对Java代码进行单元测试,确保代码单元按照预期工作。
- 使用场景:在SNS论坛开发中,JUnit用于测试Java编写的后端业务逻辑,如用户验证、博文处理等。
- Jmeter
- 描述:Jmeter 是一个用于测试Web应用程序性能和负载的工具,可以模拟多用户同时访问系统的场景。
- 作用:用于性能测试和压力测试,评估系统在高负载情况下的表现和稳定性。
- 使用场景:在SNS论坛的测试中,Jmeter用于模拟大量用户同时注册、登录、发布博文等操作,以测试系统的性能和稳定性。
- Fiddler
- 描述:Fiddler 是一个HTTP调试代理,可以捕获HTTP和HTTPS请求和响应,用于分析网络流量。
- 作用:用于抓包分析,帮助开发人员和测试人员理解前端和后端之间的交互过程,查找网络问题。
- 使用场景:在SNS论坛测试中,Fiddler用于捕获和分析用户在浏览器中的操作请求,检查请求和响应的详细信息,帮助定位问题。
- Leangoo 领歌
- 描述:Leangoo 是一个敏捷管理工具,支持看板、迭代、需求管理等功能。
- 作用:用于测试管理,帮助团队组织和跟踪测试任务、测试用例和测试结果。
- 使用场景:在SNS论坛的测试过程中,Leangoo用于制定测试计划、管理测试用例、跟踪测试进度和结果,确保测试工作的顺利进行。
通过上述工具的综合使用,可以全面、系统地完成SNS论坛的测试工作,确保软件质量符合项目需求和预期目标。
2.2 制定测试计划
2.2.1 测试策略
- 黑盒测试
- 适用场景:主要用于测试软件的功能是否符合需求规格说明书,不关注内部实现逻辑。
- 内容:包括登录、注册、博文发布与管理、用户关注与私信、公告管理等功能的测试。
- 白盒测试
- 适用场景:针对软件内部逻辑结构进行测试,确保代码逻辑的正确性。
- 内容:对后端服务(如Spring Boot、MyBatis)的接口逻辑、数据库操作等进行单元测试。
- 灰盒测试
- 适用场景:结合黑盒和白盒测试的特点,既关注输入输出也关注部分内部逻辑。
- 内容:对接口进行集成测试,验证接口间的交互是否符合预期。
- 自动化测试
- 适用场景:提高测试效率,减少重复劳动,适用于回归测试。
- 内容:使用Selenium进行Web自动化测试,使用Postman进行接口自动化测试,使用Junit进行单元测试。
- 性能测试
- 适用场景:评估软件在高负载下的表现。
- 内容:使用Jmeter进行压力测试、负载测试,确保系统在高并发下的稳定性和响应速度。
- 安全测试
- 适用场景:确保软件的安全性,防止数据泄露、非法访问等。
- 内容:对系统进行渗透测试,检查SQL注入、XSS攻击等安全漏洞。
2.2.2 测试范围
- 功能测试
验证所有功能模块是否按需求规格说明书正确实现。
包括但不限于用户注册、登录、博文发布与管理、用户关注与私信、公告管理等。 - 性能测试
评估系统在高负载下的响应时间、吞吐量、资源利用率等。
包括压力测试、负载测试等。 - 安全测试
检查系统是否存在安全漏洞,如SQL注入、XSS攻击、CSRF等。 - 兼容性测试
验证系统在不同浏览器、不同操作系统上的兼容性。 - 易用性测试
评估系统的用户界面是否友好,操作流程是否简单易懂。 - 可靠性测试
验证系统在高强度使用下的稳定性和可靠性。
2.2.3 测试时间表
日期 | 测试阶段 | 测试活动 | 测试人员 | 备注 |
---|---|---|---|---|
2024年6月1日-6月2日 | 准备阶段 | 搭建测试环境 | xxx | 包括服务器、数据库、前端等 |
2024年6月3日-6月4日 | 准备阶段 | 准备测试工具 | xxx | Selenium、Postman、JUnit、Jmeter、Fiddler、Leangoo等 |
2024年6月5日-6月7日 | 设计阶段 | 设计测试用例 | xxx | 初步设计并评审 |
2024年6月8日-6月10日 | 执行阶段 | 执行注册、登录模块测试 | xxx | 记录并跟踪bug |
2024年6月11日-6月14日 | 执行阶段 | 执行博文发布、管理模块测试 | xxx | 记录并跟踪bug |
2024年6月15日-6月17日 | 执行阶段 | 执行用户资料管理、关注模块测试 | xxx | 记录并跟踪bug |
2024年6月18日-6月21日 | 性能测试 | 性能测试准备与执行 | xxx | 使用Jmeter进行高并发测试 |
2024年6月22日-6月24日 | 系统集成 | 系统集成测试 | xxx | 确保各模块协同工作 |
2024年6月25日-6月27日 | 整理报告 | 整理测试报告初稿 | xxx | 汇总测试结果 |
2024年6月28日 | 反馈阶段 | 提交测试报告给开发团队 | xxx | 反馈测试结果 |
2024年7月1日-7月3日 | 回归测试 | 遗留问题回归测试 | xxx | 针对已知问题 |
2024年7月4日-7月6日 | 安全性测试 | 系统安全性测试 | xxx | 检查潜在安全漏洞 |
2024年7月7日 | 反馈阶段 | 提交测试总结报告 | xxx | 反馈测试结果与建议 |
2024年7月8日-7月31日 | 迭代测试 | 每周迭代测试 | xxx | 根据反馈更新测试用例并执行 |
2024年8月1日-8月5日 | 最终回归 | 全面回归测试 | xxx | 确保所有问题已解决 |
2024年8月6日 | 报告编写 | 编写测试总结报告 | xxx | 包括测试结果、遗留问题、建议等 |
2024年8月7日 | 报告提交 | 提交测试总结报告 | xxx | 提交给项目管理者和高层领导 |
2024年8月11日-8月14日 | 上线跟踪 | 跟踪系统初期运行情况 | xxx | 记录并报告潜在问题 |
2024年8月15日-8月31日 | 持续优化 | 持续优化与总结 | xxx | 持续优化系统,总结项目经验 |
2.3 设计测试用例
- 功能测试
- 其他测试
2.4 测试分类
2.4.1 功能测试
在此只给出部分模块测试用例 点击查看更多测试用例
用例编号 |
| 优先级 |
|
|
|
| 测试结果 | Bug ID | 软件版本 | 测试员 |
---|---|---|---|---|---|---|---|---|---|---|
SNS_User_Register_001 | 注册成功 使用合法的数据成功注册一个新账号 | P1 | 1、已打开注册页面 2、准备一个未注册用户信息 | 1、输入用户昵称 2、输入用户名 3、输入密码 4、确认密码 5、输入手机号码 6、输入验证码 7、输入邮箱 8、点击注册按钮 | 1、用户昵称:User1 2、用户名:测试用户1 3、密码:123456 4、确认密码:123456 5、手机号码:15193212222 6、验证码:605860 7、邮箱:1715019@qq.com | 注册成功 自动跳转到登录页面或自动登录成功个人主页 | 通过 | Ver1.0 | xxx | |
SNS_User_Register_002 | 注册失败使用非法的手机号数据进行注册 | P2 | 1、已打开注册页面 2、准备一个非法注册用户信息 | 1、输入用户昵称 2、输入用户名 3、输入密码 4、确认密码 5、输入手机号码 6、输入验证码 7、输入邮箱 8、点击注册按钮 | 1、用户昵称:User1 2、用户名:测试用户1 3、密码:123456 4、确认密码:123456 5、手机号码:1563205 6、验证码:581860 7、邮箱:1715019@qq.com | 注册失败 弹出提示,手机号码格式错误 | 通过 | Ver1.0 | xxx | |
SNS_User_Register_003 | 注册失败使用非法的邮箱进行注册 | P2 | 1、已打开注册页面 2、准备一个非法注册用户信息 | 1、输入用户昵称 2、输入用户名 3、输入密码 4、确认密码 5、输入手机号码 6、输入验证码 7、输入邮箱 8、点击注册按钮 | 1、用户昵称:User1 2、用户名:测试用户1 3、密码:123456 4、确认密码:123456 5、手机号码:15193212222 6、验证码:335860 7、邮箱:171@qq.com | 注册失败 弹出提示,邮箱格式有误 | 通过 | Ver1.0 | xxx | |
SNS_User_Register_004 | 注册失败使用已存在的用户信息进行注册 | P2 | 1、已打开注册页面 2、准备一个已存在用户信息 | 1、输入用户昵称 2、输入用户名 3、输入密码 4、确认密码 5、输入手机号码 6、输入验证码 7、输入邮箱 8、点击注册按钮 | 1、用户昵称:User1 2、用户名:测试用户1 3、密码:123456 4、确认密码:123456 5、手机号码:15193212222 6、验证码:6、425860 7、邮箱:1715019@qq.com | 注册失败 弹出提示,用户名为空或已存在 | 通过 | Ver1.0 | xxx | |
SNS_User_Login_001 | 登录成功使用已注册的账号进行登录 | P1 | 1、 打开登录页面 2、 账号测试用户1已注册 | 1、输入手机号码 2、输入验证码 3、点击“登录”按钮 | 1、手机号码:15193212222 2、验证码:466685 3、点击“登录”按钮 | 登录成功 跳转到主页 | 通过 | Ver1.0 | xxx | |
SNS_User_Login_002 | 登录失败使用未注册的账号进行登录 | P2 | 1、 打开登录页面 2、 账号测试用户1已注册 | 1、输入手机号码 2、输入验证码 3、点击“登录”按钮 | 1、手机号码:15193213333 2、验证码:466785 3、点击“登录”按钮 | 登录失败 弹出提示框,该手机未绑定本平台账号,请绑定后重试 | 通过 | Ver1.0 | xxx | |
SNS_User_Login_003 | 登录失败使用非法的手机号码进行登录 | P2 | 1、 打开登录页面 2、 账号测试用户1已注册 | 1、输入手机号码 2、输入验证码 3、点击“登录”按钮 | 1、手机号码:151932 2、验证码:466785 3、点击“登录”按钮 | 登录失败 弹出提示框,手机号码格式错误 | 通过 | Ver1.0 | xxx | |
SNS_User_Login_004 | 登录失败使用过期、错误的验证码进行登录 | P2 | 1、 打开登录页面 2、 账号测试用户1已注册 | 1、输入手机号码 2、输入验证码 3、点击“登录”按钮 | 1、手机号码:15193213333 2、验证码:466785 3、点击“登录”按钮 | 登录失败 弹出提示框,验证码错误 | 通过 | Ver1.0 | xxx | |
SNS_Blog_Publish_001 | 发布博文成功 | P1 | 1、用户登录 2、进入个人中心博客管理界面 | 1、点击新增博文按钮,进入博文编辑界面 2、进行博文编辑 3、点击“发布”按钮 | 1、标题:测试 2、内容:111 3、点击“发布”按钮 | 1、博客成功发布,经管理员审核之后可以公布 2、弹窗提示操作成功 3、系统跳转至个人界面 | 通过 | Ver1.0 | xxx | |
SNS_Blog_Publish_002 | 发布博文失败,博文标题为空 | P2 | 1、用户登录 2、进入个人中心博客管理界面 | 1、点击新增博文按钮,进入博文编辑界面 2、进行博文编辑 3、点击“发布”按钮 | 1、标题: 2、内容:111 3、点击“发布”按钮 | 1、博客发布失败,经管理员审核之后可以公布 2、弹窗提示请输入标题 | 通过 | Ver1.0 | xxx | |
SNS_Blog_Manage_001 | 查看博文,在发布博文之后用户查看自己的博文 | P1 | 1、用户登录 2、进入个人中心博客管理界面 | 1、在博文列表中在对应博文点击“浏览博文”按钮 | 1、若博文还未被审核,弹窗提示“未审核通过博文无法浏览” 2、若博文审核通过,则进入博文详情浏览界面 | 通过 | Ver1.0 | xxx | ||
SNS_Blog_Manage_002 | 修改博文查看权限 | P1 | 1、用户登录 2、进入个人中心博客管理界面 | 1、在博文列表中在对应博文点击权限选择框,可以选择公开或私有 | 1、权限修改成功 2、弹窗提示操作成功 3、博文栏目里面的权限显示为选择的方式 | 通过 | Ver1.0 | xxx | ||
SNS_Blog_Manage_003 | 删除博文 | P1 | 1、用户登录 2、进入个人中心博客管理界面 | 1、在博文列表中在对应博文点击删除博文 | 1、删除博文成功2、弹窗提示操作成功3、博文列表中删除的博文消失 | 通过 | Ver1.0 | xxx | ||
SNS_User_Proflie_001 | 修改个人资料成功,使用合法昵称对资料进行修改 | P1 | 1、用户登录 2、 打开个人中心页面 3、输入的昵称合法 | 1、点击“修改个人资料”按钮 2、修改“昵称”一栏的内容 3、确认修改 | 1、昵称:测试用户000 | 1、昵称替换为用户输入的内容 2、弹出提示框,操作成功 | 通过 | Ver1.0 | xxx | |
SNS_User_Proflie_002 | 修改个人资料成功,使用合法的邮箱对绑定的邮箱进行更换 | P1 | 1、用户登录 2、 打开个人中心页面 3、输入的邮箱合法 | 1、点击邮箱一栏的“换绑”按钮 2、完整输入原始的邮箱 3、输入新的合法邮箱号 4、点击“确定”按钮 | 1、原始邮箱:1715019@qq.com 2、新邮箱:15151515@qq.com | 1、邮箱修改成功 2、弹出提示框,操作成功 | 通过 | Ver1.0 | xxx | |
SNS_User_Proflie_003 | 修改个人资料失败,使用非法的手机号进行手机号变更绑定 | P2 | 1、用户登录 2、 打开个人中心页面 3、输入的手机号非法 | 1、点击手机号码一栏的“换绑”按钮2、完整输入原始的手机号3、输入非法的手机号4、点击“确定”按钮 | 1、原始手机号:15193215555 2、新手机号:15151515 | 1、手机号修改失败2、弹出提示框,表单数据校验不通过,请检查后重试,并文字提示手机号格式不正确 | 通过 | Ver1.0 | xxx | |
SNS_User_Proflie_004 | 修改个人资料失败,对昵称进行清空修改 | P2 | 1、用户登录 2、 打开个人中心页面 3、输入的昵称为空 | 1、点击“修改个人资料”按钮2、清空“昵称”一栏的内容3、确认修改 | 1、昵称修改失败 2、弹出提示框,表单数据校验不通过,请检查后重试,并提示昵称不能为空 | 通过 | Ver1.0 | xxx | ||
SNS_User_Follow_001 | 关注用户成功,通过用户查找到特定用户后关注该用户 | P1 | 1、用户登录 2、打开社交管理界面 3、通过关键字搜索到特定用户 | 1、点击搜索出来的用户头像右侧的“关注”按钮 | 1、关注成功 2、弹窗提示“操作成功” | 通过 | Ver1.0 | xxx | ||
SNS_User_Follow_002 | 关注用户成功,在博文详情界面对作者用户进行关注 | P1 | 1、用户登录 2、用户打开某篇博文 | 1、点击博文标题下方左侧作者账号右边的关注按钮 | 1、关注成功 2、弹窗提示“操作成功” | 通过 | Ver1.0 | xxx | ||
SNS_User_Follow_003 | 关注用户失败,用户在未登录,在博文详情界面对作者进行关注 | P2 | 1、用户在未登录查看博客 | 1、点击博文标题下方左侧作者账号右边的关注按钮 | 1、关注不成功 2、弹窗提示该功能只能在登陆状态下使用 3、界面跳转至登陆界面 | 通过 | Ver1.0 | xxx | ||
SNS_User_Follow_003 | 取关成功,在博客详情界面对博客作者用户进行取消关注 | P2 | 1、用户登录 2、打开在社交管理界面 3、通过关键字搜索到特定用户 4、该用户处于关注状态 | 1、点击博文标题下方左侧作者账号右边的“取消关注”按钮 | 1、取关成功 2、弹窗提示“操作成功” | 通过 | Ver1.0 | xxx |
2.4.2 自动化测试
在自动化测试部分,我们使用了Selenium框架来执行Web界面的自动化测试。
- 自动化测试覆盖模块:用户注册、用户登录、发布博文、查看博文、博文管理、关注用户等
- 自动化测试代码部分示例,点击查看完整代码
- 测试页面是否加载成功
public void loginPage() throws NoSuchMethodException, IOException {
Method method = targetclass.getMethod("loginPage");
String methodName = method.getName();
driver.findElement(By.cssSelector("body > div.container-login > div"));
getScreenShot(LoginPage.class.getName() + "-" + methodName);
driver.navigate().refresh();
}
-
- 测试是否可以正常登录
public void loginSuccess() {
driver.navigate().refresh();
String methodName = "";
try {
methodName = targetclass.getMethod("loginSuccess").getName();
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
driver.findElement(By.cssSelector("#username")).sendKeys("zhangsan");
driver.findElement(By.cssSelector("#password")).sendKeys("123456");
driver.findElement(By.cssSelector("#submit")).click();
try {
getScreenShot(LoginPage.class.getName() + "-" + methodName);
} catch (IOException e) {
throw new RuntimeException(e);
}
//判断是否登陆成功
driver.findElement(By.cssSelector("body > div.nav > a:nth-child(6)"));
try {
getScreenShot(LoginPage.class.getName() + '-' + methodName);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
-
- 测试编辑博文
public void editByEditSuccess() throws InterruptedException {
String methodName ="";
try {
methodName=targetclass.getMethod("editByEditSuccess").getName();
getScreenShot(targetclass.getName()+"-"+methodName);
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
//更新数据
driver.findElement(By.cssSelector("#title")).sendKeys("2024-test-editByEditSuccess");
try {
getScreenShot(targetclass.getName()+"-"+methodName);
} catch (IOException e) {
throw new RuntimeException(e);
}
//点击提交
WebDriverWait webDriverWait=new WebDriverWait(driver, Duration.ofSeconds(3));
driver.findElement(By.cssSelector("#submit")).click();
//有一个弹窗
webDriverWait.until(ExpectedConditions.alertIsPresent());
Alert alert =driver.switchTo().alert();
alert.accept();
- 自动化测试用例数量:30
3 测试结果
在此只给出部分模块测试结果 点击查看更多测试结果
3.1 登录页面
3.1.1 登录成功
(1) 输入合法已注册手机号
- 打开登录界面
- 输入已注册手机号
- 点击发送验证码
- 输入验证码,点击登录按钮
- 登录成功
3.1.2 登录失败
(1)输入未注册手机号
- 输入未注册手机号
- 点击发送验证码
- 输入验证码,点击登录按钮
- 登录失败,弹窗提示,符合预期
(2) 输入非法手机号 - 输入非法手机号
(3) 输入错误、过期验证码
- 弹窗提示,验证码错误,符合预期
3.2 注册界面
3.2.1 注册成功
(1) 输入所有合法数据
- 打开注册页面
- 输入所有合法数据,点击发送验证码
- 输入验证码点击注册按钮
- 注册成功,跳转至登录页面
3.2.2 注册失败
(1)错误手机号
- 填写用户信息时输入错误格式手机号
- 注册失败
(2)错误邮箱 - 填写用户信息时,输入错误邮箱
(3)已注册手机号 - 填写用户信息时,填写已注册手机号
- 点击发送验证码
- 注册失败,弹窗提示
3.3 修改个人资料
4 遗留风险
4.1 风险分析
- 用户信息重复注册问题:
- 描述:在某些情况下,尽管用户信息已经存在,系统仍允许用户进行重复注册,尤其是在并发注册时。
- 系统在高负载下的性能问题:
- 描述:在压力测试中,发现系统在同时处理大量用户操作时,响应速度显著下降,存在性能瓶颈。
- 影响:系统在高负载下可能无法满足用户需求,影响用户体验和系统的可靠性。
4.2 处理建议
- 用户信息重复注册问题:
- 处理建议:优化数据库查询和注册逻辑,增加唯一性校验(如使用数据库的唯一性约束或增加前置查询逻辑),确保用户信息的唯一性。
- 责任人:开发工程师
- 完成时间:预计两周内解决
- 系统在高负载下的性能问题:
- 处理建议:进行性能优化,包括优化数据库查询、缓存热点数据、增加负载均衡等策略,以提高系统在高负载下的处理能力。
- 责任人:系统架构师和开发工程师
- 完成时间:预计一个月内完成初步优化,并持续监控和调整
5 测试结果评估
5.1 功能性
- 评估标准:
功能是否完整:检查所有功能模块是否都已实现。
是否符合需求规格说明书:对比系统实现与需求规格说明书中的要求,确保所有功能点均得到满足。 - 评估结果:
功能完整性方面,系统实现了用户注册、登录、博文发布、博文管理、用户关注、用户私信、公告管理等主要功能模块,但存在部分功能点(如用户信息重复注册)未完全满足需求。
在符合需求规格说明书方面,大部分功能点均已达到要求,但仍需进一步优化和完善。 - 改进建议:
针对功能不完整的问题,加强需求分析和系统设计,确保所有功能点均得到完整实现。
针对功能不符合需求规格说明书的问题,进行详细的差异分析和修正,确保系统满足用户需求。
5.2 易用性
- 评估标准:
操作流程是否简单明了。
用户界面是否友好、直观。
系统响应是否及时。 - 评估结果:
操作流程总体清晰,但在某些功能点上(如验证码过期提示)用户体验不够友好。
用户界面设计整体简洁,但在某些细节上(如提示信息的清晰度)仍有提升空间。
系统响应速度在正常情况下良好,但在高负载下存在性能瓶颈。 - 改进建议:
优化用户体验,特别是针对验证码过期等提示信息的清晰度进行改进。
对用户界面进行微调,提升整体美观度和易用性。
针对性能瓶颈进行优化,提高系统在高负载下的响应速度。
5.3 可靠性
- 评估标准:
系统是否稳定可靠。
在异常情况下是否能正确处理并恢复。 - 评估结果:
系统在正常情况下运行稳定,但在并发注册等场景下存在数据重复的风险。
异常情况下的错误处理和恢复机制基本完善,但仍有待进一步测试和优化。 - 改进建议:
加强数据唯一性校验,确保系统在高并发场景下仍能稳定运行。
完善异常处理和恢复机制,确保系统在各种异常情况下都能正确响应并恢复。
5.4 兼容性
- 评估标准:
系统是否能在不同浏览器和设备上正常运行。
是否支持多种操作系统和数据库。 - 评估结果:
系统在主流浏览器和设备上均能正常运行,但在某些老旧设备上的兼容性有待提高。
支持多种操作系统和数据库,但在特定环境下的兼容性测试不够充分。 - 改进建议:
加强老旧设备上的兼容性测试和优化,确保系统能在更广泛的设备上运行。
增加对特定环境下的兼容性测试,确保系统在各种环境下都能稳定运行。
5.5 安全性
- 评估标准:
用户数据是否加密存储和传输。
系统是否具备防止SQL注入、跨站脚本等常见安全漏洞的能力。
是否有完善的权限管理和访问控制机制。 - 评估结果:
用户数据在存储和传输过程中均采用了加密措施,保障了数据的安全性。
系统通过严格的输入验证和过滤机制,有效防止了SQL注入和跨站脚本等安全漏洞。
系统具备完善的权限管理和访问控制机制,能够确保不同用户只能访问其权限范围内的数据。 - 改进建议:
定期对系统进行安全审计和漏洞扫描,及时发现并修复潜在的安全隐患。
加强用户的安全意识教育,引导用户设置强密码并定期更换。
附录
附录A:测试环境
- 硬件环境:
服务器:Intel Xeon E5-2690 v4 CPU,64GB RAM,SSD硬盘 - 客户端:多种配置的PC和移动设备
- 软件环境:
操作系统:Windows Server 2019, macOS Catalina, iOS 15, Android 12 - 浏览器:Chrome 98, Firefox 92, Safari 15
- 网络环境:
局域网和互联网环境,包括不同带宽和延迟的测试场景
附录B:测试数据
- 数据样本:
合法用户注册信息(包括用户名、密码、邮箱、手机号等)
非法用户注册信息(包括格式错误的手机号、邮箱等)
博文发布和管理的测试数据(包括标题、内容、权限设置等)
附录C:测试工具配置
- Selenium配置:
版本:4.3.0 - 浏览器驱动:ChromeDriver 98, GeckoDriver 0.29.1
- 测试脚本:Java脚本,包含登录、注册、博文发布等测试用例
- Postman配置:
版本:9.6.0
接口请求:包含用户信息获取、博文数据查询等API测试 - Junit配置:
版本:5.8.1
测试类:包含各个功能模块的单元测试 - Jmeter配置:
版本:5.4.1
测试计划:包含压力测试和性能测试场景 - Fiddler配置:
版本:5.0.20203.40000
抓包设置:捕获HTTP/HTTPS请求和响应,用于分析网络交互