实验十 团队作业7:团队项目用户功能验收测试

项目 内容
课程班级博客链接 2019级卓越工程师班
这个作业要求链接 实验十 团队作业7:团队项目用户功能验收测试
团队名称 待宰的高羊
团队成员分工描述 何晨泽(PM):部署系统至服务器、执行黑盒测试、编撰总结PPT、录制演示视频
高杨:执行黑盒测试、用户场景测试、回归测试
阿丽米拉:录制软件系统配置视频、总结测试结果、概述测试过程
谢家俊:编制测试方案、整理测试用例
团队的课程学习目标 (1)掌握软件黑盒测试技术
(2)掌握软件项目功能验收测试内容,学会编制软件项目总结PPT
这个作业在哪些方面帮助团队实现学习目标 (1)通过黑盒测试、回归测试等的实践掌握测试技术
(2)通过测试方案的编制、执行和总结PPT的编写掌握功能验收技术
团队博客链接 待宰的高羊
团队项目Github仓库地址链接 TeamProject

任务1:编写用户功能测试方案,并执行测试方案

  1. 功能测试方案文档:

  2. 软件系统安装配置过程:

  3. 文档和视频上传结果:
    image

  4. 远程访问地址:

  5. 列表统计测试用例、Bug:

    • 测试用例:
      image
      image
      image
      image
      image
      image
      image

    • Bug:

    Bug概述 严重程度 是否已解决
    访问社区首页出现页面无法找到 Major
    上传文件出错 Major-Critical
    后台管理存在一定概率无法进入 Major 有所改进,但并未完全解决
  6. 总结用户场景测试:

    • 测试照片:
      image
    • 测试概述:
      我们寻找了一部分有项目经验以及没有项目经验的同学,来运行我们的背包问题社区系统。运行过后,用户对系统存在的问题和优缺点进行了反馈。
  7. 举例说明执行回归测试情况:

    1. 我们在测试中发现社区首页进入时会产生页面无法找到的Bug,随后我们对控制器和接口进行了修改,修复了这个Bug,修改和产生了新的代码
    2. 负责测试的成员将此前发现该Bug的测试用例Comm_001再次执行,并验证该问题已经修复
    3. 随后验证其他和该Bug有关联的测试用例是否正常,测试后发现均正常通过;
    4. 由于本次Bug的发现和修复并未产生新的问题,故并未生成新的测试用例,基线仍为此前的测试用例集。
  8. 概述项目测试环境:

测试环境编号 操作系统 系统环境 硬件环境 软件环境
#1 Windows 11 Pro MySQL 5.7, nginx 1.12.6, JDK 1.8 Intel Core i7, 16 GB Ram, 512GB Rom Google Chrome 102.0.5005.115
#2 Windows 10 Home MySQL 5.7, nginx 1.12.6, JDK 1.8 AMD Ryzen R5, 8GB Ram, 512GB Rom Microsoft Edge 102.0.1245.44

任务2:完善与整理团队项目资料、编制团队项目总结陈述PPT、录制视频演示软件需求规格说明书中要求功能,在团队项目Github仓库中上传以上两个文档

  1. 项目总结陈述PPT:

  2. 软件功能演示视频:

  3. PPT和视频上传结果:
    image


任务3:完成《实验十 团队作业7:团队项目用户功能验收测试》团队博文作业

  1. 完成各项任务实际花费的时间:
任务内容 实际花费的时间(min)
任务1 213
任务2 168
任务3 76
  1. 任务分工:
姓名 分工
何晨泽 部署系统至服务器、执行黑盒测试、编撰总结PPT、录制演示视频
高杨 执行黑盒测试、用户场景测试、回归测试
阿丽米拉 录制软件系统配置视频、总结测试结果、概述测试过程
谢家俊 编制测试方案、整理测试用例
  1. 成员结合任务分工总结本次实验心得,最后由项目组长进行总结陈述
  • 实验心得:
