发表于: 2021-01-06 16:14:45

1 643


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)

主要针对任务一和任务二的深度思考进行理解

1.什么是敏捷开发? 

敏捷开发是一种想法,一种指导思想,比如一个产品,如果等到全部功能做完在进行上线测试,可能原计划会需要一年两年的时间,这样所需要的时间与金钱成本都很大,如果在上线的过程中demo在出现问题,就会很严重影响进度,所以敏捷开发就可以很好的解决这个问题,一边让一些主要的功能先实现,在进行迭代,缩短时间成本,可以快速看到项目成果,从而也可以避免后续的一些问题,也可以称为小步快跑,快速迭代。


2.如何做需求分析?

一般用户提出的需求,是从自身提出的,认为适合自己的需求,我们就需要从用户提出的需求中,去发现用户真的的目标,从而转化为产品的需求。


3.怎么理解程序员会写出Bug这种事情,可不可以要求他们做到无Bug交付?怎么衡量Bug的修复时间和项目的上线时间冲突问题?

在开发实现功能的时候,出现bug是很正常的事情,有可能是开发没有理解透彻,或者是产品经理没有描述清楚,出先bug的时候,只有根据bug的优先级来处理,一般像直接让系统崩溃,无法工作的这种bug需要开发人员马上进行处理,严重的情况下是需要版本回滚的。

bug可以分为critical最严重的block非常严重major严重的normal常见的、minor。

所以在出现critical、block级别的bug时,一般需要相关人员快速响应并进行处理的,例:某用户打开网站显示404问题

再出现block级别的bug时,一般为业务逻辑上的问题,比如说在修真院报名时,系统会自动分配一个师兄,如果报名后,没有出现,就说明出现了问题。


4.边界测试,功能测试,冒烟测试,黑盒测试,自动化测试,回归测试,性能测试的含义分别是什么,应该谁来主导,原因是什么?

边界测试:探测和验证代码在处理极端的或偏门的情况时会发生什么。仅包含输入、输出的边界,还包含数据结构的边界,状态转换的边界,功能界限的边界或端点。如微信红包单个金额的取值范围是 (0, 200),因此我们可以得到边界值:0, 0.01, 199.99, 200, 200.01 这五个数值。

功能测试:据产品的需求规格说明书和测试需求列表,验证产品的功能实现是否符合产品的需求规格。它是系统测试过程中最基本的测试,不关注软件内部的实现逻辑。比如测试提交按钮能不能用,输入框能否输入。一个产品做完后到处点,所有功能点一遍,确定是否有不正确或遗漏的功能;功能实现是否满足用户需求和系统设计的隐藏需求;能否正确地接受输入;能否正确地输出结果。验证业务流程是否正确、合理。

冒烟测试:指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测试性。开展冒烟测试工作有助于尽早发现软件代码存在的问题,提高软件代码的质量和开发效率。基于持续集成的冒烟测试采用自动化测试脚本进行测试工作,能够提高测试效率,减少测试人员大量的重复测试验证工作,有助于尽早发现软件代码存在的问题,提高软件代码的质量和开发效率。能够提高测试效率,减少测试人员大量的重复测试验证工作。冒烟测试可以手动执行,也可以自动化执行。稳定的系统适合自动化冒烟测试,集成过程中的系统适合手工冒烟测试,因为冒烟测试内容在动态变化,变化中的自动化脚本维护工作量比较大。   

黑盒测试:功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。自动化测试是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。

自动化测试把以人为驱动的测试行为转化为机器执行的一种过程。

回归测试:件测试的一种,旨在检验软件原有功能在修改后是否保持完整。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。

性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。


5.Bug如果长时间未得到解决,应该怎么处理?做为PM,是否应该推动Bug的解决,如果PM成Bug的推动者,会不会导致开发人员越来越不主动?

产品发现bug大概有这几种时机:demo前(帮助程序员自测发现的bug)、demo后(demo时和测试反映的bug)、上线后(上线验证时发现的bug)。一般情况来讲,上线后的bug最为紧急,一定要以最快速度修复,上线环境再小的bug也比其他阶段的bug优先级高。

demo前后的bug,开发人员都要按照bug的优先级由高到低进行修复:Critical(系统崩溃,完全不可用的bug)、Block(一个地方卡死,导致无法进行下一步操作的bug)、Major(流程可以走的通,但是关键的业务或者是数据错误,影响用户的正常使用的bug)、Normal(对大部分用户来说都无关紧要,可以用,可以不用的地方出现的bug)、Minor(样式类无关痛痒的bug)。

bug如果长时间未得到解决,作为Pm首先不应该去质问开发人员,应该了解是如何产生的,是自己的问题就应该去调整设计方案,如果是开发人员理解错误导致产生bug,那应该去积极的沟通,如果沟通无果,则需要去跟直线leader进行沟通处理。


