实践课:关于i至诚APP的案例分析

这个作业属于哪个课程 至诚软工实践F班
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/ZhichengSoftengineeringPracticeFclass/homework/12580
这个作业的目标 <对i至诚app进行软件测试,熟悉软件测试流程。>
学号 <212106748>

测评对象:i至诚APP

  • 前言分析:

        i至诚APP是一款校园类软件,在教师以及学生,我们几乎每天都要使用到i至诚APP,i至诚可以为我们提供进校码、校园一卡通、健康日报等功能。虽然这款软件使用频率很高,但是还是存在着诸多不足,以下我将会对i至诚APP进行软件测试,系统的分析这款软件。


第一部分 找Bug

  • 1)Bug发生时的测试环境

    • 手机型号:HUAWEI mate 20
    • 手机版本:HarmonyOS 2.0.0
    • i至诚版本:1.9.9.80670(202111081003)
  • 2)Bug的可复现性及具体复现步骤

    • 对于可复现性需要说明是必然发生,还是偶尔发生,还是满足某些特定条件下会发生

      • 偶尔发生的Bug

         页面跳转慢:我使用了四部手机,有的手机快,有的手机慢,有可能是手机网络原因,或者是app服务器原因,因为是偶尔发生,所以不作具体分析。

      • 满足特定条件下发生的Bug

      宿舍抽签功能:在刚开学的时候,同学们都是在i至诚上的抽签选择宿舍,但是在同一时刻有两个用户同时选择同一个床位的时候,系统不会提示“该床已被选择”等提示,而是将默认选中,即两位同学的系统中都显示了该床位,这导致了同学之后因为床位问题而烦恼。

  • 3)Bug具体情况描述

    • 描述Bug

      • 安全性漏洞:学生信息泄露
      • 安全性漏洞:可篡改用户的密码
      • 安全性漏洞:可修改进校码
      • 普通漏洞:更换头像的拍照功能无法访问相机
      • 普通漏洞:诸多页面无法跳转
      • 普通漏洞:一卡通余额与电子钱包余额不同
    • 配图展示Bug

      • 安全性漏洞:学生信息泄露(危险)

            有为专业能力很强的同学,已经通过相关技术,进入了i至诚后台,获取了同学们的身份信息,信息包括学生电话、身份证号码、父母信息、账户余额等信息。老师以知晓,由于情况过于特殊,在此不做相关截图展示。

      • 安全性漏洞:可篡改用户的密码(危险)

            使用抓包工具等方法,可以直接进入i至诚抓取相关数据,由于安全问题,接口和请求头不做公开。以下是成功修改用户密码的截图。

      • 安全性漏洞:可修改进校码(危险)

            进校码是我们学生和老师在疫情期间可以进出学校的唯一证明,据我所知,有为其他专业的同学也是通过抓包工具,登入i至诚,获取相关信息后,将学生的进校码个人信息修改,将红码换成绿码。这个问题被辅导员知道后,对该同学进行了谈话,之后便将i至诚的进校码,由二维码变换成了文字。以下是i至诚进校码页面的截图。

      • 普通漏洞:更换头像的拍照功能无法访问相机

            i至诚上可以更换头像,但是该页面虽然有相机按钮,但是无法访问手机的相机,虽然有这个按钮,但是形同虚设,并没有实质性用处。以下是该页面的截图。

      • 普通漏洞:诸多页面无法跳转

            i至诚上有许多页面都无法跳转,只是有一个按钮在那边,例如在我的页面查询一卡通余额、未读邮件、图书借阅,有些影响用户体验,按钮只是摆设,功能无法实现。由于还有很多页面存在无法跳转,所以不过多举例。以下是我的页面的截图。

      • 普通漏洞:一卡通余额与电子钱包余额显示的金额不同

            i至诚上的一卡通余额与电子钱包余额显示的金额不同,同学们大多数使用的支付方式是,电子钱包付款、绑定支付宝付款、绑定微信罚款、绑定银行卡付款,很少同学是使用一卡通的,在同学们不熟悉app的情况下,会被混淆。以下是我的页面的截图。

  • 4)Bug分析

    • Bug的严重性

      • 安全性:漏洞学生信息泄露、可篡改用户的密码、可修改进校码

          若被不法分子利用,进行违法活动,后果将不堪设想,首先个人信息泄露,个人信息被毫无遮掩地呈现于网络之中,十分危险。身份信息容易被人冒用,有了身份证、手机号后,轻则泄露更多信息,重则被篡改信息,导致不可预测的后果。在疫情防控期间学生可凭借修改后的进校码随意进行互出校园,给防疫工作带来了干扰,同时校园安全也无法得到有效保障。

      • 系统功能、用户体验:页面无法跳转、一卡通余额与电子钱包余额显示的金额不同

          从系统功能、用户体验上看,以上我提到的三点普通漏洞,正是这个问题,这些漏洞属于系统功能不完善,没有很好地实现页面之间的跳转,页面之间的交互没有做好,从而导致了用户体验感差,如果不是需要健康打卡,平常我是不会打开这个app的,确实使用起来不是很方便,我觉得这款软件用的最多的功能可能就是健康日报、返校申请、出校申请以及校园一卡通了。其他功能是挺多的,但是很多平常用不上,所以我把以上三点归类为普通漏洞。

      • Bug的严重等级(星数)

        • 安全性漏洞:学生信息泄露☆☆☆☆☆
        • 安全性漏洞:可篡改用户的密码☆☆☆☆☆
        • 安全性漏洞:可修改进校码☆☆☆☆☆
        • 普通漏洞:更换头像的拍照功能无法访问相机☆☆
        • 普通漏洞:诸多页面无法跳转☆☆
        • 普通漏洞:一卡通余额与电子钱包余额不同☆☆
        • Bug等级说明
        • ☆☆☆☆☆:致命性系统故障、致命性安全性漏洞、用户体验严重影响等
        • ☆☆☆☆:严重系统故障、服务器鉴权漏洞等
        • ☆☆☆:普通系统故障、用户体验感差等
        • ☆☆:页面无法跳转等
        • :页面卡顿等
    • 对于Bug的预期及改进建议

      • 设置客户端IP黑/白名单
      • 请求参数Sign签名
      • 请求方式换成Https
      • (由于我不是技术大佬,也是参考百度资料搜索到的一些改进建议,具体实现还是得需要一些高端玩家)

