Edit Content

About Us

We must explain to you how all seds this mistakens idea off denouncing pleasures and praising pain was born and I will give you a completed accounts off the system and expound.

Contact Us

叶氏中文朗诵比赛圆满结束

文章发布时间:April 11, 2008
IT开发领域,程序员、软件工程师、软件开发商、公司IT经理一直都在密切的关注着J2EE.NET的发展,而选择一个在性能,价格,时间上满足需求的平台却并不是一件简单的事情。但无论选择何种开发平台,软件测试(QA)工程师职位在经历了长期的不为人知和可有可无后,目前已变的炙手可热。软件测试(QA)工程师的工作通俗的说就是软件开发行业的质量检验员,负责把好软件生产过程中的质量关,使开发出来的软件的功能与性能达到设计之初的要求,让用户用上高质量的软件,使企业开发的软件产品更具竞争力。
软件测试工作能提供更广阔的发展平台,经过软件测试工作职位的人才往往是行业中的多面手,比其它IT人才具有更强的可塑性,在技术、管理、市场甚至其它非IT领域都能得到良好的发展。软件测试人员迅速窜红,是当今IT开发领域最抢手的人才,与3G人才、动漫人才等共同成为IT业界重点培养的对象。北美的软件测试工程师以前基本上都是由从业多年的开发工程师转变而来,软件测试的重要性已经逐渐获得认可。
软件测试职业正处于一个发展的阶段,随着软件开发行业对产品质量重视程度的提高,受过系统培训、掌握先进测试技术的软件测试从业人员的年薪上升空间会非常大。而地位变迁的幕后推手,是市场竞争的日益激烈和软件开发公司以及用户成熟度的不断提高。究竟是何魅力让软件测试人员成为人们眼中的金饭碗?据了解,就业竞争小是主要因素。数据显示,目前软件从业人员中,真正能担当软件测试职位的人才不多,缺口有逐年扩大的趋势。人才的极度匮乏令许多IT公司不得不延缓甚至停止项目,为公司发展带来消极影响,但对测试人才就业却有积极意义。
软件测试工作要求细心、严谨、稳定、善于沟通。有时候,一般普通开发人员不喜欢做软件测试工作,认为测试低人一等,因而也从来没有做过测试工作。这里所谓的“普通开发人员”,是指掌握了一定的计算机基础知识,熟悉计算机资源,学会了编程语言;但喜欢比较编程语言的优劣,以能编出某种特殊功能的程序为荣;喜欢个人开发,不重视文档编写;重视功能的实现,不重视进度和质量的把握。怕被得太死,动不动就说限制了思路,没有发挥空间。同时,只根据自己的爱好学习技术,往往认为别人的程序很差,也不喜欢看别人写的代码,总以为自己比业务专家还更理解需求。
一般来说,真正的高级软件开发工程师,计算机基础知识扎实,掌握有两门以上的编程语言,很少停留在表面比较编程语言的优劣,以编写出用户满意的高质量软件为荣;懂得个人开发和团队开发的利弊,文档规范,齐全;懂得在进度、质量(功能)和成本之间平衡;懂得规范的目的在于重用,重用有利于提高效率和集中精力创新。更重要的是认为软件测试工作比编码更具挑战性,喜欢为同事走查代码,经常为同伴的代码做测试。根据开发项目的需求和自己发展目标的共同点选择学习内容和方向,并以此获得学习他人优点的机会,懂得自己只是可能比业务专家更懂编程。
由于工作的特殊,软件测试人员往往更偏好认真、耐心、细致、敏感、等个性元素,而这在一定程度上与女性的个性气质相吻合,软件测试岗位的男女比例基本差不多,无性别歧视。所以说软件测试工作还是比较适合女性的,很多的软件公司测试部门女性占了一定比例的。因此,对于女性要从事IT方面的职业,只要肯下功夫,软件测试对她的发展有很大好处。软件测试(QA)人员最缺,这也是IT公司的人力资源部门,经常仰天长叹,百分百地会回答的问题。
以前,人们对软件测试误解为只是Monkey测试。就像猴子跳上键盘,蹦来蹦去,偶然踩到了某一个健,或者就能够发现一个两个Bug(缺陷)。认为软件测试只是在软件编写完成以后通过简单使用发现Bug,没有什么技术含量,甚至临时人员也可以承担。而事实上,北美的软件公司,软件测试工作已经逐渐演变成一门独立的科学,包括了配置方案、测试机制、跨平台策略和产品性能、稳定性等独立区域的知识模块。同时,软件测试工程师需要参与包括需求分析—设计—编码等所有软件开发环节,尽可能地发现每个环节可能存在的Bug,是一个要求非常高的职业。
与其他IT职位相比,软件测试人员最大的优势就是发展方向多,但这有助于多元化发展。软件测试工程师如果喜欢钻研技术,并且对编程也有一定兴趣,朝技术方向努力肯定就错不了。由于工作的特殊性,测试人员不但需要对软件的质量进行检测,而且对于软件项目的立项、管理、售前、售后等领域都要涉及。在这过程中,测试人员不仅提升了专业的软件测试技能,还能接触到各行各业,项目管理、沟通协调、市场需求分析等能力都能得到很好的锻炼,从而为自己的多元化发展奠定了基础。
但软件测试工程师供不应求,招聘不到合格的人才。人才供不应求让软件测试人员的就业竞争压力明显小于同类其它职业,有利于从业者的身心健康。另外,由于软件测试工作职位独立设置测试部门、对测试人员有强烈需求的多为独具慧眼的大中型IT企业。软件测试人才不需要在小企业积累经验就能获得知名企业的入门通行证,工作起点高于同类其它职业,高起点的年薪甚至超出很多相同服务年限的软件开发人员的薪资水平。
从入门级的初级测试工程师到高级测试工程师以及项目Leader全线短缺。未来几年软件测试员这一职位,将会产生大量的市场需求。由于专业的缺失以及软件公司自身积累的不足,要找到资深的从业人员,很难。巨大的市场空缺,使得从初级到高级软件测试工程师,再到软件测试部门经理,这个需要10年左右的职场历程,在目前只需要3年甚至更短的时间。软件测试人员的职业魅力列了一大堆,归根结底就一句话——发展前景相当不错。
软件测试工程师地位翻天覆地的变化,源自IT产业的发展以及软件公司自身、用户成熟度的不断加深。计算机使用越来越普及,越来越多的领域使用了计算机,特别是一些重要领域如国防、金融、通讯、航天等,对软件质量要求很高,出现的一些问题,也引发了人们对软件质量的关注,有的甚至因软件质量问题而导致计划的推迟。同时,一些银行金融系统,也会因软件质量问题不得不暂停营业。在软件业高速发展的同时,软件质量问题越来越突出,甚至成为软件产品研发和信息化发展中的一个制约因素。
软件测试经费,一般会占到整个项目费用的30%~40%。中小企业产品研发要受资金、工期和质量三个方面的制约。在资金紧缺和工期紧迫的情况下,唯一可以挤压的就是质量。用户成熟度不断增加,对产品的个性化以及安全等方面有更高的要求。如果产品在使用中如果出现各种各样的问题,只能通过维护解决,那么市场就不会选择这个产品。一旦将质量问题转移给维护,就会忽略开发过程中需求分析设计编码阶段可能产生的Bug
很显然,没有比bug数量更能代表成功的测试了。当测试人员证明了应用程序充满了bug时,不知是在做一份令人满意的工作还是头痛的工作。从一些“普通开发人员”的角度看,那是一份非常糟糕的工作。一个测试人员不得不忍受来自开发人员的许多态度,从冷漠的耸肩到明显的敌意。测试人员有时很难保持一种积极的态度,但是要保持优先的正直,并且向前推动高质量的项目是由自己决定的。最好的测试人员不是那些发现最多bug的人,或使最多开发人员尴尬的人。最好的测试人员应该是能够使最多的bug得以修复的人。
作为一个测试人员,使开发人员信服被发现的缺陷是非常困难的。通常,如果一个测试人员找到了一个bug,程序员将准备10个理由。有时让开发人员接受代码有缺陷的事实是很困难的。开发人员需要有来自测试小组的支持,测试小组可以保证发现的新bug是值得关注的,健康的并且对于使产品更好是非常重要的。如果这些Bug逐渐放大,最后扩散到整个系统中,不仅很难寻找到,而且修复代价会更高。在销售软件时获取的利润,会在之后的维护中逐渐被消耗殆尽。这对企业来说,显然不是一个明智的、可持续的选择。在实际运作过程中,市场的竞争是越来越激烈,必须提高质量,才能有机会获得订单。
当作为一个软件测试人员开始职业生涯时,一定要意识到在开发人员和测试人员之间可能进行的对抗,这种情况是非常普遍的。遇到来自软件开发人员的各种不友好的回应,所有的测试人员都在职业生涯中经历过这些事。建议试着巧妙地表述发现,并且不带任何责备地解释bug。确信这是一个很小的bug,不用花多少时间就可以处理掉,到目前为止这还是一个不错的程序。或用一种心理方法,有时表扬一下开发人员的工作,大多数开发人员不喜欢测试错误报告的原因就是认为测试人员在诋毁开发人员的辛勤工作,有时一些测试人员只在出现问题的时候才和开发人员沟通。
对于大多数开发人员而言,软件是自己的劳动成果,测试人员是妨碍工作的外人。测试人员要告诉开发人员因为有项目开发才有项目测试,而且由于有项目测试的存在,开发工作才得以继续。测试人员和开发人员之间的关系是一种共生及互惠的关系,没有人喜欢被指出错误。试着解释修复那个特别的bug的需要胜于只是用庞大的bug报告向开发人员发难。正象一个人不可能独自测试完一个程序一样,开发人员也不能设计程序没有任何错误,而且在事情发生之前,开发人员需要先了解清楚。有错误是预料之中的事,也是开发过程中的一个正常的部分。
有些测试人员尽可能将自己的错误报告措辞强硬,甚至不听开发人员关于为什么不能修复一个错误和不能实现一个功能的解释。因此,尝试一些可以让双方放松的方法,做到与开发人员一起分析错误的优先级和严重程度。如果开发人员在其不愿变更的背后有一个合理有效的解释,试着去理解,只是确信了解要在什么地方划定界限以保护开发产品项目最终的质量。
开发人员经常会找借口说因为没有意识到那个错误有多严重所以拒绝修复。外交手段和适应能力不能替代谨慎的需要,要用能够清楚展示风险和问题严重性的方法设计错误报告和测试文档。一个聪明的测试人员是在倾听和执行之间保持平衡的人。如果开发人员不能让测试人员相信错误不应该被修复,那么测试人员的责任就是使开发人员信服要修复错误。
尽管具体工作中每次交出去的是测试项目,但测试计划更为重要。在每个项目开始前都应该有一份测试计划,然后讨论确定最终的计划,再分配任务,这样更有团队精神。如果测试时间不够,无法进行充分的测试,那么就要使用风险分析,确定测试重点:
1、对于该项目的用途,最重要的功能
2、对于用户最明显的功能
3、对安全影响最大的功能
4、对于用户的影响
5、用户用的最多的功能
6、开发过程中,该项目的哪个部分可以最先测试
7、哪一部分的代码最复杂,容易导致出现错误
8、哪一部分是在急迫或惊恐的情况下开发出来的
9、哪一部分与过去项目中引起问题的部分类似或有关
10、哪一部分程序与过去项目需要大量维护的部分类似或有关
11、需求和设计的哪些部分不清楚或不易读
12、开发人员认为在应用软件中哪些部分是高风险的
同时,运用的测试策略包括:1、数据和数据库完整性测试,2、功能测试,3、业务周期测试,4、用户界面测试。关键的问题是了解测试步骤,学会风险分析,采用什么样的测试手段才是现在测试项目所需要的。
IT开发领域随着计算机网络的广泛应用和普及,其相关职位的变化已成为IT专业人士日趋关注的焦点。而与之相应的软件开发、软件测试、系统管理、网络管理、信息安全等工作职位的变迁和职责的变化更是值得IT专业人士关注。
咨询电话:(416921-8886 /905415-9989网站:www.mitcedu.com
Picture of guangtou1

guangtou1

Leave a Replay

订阅光头日记
推送本地新闻