1、1,软件测试,第1章 软件测试概述,2,内容提纲,课程介绍 教学要求 教学内容,3,任课教师,Name:邱建华 Email: Add:A3-220 Tel:84832264,4,2019/2/11,4,行业需求,两大因素助推软件测试跻身IT抢手人才之列 企业对测试“经济价值”的认可 国家政策的大力扶植也使软件测试大力发展 职业前景广阔却面临人才短缺的严峻考验 与开发人员比例:1:1 ,微软:1.7:1 国内120多万软件从业者中,真正能担当测试职位的不足5万,08年统计,人才缺口已超30万,并随需求逐年增长。 软件测试人员四大魅力元素 就业竞争小 高薪没商量 多元化发展 无性别歧视,IT职场调
2、查之软件测试工程师,5,2019/2/11,5,职业现状,测试工程师一般分为不同等级,不同级别的测试工程师薪资差异很大。 初级测试工程师 年薪约在2-4万元左右 。 测试工程师 年薪约在5-6万元左右。 高级测试工程师 年薪约8-10万元左右。 Team Leader(测试主管) 年薪在8-15万 测试经理 年薪在12-20万,薪金待遇,6,随着软件市场的成熟,人们对软件作用的期望值也越来越高,软件的质量和功能可靠性也正逐渐成为人们关注的焦点。经过近几年的成长,软件测试已成为软件行业中一匹实力惊人的黑马。,7,职业现状,计算机软件产品检验员(即软件测试工程师)被劳动和社会保障部门列入第四批新职
3、业中。软件测试员已跻身IT业抢手人才之列。,8,原因,首先是企业对测试“经济价值”的认可。 有调查显示,通过必要测试,软件缺陷可减少75%,而软件的投资回报率则可增长到350%。对于一个软件企业来说,只有它的产品或是项目质量完全地得到认可,业务才有可能进一步扩展。目前,很多中大型软件企业设立了单独的测试部,与开发部并行运作,测试人员也与开发人员平起平坐。 除了产业的自身需求外,国家政策的大力扶植也是软件测试大力发展的原因。2007年,信产部联合五部委颁布124号文件,特别强调要“加快培养软件测试人才,开展软件评测技术的研究”。,9,职业前景广阔却面临人才短缺的严峻考验 在外界环境大好的情况下,
4、软件测试却面临着自身的严峻考验人才紧缺。在国外,一般软件测试人员与软件开发人员的岗位设置比例是1:1,像微软在开发windows2000时测试开发人员比例高到1.7:1,由此可见软件测试岗位重要性的一斑。,10,软件测试人员四大魅力元素,就业竞争小:人才供不应求让软件测试人员的就业竞争压力明显小于同类其它职业。另外,由于软件测试在我国起步较晚,独立设置测试部门、对测试人员有强烈需求的多为独具慧眼的大中型IT企业。软件测试人才不需要在小企业积累经验就能获得知名企业的入门通行证,工作起点高于同类其它职业。,11,如果把软件开发领域比作男子单打,那么软件测试领域就是混合双打。由于工作的特殊,软件测试
5、人员往往更偏好认真、耐心、细致、敏感等个性元素,而这在一定程度上与女性的个性气质相吻合。据了解,目前很多IT企业中软件测试人员的比例更趋向平衡,甚至出现女性员工成主流的情况。无性别歧视是职业设置合理的一种表现,有利于软件测试工作的稳定发展,对人才的大量培养也起到积极的促进作用。,无性别歧视,12,刚入行的软件测试人员,起步月薪就在3000-5000元左右,远高于同龄人2000-2500元的薪资水平,另外还可享受带薪年假、内部培训、住房公积金等福利待遇,工作2-3年月薪大约在8000-13000元之间,甚至超出很多相同服务年限的软件开发人员的薪资水平。,高薪没商量,13,由于工作的特殊性,测试人
6、员不但需要对软件的质量进行检测,而且对于软件项目的立项、管理、售前、售后等领域都要涉及。在这过程中,测试人员不仅提升了专业的软件测试技能,还能接触到各行各业,项目管理、沟通协调、市场需求分析等能力都能得到很好的锻炼,从而为自己的多元化发展奠定了基础。因此,经过软件测试岗位洗礼的人才往往是行业中的多面手,具有更强的可塑性,在技术、管理、市场甚至其它非IT领域都能得到良好的发展。,多元化发展,14,这个职业讲求经验和方法,只要你比别人掌握的方法多,经验更丰富,在这个行业中就有立足之地,并且很快就会脱颖而出。一个初级测试人可以想出3-5种测试方法,但不一定会测出bug,即便测出了,也无法用规范的语言
7、表述错误,增加开发人员的工作负担。而训练有素的专业测试人员,可以想出10-20种测试方法,运用边界值,等价类,因果图,探索法等各种方法来编写测试用例,最大限度地发现bug,并使用规范的语言撰写测试文档,从而有效提升缺陷软件的修复率。,软件测试领域入职攻略,15,作为软件质量控制中的重要一环,软件测试工程师基本处于“双高”地位,即地位高、待遇高。同时,软件测试的人才需求缺口超过万人,而人才的紧缺也促使软件测试工程师的薪资逐渐走高,高级测试工程师年薪可高达万元。从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资还有逐年上升的明显趋势。 测试工程师一般会分为以下几个等级:初级测试工程师、中级
8、测试工程师、高级测试工程师和测试管理人员。不同的级别的测试工程师薪资差异很大。,16,教学要求,1、考核类型: 考试2、考核方式: 闭卷3、期末考试所用时间:120分钟4、课堂表现、实践(实验)成绩、期末成绩的比例:10:40:505、记分方式:百分制,17,特殊强调,每次课都点名 旷课一次扣6分,迟到一次扣3分 笔记本使用要严格控制 要有足够的激情来学习测试,18,学习资源, ,19,培养方案,20,课程结构,21,软件测试概述,软件测试的引入 软件可靠性问题 软件测试的发展,22,1.软件测试的引入,软件产品质量是企业的重要目标软件缺陷不能避免的 软件是人编的,所以不完美软件测试是发现缺陷
9、的手段,23,案例,不能保证产品完全无故障,只能尽可能减少产品故障,对于关键的财产软件为每千行代码110个故障,对于关键的生命软件为每千行0.011个故障。 IBM 360 OS 该项目在开发期共花费了5000万美元,总共投入的工作量是5000人/年,共写出了100万行源程序,但由于它太庞大了,os 360变得相当不可靠,平均每次修改后的新版本都存在1000个错误。,24,2.软件可靠性问题,软件可靠性:系统在特定环境下,在给定时间内无故障运行的概率。 软件可靠性方面的度量标准: 软件中初始故障的个数; 软件经过测试后,通过查错、改错,在软件中剩余故障个数; 平均无故障时间; 故障间隔的时间长
10、度; 故障发生率; 经预测,下一次故障的发生时间等。,25,3.软件测试的发展,早期,测试调试,目的是纠正软件中已知故障. 测试:发现漏洞的过程 调试:跟踪漏洞产生的根源并进行修复的过程 1957年,确信产品能工作 后于开发 70年代末80年代中期;基础理论已经形成,包含质量评价 Toward a Theory of Test Data Selection测试被确定为一种研究方向 The Art of Software Testing给出软件测试的定义:测试是为发现错误而执行程序的过程,26,80年代末90年代中期,测试工具盛行,自动化测试广泛应用,测试引起人们足够的重视 QTP、LR、Rational Robot etc. 90年后期,关注有效的过程管理对软件测试的重要性,形成各种测试模型。 V模型、W模型、H模型 二十一世纪初,软件开发活动应该以测试为主导的思想。随着软件测试分工的细化和成熟,促使大量的软件测试服务机构涌现,从单一的第三方测试到参与整个软件过程的测试服务。,