第二部分 功能分析

  • 1)根据软件已有的功能,评估其做到这个程度大约需要多少时间?

    阶段 周数
    需求分析、调研 1-2
    功能模块具体说明、与客户确认 2
    原型设计 2-3
    需求分析进行修改 1
    UML设计 1
    前端设计 2-3
    数据库设计 2-3
    后端代码设计 8
    代码规范 1
    代码复审 1
    黑白盒测试 1
    计算工作量 0.5
    事后总结、改进 1
  • 2)分析这个软件目前的优劣(和微信端的“至诚教务助手”相比),哪个更实用?

    • 1、 微信端的“至诚教务助手”使用频率相对较高,但是UI页面过于简单。
    • 2、i至诚appUI设计更美观,功能跟多,实现了至诚教务助手许多没有事实现的功能。
    • 3、至诚教务助手与课程、成绩相关的内容会更多点,i至诚app更像是一个学生社区。两款产品的定位方向不一样,各有各的优势。
  • 3)从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。

    • 最重要的是要加强软件的安全性,不要再让我们的信息完全暴露在网络中了,若被不法分子利用,产生的后果真的很难想想象。
  • 4)你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?可以从下面的可能性中选取几个:

    • 对用户需求掌握不好
    • 具体的设计质量不高
    • 开发人员粗心大意
    • 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试

第三部分 建议和规划

  • 1)市场现状

    • 目前市场上是否有其他类似功能的产品、竞品?

      存在的。例如支付宝的完美校园、智慧校园、校园e码通以及各大高校的专属校园app。

    • 上述产品的定位、优势与劣势在哪里?

      • 定位:校园服务类软件或者小程序,与我们的i至诚一样,为在校师生提供服务。
      • 优势:上述产品的安全性相对较高,UI设计美观。
      • 劣势:校园类软件的功能大同小异,并且有的功能并不适用于所有大学。功能缺乏创新。
    • 上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?

          除了各大高校的专属校园app之外的校园类软件都属于竞品关系。目前做的比较强大的我觉得都是智慧校园和校园e码通,这两款软件已经对接了很多高校了,他们可以直接连接到校园app上,就拿我们i至诚举例,我们对接的支付宝平台是校园e码通。对接的高校越多,他们的平台用户也就越高。完美校园相对于其他的软件,功能不够强大,普及面不够广。

  • 2)市场与产品生态

    • 产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?

          该类产品的用户大多是老师和学生,老师们通常会利用该产品给学生布置作业,发布通知等。学生也可以在平台上和老师及时反馈信息,构成一种线上的师生关系。

  • 3)产品规划

    • 如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。

      需求分析1人,前端设计1人,后端开发2人,项目报告1人,数据库开发1人。

    • 目前市场上是否有其他类似功能的产品、竞品?

      任务 时间
      需求分析、调研 第一周
      需求分析、调研 第一周
      功能模块具体说明、与客户确认 第三周
      原型设计 第四周
      原型设计 第五周
      需求分析进行修改 第六周
      UML设计 第七周
      前端设计 第八周
      前端设计 第九周
      数据库设计 第十周
      数据库设计 第十一周
      后端代码设计 第十二周
      后端代码设计 第十三周
      后端代码设计 第十四周
      代码规范复审 第十五周
      黑白盒测试 、发布项目 第十六周
posted @ 2022-04-07 20:24  郑939  阅读(186)  评论(0编辑  收藏  举报