6.怎么样判断Demo是否应该通过? 

测试中看demo是否存在明显的bug,如果只是出现minor无关痛痒的bug,可以先通过demo,后续在联系开发人员进行修改。


7.常用的Bug管理工具有哪些,互相之间有什么差别,你更喜欢哪一种,为什么?

不知道,还没使用过


8.为什么要区分开发,测试,线上三个环境,三个环境之间的区别是什么?分别由谁来主导?

开发环境:一般指的是开发研发的环境,比较混乱,这个环境下是开发主导;测试环境:当开发将产品上传到测试环境中,由测试人员进行测试,检测出其中的bug,一般由测试人员和pm进行主导;线上环境:一般指的是测试产品无误后进行上线,由使用产品的用户作为主导。


9.什么是版本回滚,在发布上线的过程中,如果发布不成功,多久之内应该要回滚,谁来决定,原因是什么?

回滚指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为,回滚包括程序回滚和数据回滚等类型。

我们讨论的版本回滚是指在发布的过程中出现问题,或者发布后出现问题,为了避免业务影响,取消本次部署,将代码的版本恢复到上次稳定运行的版本。

在发布上线的过程中,如果发布不成功,需要回滚,如果发布成功,但在验证过程中发现新的bug,并且bug级别较严重,影响使用,回滚。
回滚时间是出问题即刻进行回滚,一般发布是jar包或者其他版本包,直接部署就可以了,时间在10-20分钟,如果数据库改变了,就需要处理时间长点儿。

通常回滚的决定人是部门主管。

发布失败的原因有很多,技术原因一般开发会去查,可能是部署的问题,这个很快能解决,更多情况是,发布的时候才发现测试有问题。

所以!在发布新版本后出现问题时能紧急修复就紧急修复,不能修复或者修复后也不成功就回滚。


10.什么样的Bug是允许上线的,什么样的Bug是不允许上线的?

测试中出现normal常见的、minor这两类bug的时候是可以允许上线的,但是如果一旦出现影响产品正常运营,或者逻辑错误,以及重大问题的时候像critical最严重的block非常严重major严重的类bug是不允许上线的。


11.Bug的优先级是什么?一般会分成几个级别,分别对应什么含义?

bug一般分为五个级别,分别是critical最严重的block非常严重major严重的、normal常见的、minor轻微的,一般是出现critical最严重的block非常严重major严重的bug时候会进行优先处理,特别是crtical、block级别的bug一般会称为事故,非常严重,需要在两小时内进行处理。


12.Bug的生命周期是怎么样的?什么情况下应该是Reopen?什么情况下去Close?

我所理解的bug生命周期是bug发生后到被修复的过程。新建-指派-接受-修复-关闭,

reopen:如果经过再次测试发现bug(指bug本身而不是包括因修复而引发的新bug)仍然存在的话,测试人员将bug传递给开发组,并将bug的状态设置为“Reopen”

Close:当一个bug发现后被修复成功后会关闭。


13.什么是测试用例,为什么要写测试用例,测试用例中的前置条件是什么?预期结果是什么?一个登录注册的小模块,正常来讲,应该有多少个测试用例?

测试用例是测试人员写出来的文本,因为有的测试用例不只是一次出现,所以需要去记录,方便后续进行查看;测试用例的前置条件是测试当前的测试用例系统需要满足的条件,预期结果,就是测试后是否正常,登录模块来说一般有:正确输入账号密码,看是否成功跳转;输入错误的密码看是否能够跳转;多次输入密码错误,账号是否会被锁定;输入存在空格,是否可以跳转;输入含有特殊字符是否可以跳转等;注册模块有:输入正确的账号密码是否显示注册成功;注册的时候密码带有特殊字符,是否可以注册成功;注册的时候,密码含有空格是否可以注册成功;注册的时候不写密码,是否可以跳转等。

14.什么是产品经理? 

产品经理就是通过市场调研,以及了解用户的需求,从何确定开发什么产品,选择何种业务模式、商业模式等。并推动相应产品的开发组织,他还要根据产品的生命周期,协调研发、营销、运营等,确定和组织实施相应的产品策略,以及其他一系列相关的产品管理活动。

明天计划的事情:(一定要写非常细致的内容)

如果任务二通过就开始着手准备任务三。

遇到的问题:(遇到什么困难,怎么解决的)

今天主要是对于任务一的深度思考进行了学习,关于版本回滚,BUG的生命周期,以及BUG是否应该由产品经理来进行推动去进行了相应的资料查阅与记录理解。

收获:(通过今天的学习,学到了什么知识)

了解到了敏捷开发不是一个技术,而是一种思想,采用快速迭代的方式进行产品的研发,同时bug对于产品的影响,以及demo在什么情况下可以正常上线,以及测试的具体分类,和需求的分析。


返回列表 返回列表
评论

    分享到