姓名 心得
何晨泽 本次实验进行了软件系统的测试及总结,而这往往是我们此前经常会忽略的部分。在这次实验的实践与联系中,我们体会到了软件测试和总结的重要性,软件产品的迭代改进离不开测试,而后续产品的研发也离不开项目总结。同时,我们的团队也拥有了更加强大的凝聚力,有了这段时间的项目经验,在以后的团队合作中将会更加得心应手。
高杨 通过本次实验,我明白了测试对软件开发的重要性,测试同样是软件开发的重要一环,在这几天的开发中,我们的团队更具有凝聚力,团队的关系更加融洽,很有收获。我们一起讨论解决在编码中遇到的问题,以及改进了部分在设计中不足的地方。
阿丽米拉 通过此次的项目小组合作,我收获了很多,包括知识上的充实和协作完成方面的经验。进行了许多类型的测试,大家合作依旧默契。软件要通过测试才能真正成为一个合格的成熟的系统,为用户带来更快更好的体验。项目的完成离不开每一位成员的辛勤付出,我们每一个人都收获了很多。
谢家俊 通过这几天我们的项目进展由开始的模糊到后来的基本成型,对项目的进一步开展也有了更加明确的定位。此外,团队的整体协作能力相较之前也有了更大的进步,虽然中间遇到过很多问题,但最终都通过讨论交流努力去解决了,整体收获很大。
  • 组长总结陈述:
    本次我们以团队协作方式完成的软件项目测试及总结,是对我们这一学期以来项目开发和学习的一次收尾,同时也是我们对软件测试技术的学习与实践,也是再一次对团队协作能力的锻炼。我们深刻了解到了软件测试在整个软件项目开发流程中的重要地位,也在团队协作中对项目进行了改进和总结。在次期间学到的知识使我们受益匪浅,不仅是在软件工程这一课程中,在今后的学习和实践中也能给予我们很大的帮助。
  1. 课程学习总结:
成员 总结
何晨泽 本学期软件工程的学习让我认识到,软件工程领域具有非常强的综合性,其涵盖了一个软件项目从企划直至开发完成后后续的整个生命流程,其中包含了及其广泛的技能与知识,可以说是我们此前大学学业生涯部分课程的总结、概括、发展与展望,在课程学习的过程中,我也养成了软件项目开发方面以及学习的良好习惯。同时,团队协作的课程学习、项目开发方式也让我对“团队”一词有了更深刻的理解,作为团队的PM,不仅巩固了成员之间的友谊,在统筹团队中也极大的锻炼了我自己的能力。最后,感谢代祖华老师这一学期以来的谆谆教诲。
高杨 通过本学期的学习,我通过团队合作的方式完成了软件工程方法的课程学习与作业,同时自己的学习方法和思维方式也有了新的转变。通过对课程逐渐的深入学习,我学会了如何去分析和处理问题,重要的是这个过程。学习软件工程,必须知道软件工程的目标、过程、原则,还要学会系统的思考,养成良好的编码习惯。同时我们也采用了多种多样的学习模式,包括从慕课上获取我们所需要的知识并加以巩固,同时这个课程也很考验团队协作能力,我们团队之间的协作能力随着一次次作业得到了进一步的提升,同时巩固了同学们之间的友谊。
阿丽米拉 一学期的软件工程课程就这样结束了,通过一学期的学习,让我对于软件工程的认知有很大的颠覆。在上这门课之前,我一直认为,所谓“软件工程”,只不过是把一个代码量很大的程序分给若干程序员去写,最后将代码整合在一起而已。但是通过这一学期课程的学习,我发现我的认知完全是错误的,而且可以说,错的非常彻底。软件工程,涵盖了软件生命周期中所有的工程方法、技术和工具,包括需求工程、设计、编程、测试和维护的全部内容,即完成一个软件产品所必备的思想、理论、方法、技术和工具。可以说,软件工程包括了从设计、实现到后期的维护等等一系列的内容。 总而言之,通过一学期软件工程的学习,让我对软件工程这一科目有了颠覆的认识,同时也让我对于软件的开发过程有了清晰的了解以及认知,使我收获颇多。
谢家俊 通过一学期的软件工程课程的学习,不管是从知识方面还是能力方面都带给了我很大的提升。认识到了课本所学知识与实际应用的差异。只有通过具体项目的实践,才能更好的掌握所学知识,并针对具体的问题灵活的变通处理。在这门课中,我学会了如何系统的去完成一个软件项目,明白了在如何很好的完成软件项目这门课中有大学问需要我们去努力学习。只有通过这样系统的方法,才能保证我们的软件项目能够清楚整洁的运行。在软件工程这门课中,我不经学习到了课本上如何系统的去完成一个软件项目,我还学会了如何与小组成员相处,如何合理的分工,大家一起努力完成任务。在这个过程中我们一起合作,让我真正体会到团队合作的力量。
  1. 回顾《实验一:软件工程准备》提出的3个问题并尝试总结答案
  • 何晨泽:
