zoukankan      html  css  js  c++  java
  • 团队项目第四次作业

    一、

    这个作业属于哪个课程

    https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/

    这个作业要求在哪里

    https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3329

    团队名称

    西柚皇家编程团队

    这个作业的目标 

    发布项目的α版本,并完成测试报告,以及相关总结

     二、团队成员列表

    队员 学号
    徐异潇(组长) 201731062102
    王力 201731062318
    何星桦 
    201731062103
    谭春艳
    201731062105
    王伟 201731011330
    唐若宸 201731054416
    黄欣  201731062104
    张文豪 201731062119

     三、项目α版本的发布地址、下载安装说明

    1、下载地址

    链接:https://pan.baidu.com/s/1_jV3wwvR6YYqr_sEUuO2ug%20
    提取码:l40a

    2、简明的操作手册

    餐厅工作人员需登录,登陆成功后即可进行后续相关操作;顾客则无需登录,点击“点菜”按钮开始点菜。

    四、α版本的测试报告

    1、测试工作安排

    (1)徐异潇:测试“主窗体”

    (2)王力:测试“结账”

    (3)何星桦:测试“餐桌状态”

    (4)谭春艳:测试“点菜”

    (5)王伟:负责代码审查

    (6)唐若宸:负责数据库审查

    (7)黄欣:测试“登录界面”

    (8)张文豪:测试“职员信息”

    2、测试工具的选择

    测试工具:vs

    3、测试用例及测试结果截图

    (1)餐厅状态

    • 点击餐桌状态,输入餐桌号,即可查询餐桌状态,或者手动输入餐桌信息。如图:

    • 点击加/点菜按钮,则跳转到点菜页面。如图:

    • 若点击结账按钮,跳转到结账页面,如图:

    (2)登录界面

     

    (3)点菜

    用例ID

    02

    用例名称

    点餐

    用例描述

    点餐用户名存在、密码正确的情况下,进入系统

    页面信息包含:页面背景显示

    用户名和密码录入接口,输入数据后的登入系统接口

    用例入口

    打开系统

    进入点餐页面

     

    测试用例ID

    场景

    测试步骤

    预期结果

    备注

    TC1

    菜品显示

    从用例入口处进入

    页面元素完整,显示与详细设计一致

     

    TC2

    菜品选择

    选择菜品:排骨

    选择成功

     

    TC3

    点餐-成功

    单击确认按钮

    点餐成功

     

    (4)结账

    用例ID

    01

    用例名称

    结账&查询

    用例描述

    结账&查询

    用户名存在、密码正确的情况下,进入系统

    页面信息包含:页面背景显示

    用户名和密码录入接口,输入数据后的登入系统接口

    用例入口

    打开系统

    进入该结账&查询页面

     

    测试用例ID

    场景

    测试步骤

    预期结果

    备注

    TC1

    结账&查询显示

    从用例入口处进入

    页面元素完整,显示与详细设计一致

     

    TC2

    用户名录入-验证

    输入已存在的用户:test

    输入成功

     

    TC3

    金额-容错性验证

    输入:aaaaabbbbbcccccdddddeeeee

    输入到蓝色显示的字符时,系统拒绝输入

    输入数据超过规定长度范围

    TC4

    结账-成功

    TC2,TC4,单击结账按钮

    支付成功

     

    (5)职员信息

    • 输入错误信息并且执行重填

    • 取消之前操作,并且失去某些操作权限

    • 查询员工信息

    • 保存新增员工信息

    • 单元测试

    (6)主窗体

    • 主窗体界面

    • 点击餐桌,跳转餐桌状态

     

    • 点击职员信息,跳转职员信息界面

    4、测试体会与总结

    (1)徐异潇:

        在测试主窗体中,没有发现什么异常。在测试的过程中我体会到了测试的重要性,这个环节在整个项目中占了很大的比重。虽然测试不能完全排除项目中的所有错误,但能发现其中的大部分错误,确保项目是基本可用的,这也体现了测试的真正意义所在——在于发现错误,而不在于验证项目是正确的。

    (2)王力:

        结账设计的是从开台模块中选择餐桌,连接数据库,选择餐桌的具体点菜信息,算出总价并显示,然后在数据库中添加实付列,找零列。白盒测试结果正确,没有出现异常,用户测试时,在系统数据库出现了异常,原因是输入格式不正确,说明在输入的兼容性还不够完美,经过改进,黑盒测试也没有问题了,提高了程序的稳定性。

    (3)何星桦:

        在测试过程中发现了一些小的问题,餐桌信息查询功能还不够完善,跳转到结账和加/点菜页面时,所需时间有些长,后期会找找这个问题的原因,并解决掉这个问题。另一点就是项目的美观问题,窗口太简洁,不够美观,到后面也会在这方面做一些改进。

    (4)谭春艳:

        首先得先把餐馆有的所有菜存储在数据库中,这样才能在表中调用数据库的菜单信息表,点菜界面所要有的属性应和菜单信息表一致,菜单编号,菜名单价,份数,折扣都得一一对应,然后把所要点的菜选出来,添加到点菜表中即可。白盒测试结果正确,没有出现异常,用户测试时,在系统数据库出现了异常,原因是输入格式不正确,说明在输入的兼容性还不够完美,经过改进,黑盒测试也没有问题了,提高了程序的稳定性。

    (5)王伟:

        在测试中我负责代码审查,首要目的就是改善和保证代码质量,预防bug。同时也有助于制定团队代码规范,形成团队技术氛围,以及团队的成长。代码审查也有很多相关工具可以使用,由于对测试不是很熟悉,我主要从编码规范问题:命名不规范和代码结构问题:重复代码、巨大的方法和类、分层不当、紧耦合去审查。在这个过程中,也发现不少问题,不少变量命名太随意,又缺少注释,这就导致让别人看这段代码时不是很容易理解,还有就是代码风格统一。也去掉了不写不必要的变量,使得代码变得稍微简洁一些。代码注释太少,可读性不高。通过这个过程,也体会到了一个团队制定严格统一的代码规范以及为代码写注释的重要性,有了更深的体会,以便自己在以后的编码过程中注意这些问题。

    (6)唐若宸:

        此次测试,我主要是检查数据库的基本功能运行,以及改善数据库。通过此次测试,检查出数据库还有很多不足,后续还会进行改进,比如某些表和字段的命名与关键字冲突,主外码的设置还有缺陷,一些字段的属性设置也需要改进。通过这个过程,熟悉了数据库的构建,也增加了许多经验,对之后的改进有很大帮助。

    (7)黄欣:

        前期测试过程还是比较顺利的,自己在数据库添加了管理人员信息,能够识别登录,但是菜单的添加仍然存在问题,需要进行改进,这是我进入大学第一个与团队协作一起设计的小程序,虽然我们的程序在所有的程序中比起来可能并不算优秀,但是这次协作让我体验到了团队的力量大于个人,要想做好一个项目,光自己一个人是难上难!这也体现了团队的重要性。

    (8)张文豪:

       此次团队项目是进入大学后第一个面向对象面向真实用户的项目,相比于之前的黑白屏幕,小的功能项目,或者一些教务管理系统,难度可想而知。当然课本上的知识还是难以应对这些中型项目,耗费了团队同学的大量时间,然而结果还是未能实现某些功能或者有小小的bug,比如,在员工修改方面有些操作只能执行一次,有些运行偶尔会发生崩溃,使得项目没有达到理想的状态。不过,通过这次实验,我们的动手能力与逻辑思考问题又得到了很大的提升,对于测试用例的思考有了进一步理解。

    五、项目情况总结

    1、发布α版本后,已完成的内容

    已经完成的内容:餐厅状态、登录界面、点菜、结账、职员信息、主窗体。

    2、和项目预期计划相比,没有完成的内容

    未完成的内容:菜单管理、统计、接收评价、评价。

    3、β版本的展望,具体的安排计划

        对于此次α版本发布,因为α阶段我们初步打算完成基本功能的实现,所以用户界面的操作自不必说,数据库与后台代码的对接也基本实现,工作状态下,能够通过用户界面正常修改后台数据库信息。接下来我们的主要任务就是美化界面的设计,窗口的提示以及优化数据库操作所使用的的时间,最大化便利我们的使用对象。

  • 相关阅读:
    为什么jdbc中的resultset只能取一次去第二次就报错了
    mapreduce中reduce中的迭代器只能调用一次。其实迭代器就只能调用一次
    Name node is in safe mode.
    mapreduce 查找共同好友
    mapreduce学习资料
    mysql 集合函数与where条件
    hive中order by,sort by, distribute by, cluster by作用以及用法
    二分类预测用的几个预测结果精确度计算方法
    矩阵乘法np.dot()及np.multipy()区别
    如何用matplotlib绘制决策边界
  • 原文地址:https://www.cnblogs.com/TakeRabbit/p/10984176.html
Copyright © 2011-2022 走看看