发表于: 2020-05-16 23:16:03
1 700
今天任务:
完成任务1的深度思考
1、什么是敏捷开发:
敏捷开发就是一种指导思想,可以指导我们更加高效的开发。
比如说现在团队接手了一个造航母的项目。但我们无法第一步直接就开始造航母,而是先造一艘小木船,能实现漂在水上的目的后,再造一艘帆船,之后再造轮船... ...直到最后才开始造航母。这就是敏捷开发中的迭代式开发,由一开始的有效但不完美的版本不断迭代,每一次迭代都包含设计、开发、测试,不断改进产品,添加新功能。通过频繁的发布,以及跟踪对前一次迭代的反馈,最终接近较完善的产品形态。
而增量交付就是每造好一个版本的船都会让乘客去感受所有的功能,按照新增的功能来划分迭代。
所以只有迭代开发加上增量交付,才算真正的敏捷开发。
敏捷开发只是一种开发方式或者说指导思想,它并不会告诉我们具体采用什么样的流程去进行开发,所以这里就又有Scrum和XP类敏捷开发的具体流程的诞生。
以下是scrum大概的开发流程:
总结敏捷开发具有以下几个特征:
1、迭代式开发(时间周期循环)
2、增量交付(划分功能模块)
3、用户和开发者及时反馈以推动开发
4、持续集成
5、开发团队自我管理
2、如何做需求分析:
2.1什么是需求分析:
从用户提出的需求出发,挖掘用户内心真正的目标,并转为为产品需求的过程。
其中:
用户需求是用户从自身角度出发,自以为的需求
产品需求是提炼分析用户真实需求,并符合产品定位的解决方案。
2.2如何做需求分析:
当用户产生一个需求的时候,我们应该去深挖用户内心,在场景中,在人和产品的交互中分析用户动机,从需求受众面、需求使用频率、用户对需求的强度、需求的环境四个维度去思考。在用户需求和产品生产之间把握一个度。
3、怎么理解程序员会写出Bug这种事情,可不可以要求他们做到无Bug交付?怎么衡量Bug的修复时间和项目的上线时间冲突问题?
有BUG是很正常的事情,这是无法避免的,有重大的影响产品运营的BUG要修复后再上线,优先级较低的BUG可以在产品上线后再及时更新修复。
4. 边界测试,功能测试,冒烟测试,黑盒测试,自动化测试,回归测试,性能测试的含义分别是什么,应该谁来主导,原因是什么?
1. 边界测试:探测和验证代码在处理极端的或偏门的情况时会发生什么。
2. 功能测试:对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
3. 冒烟测试:针对每个版本或每次需求变更后,在正式测试前,对产品或系统的一次简单的验证性测试。
4. 黑盒测试:在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,检测每个功能是否都能正常使用,以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
5. 自动化测试:一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。
6. 回归测试:修改了代码后重新测试已确定是否引入新的BUG
7. 性能测试:模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
5. Bug如果长时间未得到解决,应该怎么处理?做为PM,是否应该推动Bug的解决,如果PM成Bug的推动者,会不会导致开发人员越来越不主动?
根据BUG的严重程度评估风险,严重的BUG可以停机维护,优先级低的可以等下次版本迭代一起修复,PM的专业技术一般来说没有开发人员好,但也要设法推进BUG,其中鼓励和信任团队很最重要的。
6. 怎么样判断Demo是否应该通过?
测试DEMO是否存在明显BUG,若只有优先级较低的BUG,可以通过后再开发中修复BUG。
7. 常用的Bug管理工具有哪些,互相之间有什么差别,你更喜欢哪一种,为什么?
禅道,都还没用过。
8. 为什么要区分开发,测试,线上三个环境,三个环境之间的区别是什么?分别由谁来主导?
开发环境:开发团队的研发环境,其中一切都很混乱。
测试环境:测试人员和PM主导,由开发团队上传代码到测试环境,检查出BUG后再返回开发环境修复。
线上环境:由用户主导,若存在BUG需要立即修复。
9. 什么是版本回滚,在发布上线的过程中,如果发布不成功,多久之内应该要回滚,谁来决定,原因是什么?
程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。会根据需求和开会讨论后,由PM决定。
10. 什么样的Bug是允许上线的,什么样的Bug是不允许上线的?
根据BUG严重等级决定,Major以上的BUG不能上线,并且需要及时修复,Minor级的BUG可以线上修复。
11. Bug的优先级是什么?一般会分成几个级别,分别对应什么含义?
BUG严重等级:
1.Blocker:系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定。
2.Critical:即影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性。
3.Major:即界面、性能缺陷、兼容性。
4.Minor:即易用性及建议性问题。
BUG优先等级:
1.Immediate:马上解决,表示问题必须马上解决,否则系统根本无法达到预定的需求。
2.Urgent:急需解决,表示问题的修复很紧要,很急迫,关系到系统的主要功能模块能否正常。
3.High:高度重视,表示有时间就要马上解决,否则系统偏离需求较大或预定功能不能正常实现。
4.Normal:正常处理,进入个人计划解决,表示问题不影响需求的实现,但是影响其他使用方面,比如页面调用出错,调用了错误的等。
5.Low:低优先级,即问题在系统发布以前必须确认解决或确认可以不予解决。
12. Bug的生命周期是怎么样的?什么情况下应该是Reopen?什么情况下去Close?
BUG的生命周期,就是一个BUG被发现到这个BUG被关闭的过程有哪些步骤?
生命周期中一般缺陷状态:新建(指派)——已解决(待验)——关闭
如果待验的BUG在验证时没有解决好,我们需要重新打开(激活)——指派——已解决——待验,循环。
13. 什么是测试用例,为什么要写测试用例,测试用例中的前置条件是什么?预期结果是什么?一个登录注册的小模块,正常来讲,应该有多少个测试用例?
全面的测试用例 = 知道测试点有哪些 + 把测试任务中的测试点都找出来 + 知道测试点的类型 + 每种类型的测试项
测试用例:
1.了解需求的过程,可以用测试用例来体现;
2.将用例定为标准;
3.反应测试进度
4.发现并分析缺陷的标准
前置条件:
1.前置条件是对系统状态的描述
2.前置条件不为真会导致测试用例的阻塞
预期结果:
前置条件下进行步骤操作,所期望或预想的结果
登陆注册模块应该有:
登陆模块验证能否正确登陆,登陆失败提示,登陆成功跳转,账号密码是否符合规范,是否正确显示;
注册模块是否成功跳转,注册表单是否正确,注册成功提示,注册失败提示等。
14. 什么是产品经理:
产品经理的定义有很多,其本质就是将需求最终转换为产品的这样一个角色。
一个合格的产品经理需要有用独立思考、灵活运用、沟通能力、把握趋势、化繁为简和学习能力,需要掌握用户研究、产品运营、项目管理、市场分析、产品设计、数据分析、原型设计、需求迭代等。
明日计划:
开始任务二。
评论