600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 游戏程序员编程原则 软件测试要写代码吗 – 游戏开发 – 前端

游戏程序员编程原则 软件测试要写代码吗 – 游戏开发 – 前端

时间:2024-03-06 09:31:38

相关推荐

游戏程序员编程原则 软件测试要写代码吗 – 游戏开发 – 前端

不管是外行人还是内行人,对一份与自己无关的职业的认识往往缺乏基本的认知,比如今天要说的软件测试。很多人都会对软件测试这个岗位存在一个疑问?软件测试员一定需要懂编程代码?在回答这个问题前,先全面的了解下软件测试不同时期的各种技能吧。

软件测试会因软件产品的需求、行业的不同而所有不同,而优秀的测试工程师在整个产品的测试过程中扮演着极其重要的角色。一个优秀的测试工程师应该具备:1)丰富的行业知识 2)优秀的逻辑推理能力 3)良好的编程技能。

也即是说,不同时间段,做不同的事情。

一、菜鸟新人–初级测试工程师

初入软件测试行业,要成为一名合格的的软件测试工程师,需要学习的东西还是很多的。

1)软件测试理论基础。

2)测试用例设计、测试功能覆盖、软件测试项目实战应用。

3)对业务的精准把握 、培养对bug初步处理和分析。

4)在长期的测试工作中,要培养敏锐的bug嗅觉。

5)良好的沟通表达能力。如果你连一个bug都表达不清楚,那就尴尬了。如果你不能与开发好好聊天,那也尴尬了。

但此阶段,主要是功能测试为主,像用户一样去手工操作系统,模拟用户的使用场景 。

所以不需要任何的编程能力,你都是可以胜任的。因此,软件测试的入门并不难。

二、功能测试、测试工具 –初级测试工程师(入职已有一段时间)

随着测试时间的增加,就需要掌握更多的东西来扩充自己的技术能力了。

1)数据库操作:mysql、oracle等。

2)linux操作、环境搭建。

3)各种测试工具:抓包fiddler,wireshark。

4)从架构层了解被测系统、http通信协议、接口测试及其工具postman、soupui、jmeter等。

5)app的专项测试、兼容性测试、易用性测试。

在这个阶段,会有一部分人成为小组长、小领导。主要工作内容就是分配组内的测试任务、把握和反馈任务进展、完成测试工作。

在一些特殊的行业(比如医疗),可以逐渐形成业务专家。

在此阶段对编程能力也没有要求。

三、自动化/性能/安全(必须会编程) –中高级测试工程师

具备测试能力与代码能力,提升测试效率与软件质量。

以下以自动化测试为例来说明。

1)选一门编程语言学习:java、python、ruby等。

2)了解自动化测试、自动化测试工具、web/app/接口/pc端自动化基础。

3)框架思想、项目实践与流程。

在功能测试岗位中做了几年时间之后,会开始焦虑。

在工作中,感受到了成长的限制。除了业务越来越熟之外,工作就是点点点,其它方面没有成长。

想跳槽想涨薪,但是很有挫败和无力感,因为全身上下价值就在这里。

想在工作的过程中自学提升,迈向高薪的自动化测试、性能 测试、安全测试等。

当然自动化测试工具也可以实现自动化,但是有好与坏的区别。

第一道门坎就是编程!

另外,想要成为优秀的安全测试与性能测试工程师,则不仅仅是会编程还需要有更多的计算机相关知识。

四、测试开发/性能、安全测试专家(必须会编程) –高级测试工程师

测试开发,具备测试能力与代码能力,提升测试效率与软件质量。又可以做开发,又可以做测试。

要求比较强的开发能力,深入代码层。一般不直接参加测试工作。

1、对测试框架、测试工具的二次开发,更好的符合公司产品的测试要求。

2、开展单元测试或者协助开发开展单元测试,从开发阶段就开始把控产品代码质量。在后续迭代过程中快速挖掘问题。

3、开发测试工具和平台,为测试团队提高测试效率,各种测试的简化、测试结果的量化。比如性能测试平台、接口测试平台等。

五、测试主管、经理、总监–职业发展和晋升阶段

既要强大的测试和编程能力,也要有足够的管理和交际能力。如果仅仅只有足够的测试能力,开发团队你无法震的住。

新梦想总结

如果不想被行业淘汰,想让自己的职业能力更上一层楼,那么编程对中高级技术测试人员而言则是必须要会的!在软件测试职业生涯里,编程能力将会成为你职场的助力,也会伴随你的整个职业生涯。建议你学习几种编程技术,至少学习一种脚本语言,比如Vb、Java、Ruby/Perl等,至少一种通用的编程语言,比如Java、C++、C等。追求更高效的软件测试是一个测试人员不断提高自己水平的动力之一,编程能力对测试工程师很重要,但并不是核心的能力。会编程是为了让大家测试更高效的发现bug,这才是测试人员最核心的能力。

面试时应从哪些方面去考察程序员编程能力?

