关于软件测试:
是人就是要无的,是机器就是会坏的,是程序就是要出bug的。
真的勇士,就是要敢于直面惨淡的warning、敢于正视淋漓的error。
删除的代码是没有 Bug 的代码
有人喜欢创造世界,他们做了开发者;有的人喜欢开发者,他们做了测试员。
这几天经常看到有人在询问,软件测试是什么?软件测试要测试哪些东西?简友们肯定有大佬,也有零基础萌新,所以这篇文章可能只适合一部分人,不过大都是和软件测试行业相关联的。
软件测试是什么?
什么是软件测试?软件项目开发是个分工明确的系统工程,不同的人员扮演了不同的角色,包括部门经理、产品经理、项目经理、系统分析师、程序员、测试工程师、质量保证人员等。可见,软件测试工程师只是软件项目开发中的一个角色而已。
测试工程师承担的任务角色决定工作内容和承担的任务。测试工程师的角色应该承担什么任务呢?这没有统一的答案。因为,这与软件公司的规模,软件项目管理制度,公司领导和项目经理的管理风格,以及具体软件项目自身的特点有很大关系。而且,测试工程师也有普通和高级之分。
很显然,软件测试并不是一个找bug的岗位,而是以确保软件质量,保证软件能正常运转,面向大众需求的岗位,在一个项目流程中,测试是识别软件产品和服务的准确性和质量的过程。
在开发的工作结束前,我们需要确定特定的最终目标,并测试执行今日或昨日的一个框架或应用程序,尽可能地指出错误或缺陷。
测试的职责是找到产品中的问题并指出问题所在,给Dev(开发人员小组)提供一个明确的方向,以帮助他们能根据这个方向找到程序的错误并纠正错误,达到完成产品需求的目的。
软件测试的工作不是调试代码
以一个软件来说,当开发写好代码之后,对于这个软件的需求是能够正确的完成数学运算
那么我们运行软件,开始输入1+1,点击输出结果,得到2。很好,万事大吉,准备下一个项目。这个过程是是代码调试。
软件测试工作就是拿到这个软件的需求说明书之后,仔细审查需求文档,发现这个软件加减乘除这些按钮分布在界面的上下左右四个角落,严重影响使用,虽然程序结果是对的,但是不符合大众使用习惯,这个代码要改…
然后发现这个软件的复制快捷键居然是ctrl+F1,准备挑战传统的用户习惯,这个代码也要改…
这些就是测试的工作范围,通常我们将界面上的测试,称之为UI测试;
软件测试是打开计算器程序之后,输入1+1,测试是否等于2
输入1+2,测试是否等于3
输入1+3,测试是否等于4
输入1+99999999,测试软件是否崩溃…这些就是我们对软件的功能测试,尽可能找出软件里可能会出现的缺陷以及影响用户体验的地方
软件测试是拿到软件后,尝试点击它
是否能正常切换到英文语言后,
是否晃一晃就把界面晃得乱七八糟,
是否点着点着就把软件里面的按钮给删除掉了。
是看这个软件是否考虑到了近视眼、远视眼、左利手
是否为残障人士提供了便利的方式。
看到以上乱七八糟的测试之后,作为准备入行软件测试的你,是否已在微微颤抖?
不过不要担心,因为鲁迅说的好:软件只有4种最常用的软件开发周期模式,其他模式只是这些形式变化而已:大爆炸模式、边写边改模式、瀑布模式、螺旋模式,我们只不过刚好在边写边改模式罢了
软件测试的行业前景如何?
程序员之间流传着这样一句顺口溜:有人喜欢创造世界,他们做了开发者;有的人喜欢开发者,他们做了测试员。什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运。
没有了测试,背锅的就是开发,就是产品,如果要有一个人入地狱,那就是测试了吧,软件测试就像大公司的公关,小公司的临时工都必不可少(仅强调一下软件测试岗位的必要性)
那么2021年软件测试的前景如何呢?
近年来,软件测试行业其实一直呈现这的是朝阳的发展势头。那么为什么软件测试最近这么火?
一个行业的火爆背后是有一定的深层次原因的。
我们首先从整个IT行业开始分析,在中国的互联网企业着重开发、轻测试的现象普遍存在
这就为日后的软件产品质量问题频出埋下了伏笔,很多公司都在表示市场上软件测试人员太少
想聘请也没有这方面的渠道和人才,所以大部分的时候都是退而求其次拿软件开发人员自己检测软件用以急用的项目
所以尽快招聘软件测试人员是互联网公司的急需事情,也是为同为互联网行业的开发减轻工作量,从而达到提高项目效率的效果
权威机构中华英才网一家显示,软件测试人才的缺口至少在30万人以上,IT这个行业上国内外巨头正在加紧争夺软件测试人才,甚至在前些时间华为就一次抛出50名软件测试人员的急聘大单,而联想、用友、瑞星等企业也纷纷打出高薪招聘软件测试人才的启事。随着测试行业的不断发展,北京和上海将会带动其他城市一起发展。
是不是有很多人有这样的担忧:现在开始学习软件测试,会不会太晚了?以后这个行业的发展潜力会不会变啊?
抛出这样的疑问是很正常的,毕竟选择一个行业都有风险,都需要为今后的事业考虑。
软件测试这个岗位招聘更强调经验积累,在几年的测试经验背景下,可以逐步转向管理或者资深测试工程师,担当测试经理或者部门主管,所以职业寿命更长。
另外,由于国内软件测试工程师人才奇缺,并且一般只有大中型企业才会单独设立软件测试部门,所以很有保障,待遇普遍较高。
无论是什么时代,任何软件系统永远都不可能避免bug。而控制bug的唯一手段就是提前测试,没有测试,bug横飞,那场面,太壮光!
在很多企业的开发团队中,测试人员的地位越来越重要,测试人员把握着产品的质量,驱动着开发的流程。
学好软件测试,静观IT世界风起云涌,笑看大数据、云计算、人工智能时代风云变幻。