软件测试员主要从事什么工作?如果要向这方面发展需要学些是内容?
4个回答
展开全部
有些事情说起来有些滑稽,几年前,我们说,软件测试业在中国刚刚起步。现在,我们还是在说,软件测试业还是刚刚起步。几年的时间,对于其它行业是一个什么概念我不清楚,对于IT行业来讲,不是一个小数。实际上,国内软件业的发展缓慢限制了测试业的发展,没有软件的开发计划,测试的需求不旺啊。然而,反过来想,在软件测试业还没有大红大紫的时候介入进去,应该是个好时候。
那么,从事软件测试业的基本要求是什么?我根据自己的体会,罗列一些,供朋友们参考。
首先,要有宽泛的计算机基础知识。微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。例如对于一个用C写的上网拨号程序,测试员需要考虑:
(1) 程序的功能是否正确;(要求计算机知识)
(2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力)
(3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识)
(4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识)
(5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识)
(6) 如何搭建测试环境;(动手能力,硬件知识)
(7) 做代码检查;(比较深入的C语言知识)
(8) …
所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。
其次,要掌握一门编程语言。有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。我的理由有两个:
1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。而只有真正懂得了产品,才能做好测试。一行代码不会,你会始终是个门外汉。不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。
2. 自动化测试技术需要编程技术。自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。
对于测试员来说,编程技术不要求精通,但要会。
再次,学好英语。在现阶段,我们只能承认,在计算机方面,英语国家领先。有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。
以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。
1. 锻炼出一双测试的眼睛。我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。她说,这要归功于她有一双测试的眼睛。测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。耐心,细心和经验,会有助于我们到达这个要求。
2.平和的心态。从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。也不要在背后谈论谁谁谁不行,bug太多。一个项目是大家共同做的,需要举集体之力才能做完。我们测试员发现的问题多,表明项目的风险又少了一点,应该高兴才是。如果你的脾气不好,可能这个恶名会掩盖你的真才实学,很可惜的。
那么,从事软件测试业的基本要求是什么?我根据自己的体会,罗列一些,供朋友们参考。
首先,要有宽泛的计算机基础知识。微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。例如对于一个用C写的上网拨号程序,测试员需要考虑:
(1) 程序的功能是否正确;(要求计算机知识)
(2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力)
(3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识)
(4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识)
(5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识)
(6) 如何搭建测试环境;(动手能力,硬件知识)
(7) 做代码检查;(比较深入的C语言知识)
(8) …
所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。
其次,要掌握一门编程语言。有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。我的理由有两个:
1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。而只有真正懂得了产品,才能做好测试。一行代码不会,你会始终是个门外汉。不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。
2. 自动化测试技术需要编程技术。自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。
对于测试员来说,编程技术不要求精通,但要会。
再次,学好英语。在现阶段,我们只能承认,在计算机方面,英语国家领先。有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。
以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。
1. 锻炼出一双测试的眼睛。我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。她说,这要归功于她有一双测试的眼睛。测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。耐心,细心和经验,会有助于我们到达这个要求。
2.平和的心态。从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。也不要在背后谈论谁谁谁不行,bug太多。一个项目是大家共同做的,需要举集体之力才能做完。我们测试员发现的问题多,表明项目的风险又少了一点,应该高兴才是。如果你的脾气不好,可能这个恶名会掩盖你的真才实学,很可惜的。
展开全部
软件测试员
岗位职责 (一)
1、 制定、编写软件测试方案与计划;
2、 按时完成软件测试工作任务,执行测试,跟踪缺陷状态,提交测试执行报告;
3、 编写测试文档,测试报告,提交测试结果;
4、 测试环境的设计、设置,完善测试规范流程、创建和维护测试用例;
5、 改进软件测试流程、工具、和质量。
6、 参与测试结果评审;
岗位职责(二)
1. 参与产品测试、根据测试结果编写测试报告;
2. 负责编写各产品用户文档、技术白皮书、概要设计、功能说明书等各种技术文档;
3. 提出对产品的改进建议。
岗位要求:
1. 计算机相关专业大专或以上学历,30岁以下;
2. 一年以上的相关工作经验,熟悉测试流程;
3. 有较强的逻辑思维能力 分析判断能力;
4. 有较好的沟通能力和团队协作精神;
5. 熟练使用各种办公软件、图像处理软件;
6. 具有良好的文档编写能力;
7. 热爱IT行业、较细心女士优先。
任职资格
1、 计算机或相关专业毕业;
2、 熟悉相关开发语言,具备软件测试平台搭建的能力,熟练编写测试脚本和使用测试工具;
3、 了解软件工程学思想和方法,了解基本数据库系统及网络知识;
4、 较强的发现问题,分析问题的能力;较强的语言表达能力和文档撰写能力;
5、 工作责任夏强,细致,耐心;
C/C++工程师的职位描述:
1、计算机相关专业,本科以上学历,具有2年以上开发经验。
2、精通Java和C/C++语言开发,并具有在Unix平台下开发经验。
3、熟练使用DB2数据库,具有电子政务相关开发经验。
4、熟悉Eclipse开发环境和应用服务器系统WebSphere。
5、具备系统架构的经验,做过网络管理软件或其他软件项目或产品的各种设计工作者优先。
主要工作职责:从事数据库和平台系统分析与设计; 管理工具及后台程序的开发
从事计算机信息安全产品开发
1、计算机和软件相关专业本科或以上学历;
2、熟练使用C++/C编程语言,一年内经常使用Visual Studio/C++ Builder任一开发环境,具有网络通讯或数据库编程开发经验;
3、理解Windows运行机制,对消息、DLL、API、COM等概念必须了解;
4、了解计算机网络信息安全产品,了解计算机安全领域相关技术与标准;
5、UI设计能力强或携带优秀个人作品者可放宽其它条件优先考虑;
6、善于自我学习,具备良好的沟通能力。
Java工程师
岗位职责:
1、根据公司产品研发从项目中提炼产品;
2、对产品进行进一步研发;
3、对开发的产品进行升级维护
4、支持售前技术服务;
5、支持项目对产品的应用服务
任职资格:
1、本科以上学历,项目实施经验1年以上;
2、精于J2EE程序开发,精通spring+struts+hibernate架构;
3、熟释java/javascrip/xml等编程;
4、熟悉大型数据库oralce、sqlserver等;
5、熟悉报表工具优先。
程序员职责
岗位职责:
1、负责产品后台程序开发工作,熟悉前台技术,能够手写HTML/CSS/javascript;
2、根据用户的需求分析并给出最优的前台技术解决方案;
3、对新产品,编写好待码,并且维护好其使用文档。
4、基(_ji)于javascript框架的应用和项目开发;
5、负责了解后端技术实施,提供前端与后端技术应用解决方案。
6、协调销售和产品部门的工作,加强沟通;
任职资格:
1、大专以上学历,网络编程专业毕业,熟练asp php c# 或者 VB delphi 任意一种;
2、有Web项目开发经验;2年以上前端开发经验;
3、精通HTML、CSS、javascript等前台相关技术,熟悉W3C网页标准熟悉至少一种后台开发语言(如PHP等);
4、理解AJAX运作机制,熟练运用常见AJAX框架,如YUI、Jquery等;
5、有解决问题、钻研新技术的兴趣和能力善于交流和表达,有良好的团队单干精神;
6、对业内新技术及趋势有较强的敏感度;
7、抗压能力强,可应对较大的工作压力。
8、经常编写网站程序或者页面,有网站开发经验者优先。
职位要求:
1.计算机及相关专业大专以上学历,一年以上的商业软件开发经验具有良好的团队沟通及协作开发能力。
2.熟悉VC、 Studio 、.NET的开发环境;熟悉PE文件格式 。
3.熟悉API、SDK、ATL、MFC及注入技术的应用。
4.良好的英文文档阅读能力良好规范的文档和待码编写习惯。
5.熟悉qq界面设计布局和360度安全卫士功能布局。
6.擅长视觉效果、用户交互体验等方面的设计,熟练使用 或VS2005 平台开发用户UI,精通CSS、HTML等语言。
7.熟悉软件界面的需求分析、设计和开发 在界面开发上有一定的创造力。
8.领有规范的界面开发知识,界面美工,界面美化开发经验。
职位要求:
1. 熟悉Windows API 精通插件等。
2. 熟悉(shu xi)VC++ ,熟练使用SDK及MFC进行开发,熟悉使用STL能看懂 VB待码优先。
3. 对软件的发展与新技术有敏锐的触觉
4. 会使用软件界面设计,并能使用作图软件设计操作性、易用性强的软件界面者优先
5. 团队沟通及协作开发能力
6. 良好的文档习惯和待码编写习惯
7. 一年以上相关工作经验
工作职责:
1. 使用VC 8编写待码(win32工程)
2. 按要求完善和修改原有待码
3. 根据设计要求,完成设计流程和待码编写的任务
4. 编写开发文档
5. 与团队成员密切配合及沟通,解决实际问题。
岗位职责 (一)
1、 制定、编写软件测试方案与计划;
2、 按时完成软件测试工作任务,执行测试,跟踪缺陷状态,提交测试执行报告;
3、 编写测试文档,测试报告,提交测试结果;
4、 测试环境的设计、设置,完善测试规范流程、创建和维护测试用例;
5、 改进软件测试流程、工具、和质量。
6、 参与测试结果评审;
岗位职责(二)
1. 参与产品测试、根据测试结果编写测试报告;
2. 负责编写各产品用户文档、技术白皮书、概要设计、功能说明书等各种技术文档;
3. 提出对产品的改进建议。
岗位要求:
1. 计算机相关专业大专或以上学历,30岁以下;
2. 一年以上的相关工作经验,熟悉测试流程;
3. 有较强的逻辑思维能力 分析判断能力;
4. 有较好的沟通能力和团队协作精神;
5. 熟练使用各种办公软件、图像处理软件;
6. 具有良好的文档编写能力;
7. 热爱IT行业、较细心女士优先。
任职资格
1、 计算机或相关专业毕业;
2、 熟悉相关开发语言,具备软件测试平台搭建的能力,熟练编写测试脚本和使用测试工具;
3、 了解软件工程学思想和方法,了解基本数据库系统及网络知识;
4、 较强的发现问题,分析问题的能力;较强的语言表达能力和文档撰写能力;
5、 工作责任夏强,细致,耐心;
C/C++工程师的职位描述:
1、计算机相关专业,本科以上学历,具有2年以上开发经验。
2、精通Java和C/C++语言开发,并具有在Unix平台下开发经验。
3、熟练使用DB2数据库,具有电子政务相关开发经验。
4、熟悉Eclipse开发环境和应用服务器系统WebSphere。
5、具备系统架构的经验,做过网络管理软件或其他软件项目或产品的各种设计工作者优先。
主要工作职责:从事数据库和平台系统分析与设计; 管理工具及后台程序的开发
从事计算机信息安全产品开发
1、计算机和软件相关专业本科或以上学历;
2、熟练使用C++/C编程语言,一年内经常使用Visual Studio/C++ Builder任一开发环境,具有网络通讯或数据库编程开发经验;
3、理解Windows运行机制,对消息、DLL、API、COM等概念必须了解;
4、了解计算机网络信息安全产品,了解计算机安全领域相关技术与标准;
5、UI设计能力强或携带优秀个人作品者可放宽其它条件优先考虑;
6、善于自我学习,具备良好的沟通能力。
Java工程师
岗位职责:
1、根据公司产品研发从项目中提炼产品;
2、对产品进行进一步研发;
3、对开发的产品进行升级维护
4、支持售前技术服务;
5、支持项目对产品的应用服务
任职资格:
1、本科以上学历,项目实施经验1年以上;
2、精于J2EE程序开发,精通spring+struts+hibernate架构;
3、熟释java/javascrip/xml等编程;
4、熟悉大型数据库oralce、sqlserver等;
5、熟悉报表工具优先。
程序员职责
岗位职责:
1、负责产品后台程序开发工作,熟悉前台技术,能够手写HTML/CSS/javascript;
2、根据用户的需求分析并给出最优的前台技术解决方案;
3、对新产品,编写好待码,并且维护好其使用文档。
4、基(_ji)于javascript框架的应用和项目开发;
5、负责了解后端技术实施,提供前端与后端技术应用解决方案。
6、协调销售和产品部门的工作,加强沟通;
任职资格:
1、大专以上学历,网络编程专业毕业,熟练asp php c# 或者 VB delphi 任意一种;
2、有Web项目开发经验;2年以上前端开发经验;
3、精通HTML、CSS、javascript等前台相关技术,熟悉W3C网页标准熟悉至少一种后台开发语言(如PHP等);
4、理解AJAX运作机制,熟练运用常见AJAX框架,如YUI、Jquery等;
5、有解决问题、钻研新技术的兴趣和能力善于交流和表达,有良好的团队单干精神;
6、对业内新技术及趋势有较强的敏感度;
7、抗压能力强,可应对较大的工作压力。
8、经常编写网站程序或者页面,有网站开发经验者优先。
职位要求:
1.计算机及相关专业大专以上学历,一年以上的商业软件开发经验具有良好的团队沟通及协作开发能力。
2.熟悉VC、 Studio 、.NET的开发环境;熟悉PE文件格式 。
3.熟悉API、SDK、ATL、MFC及注入技术的应用。
4.良好的英文文档阅读能力良好规范的文档和待码编写习惯。
5.熟悉qq界面设计布局和360度安全卫士功能布局。
6.擅长视觉效果、用户交互体验等方面的设计,熟练使用 或VS2005 平台开发用户UI,精通CSS、HTML等语言。
7.熟悉软件界面的需求分析、设计和开发 在界面开发上有一定的创造力。
8.领有规范的界面开发知识,界面美工,界面美化开发经验。
职位要求:
1. 熟悉Windows API 精通插件等。
2. 熟悉(shu xi)VC++ ,熟练使用SDK及MFC进行开发,熟悉使用STL能看懂 VB待码优先。
3. 对软件的发展与新技术有敏锐的触觉
4. 会使用软件界面设计,并能使用作图软件设计操作性、易用性强的软件界面者优先
5. 团队沟通及协作开发能力
6. 良好的文档习惯和待码编写习惯
7. 一年以上相关工作经验
工作职责:
1. 使用VC 8编写待码(win32工程)
2. 按要求完善和修改原有待码
3. 根据设计要求,完成设计流程和待码编写的任务
4. 编写开发文档
5. 与团队成员密切配合及沟通,解决实际问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
软件测试主要学习以下几个方向:功能测试、性能测试、自动化测试、接口测试。功能测试就是测试产品的一些模块有没有问题,0基础也能学会。性能测试就是测试产品在一定负载的情况下会不会出问题以及稳定性等。像之前微博在明星官宣后崩溃,其实就是负载问题。自动化测试就是用工具去实现功能测试。接口测试就是测试接口的数据传输有没有问题。
(一)自动化测试
会学习Web前端基础、编程语言、Web自动化测试框架工具(Selenium、QTP)、APP自动化测试框架工具(Appium、Monkey)、手机模拟器等。
(二)性能测试
会学习性能测试理论、分类、方法、性能测试工具(Loadrunner、Jmeter)、性能调优、数据库调优、分析报告等。
(三)接口测试
学习接口概念、计算机网络、网络协议、编程语言、Fiddler、HttpWatch、WireShark、Postman、JMeter、SoapUI、浏览器内置工具等。
(四)功能测试
主要学习计算机基础、软件生命周期。测试理论、测试方法、测试用例,缺陷生命周期。版本管理工具、测试管理工具、Office、流程图。Windows
Server、Linux、数据库等。
其实软件测试科目代码少,相比软件开发类的课程来说,不是很难学。只要细心,有耐心、有责任心就可以学会。
(一)自动化测试
会学习Web前端基础、编程语言、Web自动化测试框架工具(Selenium、QTP)、APP自动化测试框架工具(Appium、Monkey)、手机模拟器等。
(二)性能测试
会学习性能测试理论、分类、方法、性能测试工具(Loadrunner、Jmeter)、性能调优、数据库调优、分析报告等。
(三)接口测试
学习接口概念、计算机网络、网络协议、编程语言、Fiddler、HttpWatch、WireShark、Postman、JMeter、SoapUI、浏览器内置工具等。
(四)功能测试
主要学习计算机基础、软件生命周期。测试理论、测试方法、测试用例,缺陷生命周期。版本管理工具、测试管理工具、Office、流程图。Windows
Server、Linux、数据库等。
其实软件测试科目代码少,相比软件开发类的课程来说,不是很难学。只要细心,有耐心、有责任心就可以学会。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询