问题 解答
问题一:软件开发过程中,部分软件功能的bug可能导致程序拥有新功能,那么此时的bug我们能否认为是feature? 我们知道“简单的说,软件的行为和用户的期望值不一样的话”,那么若此时因bug导致的新功能收到了用户的接纳,那么我们在后续的开发计划中可将其改进完善,增加为功能点;但在大部分情况中,一个bug的产生可能导致更多的问题,这是我们便需要对其进行改进,切不可不作为。
问题二:以团队形式开发软件,组织团队时,在保证项目平稳开发的情况下,成员个性化的表达与团队整体效果哪项更为重要? 在不同的团队模式下,各成员的角色和重要程度均不相同。例如在主治医师模式中,首席程序员的个人化成分就远远高于其余成员;而在交响乐团模式中,各成员又需要各司其职,从而达到较好的团队整体效果。因此,在个人与团队这一方面,需要具体问题具体分析,针对不同的项目采用不同的团队模式,团队中的个人也有不同的表现效果。
问题三:对于软件开发团队,其抄袭等行为会如何影响项目的开发效果? 首先对于抄袭他人的团队来说,抄袭行为将会极大地增加团队的惰性,由于剽窃他人这一行为极大的减少了项目开发的前期准备工作,如需求分析、需求建模等,长此以往,该团队将不具有良好的可持续性;而对于被抄袭的团队来说,有一定的可能,该团队在被抄袭的浪潮中失去竞争力,最严重的后果,这一次的打击可能使该团队解散,再无后继;当然,也有很大的可能该团队在被抄袭事件中整顿总结,形成独一无二的核心竞争力。
  • 高杨:
问题 解答
问题一:当下,一名合格的软件工程师具体需要掌握哪些专业技能? 1、测试专业技能:应掌握黑盒测试、白盒测试、基础测试技术、单元测试、功能测试、集成测试、系统测试、测试流程管理、缺陷管理、自动化测试技术等技能;
2、软件编程技能:掌握编写程序,如单元测试、集成测试、性能测试等技能;
3、掌握网络、操作系统、数据库知识:在性能测试中掌握对各种系统平台进行分析与调优,掌握更多网络、操作系统、数据库等知识;
4、数据库知识:掌握软件基本的安装、配置;
问题二:如何准确的对软件进行价值估算,如何最大的消除误差? 计算机软件评估时, 对于专用软件以及虽属于通用软件但尚未投入生产、销售的, 一般 采用重置成本法;而对于已经生产并投放市场的财务软件、人事工资管理软件等通用软件, 数据库软件, 以及对信息企业的价值评估, 则采用收益现值法; 对于有同类软件的市场价格可做评估参考时,可采用现行市价法。在各个环节均仔细计算,事先多次测算,以减少误差。
问题三:对于一个团队而言,如何在软件工程开发过程中实现效率的最大化? 分工完成后团队即开始工作,此时必须保证信息在整个团队内的畅通,特别是互相之间有工作关联的同事,在发现问题时需要及时提出,以免造成不必要的工时浪费。
大家往往会陷入一种误区,认为团队中每个员工效率发挥到极致的时候就是这个团队效率最高的时候。但经过企业管理实践不断的论证,这种想法其实是非常可怕的谬论。正确的做法应该是将整个团队看成一个整体,再去谈效率问题。团队的分工协作就好比是生产的流水线,流水线的整体生产效率不取决于流水线上效率最高的环节,而取决于效率最低、速度最慢的环节。
团队的瓶颈也许会因为调整而发生变化,这时需要团队负责人审时度势,及时进行调整。也许需要修正前期的分工,也 许需要改变正在使用的技术,甚至是更换无法胜任的团队成员。让整个团队的工作效率保持在一个较高的并且能够相互匹配的水平,这样做非常重要。
  • 阿丽米拉:
问题 解答
问题一:邹老师在书籍中提到,效能分析是作为一个程序员对自己程序代码进行衡量的重要途径,并提到抽样和代码注入两种分析方法。抽样的特点是不需要改动程序,运行较快,但不能得出精确的数据,代码中的调用关系也不能准确表示;代码注入的特点是程序的各个效能数据都可以被精准地测量但程序的运行时间会大大加长,还会产生很大的数据文件。对于处于入门阶段的我们来说,哪种分析方式更适合我们呢? 抽样虽然不需要改动程序,运行较快,可以很快找到瓶颈,但是不能得到精确的数据,也不能准确的出代码中的调用关系树。而代码注入是将检测的代码加到每一个函数中,这样程序的一举一动都会被记录在案,各个效能数据都可以被准确地记录,缺点是程序的运行时间会大大增加,还会产生很大的数据文件。对于基础薄弱的我们而言,代码注入可以让我们学到更多专业知识,并有利于培养专业思维。
问题二:本书的第四章讲的是“两人合作”,在该章节中讲述了代码规范,代码复审,两人合作的技巧等......但是在一个开发团队中,每个人编写代码的水平各不相同,那么,如何在团队中合理分配每人的任务?使每个人都能在团队中出色的表现,从中受益呢? 结对编程主要是,一个人负责具体的执行,另一个人负责导航、检查、掩护等。在结对编程过程中,因为随时的复审和交流,能提供更好的设计质量和代码质量,两人合作,具有相互激励的作用,工程师看到别人的思路和技能,得到实时的讲解,受到激励,从而努力提高自己的水平,提出更多创意,结对工作能带来更多的信心,高质量的产出能带来更高的满足感。
问题三:最后一个是关于如何学习软件工程这门课,浏览书籍后发现整本书内容比较繁杂,从软件开发到团队建设都有阐述,在邹欣老师的书中还有结对编程等,比起以往的课程感觉这门课的内容更宽泛,所以想请教老师如何抓住重点,如何更好地学习软件工程? 我认为最好的方法是结合老师的教学过程。在学习的过程中,老师将重难点的实验时间增长,非常明显地突出了本课程的重难点。我们可以抓住不同的时间将重难点明确划分后,结合实验训练,攻克重难点。
  • 谢家俊:
问题 解答
问题一:软件开发的质量是如何衡量的?在以后的学习和工作中如何衡量自己软件的质量?从哪些方面衡量? 可读性:软件的设计文档是否轻易被其他程序员理解。可读性差的设计会给大型软件的开发和维护过程带来严重的危害。
可复用性:软件系统的架构、类、组件等单元能否很容易被本项目的其它部分或者其它项目复用。
可扩展性:软件面对需求变化时,功能或性能扩展的难易程度。
可维护性:软件维护(主要是指软件错误的修改、遗漏功能的添加等)的难易程度。测试的步骤是编写测试计划、编写测试用例、搭建测试环境、执行测试、进行BUG验证 、编写测试报告和对测试结果分析。测试方法有单元测试、集成测试、系统测试、验 收测试、黑盒测试、白盒测试等。
问题二:在第五章中讲到了团队合作,但在合作过程中不可避免的会遇到各种问题,遇到这些问题时该如何合理的解决问题并不降低团队合作的效率? 首先要明确团队工作目标,梳理团队关键工作,设定成员考核指标,分工考虑团队关键成员的个性特点、优势与擅长点等,为了保证关键团队成员的工作能够按计划完成,同时保证最终团队目标的实现,要制定相应的工作机制。
问题三:什么是敏捷流程和敏捷团队? 敏捷流程是一系列价值观和方法论的集合;敏捷团队:自主管理,自我组织,多功能型。
posted @ 2022-06-27 23:44  待宰的高羊  阅读(105)  评论(1编辑  收藏  举报