代码质量。比如代码是不是清晰易懂,该检查的边界条件检查了没,给变量取名的时候名字是不是合理,公用的代码有没有单独抽出去作为一个函数等等。这一点上有经验的和没经验的人差别会非常大。

数据结构和算法。这个主要是看选的数据结构和算法有没有问题。如果被面试人的解法不算太糟的话其实可以让被面试者先开工,等最后写完了再问能不能进行优化。当然,这里可以顺道问问解法的复杂度和为什么选择XX数据结构。

沟通能力。比如候选人是一上来就闷头写代码还是先交流思路确保对题目的理解没有问题,以及候选人在描述解法能不能讲清楚。

测试。等被面试者写完后让他自己提几个case来测试自己的解法。好的候选人应该可以提供好几个case来覆盖到各种情况,差的嘛估计就只能给个最简单的例子

程序员编程生涯中常会犯的错误都有哪些?

时间久了,偶发现很多程序员总是犯着相同的错误,前仆后继,却毫不自知。下面就是程序员在他们的软件开发生涯中最常犯的7个错误。

▼没有明确的目标

心中没有终点目标,那就只会随波逐流。如果你想在软件开发的职业生涯上获得成功,那么你需要有一个明确的目标。仅仅只是对遥远的未来有一个模糊的想法是不够的。

相反,你应该有坚实的目标——在某个时间段内的首要目的——明确定义的目标。

偶认识许多程序员和所谓的专业人士庸庸碌碌地在同一个岗位上干了几十年,是的,你没听错,就是几十年!这是一场悲剧,但如果没有目标,这就是你人生的默认选择。请引以为戒,否则下一个悲剧就会是你。那么,大家能做些什么呢?

从今天开始,从现在开始,花一些时间,好好想想你的编程生涯,并决定自己的近期目标。偶的意思是,明确当前的首要目标。一旦达到这个目标之后,再制定一个新的目标,但是现在,请好好想想,你的编程生涯需要实现什么目的?

你可以记下来,放到每天都能看到的位置,来提醒自己不断地朝着目标前进。

▼不投资于非技术和“软技能”

偶认识很多程序员其实真的很擅长于写代码。偶也认识很多程序员在算法上确实远远优于偶。他们理解和思考复杂架构的水平,是偶所望尘莫及的。但你猜怎么着?在偶的软件开发职业生涯中,偶超越了他们,不仅包括职位职务,还有工资,工作效率,性能等等。

偶说出来不是为了炫耀,只是想要说明软技能对大家的编程生涯有多重要,而不仅仅是那些大多数程序员重点关注的技术技能。作为一个软件开发人员,你肯定知道,你的工作并不仅仅是编写代码。还有其他许多必要的重点技能。大家得时常与人打交道,所以人际交往能力是必须的。紧张的时间期限,快速的变化则需要稳定的心理,能够全神贯注,并懂得自偶激励。

在一个不断变化的环境中,在一个充斥了各种繁多和意外的环境中,大家要学会如何优先安排,并尽可能地富有成效。此外大家也不能忽略健康以及经济因素,如果忽略它们的话也同样会导致失败甚至是毁灭。

相关方面的内容还有很多,偶就不一一赘述了,感兴趣的话,可以阅读《Soft Skills: The Software Developer’s Manual》做深入的了解。

总而言之,不管你做的是哪方面的工作,软技能几乎总是比硬技能、技术技能更重要——所以一定要好好学习这方面的知识。

▼不参与社区

偶做的其中一件让偶的编程生涯受益无穷的事就是,参与社区。这不但让偶有了归属感,不再感觉孤单,还能帮助偶提高技能,敢于设定更高的目标。所以,偶强烈建议你加入到编程社区中。众人拾柴火焰高,参与社区,是一种积极的成长方式。如果你发现自己的软件开发职业生涯停滞不前,那么加入社区吧,里面的一些志同道合之人会为你提供助你克服困难,冲出困境的种种建议。成为社区的一份子,还可以让你获得关注,增加知名度,这将会大大有利于你的事业发展。

那么,怎么加入社区呢?

这很简单。世界各地都有这一类的团体,你可以简单地加入一个并参加聚会。

比如说,你可以加入一年一次的,免费的,当地的 Code Camp活动,那时许多软件开发人员会聚集到一起分享他们的工作心得。并且通常任何人都可以报名发表他们想要谈论的话题。如果你不喜欢这种聚会方式,也可以加入虚拟社区。对于初学者来说,社区里面提供技术开发交流,也有很多资讯和信息,非常不错。你也可以写博客,这也是参与社区的一种方式。话说,就是博客让偶在社区众多程序员中脱颖而出的。

▼不专业

如果你曾经看过偶写的博客,或者读过偶的书,你就会发现偶几乎每次都会提到这个话题,因为它真的非常重要。专业化,为自己选定一个方向,然后专心致志地朝着这个方向发展。但这并不意味着你无需具备广泛的知识基础——偶非常热衷于通晓多门编程语言——偶的意思是,你应该选择某个区域,然后孜孜不倦一心一意于挖掘更深层次的内容。

