认识软件测试
什么是测试?
测试的场景有很多,日常生活中比如买电脑,网上购物,买电脑的过程中就伴随着测试行为,比如外观测试:比如外观是否霸气。
性能测试:比如显卡,CPU,内存是什么类型
价格测试:看看这台电脑是否买得起。
再到程序也有测试,比如一个关于除法运算的函数,我们要测试这个代码逻辑是否符合预期,有没有对除数不能为0进行了处理。
为什么需要软件测试?
企业的最终目的就是为了 盈利,互联网企业借助软件/系统来跟用户进行交互, 也就是说企业的受众群体就是广大用户,而用户对企业产品的满意程度就直接影响了企业的盈利,如果产品质量差,那么就会流失大量的用户,所以企业非常注重测试。
对于软件测试的定义:
软件测试就是为了验证软件产品特性是否满足用户的需求。
这里的特性比如:功能,性能,界面,易用性等等
测试的岗位有哪些?
测试的主要岗位就分为两种:
1.软件测试开发工程师(简称 “测开”)
其中工作的重点:进行业务测试,开发测试效率工具(自动化,性能测试)
2.软件测试工程师
其中工作的重点:进行业务测试。
软件测试开发工程师和软件测试工程师有什么区别?(*)
相同点:
1.都称为测试人员。
2.都是为了保障产品质量,对产品负责。
不同点:
测试开发这里的开发不是指业务开发,因为业务开发是开发人员的职责,这里的开发是指开发测试效率的工具,通过效率工具来提升测试的效率和测试质量,比如自动化,性能测试就属于效率工具
软件测试和开发的区别
开发人员会的,软件测试的也得会,并且还要比开发多会一些测试的技能,但是关于开发的技能不需要像开发人员那么专业,基本做到能看懂就行。
总结:开发的广度小,专业度高;测试的广度大,专业度相对较低。
测试人员会进行测试,开发人员进行调试动作,关于测试和调试的区别:
其中,测试的执行阶段是贯穿整个软件开发生命周期的,这一点很重要!
走测试岗位为什么要学习开发的知识?(*)
1.测试人员也要会编写一些代码,比如自动化测试,性能测试,开发测试效率工具等等。测试人员也要能看懂代码,了解开发框架。
2.学习开发知识能够提高软件测试质量。通过查看代码中数据的走向能够更好的从代码层面去发现问题。
优秀的软件测试人员具备的素质
这里的列举一些面试科能会出现的问题:
为什么想走测试而不是开发?(兴趣,具备的素质)
你觉得自己做测试有什么优势?(兴趣,具备的素质)
你具备什么样的特点。。。
接下来就介绍测试人员所需要具备的素质。
1.综合能力:
包括:
沟通能力。
开发能力。
快速学习的能力。
文字能力。
2.掌握自动化测试技术
自动化测试只是一个统称,比如接口自动化,前端自动化
3.测试用例的设计能力
测试用例的设计能力是指,无论对于什么类型的测试,都能够设计出高效的发现缺陷,保证产品质量的优秀测试用例。
4.探索性思维
比如给你一个游戏本,让你进行测试,我们就需要从多个维度来进行测试。
5.兴趣
6.责任感和压力
开放性的面试题:
为什么走测试岗位而不是走开发岗位?(*)
这里没有标准答案,我们可以从三个角度来组织答案:
从岗位的工作性质 + 个人兴趣/爱好 + 个人职业规划。
参考: