文章目录
- 一、什么是测试
- 二、为什么需要软件测试?
- 三、软件测试开发和软件测试的区别
- 四、软件开发和软件测试的区别
- 五、为什么走测试岗位还要学习开发知识?
- 六、优秀的软件测试⼈员应该具备的素质
- 七、为什么不走开发岗位而走测试岗位
一、什么是测试
** 软件测试就是测试软件的"特性(功能,性能,易用性 ,界面等等)"是否能够满足用户的需求,简单来说就是对某种事物进行检查,当我们写出一份文档或者是某个程序,这个时候我们就需要对其进行检查看看有没有写错字亦或是有没有逻辑错误等等这其实就是一种测试,测试在生活中是处处可见的,就拿我们平时去商场买衣服,首先我们要看看有没有我们喜欢的衣服,如果没有我们就不会进入这家店进行购买,这相当于是外观测试,接下来我们就需要进行试穿找合适的尺码进行试穿,这相当于试穿测试,接下来我们就需要咨询价格,看看价格是否在我们的考虑范围之内这相当于是价格测试,如果当中的某一种测试我们发现了问题,那么我们就不会进行购买。在软件里面如果测试发现了有BUG那么就要打回给开发人员修改bug解决问题,或者是测试软件的界面是否符合大众的审美等等。所以测试在我们的生活中非常常见也非常的重要,所以软件测试是测试软件的特性是否能够满足用户需求,是产品特性最后的把控,在不同的时候测试的内容也是不尽相同的**
二、为什么需要软件测试?
** 软件测试是产品质量的一道把控,对软件进行验证软件的功能以及页面等是否能够满足用户的需求,企业生产产品的最终目的是盈利,产品的受众群体是用户,用户的直接感受会直接影响企业的盈利,如果产品的质量不讨用户的喜欢那么就会导致用户流失,企业就达不到盈利的效果,假设开发完成一个软件的开发之后直接上线运行,能不能运行成功我们先不聊,因为没有哪一个程序猿敢说自己写的代码就一定没有BUG这是绝对不可能的,软件没有经过质量检测就有可能会出现闪退或者是功能故障的情况,那么用户遇到这种情况用户就会对软件的印象大打折扣,那么结果就是用户卸载软件,企业丢失用户导致无法产生盈利,但是如果开发完成产品开发后先交给测试进行质量检测,如果发现问题就退回给开发解决问题,这一个过程就相当于是测试人员基于源代码进行软件体验,在这一个体验的过程中就可以提前发现问题,从而达到产品质量保障,提升用户满意度的一个过程,最终实现产品盈利,并且软件测试并不一定就是只有等着开发提交代码给测试人员测试,软件测试是贯穿整个软件开发生命周期的,在不同的时期测试会不同的内容,对于代码可以是简单的找BUG,对于需求的提出可以是测试需求的可行性,因此软件测试的存在是很有必要的,是对于产品质量的一道严格把控**
三、软件测试开发和软件测试的区别
** 首先两者的本质都是测试人员,都是对产品的质量进行严格把控,保障产品的质量能够上线正常运行,实现盈利,不同点就是软件测试开发比测试多了开发两个字,但是这个开发并不是我们常理解的开发,他不是业务的开发,测试人员不参于业务开发,这个开发是开发用于测试的效率工具,通过效率工具来提高产品测试的准确性以及测试速度,比如我们的自动化,性能测试等就属于效率工具,测试开发相当是生产武器工具的,测试就相当于拿着测试开发生产的武器去冲锋陷阵查找BUG,测试开发也可以拿自己生产的武器去冲锋陷阵, 两者的目的本质上都是一样的,都是保障产品的质量,提高企业的盈利收入**
四、软件开发和软件测试的区别
** 首先两者的最终目标都是交付高质量、满足用户需求的软件产品,但是两者的工作内容不相同,开发人员负责软件代码的开发,但是在开发的过程当中开发人员要编写单元测试,自己对自己写的代码进行质量检查,测试人员负责对产品进行测试,开发人员只需要负责产品的代码开发即可,测试人员的工作贯穿整个软件的生命周期。测试的这一个工作是需要所有人进行参与的,参与项目的任何人都需要对产品的质量进行负责,产品的开发到上线每一个阶段都需要进行测试,并不是说只需要开发人员配合测试人员修改代码BUG,而是所有人都要配合一起对产品进行测试,项目组的成员就像是一个班级,分有班长,学习委员,普通成员等但大家本质都是这个班级的一份子,因此大家都需要对这个班级进行负责,从产品需求提及的时候就已经存在测试了,测试需要对需求进行检查,不同的阶段都有测试,只是测试的内容不相同**
五、为什么走测试岗位还要学习开发知识?
** 测试人员学习开发知识的目的本质还是为了保障质量,测试人员需要具备开发能力,在开发测试效率工具的时候需要编写代码,需要能够看明白代码,了解开发框架,以及提升自身的实力,还有就是学好开发的知识能够有助于我们提高软件测试的质量,可以通过查看源代码里面数据的走向更加效率的发现问题,提高 测试的效率,如果测试人员不会开发的相关知识,那么就只能从表层寻找问题,那么测试就过于简单了有可能会导致相关的BUG无法检测出来,应该源码配合表层一起进行测试**
六、优秀的软件测试⼈员应该具备的素质
1、综合能力:沟通能力+快速学习的能力+开发能力
1)拥有良好的沟通能力能够提示我们的工作效率,当我们发现代码当中有BUG,我们需要和开发人员进行沟通,如果沟通能力较差那么就有可能会导致开发人员难以理解BUG的出现情况
2)快速学习的能力,随着现在时代的快熟发展,新的框架新的知识不断涌现我们需要有能够快速学习的能力,当我们进入新的公司后,我们测试人员需要快速了解公司写效率工具的语言是什么,还有要了解那些业务以及公司测试的流程是什么,这些都需要我们快速的学习掌握
3)开发能力,我们需要编写开发效率工具,因此我们需要具备一定的开发能力
2、掌握自动化测试技术
在测试的过程中会出现多次重复测试的情况,那么在多次重复的情况下我们是手动进行测试的,那么就会导致我们的测试效率低下,比如软件的版本更新迭代,新版本的出现不能影响旧版本的功能使用,因此每一次的更新都需要对旧版本的功能进行测试避免新版本的功能导致旧版本的功能不能正常使用,那么就会出现多次重复测试同一个功能,那么手动测试就会效率低下,因此掌握自动化测试的技术就非常的有必要
3、设计测试用例的能力
测试人员最本质的工作还是测试,那么编写测试用例进行测试的能力就格外重要,设计的测试用例需要能够高效的发现代码缺陷,保证产品质量的优秀测试用例
4、探索性思维
是一种思考方式,简单来说就是经过每一次的测试,都对测试的结果以及测试的整个过程进行总结,测试出BUG可能是那些地方出问题,将每一次的经历都进行内化,当下一次进行测试的时候提前去思考如果我设计这个测试用例会导致什么样的结果,然后根据这个思路去设计测试用例来进行测试,最后再根据结果进行验证,如果得到的不是我们推测的结果,那么我们就应该根据这个结果继续深挖,查看是什么原因导致产生不同的结果,提前对测试结果进行推理,提高测试的效率
5、兴趣
做什么事情都逃不开兴趣二字,兴趣是最好的老师,如果对于某一件事情没有任何兴趣,那么你做这件事情就是煎熬的
6、责任感和压力
责任感是每一个工作的必须要有的,对于测试人员来说,测试是对产品的一道严格的把控,会直接关系到产品上线后是否满足用户的需求以及企业是否盈利,但是测试工作的成果很难进行衡量,测试用例执行,BUG数目的多少都无法说明产品的质量是否一定合格,只能说是提高合格度,但本质来说产品的最终测试质量还是和测试人员密切相关的,因此 测试人员需要具备责任感
还有压力,要有强大的抗压能力,工作的过程不可能一帆风顺,因此对于压力要能够扛着压力前行
七、为什么不走开发岗位而走测试岗位
** 1、首先是我个人对于测试比较喜欢,了解测试的存在意义之后我们都知道测试非常重要,在测试的过程中我们需要设计大量的测试用例,这一个过程需要具备良好的耐心,以及细心,如果耐心不好或者是不够细心,那么就会导致我们的产品不够合格,对于用户来说可以达不到她们的需求,对于这个过程我认为是比较富有挑战性的,并且我具备良好的耐心,我认为自己可以胜任这一份岗位,我曾经学习数据结构的时候,一直坚持手绘每一个数据的变化的每一个过程直到自己可以完全理解,所以我个人对于测试这一份工作非常感兴趣,也相信自己可以胜任这一个岗位
2、我个人在职业规划方面,大一的时候就规划自己以后要走测试方向的目标,今后将继续提高测试的测试用例编写和开发能力,争取可以在测试领域里面走出属于自己的那一条路
3、开发的本质是任何构造,构造出一个完整的软件,是建设性的,是以数据运行绝对没有问题的思路来设计代码的,而测试的本质是破话性,分析性的思维,是以我认为你的代码不够完美为目的来找出代码当中的问题,测试相当于是去找薄弱地点,这一个过程具有相当的挑战性,如果我成功的找出了问题那么我会获得相应的成就感,并且能够成功的为企业避免相应的损失,测试相当于就是某种意义上的守护,我认为这种守护才是最重要的,因此我个人更喜欢测试这样的岗位**