成为某种形式的专业人士是非常重要的,尤其是职业生涯的早期。专业人士的需求高,所以他们拿到的薪资也高,并且通常而言,他们还能够更快地塑造起威望来。

另外,如果你的老板知道你在软件开发领域和技术上面钻研得很深,肯定会对此非常开心。

你应该成为小池塘中的大鱼,而不是大池塘中的小鱼。

或许最终你会因为个头太大而不再适合这个池塘——那个时候你可以大胆潜入到更深的水域——但是,以一个专业人士的身份开启你的软件开发生涯,可以在这一行中为你自己树立个人品牌和声誉。(关于这一点,下面偶会详细说明。)

最后,不要担心自己专业化了之后会被对号入座——这种事很少发生。

并且,你也不需要真的研究得太深。话说,这么多年,偶也没碰到有谁是太过于专业化的。

▼不投资于个人品牌

生活中的许多事情来来去去,犹如过往云烟。你可能会换工作,又或许甚至要换配偶;突然一夜暴富,也可能穷困潦倒;可能身体很健康,但也有可能会发胖——但无论生活中发生什么,有一样东西会永远与你同在……

你的名字。所以,既然你的名字将贯穿你的一生,为什么不在这上面花些精力呢?你的名字,或者说你的个人品牌,是非常宝贵的财富,也是许多软件开发人员没有意识到的财富。你的名字,或者说你的个人品牌,是你找工作、升职、挖掘潜在客户、甚至是自己创业的强大工具。哪怕你的名字从字面上看并不与众不同,但只要你有良好的知名度和声誉,那么有时候搞定诸多麻烦只是举手之劳而已。

偶认识很多的软件开发人员因为已经具备了坚实的个人品牌,所以再也不必担心就业问题。因为无论发生什么事,他们都有把握找到另一份工作,因为他们的声誉众所周知。

大家都听说过推销产品和服务,但你可曾想过推销自己?

想在软件开发行业打造个人品牌,偶的建议是写博客,选择一个特定的领域或专业,然后做到让你的名字如雷贯耳就行了。

最好办法之一就是写一些对其他人有用的内容。就拿博客举例。偶写的博客可以在互联网上构建了偶的品牌和声誉。如果你觉得这篇文章,甚至是偶的网站有价值,那么你可能会分享。也可能会为此页添加书签,或者订阅相关邮件,这样你就不会错过任何好的资讯。

这只是打造个人品牌的方式之一。你还可以创建 YouTube视频,发表自己的播客,写文章写书,在活动中发言。但这并不意味着你必须做上述所有这些事情,这只是偶认为不错的一些点子而已。

▼不搞点业余项目

大家手头应该总是有个业务项目在做。业余项目有很多你可能不知道的有益之处。首先,业余项目是改善技能的有效方式。并且,这远远比你朝九晚五的工作能更快地提升你的成长速度。

开发业余项目也是学习新技能新技术的好方法,有助于你寻找新工作。常常有很多程序员抱怨说现在千篇一律的工作没法让他们学习新技术,使得他们跟不上市场的脚步。听到这样的话,偶总是劝他们不妨试着用心仪的新技术去开发业余项目,这绝对是个学习相关技能的好办法。而且,业余项目还可以让你赚点外快。

可能你一开始不会想着用业余项目赚钱,但是业余项目的确是能让你获取额外的收入。

偶大概在4年前开始开发 Android和 iOS app作为偶的业余项目,并且至今它们依然在为偶创造财富。偶也认识不少软件开发人员最终将业余项目当作了他们的全职工作。开发业务项目其实很有趣。当你工作累了厌了,写一会自己喜欢的业余项目能很好地消除疲劳和压力。并且业余项目也是一个很好的出路,也许哪一天让你赚了大钱呢。

▼没有自偶教育的规划

每次偶面试软件开发人员时,问的第一个问题往往是关于他们自偶教育和自偶完善的规划。有没有去做点什么以便让自己成长得更为优秀呢?偶经常会问他们用什么措施来跟上总是在不断变化的领域。偶经常会问他们最近读了什么书,以及哪些是他们认为值得推荐给所有软件开发人员阅读的好书。

偶想从他们的答案中知道他们是否有一个用于自偶教育,用于不断成长的确切规划。偶之所以这么做是因为偶知道一个致力于不断自偶完善的人不仅会成就自己,也能带动周围的人一起朝着成功前行。

然而,很可惜的是,很多程序员都没有任何形式的自偶教育规划。如果你还没有用于学习和提升自偶技能的规划,那么是时候为自己制定一个了。想听听偶推荐的一个简单规划吗?保证每个月阅读一本技术或职业发展类的书籍。一年下来你就能累计阅读 12本。

偶个人的话,每天至少投入 45分钟到阅读上。请记住,千里之行始于足下。哪怕一天 30分钟,持续一两年之后,就能给你带来巨大的改变。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。