我们精选了一下网友答案:
···································^^····································
不知不觉已经从事软件测试六年了,从毕业到进入外包公司外包给微软做软件测试, 到现在加入著名的外企。六年的时间过得真快。长期的测试工作也让我对软件测试有了比较深入的认识。我就跟大家分享一下我做测试的心得,如有错误还请批评改正。
软件测试人员应该居安思危
每当经济不好,公司业绩不好的时候,公司都可能进行裁员。首先裁的就是测试人员。因为测试人员的技术水平相对来说比较低,容易被替代,招起来也比较容易。公司往往先拿测试人员开刀。
身为测试人员,虽然我们平常的工作大部分都比较安逸。但是千万不能温水煮青蛙。应该自强不息, 要像开发人员一样, 不断学习,提高自己的编程水平。这样就算被裁也能很快找到新的工作。
测试人员应该比开发人员更熟悉业务需求
测试人员的水平主要体现在测试用例的设计上。要设计出全面,覆盖广的测试用例,需要测试人员对自己所测试的项目的业务需求非常熟悉,甚至要比开发人员还要熟悉。
如果是测试银行系统,通信行业,或者ERP软件。这些业务知识非常有用的,学习起来比较有激情。
要做到精通业务需求谈何容易。
假如倒霉碰到一些又没用,又繁琐的软件, 真的是不想去学习它的业务(出了这个公司就再也用不到的业务)
学会如何跟开发人员相处
测试人员必须跟开发人员密切合作, 所以跟开发人员搞好关系是相当重要的。
1. 和开发人员成为朋友。
熟悉了干啥都方便
2. 不要打扰开发人员。
看到开发在聚精会神写代码的时候,千万不要去打扰人家。写代码需要集中精力,如果被打扰,就会中断思考。
3. 集中问问题。
把需要问的问题都总结起来, 集中起来问开发,这样能节省大量的时间。
4. 写好Bug,不被开发人员烦。
如果开发人员看到一个Bug 描述不清楚,还无法重现,他肯定会骂测试人员。所以测试人员一定要写好Bug,描述精确,简洁,没有歧义,详细简洁的重现步骤,加截图。
测试人员应该懂一些基本的编程
你的产品是用java开发的,那测试人员应该有java的入门知识。你测试web程序,你起码要了解HTML,CSS, Javascript, Jquery吧,否则你测了一两年web程序,都不知道这东西是怎么做的,悲剧了吧。
只有懂代码你才能和开发人员交流,不被开发鄙视。
测试人员搭建开发环境
产品的代码是最好的学习资料了,我们不能总跟在开发屁股后面做测试,不能老是等开发build一个版本后,我们就测试这个版本,开发check in了什么代码,测试人员一点都不知道。偶尔我们应该了解下产品代码是怎么设计的,了解下开发人员是如何修复bug的。说不定编程水平高了,还能帮开发做code review.
使用源代码工具把产品代码check out到本机。经常看看代码,经常看看开发修复bug时候提交的代码。
写文档是测试人员的核心能力
我记得我以前的test lead说,之所以她能当lead, 是因为她很会写文档发邮件。写文档需要总结归纳的能力,还要逻辑清晰。她非常擅长分析几十页的Spec,写出几十页的测试计划。她还非常擅长汇总测试报告。每天将完整,清晰,漂亮的测试报告发给各个组, 让公司所有的人都能清晰的看到测试组的工作。
在她的带领下,我们总结出很多文档,比如,”New hire checklist”, “on boarding traning”, 测试工具使用的文档,等等。
测试后期应该做两天交叉测试
交叉测试,就是指两个测试工程师,互相交换下测试的项目。这样做有很多好处。
1. 有利于找出bug, 测试工程师测久了自己的项目,容易形成眼盲。会对一些Bug熟视无睹。
2. 有利于知识和业务共享,避免人员离职,请假,造成无人测试的情况。
3. 测试思想不一样,可以互相找出很多问题
测试人员的瓶颈
手动测试工作做个两三年,基本上就能掌握测试需要的大部分知识,如果没有爬到test lead的位置, 很多人就感觉到发展瓶颈了,每天重复测试,学不到东西,很快就会对测试工作失去激情。
学不到东西,技术水平低下,是测试这个行业最大的毛病。
如何突破瓶颈?我也不知道。
尽量实现自动化
一点要抽时间尽量把自己的测试工作实现自动化,可以节省测试的时间,提高自己的技术水平,也可以避免老是重复测试。
自动化测试VS手动测试
现在很多公司招测试的要求越来越高,很多好公司招senior QA,都要求5年工作经验以上,掌握一门编程语言,有丰富的自动化测试经验。当然自动化测试的待遇也会比手动测试好很多。
自动化是趋势, 只会做手动测试的人,以后肯定会失去竞争力。
自动化测试的技术和开发用到的技术相差太远
以前很多同事想由测试转开发,现在几年过去了,还是没转成,他们原先想利用自动化测试的技术积累,转去做开发。哪知道自动化测试用到的技术跟开发用到的技术相比,实在是相差太远。
测试转开发?难
努力学习编码,然后用于测试,才是正道
做测试最郁闷的是无法听懂开发人员讨论技术
有时候跟开发人员一起开会, 会议上开发人员都热烈讨论。而我做为测试人员基本上听不懂这群开发在说什么,根本插不上话。很多会议我甚至都没说过一句话。
优秀的测试人员非常稀少
想把测试做好非常不容易, 优秀的测试人员需要很广的知识面,良好的沟通能力(不但要和开发人员和项目经理打交道,还要跟其他组的人交流)。丰富的测试经验,对测试工作有极大的热情, 耐心。还需要测试人员有丰富的业务知识,还要会写代码。
代码写得好的人,肯定就不会做测试,而是做开发去了。
大部分的测试经理都是会敲代码的
我发现我的几任上司都是会敲代码的。他们既能开发又能测试,啥都会,能给手下的测试人员提供技术支持。
假如一个测试经理啥技术都不懂,对内hold不住手下的人,对外其他组的人不鸟你。
转载自:6tt.co/mQ2s
·······································································
我们精选了一下网友答案:
软件工程专业毕业后的学员可以从事软件开发、程序员、软件设计师、软件架构师、技术支持工程师、数据库设计师和数据库管理员、软件测试等只要是软件行业的岗位一般都可以胜任
···································^^····································
···································^^····································
几千块不等
·······································································
我们精选了一下网友答案:
···································^^····································
考试内容与基本要求
专业考试科目分为专业基础科目和专业科目,专业基础科目为《C语言程序设计》,专业科目为《软件工程》。各科目内容按照“了解”、“掌握”、“应用”三个能力层次规定了其应达到的能力层次要求。各能力层次为递进等级关系,后者必须建立在前者的基础上,其含义是:
了解:能知道有关的名词、概念、知识的含义,并能正确认识和表述,是低层次的要求。
掌握:能全面把握基本概念、基本原理、基本方法,能理解有关概念、原理、方法的区别与联系,是较高层次的要求。
应用:能运用基本概念、基本原理、基本方法联系学过的多个知识点分析和解决有关的理论问题和实际问题,是最高层次的要求
各科目内容及具体要求如下:
(一) C语言基础
1. 基础知识
【了解】C语言的特点;算法的基本概念与特征。
【掌握】C语言程序的结构、运行C程序的步骤和方法。
2. 数据类型、运算符与表达式
【掌握】各种数据类型的常量和变量表示;各类运算符的使用和表达式的计算。
【应用】不同类型数据间的混合运算、强制类型转换运算符、复合赋值运算符。
3. 顺序结构程序设计
【了解】C语句的概念及种类。
【掌握】常用输入输出函数的使用。
【应用】顺序结构程序的应用。
4. 选择结构程序设计
【掌握】关系运算符与关系表达式;逻辑运算符与逻辑表达式;if语句及其嵌 套;switch语句;条件运算符合条件表达式。
【应用】选择结构程序的应用。
5. 循环结构程序设计
【了解】goto语句构成循环。
【掌握】while语句;do-while语句;for语句;循环嵌套;break语句;continue语句。
【应用】循环结构程序的应用;三种结构程序的综合使用。
6. 数组
【掌握】一维数组的定义和引用;二维数组的定义和引用;常用字符串处理函 数。
【应用】一维数组、二维数组和字符数组的使用。
7. 函数
【了解】常用库函数的正确调用。
【掌握】函数的定义;函数参数和函数的值;函数的调用;变量的存储类别(自动,静态,寄存器,外部);变量的作用域和生存期。
【应用】函数的嵌套调用和递归调用;数组作为函数参数;局部变量和全局变 量。
8. 编译预处理命令
【了解】不带参宏定义和带参宏定义的使用;“文件包含”的处理。
9. 指针
【了解】指针与地址的概念、指针与函数的概念、返回指针值的函数与指向函数的指针变量的区别。
【掌握】指针变量的定义、初始化及指针的运算;指针与数组、指针数组的概念;指针访问数组元素的方法。
【应用】指针变量作为函数参数的应用;指向数组、字符串、和函数的指针的应用;指向数组的指针作为参数时的应用;返回指针值的函数的应用;指针数组的应用。
10. 结构体
【了解】结构体数组的定义和数组元素的引用;指向结构体类型数据的指针的概念及使用。
【掌握】结构体类型变量的定义、引用和初始化;结构体数组的使用。
11. 位运算
【了解】位运算与位段;位结构定义的一般形式和用法。
【掌握】常用位运算的类型和位运算符的种类、优先级及用法。
12. 文件
【掌握】标准设备输入\输出函数的使用;缓冲文件系统的使用。
(二) 软件工程概论
1. 基础知识
【了解】软件危机;软件的定义、特点、种类;软件工程定义与目标。
【掌握】软件生存周期、软件开发模型。
2. 可行性研究
【掌握】可行性研究的目的、任务和步骤。
【应用】系统流程图的符号表示及应用。
3. 需求分析
【了解】需求分析的任务、步骤;需求获取与分析的常用方法。
【掌握】结构化分析方法(数据流图、数据字典、加工逻辑);需求分析图形工具(层次方框图、维纳图、IPO图);数据库内容需求分析(E-R图)。
【应用】结构化分析方法综合应用。
4. 软件设计
【了解】软件设计的概念、原理;软件总体设计与详细设计的目标和任务、软件结构设计准则与结构化程序设计、人机界面设计。
【掌握】软件结构设计的图形工具(软件结构图、层次图、HIPO图);详细设计的图形工具(程序流程图、N-S图、PAD图、判定表、判定树、PDL)。
【应用】结构化设计方法的综合应用。
5. 软件编码
【了解】程序设计语言的分类、选择与风格。
6. 软件测试
【了解】软件测试的目标、原则;
【掌握】软件测试方法及分类;软件测试过程与调试;软件测试过程;调试;
【应用】软件测试用例的设计。
7. 软件维护
【了解】软件维护的定义、特点;逆向工程与再工程。
【掌握】软件维护的分类、软件可维护性。
8. 面向对象方法
【了解】面向对象的概念与典型开发方法;统一建模语言UML。
【掌握】面向对象分析过程(用例模型、对象模型、动态行为模型、物理实现模型)、建立用例模型。
9. 软件项目管理
【了解】估算软件规模、人员组织、质量保证、能力成熟度模型。
【掌握】工作量估算、进度计划。
10. 软件工程新技术
【了解】软件复用技术;基于构建的软件工程技术;软件过程与标准化;敏捷软件开发过程;Web软件工程;软件产品线技术。
考试形式与试卷结构
1. 考试方式与时间
考试方式为闭卷、笔试。试卷满分为200分,考试时间为180分钟。
2.考试比例内容
3.题型结构
4. 试题难易程度比例
参考书目
(1)《C语言程序设计》考试参考教材
《C程序设计(第五版)》 谭浩强著,清华大学出版社,2017.08.
《C语言程序设计(第3版)》苏小红、王宇颖、孙志岗等著,高等教育出版社,2015.07.
(2)《软件工程》考试参考教材
《软件工程》 李爱萍、崔东华、李东生著,人民邮电出版社,2014.02.
《软件工程导论(第6版)》张海藩、牟永敏著,清华大学出版社,2013.08.
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!