做测试开发都需要学习哪些技术?

1.测试流程概念:

2.需求分析技能:

3.用例编写技能:

4.代码编写技能:

自动化测试开发的前提,Python Java任选其一学习即可

5.环境搭建工具:

把软件装到硬件环境中,Linux xshell xftp mysql navcat等

6.测试开发技能:

实现界面接口等自动化,Selenium Appium Jmeter Postman Fiddler等

希望我的回答可以帮助到你,有任何测试开发方面的问题都欢迎来私信了解哦~




什么是软件测试开发?

软件测试开发也是软件测试,只是相对来说测试的技术水平更高,在执行测试时效率更快,测试结果也更精准,能够执行一些复杂项目的测试工作,把一些潜在的bug找出来,降低产品研发人员的修复成本。

需要学什么?

1、扎实的测试理论知识;

理论基础可以说是测试人员的根基,是软件测试人员必须要掌握的知识,例如软件生命周期,测试用例编写方法,软件测试原则。软件测试管理相关技术,软件各个阶段评审,软件测试计划编写,软件测试过程管理,软件验收,软件测试整个过程一些文档规范等等。

2、基础的编程语言;

编程语言并不是开发人员才要学的内容,中高级测试工程师也必须要会编程语言,只是不需要像开发人员那么精通,像Java和Python都是比较热门的编程语言。

3、了解和接触框架;

这里的框架指的是Selenium和一些自动化测试框架。包括:单元测试框架,Java中Junit或者testNG,Python中unittest。

4、Linux和数据库;

不用说,自动化测试到一定深度,也需要用代码连接数据库去进行测试,Linux和shell脚本,基本上测试环境也会接触到。如果要做自动化部署和运维,常见的Linux和shell脚本是有必要学习的。

5、版本控制和持续集成;

目前大多数互联网公司使用GIT作为公司版本管理工具,所以需要去学习、了解它,包括它的基本操作。

6、爬虫;

这也是中高级测试工程师需要掌握的技能,学Python语言的话也可以用Python执行;

7、自动化脚本开发;

这里主要指的是selenium,用selenium编写自动化测试用例,当然需要对selenium达到非常熟练的地步,来实现更深层次的项目测试。

霸哥这里主要做的就是软件测试开发技术培养,针对企业技术需求及时调整课程大纲,让学员学到更前沿的技术,贴合企业用人需求,附上我们的课程大纲,是零基础转行、手工测试进阶都适用的学习内容。

测开课程大纲:http://www.zmnxy.com/article-419-1.html




这个问题,我正好有一点资格回答一下,因为之前曾在国内某互联网大厂做过测试开发实习生。实习了差不多3个月的时间吧,所以测试开发的基本工作都是有一些了解的,我就我接触到简单的谈一下。

  1. 编程语言

一般都是喜欢用脚本Python。因为测试开发的主要工作,我觉得还是自动化测试比较多吧。但是这个自动化测试分为两块,第一就是客户端,第二个就是服务端了。我实习的时候是在客户端组,所以用到的一些东西都是按照客户端来讲。

2.框架

如果是做客户端或者web自动化测试,用的比较多的就是appium自动化测试框架,我之前实习也是用的这个框架,非常好用。而且这个框架还有一个可视化软件,可以帮我们看一些元素的信息,如resource-id等,让自动化测试更简单

3.思维

测试的话,一般为了保证我们的测试质量,我们都需要将各种情况都要考虑到,这就要要求我们qa的思维要比较严密,考虑问题要全面。

4.计算机相关的基础知识

qa为什么要懂计算机基础知识呢?例如数据库、计算机网络呢?可能有的人会疑惑。因为我们自动化测试的时候,经常需要设计一些测试用例,我就举个简单例子,比如现在需要你去测试某个后端API,你需要写一些case,那么如果你不懂数据库,怎么写case?还有就是我们经常在定位bug的时候,需要使用chaless等工具抓包,然后分析body数据;这就要求我们懂网络、数据库等基础知识

5.开发知识

这块,我觉得要求可能要低点。其实qa有一部分工作是做一下测试平台,需要懂一些基础的前端或者后端知识,我自己在实习的时候也做过类似的工作。但是这些技术,不需要你懂得非常深,了解基础的就够了。



ps:各位同行还有其他内容需要补充,可以评论写出来啊




1、数据结构、网络、操作系统、数据库基础知识;

2、前端:最起码jquery吧,MMVM的起码懂一个React/Angular/VUE,至少会发个POST请求到后端吧;

3、数据库:MySQL、Mongo不用多说吧,其他时序数据库influxdb辅助;

4、操作系统:Linux必备;

5、中间件:Redis,Zookeeper、tomcat起码得会吧;

6、编程语言Java系的:

(1) 打包Maven;

(2) 开发框架Spring/SpringBoot/SpringCloud;

(3)单元测试:JUnit/TestNG;

(4)mock:mockito,powermock等;

(5)ORM框架:MyBatis/Hibernate,或者起码JPA吧;

(6)Java本身,起码会搞个多线程吧;

7、持续集成:Jenkins

8、代码质量:Sonarqube

9、UI自动化:Appium/Webdriver;

10、图表工具:echarts;

11、性能测试:起码jmeter吧;

12、消息队列:ActiveMQ、Kafka等会一个吧;




软件测试:

1.测试环境(网络环境,windows环境等)

2.数据库管理

3.编程技巧(java编程设计,脚本语言,设计工具,XML编程)

