大家好,感谢邀请,今天来为大家分享一下软件测试方法和技术的问题,以及和软件测试学*什么内容的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
本文目录
关于“做软件测试需要那些技能”这个问题,其实主要看你想做那一工种的测试。比如:如果你仅仅只做功能测试,你只需要学*软件功能测试阶段基础内容就可以开展测试工作。那测试基础包含那些内容?首先我们需要具备一定的软件测试理论知识,为什么需要学理论知识呢,从事过软件测试行业的同学就知道,平时工作的时候可能你会觉得,学的这些理论知识没有一点作用,那为什么面试的时候都要考这些理论知识?在这里就体现理论知识的价值了,为什么企业里面要面试这些理论知识呢?对企业的岗位有用?有些人认为理论没用,仅仅是你平时做的测试工作没有加以思考,从而做了很多年测试也显得不专业,自己测试的层次永远站在初级阶段来思考问题,这样其实只要离开公司跳槽会面临很大的压力,所以作为一名初级测试工程,测试基础是必备的技能,需要重点掌握,才能从面试中脱颖而出。
其次就是基于项目实践的软件测试过程活动,主要包括测试流程,测试阶段性的内容,当然也包括平时常用的一些缺陷管理工具,测试的规范文档等内容,如果把这些知识点掌握了,应用功能测试就不在话下。
再次:如果你是从事自动化测试或者性能测试岗位,你必须掌握一门编程语言以及相关接口测试的基础和测试工具,因为语言是为自动化测试打基础,我们所有的自动化测试都是基于代码来编写测试脚本,所以如果没有编程功底,自动化测试是无法开展去下的,基于性能测试也需要结合编程语言与接口测试基础开展测试,因为性能测试是基于协议的而开展,基于功能协议的一种测试,性能测试不用通过界面,只需要有接口测试文档即可,再在接口测试的基础上增加用户量从而来完成性能测试,首先需要掌握一定的自动化与性能测试工具,包括抓包工具,计算机网络知识、编程语言、操作系统、性能监控工作相组合,就能应付性能测试与自动化测试岗位
做为从事测试工作十几年的一个老测试,看了好几天这个问题,但却一直没点进来回答这个问题!原因很复杂,但今天最终还是想给希望踏入这个领域的有心人分享一些个人经验!
一、测试是一个入门相对容易的职业。可以这么说,只要对电脑操作有一定了解的人,原则上都可以去做软件测试,只是刚开始能做的测试任务比较简单罢了!
二、测试又是一个精通比较困难的职业。很多非常牛的计算机系学校开设有专门的软件测试硕士专业,用来专门培养高水平的测试人员。
从以上两个极端的测试从业者水平之间的知识差距可以分析软件测试大概需要学*的内容。
如果只希望做基本的UI测试或简单重复测试,只需要了解电脑基本操作、被测程序的基本业务操作、知道碰到问题报告一下就够了。这时候可能自学基本软件测试和电脑入门的书就可以完成测试操作了。如果更进一步水平的测试业者,就需要了解问题的为什么发生?验证问题是否解决?下次测试该怎么发现类似问题?这时候需要的知识可能就需要专业的培训机构经过1、2个月的培训才能达到这种境界。但一般培训机构除了测试的专业知识课程和一些典型项目测试实际操练外,同时会讲一些计算机相关的一些知识,比如:软件工程、操作系统、数据库、网络等,但这些都是皮毛。更进一步软件测试工程师是一些计算机系科班出身的从业者,本身除了在学校深入地学*过计算机系列课程外,开始在测试的细分方向上下功夫,比如:自动化测试、性能测试、安全测试。这时候测试的功力和专业度就非常高了,除了有学校的课程基础知识外,还需要在实际工作中熟悉不同类别的专业软件工具:商业的、开源的、自研的等等。最牛级别的测试就是那些专家级和领域翘楚级测试业者。他们引领着业界测试的方向:最新的测试技术、最新的测试理念、最新的测试方法等等。基于以上,可以说软件测试是一个需要活到老学到老的职业,你愿意学的内容根据你希望达到的职业目标紧密联系在一起的!
希望以上对您有一定参考和借鉴!
一枚IT兵哥
庚子年春于北京
这个问题,我正好有一点资格回答一下,因为之前曾在国内某互联网大厂做过测试开发实*生。实*了差不多3个月的时间吧,所以测试开发的基本工作都是有一些了解的,我就我接触到简单的谈一下。
编程语言
一般都是喜欢用脚本Python。因为测试开发的主要工作,我觉得还是自动化测试比较多吧。但是这个自动化测试分为两块,第一就是客户端,第二个就是服务端了。我实*的时候是在客户端组,所以用到的一些东西都是按照客户端来讲。
2.框架
如果是做客户端或者web自动化测试,用的比较多的就是appium自动化测试框架,我之前实*也是用的这个框架,非常好用。而且这个框架还有一个可视化软件,可以帮我们看一些元素的信息,如resource-id等,让自动化测试更简单
3.思维
测试的话,一般为了保证我们的测试质量,我们都需要将各种情况都要考虑到,这就要要求我们qa的思维要比较严密,考虑问题要全面。
4.计算机相关的基础知识
qa为什么要懂计算机基础知识呢?例如数据库、计算机网络呢?可能有的人会疑惑。因为我们自动化测试的时候,经常需要设计一些测试用例,我就举个简单例子,比如现在需要你去测试某个后端API,你需要写一些case,那么如果你不懂数据库,怎么写case?还有就是我们经常在定位bug的时候,需要使用chaless等工具抓包,然后分析body数据;这就要求我们懂网络、数据库等基础知识
5.开发知识
这块,我觉得要求可能要低点。其实qa有一部分工作是做一下测试平台,需要懂一些基础的前端或者后端知识,我自己在实*的时候也做过类似的工作。但是这些技术,不需要你懂得非常深,了解基础的就够了。
ps:各位同行还有其他内容需要补充,可以评论写出来啊
软件测试可以自学。推荐一个网站:慕课网,上面有基础的也有实战类课程。如果是纯小白自学,可以从理论知识学*,毕竟理论基础很重要。先选定软件测试的方向,学*理论基础的过程中,要同时进行实践,动手能让你进步更快。
自学测试的过程中,从基础不断加深技术含量。现在测试涉及到白盒测试、黑盒测试、接口测试、自动化测试、本地化测试等。刚开始自学达到一定效果,配合学*实践相关的测试工具。还可以再学一门语言,比如python,对测试有很大的帮助。
如果你还想了解更多这方面的信息,记得收藏关注本站。