作业五:代码开发、测试及发布
这个作业属于哪个课程 | 2022软件代码开发技术 |
---|---|
这个作业要求在哪里 | 代码开发、测试及发布 |
这个作业的目标 | 1.按计划进行代码开发 2.按计划进行开发测试 3.发布项目alpha版本 |
代码开发
开发过程记录
日期 | 昨天已完成工作 | 今天计划完成工作 | 工作中遇到困难 |
---|---|---|---|
5.9 | 项目创建,导入基本框架类 | ||
5.10 | 项目创建,导入基本框架类 | 导入素材,搭建前端界面 | git push连接超时问题 |
5.11 | 导入素材,搭建前端界面 | 完善界面,处理页面跳转逻辑 | |
5.12 | 完善界面,处理页面跳转逻辑 | 连接数据库,设计、创建数据库表 | MySQL数据库连接 创建外键约束出现问题 |
5.13 | 连接数据库,设计、创建数据库表 | 封装数据库相关业务操作 | |
5.14 | 封装数据库相关业务操作 | 实现各功能模块 | |
5.15 | 实现各功能模块 | 功能测试 |
项目燃尽图
代码签入记录
-
每天都有代码签入:commit记录
-
签入issue内容与链接:
-
编码规范code review:
- 使用大驼峰命名属性、方法、静态变量、公开字段;
- 使用小驼峰命名私有字段、临时变量、参数;
- 布尔变量由is、has、can等开头;
- 花括号{}换行。
-
项目程序/模块的最新运行截图:
-
5.9:
-
5.10:
-
5.11:
-
5.12:
-
5.13:
/// <summary> /// 插入数据 /// </summary> /// <param name="tableName">表名</param> /// <param name="fields">字段名</param> /// <param name="values">字段值</param> public void Insert(string tableName, string[] fields, string[] values) { if (fields.Length != values.Length || fields.Length == 0 || values.Length == 0) { throw new Exception("输入不正确:" + "要插入的字段与字段值数量不一致!"); } string query = "insert into " + tableName + " ("; query += fields[0]; for(int i = 1; i < fields.Length; ++i) { query += "," + fields[i]; } query += ") values(" + "'" + values[0] + "'"; for(int i = 1; i < values.Length; ++i) { query += "," + "'" + values[i] + "'"; } query += ")"; Log.SQLLog(query); try { MySqlCommand cmd = new MySqlCommand(query, dbConn); int result = cmd.ExecuteNonQuery(); if (result > 0) { Debug.Log("添加成功"); } else { Debug.Log("添加失败"); } } catch (Exception e) { throw new Exception(e.Message.ToString()); } }
-
5.14:
-
测试
请根据项目中软件的需求文档、功能说明、系统设计和测试计划,写出软件的测试过程和测试结果,并回答下述问题。
测试过程
开发阶段 | 主要测试活动 |
---|---|
需求分析 | 确定测试步骤 确定需求是否恰当 生成功能测试用例 确定设计是否符合需求 |
设计 | 确定设计信息是否足够 准备结构和功能的测试用例 确定设计的一致性 |
编码 | 为单元测试产生结构和功能测试的测试用例 进行足够的单元测试 |
测试 | 测试应用系统,着重在功能上 |
安装 | 把测试过的系统投入生产 |
维护 | 修改缺陷并重新测试 |
测试结果
结果bug清单:
- 页面跳转逻辑存在错误
- 信息数量过多超过显示范围后无法显示
- 时间表信息顺序错误
- 选中信息行没有反馈
- 场景跳转后无法正确连接数据库
- 信息插入时报错
问题回答
-
在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个?
bug类型 数量 修复的bug 6 不能重现的bug 0 这个产品就是这样设计的,不是bug 0 没有能力修复,将来也不打算修复 0 这个bug的确应该修复,但是没有时间在这个版本修复,延迟到下一个版本修复 0 -
场景测试(scenario testing),包括以下内容:
- 你预期不同的用户会怎样使用你的软件?
- 客户、自由职业者
- 管理者
- 他们有什么需求和目标?
- 客户、自由职业者通过该软件发布项目、接受项目、安排时间表
- 管理者查看数据库信息、安全日志
- 你的软件提供的功能怎么组合起来满足他们的需要?
- 根据不同权限开放不同功能,满足需求
- 你预期不同的用户会怎样使用你的软件?
-
你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试?——测试矩阵(test matrix)
-
平台:PC端Windows系统
-
硬件配置:
处理器 英特尔 Core i5-9300H @ 2.40GHz 四核
主板 联想 LNVNB161216 ( HM370 芯片组 )
内存 16 GB
主硬盘 西数 WDC PC SN720 SDAPNTW-1T00-1101 ( 固态硬盘 )
主显卡 Nvidia GeForce GTX 1660 Ti -
测试矩阵:
身份 内存 操作系统 分辨率 客户 2G Windows10 1920x1080 服务商 4G Windows7 1280x720 管理员 8G MacOS 800x600
-
-
你的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本?——出口条件(exit criteria)
出口条件:
-
经测试,各功能模块可正常运行
-
存在的影响用户体验的bug均已修复
-
软件可承受用户数量符合预期
-
alpha版本发布
发布说明
- 软件功能:
- 根据用户权限开放不同功能
- 客户个人信息的增删查改
- 服务商信息、时间表的增删查改
- 发布项目信息的增删查改
- 安全日志和审计日记的记录与查看
- 修复的缺陷:数据库连接问题
- 运行环境要求:
- PC端Windows系统
- MySQL环境
- 可还原SQL文件为数据库的数据库管理工具,如Navicat
- 安装方法:
- 确保MySQL服务开启,端口号3306,本地存在用户:用户名root,密码root;
- 数据库管理工具建立连接;
- 将DatabaseFile文件夹下的
providingdb.sql
文件在数据库管理工具中还原为本地数据库。
- 系统已知的问题和限制:需要本地MySQL环境和正确导入数据库文件支持
- 软件的发布方式和发布地址:百度网盘发布,提取码oss1
- 项目源文件地址:ServiceProvidingSystem