4.软件测试技术(测试理论,方法,流程,文档写作,测试工具,自动测试)

5.测试技术实践

软件开发:

1.对应语言的语法

2.数据库管理

3.开发工具的使用

4.开发语言的学习





千锋软件测试全栈培训老师注意到,近年来,由于IT行业的人才稀缺,越来越多人转向了IT相关职业。由于IT软件业的薪资较高,吸引了不少人选择了IT软件专业,IT软件专业包括软件开发、Java工程师、软件测试工程师等。从薪资来说,软件测试工程师相比软件开发类的职业会偏低一点,但是它的难度性也会偏低,所以也有不少人选择了软件测试工程专业。那么在转向这个专业的同时,首先还是得了解它主要是做什么的,需具备哪些职业素质。

软件测试工程师主要是负责理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。简单的说,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。那么要成为一个软件测试工程师应具备哪些职业素质呢?

1.分析能力。软件测试的核心其实应该就是设计测试用例了,而设计测试用例,就是依赖与分析能力了。这里我们不说那些常用的设计方法,从一个稍高的层面上来讲,就是怎么将一个复杂的系统进行抽象,分析拆成几个不同的维度,结合维度可能出现的情况进行有选择的组合,以小成本获取大收益。无法将一个复杂系统拆解成简单的维度,是没法做好用例设计的。

2.编程语言。语言其实就像说话一样,只不过我们常说的英语日语之类是与人沟通,计算机语言就是与计算机进行沟通的。对于测试工程师来说,精通一门语言,熟悉其它几门语言是有必要的。对于不同语言编写的被测程序,是有不同特点的,如果对实现的语言不了解,无法进行白盒测试,没法看代码diff(结合代码diff做测试)来提高效率。对于特点不了解,可能也会导致自己漏掉部分内容。

3.设计能力。不要认为设计能力就是开发工程师的事情,拥有好的设计能力,就可以在设计评审的时候多提意见,促进开发工程师使用好的设计,不仅对开发有好处,对测试也是很有好处的。这样才能防患于未然,不仅自己的劳动力,也节省团队的劳动力。

4.对业务的理解。对业务的理解越充分,就越能够理解终端用户的需求,促进产品设计使用好的方式,促进产品成功。难道你想做一大堆不成功的项目么,那样是多么没有成就感的一件事啊。

5.自动化相关的考虑。随着项目越来越多,系统的测试项目也会积累的越来越多,每次有新功能了,难道要用手工来回归一下原有的case么。自动化测试是提高回归测试效率的唯一解决方案,以高效率促进高质量,才是一个良性循环的发展方式啊。




 首先,测试开发并不是所有测试人员进阶路线,更适合那一小撮对开发技术有热情的测试。测试开发其实是一个相对小众需求,尤其是大多数中小型互联网公司基本不需要这样的职位,因为有很多开源的测试工具和测试平台供大家使用。

测试开发应该具备自动化测试技术,但不局限于次,也应该具备平台和工具的开发能力。后者对很多公司来说并不是刚需,当然,很多测试也达不到这个水平。以我最近几年在测试工作中已经比较注重编程能力的锻炼和使用了,真的着手开发工作时仍然补了不少开发知识,尤其是前端开发技术。

  我也不知道我们老大怎么想的,招来几个人来专门做测试开发,也许他以前只带过开发团队觉得测试团队太low,必须招几个测试开发充场面。因为我们公司其实规模并不大!

  这一年,我们也走了很多弯路,虽然,我们已经很注重需求分析和使用体验了,但仍然开发出来的一些功能彻底废了。

  现在的核心工作是通过平台整合研发测试流程,你也许会说,JIRA、禅道都挺好用的不需要搞什么平台!我们公司也在用JIRA,而且是付费的,关键是并不完全贴合我们公司的研发测试流程。

  如果有一个平台可以把需求管理、接口管理、开发测试环境维护、版本管理、缺陷管理、自动化测试执行、性能测试全部串起来,提高研发效率5%,而且只需要投入两三个测试开发,是不是很划算?随着技术团队的不断扩大,这个收益也会进一步放大。我们还省掉了JIRA的费用。

  在你享受开源测试工具的便利时,正是由一些测试开发贡献的,如 airtest、httpRunner、uiautomator2等。

  测试开发需要什么技术?

  当然是开发技术!




测试开发,首先需要对测试有个清晰的认识,最好有软件测试相关经验,这样才可以更好的理解软件业务,从而通过编程语言实现测试自动化,或者开发测试工具。具体来说需要软件测试和编程两个方面的技能。




我认为只有测试思维和编程能力就够了




现如今,随着互联网技术飞速的发展,当一个网站或者产品做出来,头一个想到的就是测试,那么软件测试都学习什么技术呢?其实啊,对于任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以经由测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:

1、是否有不正确或遗漏的功能

2、在接口上,输入是否能正确的接受?能否输出正确的结果?

3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求?

5、是否有初始化或终止性错误?

软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。以在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:

1、对程序模块的所有独立的执行路径至少测试一遍。

2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

3、在循环的边界和运行的界限内执行循环体。

4、测试内部数据结构的有效性,等等。

以上事实说明,这世上不存在完美,即测试必然具有不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。所以,千锋老师时常感叹,软件测试,实在是学无止境啊!软件测试都学习什么技术?太多了!

展开阅读全文

页面更新:2024-04-29

标签:测试   技术   框架   错误   工程师   需求   能力   语言   功能   环境   数据库   程序   工作   产品   科技   软件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top