一、什么是软件测试工程师
软件测试工程师:研发属于产品的生产者,测试属于产品的质检人员,为了保证产品上线不会出现缺陷,测试体现了重大作用,往往将产品的缺陷在测试过程中发现,并得到修改,这样的产品上线,才能更好的得到使用者的认可和体验。带有缺陷的产品往往会给使用者和经营者带来重大损失,比如:某平台出现折扣券无限使用的bug,给经营者带来了重大的损失。可见测试人员的重要性。
二、软件测试工程师的分类
目前社会面试的技术种类主要有:业务测试(功能测试)、性能测试、接口测试、自动化测试、安全测试、测试开发,所谓的渗透测试、精准测试啥的不需要了解,这些要求在公司招人方面要求太少。
1、功能测试(业务测试)
功能测试:简单的来说就是对产品进行系统性的测试,难度最低,但是想要做好功能测试,也并不简单。如果一个测试人员能够对产品场景设置的测试用例覆盖的全,那么这个产品的质量就越高。技术难度低,容易入门,技能要求:数据库、Linux、接口请求
2、性能测试
性能测试:顾名思义就是产品的性能如何,比如淘宝在双12期间,千万级别用户的访问量,需要通过测试手段验证服务器能不能承受得住如此巨大的访问。性能测试在产品用户数量越大的情况下,重要性越大。
主要通过自己开发的功能或者开源的、收费的功能进行测试,难度较高,常用的工具LoadRunner。简单的性能测试比较容易,对于要求很高的场景,比如全链路的压测要求较高。
3、接口测试
接口测试:通过对接口进行请求,验证接口的返回情况是否正确。难度中等,逻辑能力要求较高,一个测试人员,如果能够对接口的请求参数场景设计覆盖率越高,那么这个接口的准确性就越高。
4、自动化测试
接口自动化、UI自动化
接口自动化测试:大白话。通过自动化测试工具对大量接口进行自动测试。工具代替人工,完成一次自动化程序开发,可以对程序进行反复测试。目前大多数公司都希望测试人员能够通过自动化程序对产品进行测试。含金量较高,功能测试的进阶。
优点:版本迭代、回归测试可以节约人力成本,提高测试效率。缺点:维护成本、代码能力要求。
UI自动化测试:通过自动化程序对程序进行功能测试。效果和接口测试类似,缺点很大
优点:版本迭代、回归测试可以节约人力成本,提高测试效率。缺点:维护成本非常高,往往前端UI界面元素发生变动,程序就需要修改。基本上没有什么公司做UI自动化测试的,也是有的,但是很少
5、安全测试
安全测试:对程序安全情况进行测试,难度非常高。
6、测试开发
测试开发:自动化测试和安全测试、性能测试都属于测试开发,自动化测试代码能力要求很低,自动化测试代码量少。
测试开发主要的工具还是开发测试工具的,比如测试平台的开发、监控平台的开发等等,他们的任务主要是开发一些测试工具,提供业务测试人员的使用,提高测试的效率和测试的质量
综上测试分类属于进阶关系:功能测试->接口测试->自动化测试->测试开发
三、测试人员的工作环境
一个团队里面主要有:产品、UI设计、研发、测试(需求方、运维)
(需求方):大公司的需求都是业务方(运营)提出来的,然后产品进行收集
产品:产品的设计者,研发测试在生产产品的过程中,如何去做,还是看产品如何设计
UI:产品研发过程中,如果涉及到页面要求梅美化度高的情况,通常需要UI进行设计,比如淘宝的一些页面。对产品的界面体验不高的情况,一般就是产品自己画图
研发:产品的开发者、生产者
测试:产品质量的保证者
(运维):产品需要数据库、服务器的支持,他们主要负责这些
一个中等的项目有:1-2个产品、1个UI(可有可无)、6-10个开发、3-4个测试,测试人员的多少,要看公司对产品质量的重视,还要看公司的规模大小
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取